Pull to refresh
29
0.2
Максим @danilovmy

Программист разработчик

Send message

Как я сдавал AWS Cloud Practioner в 2024

Level of difficultyEasy
Reading time4 min
Views2.2K

Всем доброго вечера! Сегодня я хочу рассказать о том, как обстоят дела со сдачей экзаменов AWS в 2024 году, как лучше всего готовиться и к чему быть готовым во время подготовки и сдачи сертификата.

Читать далее
Total votes 11: ↑7.5 and ↓3.5+4
Comments10

Большая шпаргалка по Docker: как распилить монолитный проект на части

Level of difficultyMedium
Reading time19 min
Views21K

Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли разработчика и последние годы на руководящих должностях. Сейчас я тимлид команды разработки из 9 человек в группе компании Кокос. Мы занимаемся созданием и поддержкой CPA платформ (gdeslon.ru, fxpartners.ru, ads.mobisharks.com), а также проектом по генерации лендингов — lpgenerator.ru. У нас большой опыт в разделении продуктов на части, поэтому, сегодня мы собрали самое основное и необходимое для работы с Docker. В нашей шпаргалке вы найдете все необходимое для успешного старта с докером: от базовых концепций и установки до продвинутых техник работы с контейнерами.

Читать далее
Total votes 23: ↑18 and ↓5+13
Comments11

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

Reading time7 min
Views1.1K

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments0

Как вообще этот ваш CI CD настроить

Level of difficultyMedium
Reading time11 min
Views23K

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

Хочется рассказать о нашем опыте внедрения CI/CD в компанию. О том, как в целом работать с ним и как это работает у нас.

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

Приятного прочтения, всем peace!

Читать и так далее
Total votes 23: ↑17 and ↓6+11
Comments13

(Еще один!) личный опыт переезда в США. Часть 1: оффер

Level of difficultyEasy
Reading time10 min
Views8.1K

Всем привет, меня зовут Александр и я алкоголик бы хотел поделиться личным опытом получения оффера в США, подготовки к получению визы этой страны, собственно, получения визы (ох, и разные это вещи!), переезда, получения гринкарты. Может, что-то получится добавить по результатам осмысления своего положения здесь, в США. Я переехал в начале 2022 года, и примерно через год получил гринкарту.

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

Читать далее
Total votes 33: ↑26 and ↓7+19
Comments17

Окей, я джуниор, как начать управлять?

Level of difficultyEasy
Reading time4 min
Views6.2K

Когда я только пришел в мир IT, для меня, как и, наверняка, для вас, было много чего непонятного и неизученного. Это было мостиком моей мотивации, удерживающим меня в этой индустрии, но по мере того как ты завязываешь в узелок все свои накопленные знания, появляется уверенность в кое-какой стабильности, а следовательно — новый вопрос...

Читать далее
Total votes 26: ↑14 and ↓12+2
Comments92

Все, что вы хотели знать об архитекторе ПО

Level of difficultyEasy
Reading time3 min
Views5.6K

Привет, Хабр! Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с ведущим Антоном Комоловым и экспертами из разных областей IT разбираемся в технологиях и изучаем, как они меняют нашу жизнь и работу. 

Сегодня делимся мыслями о профессии архитектора программного обеспечения: чем он занимается, какие инструменты использует и нужно ли ему уметь писать код.

Рассуждают Петр Щербаков, ведущий архитектор решений X5Tech, и Михаил Майоров, технический директор маркетплейса услуг YouDo.

Читать далее
Total votes 21: ↑3 and ↓18-15
Comments6

Архетипы программных архитекторов. Часть 1

Level of difficultyEasy
Reading time13 min
Views9.8K

Что такое архетип? Это — образец набора вариантов поведения или поведенческих сценариев, типичных для определённой роли. Уилл Ларсон, который сейчас занимает должность главного технического директора в Carta, определил четыре архетипа для должности «ведущий инженер‑программист» (Staff Engineer). Это — «техлид» (Tech Lead), «архитектор» (Architect), «решатель задач» (Solver) и «незаменимый помощник» (Right Hand).

Я работаю над новой книгой, которую планируется опубликовать этой осенью. Она называется «The Software Engineerʼs Guidebook». Когда я писал в ней об архитектуре ПО, меня зацепила идея существования «архетипов» программных архитекторов, которые могут сочетаться друг с другом либо хорошо, либо плохо. Речь идёт о людях, работающих бок о бок друг с другом, вклад каждого из которых в общее дело отличается чем-то особенным. Разбираться с тем, какие архетипы лучше всего описывают коллег — это интересное занятие, которое может привести к ценным открытиям. И вполне возможно, что вы, задумываясь об этом, поймёте, какой из архетипов лучше всего описывает вас самих.

Читать далее
Total votes 20: ↑18 and ↓2+16
Comments8

Чему можно научиться у фикуса-душителя? Паттерн Strangler

Reading time6 min
Views9.2K

При рефакторинге монолита на микросервисы часто мы уже обладаем работающей системой. У которой миллионы, тысячи активных пользователей. Возможно их 20, но они очень важные и очень активные. Как в таком случае отрефакторить все, чтобы внешне никто ничего не заметил? И как в этом поможет тропический фикус-душитель?

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments4

Как не давать пустых обещаний себе, команде и заказчику

Reading time10 min
Views14K

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

14 лет я работал в международной компании Airbus – компании, занимающейся авиастроением. В IT же мой путь начался совсем недавно – всего лишь чуть больше года назад.

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

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

Читать далее
Total votes 42: ↑40 and ↓2+38
Comments39

Аннотирование args и kwargs в Python

Level of difficultyEasy
Reading time4 min
Views9.1K

Когда я пытаюсь обойтись без *args и **kwargs в сигнатурах функций, это не всегда можно сделать, не вредя удобству использования API. Особенно — когда надо писать функции, которые обращаются к вспомогательным функциям с одинаковыми сигнатурами.

Типизация *args и **kwargs всегда меня расстраивала, так как их нельзя было заблаговременно снабдить точными аннотациями. Например, если и позиционные, и именованные аргументы функции могут содержать лишь значения одинаковых типов, можно было поступить так:

def foo(*args: int, **kwargs: bool) -> None:
    ...

Применение такой конструкции указывает на то, что args — это кортеж, все элементы которого являются целыми числами, а kwargs — это словарь, ключи которого являются строками, а значения имеют логический тип.

Но нельзя было адекватно аннотировать *args и **kwargs в ситуации, когда значения, которые можно передавать в качестве позиционных и именованных аргументов, могут, в разных обстоятельствах, относиться к различным типам. В таких случаях приходилось прибегать к Any, что противоречило цели типизации аргументов функции.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments2

Четыре метрики, изменившие мой проект

Reading time9 min
Views17K

Привет, Хабр! Я Федор Щудло, team lead и fullstack-разработчик. Всего я в разработке 15 лет, из них 11 в роли team lead.

Три года назад я сменил работу и занялся проектом, состояние которого можно описать кратко: ему 25 лет.

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

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

Как результат, разработка шла с большими накладными расходами (все делали долго), и с высокими рисками (выкатили и разломали прод). А команда при этом работала на износ.

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

Читать далее
Total votes 46: ↑43 and ↓3+40
Comments14

Как PDF изменил мир

Level of difficultyEasy
Reading time10 min
Views10K

Нам сейчас трудно представить, но было время, когда документы для печати нельзя было создать и подготовить за считанные секунды. И вообще, раньше обмен документами был громоздким процессом, который включал в себя распечатку и физическую передачу из рук в руки. Но всё изменилось в 1993 году, когда Adobe Systems представила миру PDF (Portable Document Format) — революционно новый формат файлов, он упростил обмен документами и их архивирование.

Тридцать лет спустя PDF — популярный формат документов для всего: от налоговых форм до электронных книг и руководств пользователя. PDF изменило то, как пользователи создают, делятся и получают доступ к цифровым документам. Только в прошлом году пользователи открыли более 400 миллиардов PDF-файлов в продуктах Acrobat, а Adobe обработала более 8 миллиардов транзакций с электронными и цифровыми подписями. PDF стал неотъемлемой частью современного мира, оказав фундаментальное влияние на появление онлайн-печати.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments62

Причины высокого time2market

Reading time7 min
Views3K

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

Что мешает сократить time2market? Поделюсь личным опытом в этой статье.

Читать далее
Total votes 14: ↑10 and ↓4+6
Comments0

Перевезу в iframe. Дешево

Reading time9 min
Views7.3K

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

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments7

Полное руководство по модулю asyncio в Python. Часть 1

Reading time11 min
Views106K

Python-модуль asyncio позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio.

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:

Читать далее
Total votes 31: ↑29 and ↓2+27
Comments8

«Не заставляйте меня думать»

Reading time7 min
Views14K

Краткое содержание книги "Не заставляйте меня думать" Стива Круга адресована веб-дизайнерам, но ее идеи могут быть использованы и маркетологами. Книга вышла в России уже в далеком 2006 г., но её идеи актуальны и сегодня. При составлении конспекта пропустил всю информацию, относящуюся к дизайну сайтов в нулевые годы, и оставил только "соль".

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments2

Миграция с vue-class-component на vuejs/composition-api

Reading time12 min
Views6K

В статье хочу поделиться опытом переписывания существующих классовых компонентов vue на новый синтаксис vue-composition-api.

Немного о нашем стеке.

Наше приложение написано на nuxt2 + vue-class-components + typescript. Из-за стека переезд на новый nuxt затруднился тем, что прежде чем сменить версию nuxt со 2 на 3 нам нужно переписать все наши компоненты. Тут нас очень спасла библиотека vuejs/composition-api и nuxtjs-composition-api

В статье разберем случаи от самых примитивных до менее примитивных.

Стоит сразу отметить, что в composition-api вся магия происходит внутри метода setup , который включает в себя 2 хука жизненного цикла vue компонента: beforeCreate и created
Помимо основных примеров я покажу как будет работать типизация в тех или иных кейсах.

* Все названия переменных вымышлены и не используются на продуктиве)

Поехали!

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments21

Сквозь тернии к core-у или процесс компиляции Vue

Reading time11 min
Views9K

Нео проснулся от бликов вспыхнувшего экрана компьютера. Экран заполняла зеленая полоска прогресса.

– Матрица – испуганно прошептал Нео.

– Александр, вы уснули на работе – прошептал тимлид.

Я взглянул на экран компьютера еще раз. Компиляция Vue была завершена. Я облегченно вздохнул.

Скомпилировать!
Total votes 20: ↑19 and ↓1+18
Comments2

Taichi и 100-кратное ускорение Python-кода

Reading time12 min
Views34K

Python стал самым популярным языком во многих быстроразвивающихся областях, таких, как глубокое обучение и различные направления анализа и обработки данных. Но при этом за удобство работы с Python-кодом, за высокий уровень его читабельности, приходится платить производительностью. Конечно, все мы время от времени жалуемся на скорость работы программ, и Python, безусловно, не стоит винить во всех грехах. Несмотря на это, справедливым будет заявление о том, что природа Python, интерпретируемого языка, не способствует высокой производительности кода, особенно когда речь идёт о «тяжёлых» вычислениях (один из признаков таких вычислений — наличие в программе нескольких вложенных циклов).

Если вы когда-либо попадали в одну из следующих ситуация — тогда эта статья, определённо, написана для вас.

Читать далее
Total votes 53: ↑53 and ↓0+53
Comments5
1

Information

Rating
1,977-th
Location
Zams, Tirol, Австрия
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
Lead
From 7,000 €
Python
Django
Ajax
OOP
Design patterns
Vue.js
JavaScript
HTML
CSS