Coder Social home page Coder Social logo

igor-pchelko.github.io's People

Contributors

igor-pchelko avatar

Watchers

 avatar

igor-pchelko.github.io's Issues

Dotnet Database Repository With Cache

https://pcholko.com/posts/2020-05-10/dotnet-database-repository-with-cache/

Repository with cache

This article describes the approach of implementing the cached repository with the following scenario:

  • Repository provides simple operating for storing and reading phone numbers in the MS SQL database;

  • Support the atomicity of multiple updates and insert operations. Possibility to wrap batch upsert operations into the transaction via TransactionScope;

  • On read and write store phone numbers in memory cache. On read return most recent phone number from cache, hence, reduce the amount of database read operations;

  • In memory cache should implement the same repository interface as MSSQL repository. Thereby, MSSQL repository can be easily replaced with in-memory cached repository;

Secrets managers

https://pcholko.com/posts/2019-07-02/secrets-managers/

Secrets managers

The lure to keep connection string to the database in source code is one of the common mistakes. Keep secrets in source code even if sensitive data is encrypted that is a well-known antipattern. It can lead to issues like data breach by a malicious actor, losing or corrupting data by a non-authorised engineer with lack of knowledge. Passwords, tokens, keys, connection strings, and other sensitive information which are used by applications should be treated as secrets. There are several tools for AWS cloud that allows managing secrets for microservice oriented solutions.

Secrets managers

https://pcholko.com/posts/2019-07-02/secrets-managers/

Secrets managers

The lure to keep connection string to the database in source code is one of the common mistakes. Keep secrets in source code even if sensitive data is encrypted that is a well-known antipattern. It can lead to issues like data breach by a malicious actor, losing or corrupting data by a non-authorised engineer with lack of knowledge. Passwords, tokens, keys, connection strings, and other sensitive information which are used by applications should be treated as secrets. There are several tools for AWS cloud that allows managing secrets for microservice oriented solutions.

Using WireMock for dotnet core Integration tests

https://pcholko.com/posts/2021-04-05/wiremock-integration-test/

WireMock for dotnet core Integration tests

In many cases, to optimize or improve the system solution, the business decides to integrate with external systems. External systems have their life cycle, state, and communication protocol. There are different types of communication protocols, in this article, we will only consider HTTP. Microservices also use synchronous HTTP calls for notification or to achieve strong consistency.

You definitely want your integration to have fewer problems and be able to diagnose them easily. In order to implement reliable communication between the internal solution and the external system, it is necessary to cover the communication protocol with reliable integration tests.

Long-running tasks in Orleans dotnet

https://pcholko.com/posts/2020-06-07/orleans-long-running-tasks/

Orleans long-running task

Orleans is aktor model framework for building cuncurent and scalable ditributed applications. Grains (aka aktors) communicate with each other via messages. And it’s quite important to process a message within certain ResponseTimeout. If a message is not processed within timeout, Orleans throws timeout exception. .

But what if grain needs to perform long-running tasks that can’t be complete within a defined timeframe? Let’s dive into the solution approach.

Control docker-compose startup flow with readiness probe

https://pcholko.com/posts/2020-05-23/control-docker-compose-startup/

control docker-compose startup

Docker-compose is a powerful tool to run an isolated environment for the application. However, it doesn’t provide one important feature right out of the box which is startup control.

  • What if the containerized application requires a database to be up and ready and fully provisioned?
  • How to check if a certain process is finished in another container?

If you encounter such issues lets dive into the solution.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.