Pull to refresh
39
0.1
Максим @danilovmy

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

Send message

Гайд по деплою web-приложений для новичков. Часть 3. Простая автоматизация

Level of difficultyMedium
Reading time7 min
Views6.6K

Продолжаем цикл статей, посвященных деплою приложений на сервер. 

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

- bash-скрипт

- GitHub actions

Читать далее
Total votes 15: ↑13 and ↓2+12
Comments19

Геоцентрическая модель Данте Алигьери с точки зрения релятивистской космологии

Level of difficultyMedium
Reading time24 min
Views2.4K

Что может быть общего между средневековой картиной мира, описанной Данте Алигьери в «Божественной комедии», и современной Стандартной космологической моделью? Казалось бы, геоцентрическая система Птолемея навсегда уступила место гелиоцентрической системе Коперника, и теперь каждый школьник знает, что Земля не находится в центре мироздания, а является одной из сотен миллиардов планет нашей галактики. Но пришёл Эйнштейн и сказал: всё относительно в зависимости от выбранной системы отсчёта. Внезапно оказалось, что космология «Божественной комедии» гораздо ближе к реальности, чем бесконечная стационарная вселенная с абсолютным временем ньютоновской физики. В данной статье я покажу, что структура Рая у Данте достаточно точно отражает структуру наблюдаемой вселенной в рамках релятивистской космологии. Заодно мы разберёмся, какую форму имеет наблюдаемая вселенная в четырёх измерениях, как представить её в трёх измерениях, где у неё центр и границы, каковы её размеры в пространстве-времени и почему ночное небо тёмное.

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

Как отобрать работу у карьерных консультантов с помощью ChatGPT

Level of difficultyEasy
Reading time5 min
Views3.5K

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

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

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

Собеседование Python-разработчика: чего ждать и как подготовиться

Level of difficultyEasy
Reading time8 min
Views4.6K

Всем привет! Меня зовут Антон Артиков, я бэкенд-разработчик в «Авито» и выпускник курса «Middle Python-разработчик». Программирую на Python и Go, читаю и перевожу со словарем PHP, а ещё веду личный блог в Телеграме.

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

Читать далее
Total votes 15: ↑12 and ↓3+11
Comments4

Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce

Level of difficultyMedium
Reading time16 min
Views11K

Python действительно может считаться относительно медленным языком программирования по сравнению с некоторыми другими языками, такими как C++ или Java. Однако, существуют различные библиотеки и инструменты, которые позволяют ускорить выполнение счетных задач в Python. Рассмотрим как можно ускорить анализ данных в 2 раза!

Читать далее
Total votes 17: ↑17 and ↓0+23
Comments8

Пишем кастомный Plugin SonarQube

Level of difficultyMedium
Reading time9 min
Views1.5K

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

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

Методика «Eat that frog», принцип Парето и матрица Эйзенхауэра: инструменты для управления приоритетами и временем

Reading time9 min
Views19K

Привет, Хабр! Меня зовут Яна, я pre-sale инженер в Selectel. У каждого человека есть свои профессиональные особенности, но не каждому удается грамотно их использовать. Чтобы определить и прокачать сильные стороны, существует способы самоуправления. В тексте начнем с самых азов — с расстановки приоритетов. Поделюсь тремя инструментами, которые помогут вам достичь поставленные цели, но не перейти в достигаторство.
Читать дальше →
Total votes 45: ↑43 and ↓2+59
Comments7

Пайплайны в GitLab для микросервисов

Reading time10 min
Views17K

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

Начнем с основ на примере монолитного приложения, а потом усложним их микросервисами и постараемся избавиться от однотипного кода. А еще…
Читать дальше →
Total votes 57: ↑57 and ↓0+74
Comments4

Генерация документации из моделей с помощью Pydantic

Level of difficultyMedium
Reading time10 min
Views5.1K

Привет, меня зовут Роман Брылунов, я QA Automation в команде сервиса транспорта 2ГИС. Мы автоматизируем сервисы транспортных сценариев, таких как построение маршрутов для разных видов транспорта, построение пешеходных маршрутов, решение задачи коммивояжера. Основная часть наших тестов — функциональные тесты логики приложения.

С сервисами общаемся по HTTP, но есть и несколько внутренних сервисов со взаимодействием по gRPC. Все ответы, полученные от сервисов, мы предварительно валидируем перед обработкой в тесте. Для валидации используем библиотеку Pydantic. Это позволяет нам описывать формат взаимодействия с помощью моделей и обрабатывать ответы в виде Python-объектов вместо словаря после стандартного парсинга JSON. Тесты встроены в CI, успешное прохождение тестов является блокирующим условием для влития кода. Таким образом, чтобы внести изменения в API, необходимо актуализировать модели в тестах. В противном случае ответ от сервиса не пройдёт валидацию при прогоне тестов. 

Мы стараемся всесторонне подходить к контролю качества продукта, в том числе хотим, чтобы у продукта была красивая и актуальная документация. У наших сервисов была документация, но она обновлялась вручную. А у нас есть модели запросов и ответов, которые точно соответствуют текущему формату API. Мы подумали, что будет здорово использовать эти модели для формирования документации. Попробовали и успешно внедрили. Расскажу о том, как можно это сделать.

Читать далее
Total votes 9: ↑9 and ↓0+10
Comments4

Фантастически быстрый деплой веб-приложения

Level of difficultyEasy
Reading time18 min
Views8.8K
image

Привет, Хабр! Сегодня поговорим об одном интересном микро-фреймворке для Python — Flask. Мы создадим свое собственное веб-приложение и изучим расширения flask, а после задеплоим его на сервер, чтобы иметь доступ из внешнего мира.

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

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

А самое главное — безболезненный, быстрый и легкий деплой будущего приложения.
Читать дальше →
Total votes 32: ↑26 and ↓6+28
Comments4

Обнаружение аварийных твитов с использованием NLP

Level of difficultyEasy
Reading time4 min
Views1.2K

Всем привет!

Хочу поделиться своей проектной работой, которую написала в рамках курса OTUS  «Machine Learning.Professional».

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

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

Читать далее
Total votes 9: ↑7 and ↓2+8
Comments0

Как не бояться задавать глупые вопросы и копать вглубь

Level of difficultyEasy
Reading time5 min
Views3.8K

В апреле мы провели Naumen Analyst Meetup, на котором обсудили важные для аналитиков навыки. Например, способности эффективно общаться с заказчиком, доходчиво объяснять, внимательно слушать и самое главное — задавать правильные вопросы. 

Junior-специалистам, как правило, сложнее всего дается последний пойнт. О нем и был доклад Саши Николаева, руководителя группы бизнес-анализа в Naumen,  «Как не бояться задавать глупые вопросы и копать в глубь».

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

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок

Level of difficultyMedium
Reading time11 min
Views17K

Всем привет! Я Виктор Брыксин, руковожу разработкой Яндекс Телемоста. В статье поговорим про декомпозицию задач в проекте и как можно получить реальные сроки его выполнения.

Спойлер: вы все равно ошибетесь, прогнозируя сроки. Но что можно сделать? Минимизировать шанс на ошибки и сделать их менее фатальными. Я расскажу про рабочие инструменты, которые помогли мне в свое время, — брать их на вооружение или нет, решайте сами. Если вы не знаете, как подступиться к декомпозиции сложного проекта и с чего начать, — эта статья вам в помощь.

Читать далее
Total votes 37: ↑37 and ↓0+41
Comments6

Посмотрел 100 000 Youtube Shorts и определил 10 причин БОЛЬШИХ просмотров

Level of difficultyEasy
Reading time3 min
Views5.2K

Все просмотренные Shorts я анализировал, досмотрел/не досмотрел, зацепила ли картинка, захотелось ли репостнуть или сохранить видео. Особенно пристально вглядывался в видео, которые уже набрали миллионы просмотров, разбирал каждую секунду, каждое слово

Постараюсь на каждый из 10 пунктов привести хороший и плохой пример(ы), чтобы было наглядно понятно, что и как снимать, а не типичная вода в интернете (даже будет несколько моих видео, естественно в "хороших" примерах)/

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

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

Level of difficultyEasy
Reading time4 min
Views4.1K

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

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

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

Level of difficultyMedium
Reading time19 min
Views25K

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

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

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

Reading time7 min
Views1.9K

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

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

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

Level of difficultyMedium
Reading time11 min
Views27K

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

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

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

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

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

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

Level of difficultyEasy
Reading time10 min
Views9.8K

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

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

Читать далее
Total votes 27: ↑20 and ↓7+19
Comments17
1

Information

Rating
3,102-nd
Location
Zams, Tirol, Австрия
Date of birth
Registered
Activity

Specialization

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