Обновить
0
@Nikolas28read⁠-⁠only

Backend Developer

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

Docker: заметки веб-разработчика. Итерация вторая

Время на прочтение9 мин
Охват и читатели25K


Привет, друзья!


Продолжаю делиться с вами заметками о Docker.


Заметки состоят из 4 частей: 2 теоретических и 2 практических.


Если быть более конкретным:


  • первая часть посвящена самому Docker, Docker CLI и Dockerfile;
  • в этой части рассказывается о Docker Compose;
  • в третьей части мы разработаем приложение, состоящее из 3 сервисов (клиента, админки и API) и базы данных (PostgreSQL);
  • в четвертой части мы это приложение "контейнеризуем".

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

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

Как строить карьеру тимлидам и СТО: рефлексия, планирование и карьерный роадмап

Время на прочтение12 мин
Охват и читатели20K
Стать руководителем — один из вариантов развития карьеры разработчика. Но что делать дальше, когда кода в жизни становится всё меньше, а управления всё больше? Мы поговорили с техлидами и СТО о том, что значит, когда очередная галочка в списке целей поставлена и вы уже руководитель небольшой (или очень даже большой) команды. Как правильно развиваться в профессии дальше и что предпринять, чтобы при этом не выгореть самому и не дать выгореть команде.

Выгорел и забухал...
Приятного чтения!

Строим эффективный сетевой обмен в PHP-микросервисах

Время на прочтение13 мин
Охват и читатели25K

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

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее

PHP Дайджест № 201 (15 – 29 марта 2021)

Время на прочтение6 мин
Охват и читатели12K

Свежая подборка со ссылками на новости и материалы. В выпуске: все про файберы и асинхронный PHP, а также новые лямбды, пересечения типов и другие предложения для PHP 8.1. Ближайшие мероприятия, порция полезных инструментов, статьи, подкасты, видео и PHP Дайджест Стрим.

Приятного чтения!


Как «Ревущий Котёнок» с Reddit заработал 28.500% на акциях GameStop: объясняю простым языком

Время на прочтение9 мин
Охват и читатели199K

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

Читать далее

Двоичные и побитовые операции в PHP

Время на прочтение12 мин
Охват и читатели16K

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

В PHP есть много инструментов, помогающих манипулировать двоичными данными, но хочу сразу предупредить: если вам нужно супернизкоуровневая эффективность, то этот язык не для вас.

А теперь к делу! В этой статье я расскажу много интересного о побитовых операциях, двоичной и шестнадцатеричной обработке, которые будут полезны в ЛЮБОМ языке.
Читать дальше →

Как я подключил официальный бизнес API WhatsApp через Twilio

Время на прочтение8 мин
Охват и читатели32K
Как известно, WhatsApp не так давно начал предоставлять доступ к своему официальному бизнес API, который так необходим для создания чат-ботов для этого мессенджера «белыми» методами.

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

Одним из таких доступных партнеров является американская компания Twilio. Самое основное их преимущество на мой взгляд, это невысокая стоимость использования WhatsApp Business API.

Я подключил через Twilio официальный бизнес API WhatsApp и сейчас подробно расскажу, как это сделать.

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

Трюки с SQL от DBA. Небанальные советы для разработчиков БД

Время на прочтение22 мин
Охват и читатели36K

Когда я начинал свою карьеру разработчика, моей первой работой стала DBA (администратор базы данных, АБД). В те годы, ещё до AWS RDS, Azure, Google Cloud и других облачных сервисов, существовало два типа АБД:

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

АБД приложений обычно были частью команд разработки. Они обладали глубокими познаниями по конкретной теме, поэтому обычно работали только над одним-двумя проектами. Инфраструктурные администраторы баз данных обычно входили в ИТ-команду и могли одновременно работать над несколькими проектами.
Читать дальше →

О том, что происходит, когда в поиске Google используют слово «vs»

Время на прочтение7 мин
Охват и читатели20K
Случалось у вас такое: ищете что-нибудь в Google и вводите после искомого слова «vs», надеясь на то, что поисковик автоматически предложит вам что-то, немного похожее на то, что вам нужно?


Ввод «vs» после искомого слова

Со мной такое бывало.

Как оказалось, это — большое дело. Это — приём, который, при поиске альтернативы чему-либо, способен сэкономить массу времени.
Читать дальше →

Простое управление ACL в Symfony

Время на прочтение6 мин
Охват и читатели5.5K
Перевод статьи подготовлен в преддверии старта курса «Symfony Framework».




Не секрет, что ACL (access control lists) могут быть достаточно сложны в использовании. Поскольку Symfony рекомендует избирателей (voters) в качестве альтернативы ACL, я недавно решил, что напишу свой собственный простой в использовании Symfony 5 бандл для управления списками контроля доступа (ACL) в моих приложениях.

programarivm/easy-acl-bundle изначально был написан для использования в JWT-аутентифицированном API для одностраничных приложений (single page applications — SPA), но он также может быть полезен в ряде других сценариев, когда не требуется Security компонент — что в большинстве случаев, по моему скромному мнению, особенно подходит для сеансов обработки многостраничных приложений (multi-page applications — MPA).
Читать дальше →

Redis Best Practices, часть 1

Время на прочтение12 мин
Охват и читатели38K
В серии из нескольких статей я приведу свой адаптированный перевод раздела Redis Best Practices с официального сайта «Redis Labs».
Читать дальше →

Лучшие GitHub-репозитории для веб-разработчиков

Время на прочтение5 мин
Охват и читатели30K
Программист тратит многие часы на разработку некоего функционала и на то, чтобы код соответствовал передовым практическим приёмам, принятым в той или иной среде. В эти часы не должно входить регулярное написание шаблонных конструкций. Программист может сильно помочь себе в деле правильной организации работы, избавив себя от ненужных дел и вложив время в изучение правильных инструментов. Хорошим подспорьем может оказаться и знание о ценных ресурсах, список которых всегда полезно держать под рукой.



Автор материала, перевод которого мы публикуем сегодня, предлагает рассмотреть несколько GitHub-репозиториев, которые, если иногда в них заглядывать, позволят веб-разработчикам улучшить свои знания и навыки, окажут содействие в написании более качественного кода, помогут работать быстрее.
Читать дальше →

Не говорите «I feel myself», и другие правила английского языка, которые вгоняют в ступор

Время на прочтение6 мин
Охват и читатели183K
Английский язык на первый взгляд довольно логичный. Когда только принимаешься за его изучение, практически все правила кажутся понятными. Но среди них есть и ужасно странные правила и нормы.

Сегодня мы расскажем о некоторых правилах английского языка, при знакомстве с которыми хочется сказать: «Да что ты, черт побери, такое несешь?». Готовы? Поехали!


Чистая Архитектура для веб-приложений

Время на прочтение36 мин
Охват и читатели131K
Хочу поделиться с вами подходом который я уже много лет использую в разработке приложений, в том числе и веб-приложений. Многим разработчикам настольных, серверных и мобильных приложений этот подход хорошо знаком, т.к. является фундаментальным при построении таких приложений, однако в вебе он представлен очень скудно, хотя желающие использовать такой подход однозначно есть. Кроме того на таком подходе написан редактор VS Code.

Чистая Архитектура

В результате применения этого подхода вы отвяжетесь от конкретного фреймворка. Сможете легко переключать библиотеку представления внутри вашего приложения, например React, Preact, Vue, Mithril без переписывания бизнес логики, а в большинстве случаев даже вьюхи. Если у вас есть приложение на Angular 1, вы без проблем сможете перевести его на Angular 2+, React, Svelte, WebComponents или даже свою библиотеку представления. Если у вас есть приложение на Angular 2+, но нету специалистов для него, то вы без проблем сможете перевести приложение на более популярную библиотеку без переписывания бизнес логики. А в итоге вообще забыть про проблему миграции с фремворка на фреймворк. Что же это за магия такая?
Читать дальше →

Современные архитектуры фронт-энда

Время на прочтение12 мин
Охват и читатели52K

image


В статье "Contemporary Front-end Architectures" рассмотрены архитектуры фронт-энда с точки зрения потоков данных в исторической ретроспективе.


Материал состоит из трех частей


  1. Теория и история
  2. Реализация
  3. Перспективы

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

Удобные архитектурные паттерны

Время на прочтение12 мин
Охват и читатели19K

Привет, Хабр!


В свете текущих событий из-за коронавируса ряд интернет-сервисов стал получать увеличенную нагрузку. Например, одна из торговых сетей в Великобритании просто остановила сайт с онлайн-заказами, так как не хватило мощностей. И далеко не всегда можно ускорить сервер, просто добавив более мощное оборудование, однако запросы клиентов обрабатывать надо (или они уйдут к конкурентам).


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

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

Продвинутый TypeScript

Время на прочтение12 мин
Охват и читатели29K
Фридайвинг — ныряние на глубину без акваланга. Ныряльщик ощущает на себе закон Архимеда: он вытесняет некоторый объём воды, который выталкивает его обратно. Поэтому первые несколько метров даются тяжелее всего, но потом сила давления толщи воды над тобой начинает помогать двигаться глубже. Этот процесс напоминает изучение и погружение в системы типов TypeScript — по мере погружения становится немного легче. Но надо не забыть вовремя вынырнуть.


Фотография с сайта One Ocean One Breath.

Михаил Башуров (saitonakamura) — Senior Frontend Engineer в компании WiseBits, фанат TypeScript и фридайвер-любитель. Аналогии изучения TypeScript и ныряния на глубину не случайны. Михаил расскажет, что такое discriminated unions, как использовать вывод типов, зачем нужна номинальная совместимость и брендирование. Задержите дыхание и погружайтесь.

Сборник упражнений по TypeScript

Время на прочтение1 мин
Охват и читатели24K
В прошлом году я в свободное время написал сборник упражнений по TypeScript для своей команды, чтобы помочь ребятам подтянуть свой уровень. В этом году доработал напильником и решил выложить в общий доступ. Задания начинаются с простых и заканчиваются очень сложными, где нужны не только знания TypeScript, но и знания node.js.

Вот ссылка на репозиторий


Пользуйтесь на здоровье. Можете слать мне пулл-реквесты и задавать вопросы. Фидбек приветствуется.

PSR Стандарты

Время на прочтение15 мин
Охват и читатели186K
PHP-FIG

PSR — Чуть больше, чем стиль оформления кода.

Как показала практика, многие PHP-разработчики знакомы с аббревиатурой PSR. Однако большинство все еще ограничены знанием, что PSR это стандарт оформления кода.

Ребята из PHP-FIG (PHP Framework Interop Group), группа концепций совместимости PHP, которые занимаются развитием PSR (PHP Standards Recommendations) шагнули далеко вперед. Поэтому давайте разберемся, что из себя представляет PSR…

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

Разработка формы на React. Принципы KISS, YAGNI, DRY на практике

Время на прочтение12 мин
Охват и читатели22K
Здавствуйте, в этом туториале мы рассмотрим как разработать очень простую, но контролируемую форму в React, сфокусировавшись на качестве кода.

При разработке нашей формы мы будем следовать принципам «KISS», «YAGNI», «DRY». Для успешного прохождения данного туториала вам не нужно знать этих принципов, я буду объяснять их по ходу дела. Однако, я полагаю, что вы хорошо владеете современным javascript и умеете мыслить на React.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Харьков, Харьковская обл., Украина
Дата рождения
Зарегистрирован
Активность