Всем доброго вечера! Сегодня я хочу рассказать о том, как обстоят дела со сдачей экзаменов AWS в 2024 году, как лучше всего готовиться и к чему быть готовым во время подготовки и сдачи сертификата.
Программист разработчик
Большая шпаргалка по Docker: как распилить монолитный проект на части
Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли разработчика и последние годы на руководящих должностях. Сейчас я тимлид команды разработки из 9 человек в группе компании Кокос. Мы занимаемся созданием и поддержкой CPA платформ (gdeslon.ru, fxpartners.ru, ads.mobisharks.com), а также проектом по генерации лендингов — lpgenerator.ru. У нас большой опыт в разделении продуктов на части, поэтому, сегодня мы собрали самое основное и необходимое для работы с Docker. В нашей шпаргалке вы найдете все необходимое для успешного старта с докером: от базовых концепций и установки до продвинутых техник работы с контейнерами.
Как провести фаззинг REST API с помощью RESTler. Часть 2
Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможностях RESTler-а и покажем, как настроить фаззер на примере более сложного приложения. Этот материал мы подготовили вместе с Артемом Мурадяном @TOKYOBOY0701, инженером по безопасности.
Как вообще этот ваш CI CD настроить
Привет, Хабр!
Хочется рассказать о нашем опыте внедрения CI/CD в компанию. О том, как в целом работать с ним и как это работает у нас.
Статья нацелена на новичков конкретно в этой сфере и хотят чуть детальнее стандартной документации настроить деплой, может внедрить у себя, чуть адаптировать. Примеры достаточно гибкие и подходят для большинства задач в начинающих IT компаниях
Приятного прочтения, всем peace!
(Еще один!) личный опыт переезда в США. Часть 1: оффер
Всем привет, меня зовут Александр и я алкоголик бы хотел поделиться личным опытом получения оффера в США, подготовки к получению визы этой страны, собственно, получения визы (ох, и разные это вещи!), переезда, получения гринкарты. Может, что-то получится добавить по результатам осмысления своего положения здесь, в США. Я переехал в начале 2022 года, и примерно через год получил гринкарту.
Почему может быть интересна еще одна статья на подобную тему? Ведь есть уже немало вариантов (это разные ссылки, если что). На мой взгляд, главное отличие - я не пользовался никакими услугами помогаторов, не тратил 100500 денег, и вся информация будет максимально подкреплена ссылками на официальные сайты и подходами, которые сработали в моем случае.
Окей, я джуниор, как начать управлять?
Когда я только пришел в мир IT, для меня, как и, наверняка, для вас, было много чего непонятного и неизученного. Это было мостиком моей мотивации, удерживающим меня в этой индустрии, но по мере того как ты завязываешь в узелок все свои накопленные знания, появляется уверенность в кое-какой стабильности, а следовательно — новый вопрос...
Все, что вы хотели знать об архитекторе ПО
Привет, Хабр! Мы в компании Friflex запустили подкаст «Гости из IT». Вместе с ведущим Антоном Комоловым и экспертами из разных областей IT разбираемся в технологиях и изучаем, как они меняют нашу жизнь и работу.
Сегодня делимся мыслями о профессии архитектора программного обеспечения: чем он занимается, какие инструменты использует и нужно ли ему уметь писать код.
Рассуждают Петр Щербаков, ведущий архитектор решений X5Tech, и Михаил Майоров, технический директор маркетплейса услуг YouDo.
Архетипы программных архитекторов. Часть 1
Что такое архетип? Это — образец набора вариантов поведения или поведенческих сценариев, типичных для определённой роли. Уилл Ларсон, который сейчас занимает должность главного технического директора в Carta, определил четыре архетипа для должности «ведущий инженер‑программист» (Staff Engineer). Это — «техлид» (Tech Lead), «архитектор» (Architect), «решатель задач» (Solver) и «незаменимый помощник» (Right Hand).
Я работаю над новой книгой, которую планируется опубликовать этой осенью. Она называется «The Software Engineerʼs Guidebook». Когда я писал в ней об архитектуре ПО, меня зацепила идея существования «архетипов» программных архитекторов, которые могут сочетаться друг с другом либо хорошо, либо плохо. Речь идёт о людях, работающих бок о бок друг с другом, вклад каждого из которых в общее дело отличается чем-то особенным. Разбираться с тем, какие архетипы лучше всего описывают коллег — это интересное занятие, которое может привести к ценным открытиям. И вполне возможно, что вы, задумываясь об этом, поймёте, какой из архетипов лучше всего описывает вас самих.
Чему можно научиться у фикуса-душителя? Паттерн Strangler
При рефакторинге монолита на микросервисы часто мы уже обладаем работающей системой. У которой миллионы, тысячи активных пользователей. Возможно их 20, но они очень важные и очень активные. Как в таком случае отрефакторить все, чтобы внешне никто ничего не заметил? И как в этом поможет тропический фикус-душитель?
Как не давать пустых обещаний себе, команде и заказчику
Привет, Хабр!
14 лет я работал в международной компании Airbus – компании, занимающейся авиастроением. В IT же мой путь начался совсем недавно – всего лишь чуть больше года назад.
Чем отличается управление релизами программного обеспечения и управление проектированием конструкций гражданских самолётов? Мой опыт позволяет поставить знак равенства между этими двумя видами деятельности. По крайней мере, в контексте выстраивания долгосрочных отношений между заказчиком и исполнителем.
В статье мы попробуем взглянуть на релиз-менеджмент как на управление в первую очередь ожиданиями заказчика. Пристегните ремни, откройте шторки иллюминатора, сейчас будет немного потряхивать.
Аннотирование args и kwargs в Python
Когда я пытаюсь обойтись без *args
и **kwargs
в сигнатурах функций, это не всегда можно сделать, не вредя удобству использования API. Особенно — когда надо писать функции, которые обращаются к вспомогательным функциям с одинаковыми сигнатурами.
Типизация *args
и **kwargs
всегда меня расстраивала, так как их нельзя было заблаговременно снабдить точными аннотациями. Например, если и позиционные, и именованные аргументы функции могут содержать лишь значения одинаковых типов, можно было поступить так:
def foo(*args: int, **kwargs: bool) -> None:
...
Применение такой конструкции указывает на то, что args
— это кортеж, все элементы которого являются целыми числами, а kwargs
— это словарь, ключи которого являются строками, а значения имеют логический тип.
Но нельзя было адекватно аннотировать *args
и **kwargs
в ситуации, когда значения, которые можно передавать в качестве позиционных и именованных аргументов, могут, в разных обстоятельствах, относиться к различным типам. В таких случаях приходилось прибегать к Any
, что противоречило цели типизации аргументов функции.
Четыре метрики, изменившие мой проект
Привет, Хабр! Я Федор Щудло, team lead и fullstack-разработчик. Всего я в разработке 15 лет, из них 11 в роли team lead.
Три года назад я сменил работу и занялся проектом, состояние которого можно описать кратко: ему 25 лет.
За этот долгий срок проект пережил несколько слияний и разделений компании, означающих серьезные потери людей, знаний, и даже исходников от некоторых сервисов по юридическим соображениям.
На проекте были благополучные периоды, когда были созданы очень крутые и амбициозные вещи. Но были также периоды, когда команды еле хватало на выполнение самых срочных задач. И в это время многие сделанные или не доделанные большие штуки изрядно обветшали.
Как результат, разработка шла с большими накладными расходами (все делали долго), и с высокими рисками (выкатили и разломали прод). А команда при этом работала на износ.
Но за три прошедших года мы с командой кардинально изменили ситуацию. В этой статье я расскажу про самую значимую перемену — простую, но кратно снизившую и накладные расходы, и риски. А это уже открыло дорогу сотням маленьких изменений, в итоге преобразивших проект.
Как PDF изменил мир
Нам сейчас трудно представить, но было время, когда документы для печати нельзя было создать и подготовить за считанные секунды. И вообще, раньше обмен документами был громоздким процессом, который включал в себя распечатку и физическую передачу из рук в руки. Но всё изменилось в 1993 году, когда Adobe Systems представила миру PDF (Portable Document Format) — революционно новый формат файлов, он упростил обмен документами и их архивирование.
Тридцать лет спустя PDF — популярный формат документов для всего: от налоговых форм до электронных книг и руководств пользователя. PDF изменило то, как пользователи создают, делятся и получают доступ к цифровым документам. Только в прошлом году пользователи открыли более 400 миллиардов PDF-файлов в продуктах Acrobat, а Adobe обработала более 8 миллиардов транзакций с электронными и цифровыми подписями. PDF стал неотъемлемой частью современного мира, оказав фундаментальное влияние на появление онлайн-печати.
Причины высокого time2market
Компании, сокращающие время от возникновения идеи до вывода на рынок, получают больше инвестиций, завоевывают рынки стремительнее и уверенно побеждают конкурентов.
Что мешает сократить time2market? Поделюсь личным опытом в этой статье.
Перевезу в iframe. Дешево
Представьте, что вы отвечаете за большой веб-сервис со сложным интерфейсом, замысловатой навигацией, авторизацией, платежной системой. Представьте, что однажды к вам приходит ваш PO и просит сделать не одну его часть, не один конкретный бизнес-процесс, а весь этот сервис встраиваемым. И конечно по пути ни один из сотен тысяч пользователей вашего сервиса не должен пострадать. Возможно ли это и насколько это дорого?
Полное руководство по модулю asyncio в Python. Часть 1
Python-модуль asyncio
позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio
, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio
.
Перед вами — подробное и всестороннее руководство по использованию модуля asyncio
в Python. В частности, здесь будут рассмотрены следующие основные вопросы:
«Не заставляйте меня думать»
Краткое содержание книги "Не заставляйте меня думать" Стива Круга адресована веб-дизайнерам, но ее идеи могут быть использованы и маркетологами. Книга вышла в России уже в далеком 2006 г., но её идеи актуальны и сегодня. При составлении конспекта пропустил всю информацию, относящуюся к дизайну сайтов в нулевые годы, и оставил только "соль".
Миграция с vue-class-component на vuejs/composition-api
В статье хочу поделиться опытом переписывания существующих классовых компонентов 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
Помимо основных примеров я покажу как будет работать типизация в тех или иных кейсах.
* Все названия переменных вымышлены и не используются на продуктиве)
Поехали!
Сквозь тернии к core-у или процесс компиляции Vue
Нео проснулся от бликов вспыхнувшего экрана компьютера. Экран заполняла зеленая полоска прогресса.
– Матрица – испуганно прошептал Нео.
– Александр, вы уснули на работе – прошептал тимлид.
Я взглянул на экран компьютера еще раз. Компиляция Vue была завершена. Я облегченно вздохнул.
Taichi и 100-кратное ускорение Python-кода
Python стал самым популярным языком во многих быстроразвивающихся областях, таких, как глубокое обучение и различные направления анализа и обработки данных. Но при этом за удобство работы с Python-кодом, за высокий уровень его читабельности, приходится платить производительностью. Конечно, все мы время от времени жалуемся на скорость работы программ, и Python, безусловно, не стоит винить во всех грехах. Несмотря на это, справедливым будет заявление о том, что природа Python, интерпретируемого языка, не способствует высокой производительности кода, особенно когда речь идёт о «тяжёлых» вычислениях (один из признаков таких вычислений — наличие в программе нескольких вложенных циклов).
Если вы когда-либо попадали в одну из следующих ситуация — тогда эта статья, определённо, написана для вас.
Информация
- В рейтинге
- 1 961-й
- Откуда
- Zams, Tirol, Австрия
- Дата рождения
- Зарегистрирован
- Активность