Skip to main content

· 11 min read
Andrey Ganyushkin

New article and new attempt to summarize my next experiments with Consul. In article below, you can find aggregated review, links, code and other materials. I created a simple demo and based on this staff I would like to describe my findings and thoughts.

info

Service Mesh implementation on top of Consul tech stack and other related topics with Envoy proxy and multy-datacenter installations left out of this story.

As well as enterprise version of Consul. No enterprise feature, only opensource service will be used.

The Goal

Very simple and stupid idea. I want to have test environment and ability to test Consul in different configurations and in different topology.

· 4 min read
Andrey Ganyushkin

I wrote a big article about Kubernetes here, which covers a lot of aspects of working with Kubernetes.

One more article in Kubernetes context was about Service Mesh pattern.

It is time to write third article. It is time to write an article that should cover the native Kubernetes features to allows us to secure network interactions between our applications and services in K8s.

· 5 min read
Andrey Ganyushkin

Вторая половина 2023го года выдалась довольно сложной и как результат было мало времени заниматься полноценными статьями. Но, несмотря на это цифры статистики по блогу получились довольно интересными: +14100% роста по пользователям - это прям отличный результат :).

· 11 min read
Andrey Ganyushkin

Шифрование трафика

Простой способом зашифровать данные, передаваемые по сети - это протоколы SSL и TLS. Они расположены на уровне представления (presentation) данных, на 6-ом уровне модели протокола TCP / IP, что позволяет без проблем использовать их для прикладных протоколов 7го уровня (HTTP, WebSocket, ...).

· 3 min read
Andrey Ganyushkin

Введение

На этой странице будет справочник терминов. Чтобы был под рукой и можно было ссылаться на него из других статей.

· 6 min read
Andrey Ganyushkin

Кратко о том, что такое Service Mesh.

Service Mesh

Service Mesh - это паттерн, идея или можно назвать это подходом. Когда мы говорим, что хотели бы сделать Service Mesh, стоит уточнять для чего и как мы хотим его реализовывать. Разные реализации Service Mesh имеют разный набор фич, свойств, особенностей.

· 9 min read
Andrey Ganyushkin

What is monolithic architecture pattern?

Monolithic architecture - monolithic application is a single unified software application which is self-contained and independent from other applications, but typically lacks flexibility.

Monolithic architecture - Design an architecture that structures the application as a single deployable/executable component that uses a single database.

· 5 min read
Andrey Ganyushkin

What is this?

Data-oriented architecture

This is an architecture with single logical storage for data and loosely coupled services. Communications between services should be organized through data layer.

"Data-oriented architecture" - means, think about data and storage first and then about services to process this data. This is true for the applications where data is the main value.

· 3 min read
Andrey Ganyushkin

C# properties (свойства) - это почти как getter и setter в Java.

Using Properties (C# Programming Guide)

Свойство в C# - это специальный член класса, который можно использовать как поле, но доступ к значению обрабатывается в специальных функциях.

· 4 min read
Andrey Ganyushkin

Проблема

Подготовка данных для computer vision моделей иногда может занять очень много времени. Это проблема, так как замедляет процесс разработки, улучшения, адоптации моделей.

· 10 min read
Andrey Ganyushkin

Интерфейс - контракт (набор методов и констант), описывающий какие есть способы взаимодействовать с объектом, который реализует этот контракт. С другой стороны, тот кто заявляет о поддержке какого-либо контракта обязан реализовать все методы описанные в контракте.

· 8 min read
Andrey Ganyushkin

Интерфейс - контракт (набор методов и констант), описывающий какие есть способы взаимодействовать с объектом, который реализует этот контракт. С другой стороны, тот кто заявляет о поддержке какого-либо контракта обязан реализовать все методы описанные в контракте.

Интерфейс в Java позволяет реализовать полиморвизм и множественное наследование.

· 4 min read
Andrey Ganyushkin

C#

Делегат - это способ передачи кода между разными частями программы. Лямбда функции призваны выполнять аналогичные функции 😉.

lambda expression is a preferred way to write inline code

· 7 min read
Andrey Ganyushkin

Немного теории

Паттерн Singleton гарантирует, что для класса в приложении будет создан только один экземпляр и везде будет использоваться только он.

· 3 min read
Andrey Ganyushkin

Начнем с классов. Ну и с того, что в Java возможности подобной "Partial Classes and Methods" нет.

О чем это?

Partial Classes and Methods - это возможность для разработчика разделить реализацию класс на два или более файла

· 5 min read
Andrey Ganyushkin

Отталкнемся от директивы/оператора using в C# и посмотрим что там есть в Java.

Директива / Оператор using

Импорт типов

using позволяет использовать типы описанные в других пространствах имен без указания fully-qualified-name

· 6 min read
Andrey Ganyushkin

Generics - обобщения, обобщенные типы и методы. Возможность создать код (класс или метод) без привязки к конкретным тыпам данных. Такая реализация имеет обобщенный параметр типа, который используется в реализации и мы должны определнить этот параметр конкретным типом в момент создания класса.

· 5 min read
Andrey Ganyushkin

Сложно найти менее увлекательную тему чем инструкции потока управления. В этой статье(заметке) я приведу только примеры кода с редкими комментариями если это будет иметь смысл.

Возможно, самая интересная часть этой статьи - это раздел про switch и pattern matching.

· 3 min read
Andrey Ganyushkin

Domain-Driven Design

Для себя хочу иметь заметку про DDD в которой кратко будет все что нужно занать про DDD. "кратко" - это, скорее всего, не возможно в формате заметки или даже целой статьи... Но почему бы и не попробовать.

· 2 min read
Andrey Ganyushkin

I would like to have short summary here about these terms:

  • Database – System which keep data to stack business tasks
  • Warehouse – System which designed to provide data for analytics systems
  • Data lake – Storage for all data. Everything will be stored here. for future generations 🙂

· 4 min read
Andrey Ganyushkin

For me it is interesting to compare Spring Boot and NestJS because they has similar core ideas based on Inversion of Control and Dependency Injection. Of course Spring Boot significantly more powerful, I understand it. Both frameworks provide ability for us to write short and expressive code. And it will be interesting to compare two implementations for one project.

NestJS development experience pretty similar to Angular experience and if we can use NestJS for simple backend services instead of Spring Boot – it means we can reduce complexity in development process for full stack developers.

· 4 min read
Andrey Ganyushkin

enterprise patterns

It is simple overview of Spring Integration component from Spring framework and it is impossible to cover all features in one article.

To illustrate how it works, I would like to build a simple demo application, link you can find below as usual.

· 4 min read
Andrey Ganyushkin

Git submodules is not simple approach to use to store your code. But this technic is pretty useful then you need to make changes in your project and in shared libraries, or if you would like to use shared libraries or other piece of code directly from your code without builded shared artefacts, libraries etc…

· One min read
Andrey Ganyushkin

My first post in this blog. I have no ideas what i need to write here, but it is just first post 🙂