Как стать автором
Обновить
2
0
Константин Трифонов @kost_tr

Архитектор

Отправить сообщение

Как стать мидлом или сеньором-разработчиком, обучаясь на любых курсах по программированию?

Время на прочтение1 мин
Количество просмотров124K

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

Читать далее
Всего голосов 469: ↑431 и ↓38+469
Комментарии178

Повышаем прозрачность аудита работы в Gitlab

Уровень сложностиСредний
Время на прочтение41 мин
Количество просмотров2.9K

Многие компании выбирающие для себя средства хранения кода и «комбайны» организации процессов CI/CD останавливают свой выбор на Gitlab. С точки зрения небольших и больших организаций, функционала Gitlab вполне хватает, чтоб решать повседневные задачи разработки. Продукт хорошо документирован, имеет платные подписки с расширением функционала (множество доменов для аутентификации, полнотекстный поиск, системные хуки и прочее).

Как показала практика использования продукта, основные проблемы начинаются при попытке кастомизировать или расширить внутренний функционал системы. В нашем случае в качестве расширения функционала рассматривается улучшение уровня аудита по работе с репозиториями в части соответствия требованиям ЦБ и ГОСТ Р 56 939–2016.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Как сотрудники могут саботировать работу компании

Время на прочтение6 мин
Количество просмотров48K

Фото из архива УСС. Источник.

Мальчик играет в шпиона: представляет, как работает под прикрытием на чужой территории. Мужчина играет в шпиона: устраивается на должность технического директора в IT-компанию, чтобы снижать ее производительность, сохраняя видимость рвения и лояльности и оставаясь непойманым. Для тех, кто не саботажник: это история о том, как отсеять некомпетентных людей и получить максимальную отдачу от своей команды.
Читать дальше →
Всего голосов 109: ↑100 и ↓9+121
Комментарии83

Пробы на роль Архитектора. Акт I: вступление

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров14K

Я тут наткнулся на старую почту с приглашением на собеседование. С пожелтевшими гифками в подписи и просроченным сургучом сертификатов. Дело давнее, пандемийное, так что, думаю, можно рассказывать. Я один не смотрю на сроки NDA, когда подписываю? На всякий случай стоит обезличить и переделать. Тем более, что бонуса за продвижения бренда нет, а наказание всегда найдётся. Так что у нас тут анонимный клуб найма лиц похожих на архитекторов.

Читать далее
Всего голосов 51: ↑50 и ↓1+59
Комментарии5

Устройство протокола DHCP в технических подробностях/недостатки DHCP. Атака DHCP Starvation

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров10K

Привет, Хабр, в данной статье мы в технических подробностях рассмотрим протокол DHCP 4 версии, поговорим о его недостатках, а также проведем атаку DHCP Starvation.

Изучить матчасть
Всего голосов 5: ↑5 и ↓0+8
Комментарии31

Человеческим языком про метрики 3: перцентили для чайников

Время на прочтение10 мин
Количество просмотров123K

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

Читать далее
Всего голосов 19: ↑18 и ↓1+19
Комментарии2

Диаграмма последовательности (sequence-диаграмма)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров39K

Что такое диаграмма последовательности? Из чего она состоит? Где и как пользоваться?

Простым языком о sequence диаграммах.

А еще тут есть интересные возможности, о которых ты мог не знать.

Читать далее
Всего голосов 17: ↑15 и ↓2+15
Комментарии14

Перенос данных из Oracle в PostgreSQL: секционирование, временные таблицы и инструменты

Время на прочтение14 мин
Количество просмотров11K

Поскольку тема «переезда» c СУБД Oracle на СУБД Postgres не теряет актуальности, продолжаем наш цикл о миграции. Это вторая статья о переносе данных из Oracle в Postgres (первая доступна по ссылке). На этот раз мы подробнее остановимся на секционировании и временных таблицах, а такжe рассмотрим существующий инструментарий для конвертации данных и сокращения времени простоя.

IOT-таблицы в Oracle

В СУБД Oracle есть так называемые IOT-таблицы, Index-Organized Tables. В обычных таблицах данные хранятся в любом порядке. IOT-таблицы хранят данные в структуре B-tree, которая логически отсортирована в порядке, указанном в полях первичного ключа. Данные лежат в листьях индекса и при его обходе и извлечении данных последние будут упорядочены. Стоит отметить, что этот порядок сохраняется. После добавления, обновления или удаления записей данные всё равно будут упорядочены.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии12

Docker под Windows для разработки, разбор подводных камней

Время на прочтение5 мин
Количество просмотров241K
imageДанная публикация является разбором особенностей контейнерной виртуализации Docker под системой Windows.

Она не претендует на роль исчерпывающей и по мере необходимости будет обновляться и дополняться.

За практическим руководством с нуля советую обратиться к этой публикации.

Содержание


Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии26

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров33K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan, Bitmap Heap Scan, Index Scan и почему Index Only Scan бывает нехорош, чем отличается Materialize от Memoize, а Gather Merge от "просто" Gather.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2) и слайды.

Читать далее
Всего голосов 34: ↑33 и ↓1+37
Комментарии4

Как провести фаззинг REST API с помощью RESTler. Часть 2

Время на прочтение7 мин
Количество просмотров1.8K

Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможностях RESTler-а и покажем, как настроить фаззер на примере более сложного приложения. Этот материал мы подготовили вместе с Артемом Мурадяном @TOKYOBOY0701, инженером по безопасности.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров27K

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!

Читать далее
Всего голосов 58: ↑55 и ↓3+58
Комментарии65

Референтная модель BIAN. Что нового и полезного для корпоративной архитектуры банка она предлагает?

Время на прочтение9 мин
Количество просмотров7.2K


BIAN… как мало в этом звуке для сердца русского… Да, я не случайно перефразировала всем известного классика. В России популярность референтной модели BIAN все еще низкая, особенно в сравнении с моделью Enhanced Telecom Operations Map (eTOM), распространенной в опережающей по своему развитию телекоммуникационной отрасли. А между тем, модель BIAN развивается, совершенствуется и набирает популярность за пределами России и в международном сообществе банковской индустрии.

Не стану более отвлекать читателя на лирические отступления, скажу только, что обзор модели BIAN и сопроводительных документов стандарта есть в первой моей статье о BIAN, здесь же постараюсь рассказать, чем BIAN может быть полезен бизнес-менеджерам, бизнес-архитекторам, корпоративным архитекторам, архитекторам решений, ИТ-специалистам и всем другим лицам, интересующимся управлением всей архитектуры финансового предприятия. А также о его ключевых полезных трансформациях, на мой взгляд.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+5
Комментарии3

Как мы по шагам строим корпоративную архитектуру банка

Время на прочтение15 мин
Количество просмотров2.7K
image

В прошлом году мы завершили выход из чешской финансовой группы и стартовали как самостоятельная и независимая организация. Это означало, что нам предстояло оперативно поменять привычные процедуры по принятию решений.

Если прежде ключевые решения централизованно принимались в головном офисе и доводились до банков в разных странах «сверху», то теперь ситуация потребовала взрастить экспертизу для принятия решений внутри организации. Для этого был необходим комплексный взгляд на всю организацию и её процессы, потребности в котором не существовало ранее. Его нужно было оперативно создать, что требовало существенной смены команды: от лиц, принимающих решения до сотрудников на местах. Процедуры бывшей головной организации потеряли актуальность, мы временно ушли на «ручное» принятие решений. В результате на отдельных направлениях слились контролирующая и исполнительская функции, что приводило к субъективности принятия решений. Одновременно с этим, как и у всех в финансовом секторе, происходили изменения банковского рынка, возникали задачи по импортозамещению. Ситуация явно требовала по-новому подходить к выстраиванию процессов и процедур. Отвечая на эти вызовы, в конце 2022 года мы начали выстраивать в банке корпоративную архитектуру.

Когда произносят термин «корпоративная архитектура», всегда кажется, что это одновременно и достаточно очевидная, и совершенно непонятная субстанция. Огня добавляет тот факт, что и определения в TOGAF’е и прочих источниках звучат общо, размыто и отличаются от одного источника к другому. В корпоративной архитектуре есть набор элементов, они широко известны: это модели бизнес-процессов, бизнес- и системные функции, набор данных и сущностей, структуры и роли, системы и приложения, конфигурационные единицы, на которых выстраиваются потоки создания ценности. Выгоды банк начинает получать сразу, как только выстраиваются устойчивые связи между компонентами, т. е. они работают на одну цель.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии5

FaaS, PaaS, SaaS или IaaS — поговорим о выборе облачной модели для e-commerce

Время на прочтение13 мин
Количество просмотров12K

Эта статья задумывалась для руководителей компаний, которые внедряют у себя платформу электронной коммерции и выбирают модель облачного хостинга между FaaS, PaaS, SaaS или IaaS. Но, на самом деле, эта статья универсальна — подойдет и клиентам дата-центров, и клиентам разработчиков облачных приложений, и даже людям, далеким от ИТ. Читайте о различиях, преимуществах и недостатках FaaS, PaaS, SaaS или IaaS для облачного хостинга любых "тяжелых" приложений с требованиями кастомизации под бизнес заказчика.

Читать далее ...
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Пошаговая инструкция по настройке и использованию Gitlab CI + Visual Studio для сборки приложения .NET Framework

Время на прочтение14 мин
Количество просмотров55K

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


Как только кто-либо из нашей команды вносит изменения в код (читай «мерджит feature-ветку в develop»), наш билд-сервер:


  • Собирает исходный код и установщик приложения
    • проставляет номер сборки, каждый раз увеличивая последнюю цифру. Например, текущая версия нашего ПО 3.3.0.202 – часть 3.3.0 когда-то ввёл разработчик (привет, SemVer), а «202» проставляется в процессе сборки.
    • В процессе анализирует качество кода (с использованием SonarQube) – и отправляет отчёт во внутренний SonarQube,
  • Сразу после сборки запускает автотесты (xUnit) и анализирует покрытие тестами (OpenCover),

Также, в зависимости от ветки, в которую были внесены изменения, могут быть выполнены:


  • отправка сборки (вместе с changelog-ом) в один или несколько телеграм-каналов (иногда удобнее брать сборки оттуда).
  • публикация файлов в систему автообновления ПО.

Под катом о том, как мы научили Gitlab CI делать за нас бОльшую часть этой муторной работы.

Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии8

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров90K

Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.

Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.

В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.

Читать далее
Всего голосов 15: ↑12 и ↓3+11
Комментарии6

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Время на прочтение24 мин
Количество просмотров168K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Всего голосов 336: ↑324 и ↓12+411
Комментарии300

Настройка nginx

Время на прочтение5 мин
Количество просмотров292K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности
Всего голосов 88: ↑78 и ↓10+68
Комментарии53

Деплой приложения с nginx как по нодам

Время на прочтение10 мин
Количество просмотров19K

Привет, Хабр! В этом материале мы разберем деплой приложения на React, арендуем облачный сервер и настроим nginx. Здесь будет необходимый минимум для фронтенд-разработчика:

  • Заливка проекта на GitHub.
  • Аренда и настройка облачного сервера по SSH.
  • Настройка nginx для раздачи статических файлов.
  • Сжатие бандла.
  • Подключение домена.
  • Настройка HTTPS.
  • Настройка Docker.

Для этого материала также доступна видеоверсия.
Читать дальше →
Всего голосов 32: ↑28 и ↓4+37
Комментарии12
1

Информация

В рейтинге
6 028-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Project Manager, Software Architect
Lead
People management
Development management
Optimization of business processes
Budgeting projects
Strategic planning
Negotiation
Agile
Information Technology
Designing application architecture
Architecture of the company