Search
Write a publication
Pull to refresh
16
0
Игорь Шаталкин @IgorShatalkin

Программист

Send message

Переход от монолита к микросервисам

Level of difficultyMedium
Reading time3 min
Views980

Привет! Меня зовут Игорь Шаталкин, я разработчик-эксперт в CUSTIS. В этой статье продолжим обсуждение монолитов и микросервисов. Опираясь на практический опыт компании CUSTIS, я рассмотрю ключевые особенности перехода от монолита к микросервисам: когда это необходимо и как это осуществить.

Читать далее

Микросервисы: практический опыт использования

Level of difficultyMedium
Reading time6 min
Views3.5K

Привет! Меня зовут Игорь Шаталкин, я разработчик-эксперт в CUSTIS. В этой статье продолжим обсуждение монолитов и микросервисов. Я подробно рассмотрю важные моменты работы с микросервисной архитектурой и поделюсь как своим опытом, так и опытом компании CUSTIS: с чем нам приходилось сталкиваться в проектах и какими способами мы решали возникшие проблемы.

Читать далее

Микросервисы vs Монолит: плюсы и минусы

Level of difficultyMedium
Reading time5 min
Views4.5K

Привет! Меня зовут Игорь Шаталкин, я разработчик-эксперт в CUSTIS. В ИТ только и разговоров о том, что лучше — разделять или монолитствовать. Однако выбор архитектурного подхода зависит от множества факторов: масштабов проекта, бизнес-логики, организационной структуры команды и технических ограничений.

В этой статье я поделюсь практическим опытом CUSTIS, расскажу о ключевых особенностях, преимуществах и недостатках микросервисной и монолитной архитектур. Ведь настоящая задача разработчика — не холиварить об идеальном решении, а грамотно подбирать инструменты под конкретные условия проекта.

А в следующих статьях планирую поделиться практическими кейсами внедрения микросервисов и рекомендациями по переходу от монолита к микросервисам.

Читать далее

Загадочный EF Core, или Как написать свое расширение

Reading time13 min
Views6.8K

В EF Core много полезных фич по работе с базами данных, но что, если этих возможностей не хватает? Я был удивлен, когда узнал, что фреймворк из коробки не умеет создавать вьюшки и отслеживать изменения их исходного кода. А что, если нам нужны не только вьюшки, но еще и синонимы, гранты и DB link? При этом мы хотим видеть их как на производственной БД, так и в интеграционных тестах! В посте будет инфа про загадочный внутренний мир фреймворка: про ключевые интерфейсы, отвечающие за генерацию и применение миграций, про то, как можно подменить эти интерфейсы, и, самое главное, почему тут не поможет контейнер, создаваемый в Startup. Также поговорим про основные объекты EF Core: что такое модель и зачем нужен снепшот? Из чего состоит миграция и зачем нужно транслировать операции в SQL?

Пост будет интересен как тем разрабам, которые столкнулись с задачами создания и обновления вьюх, синонимов и других SQL-объектов (они узнают про наш пакет, позволяющий закрыть эти вопросы), так и тем, кто хочет написать свое расширение (они узнают про подмену сервисов). Если Вы хотите, чтобы мир EF Core стал для вас менее загадочным, но ничуть не менее интересным, добро пожаловать под кат.

Читать далее →

Между небом и землей: как совмещать работу в ИТ и учебу на пилота

Reading time7 min
Views3.4K

Меня зовут Игорь, мне 34 года. Я разработчик и будущий летчик. Работаю в компании CUSTIS и при этом студент-первокурсник Якутского авиационного технического училища. Мой процесс поступления растянулся на три года, но я не потерял мотивацию, не сдался и всё же сумел доказать самому себе, что возможно всё — было бы желание!

В своей статье расскажу, как пришел в ИТ-сферу, как здесь развивался, почему внезапно принял решение снова пойти учиться, но совсем по другому профилю. А еще: как бесплатно получить профессию летчика, как выбрать, куда именно поступать и как подготовиться к экзаменам, а главное — как успевать совмещать всё это с разработкой программ?

Читать дальше →

ProcInsp — веб-диспетчер задач для Windows

Reading time8 min
Views9.4K

«Сказать программисту, что уже есть библиотека, делающая Х, это то же самое, что сказать музыканту, что уже есть песня про любовь» (с)

Есть разные способы посмотреть, чем занят сервер под Windows: можно зайти по RDP и открыть Task Manager или Process Explorer, а можно запустить удаленный сеанс через PowerShell и набрать команду Get-Process. Но что если серверов много и нужна информация по всем сразу? Заходить по RDP неудобно, а для работы с PowerShell требуется определенная квалификация.

Мы не нашли подходящего инструмента, поэтому разработали свой. Итак, встречайте ProcInsp — совершенно новый диспетчер задач для Windows.

Читать далее

EF Core + Oracle: как сделать миграции идемпотентными

Reading time4 min
Views4.3K


Обычно фреймворк EF Core используют в сочетании с MS SQL — другим продуктом Microsoft. Однако это не догма. Например, мы в CUSTIS пишем бизнес-логику на C#, а для управления базами данных используем Oracle. В EF Core есть замечательный механизм миграций, но в нашем случае они не идемпотентны. Дело в том, что Oracle и ряд других БД, например MySQL, не поддерживают транзакционный DDL. Значит, если миграция упадет где-то посередине, ее не получится ни накатить, ни откатить. Как же реализовать идемпотентные миграции на EF Core без MS SQL?
Читать дальше →

Поиск и чтение унаследованного кода

Reading time20 min
Views27K
Вася — молодой программист. Получив задачу и засучив рукава, он берется за написание кода. Уже через день решение задачи готово, Вася запускает его… И сталкивается с неожиданной досадной ошибкой. Вася старательно исправляет ее и повторно запускает решение. В результате — снова неприятная ошибка. Так Вася долго наступает на грабли, пару раз значительно переписывает программу, пока, наконец, через неделю задача окончательно не решена.

Петя — опытный программист. Получив постановку, он ищет, нет ли исходного кода, решавшего аналогичную задачу. Пару дней Петя проводит, читая материалы и разбираясь в чужих модулях, а на третий — запускает свое решение, основанное на уже существующем коде. В нем есть пара незначительных ошибок, которые удается быстро исправить. Ура! Все работает так, как нужно, уже на третий день.

Как найти нужный вам кусок исходного кода? Как его понять? А главное — зачем все это делать? В поиске ответов на эти вопросы добро пожаловать под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity