Pull to refresh
1
0
Sergey Kaleev @skaleev

Пользователь

Send message

Как создать свое профессиональное сообщество и начать проводить митапы. Часть 3 – как найти гостей и площадку

Level of difficultyEasy
Reading time3 min
Views631

Это третья часть статьи. Здесь расскажу о том, как собрать толпу гостей и привести их в интересное место. Начните с первой части “Что делать до митапа”, если еще не читали ее

Читать далее

Не используйте теги в Ansible

Level of difficultyEasy
Reading time7 min
Views4.1K

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

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

Читать далее

Проектирование Информационных систем. Часть 9. Моделирование поведения 9.2. Моделирование процессов управления

Level of difficultyMedium
Reading time11 min
Views1.5K

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

Напомню один из основных принципов кибернетики: Информация рассматривается кибернетикой как средство управления. Для того чтобы управлять объектом, необходимо иметь:

Читать далее

Оптимизация асинхронного сервиса на Python

Level of difficultyMedium
Reading time6 min
Views3.5K

Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса.

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

Читать далее

Заблуждения программистов об авиации

Level of difficultyEasy
Reading time6 min
Views8.3K

Перевод статьи Ben Burwell, инженера FlightAware, в которой описан довольно солидный список ложных предположений, которые программист может выдвинуть об авиации при разработке софта. Например, вы знали, что бывают сегменты в авиаперелетах, которые длятся одну минуту, чтобы переместиться из одного аэропорта в другой, хотя физически самолет никуда не летит? А вот инженерам из авиа-отросли такие уникальные случаи нужно учитывать.

Читать далее

Что не так с ООП в 2025

Reading time4 min
Views13K

Несмотря на то, что сам я ушел из большого ООП¹ более десяти лет назад, причем, надеюсь, навсегда, я всегда крайне вяло и неохотно участвую в баталиях тупоконечников и остроконечников: я абсолютно убежден, что для разных типов задач лучше подходят разные инструменты, и выхолощенное ФП заставит всех вокруг создавать тонны никому не нужного бойлерплейта для тривиального круда, а кристальное ООП — воткнет все возможные палки в колёса при реализации бизнес-процессов. Любой из современных языков программирования позволяет смешивать эти подходы, а микросервисная архитектура — даже гостеприимно приютит несколько языков и сред под одной крышей.

Тем не менее, хотя я никогда не считал себя евангелистом функционального подхода, и уж, тем более, не примыкал к стану воинствующих пуристов, меня постоянно свербил вопрос: что же все-таки не так с ООП, если лично мне быстрее, проще и понятнее — реализовывать свои проекты на функциональном эликсире?

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

Что не так с ООП в высокосвязном хайлоаде

RFID-метки для программиста: как они устроены и как с ними работать

Level of difficultyHard
Reading time7 min
Views5.5K

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

Если вы — разработчик и хотите не просто «подключить библиотеку», а понять, как метка устроена на уровне байтов, как работает обмен данными, как выглядит структура памяти и какие команды реально отправляются на устройство, — эта статья для вас.

Читать далее

Создание Chessort: игра для сортировки шахматных головоломок

Level of difficultyMedium
Reading time9 min
Views1.5K

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

Читать далее

Как превратить бизнес-требования в эффективную схему БД без жертв

Level of difficultyMedium
Reading time9 min
Views2.5K

Научимся превращать бизнес-требования в рабочую схему БД и документировать ключевые решения! Без недопонимания, технического долга и смс.

Читать далее

Как методы Toyota, Дэвида Аллена, Барака Обамы и Мари Кондо делают IT-специалистов эффективнее и спокойнее

Level of difficultyEasy
Reading time7 min
Views3.4K

Знаете людей, которые выпивают по 5-10-15 чашек кофе в день, чтобы сконцентрироваться? Или тех, кто работает по ночам - так у них лучше получается результат? У меня тоже есть свой секрет 😉. Долгое время я работала в духе системного и структурированного подхода и не подозревала, что моя интуитивная практика на самом деле - более глубокие идеи: некоторые известные личности исследовали эти аспекты фундаментально и представили миру - Дэвид Аллен, Барак Обама и Мари Кондо. Мы систематизируем процессы и задачи, упорядочиваем дела и вещи, а также регулярно расхламляемся🤭.

Читать далее

Как и зачем в школах США обучают слепой печати?

Level of difficultyEasy
Reading time3 min
Views2.7K

На самой популярной платформе по обучению слепой печати — более 38 млн учеников и 677 тысяч учителей.

Навык слепой печати это как умение читать: научившись однажды, пользуешься им всю жизнь. В США это поняли давно и сделали «touch typing» частью образовательных стандартов, а следом — и школьной программы. Сначала это вызвало опасения, что теперь дети в Америке не будут уметь писать от руки. Будут, конечно. А вместе с тем — быстро печатать на клавиатуре, не прилагая особых усилий.

Читать далее

Чистый код: с чего начать

Reading time4 min
Views4.5K
В статье The Life Changing Magic of Tidying Up Code я (Кент Бек) пошагово описал, как приучить себя к повседневной гигиене при создании кода. Код обычно приходит в беспорядок. В этом нет ничего постыдного. Если вам кажется, что код запутался — значит, вы чему-то научились. Чтобы код стал чистым, в нём надо хоть немного прибраться.

В статье о TLCMOTUC описан этот процесс: немного поправить код, остановиться на безопасной стадии, отпраздновать. Ниже я опишу, как именно выглядят некоторые приёмы такой уборки:

Имена


Со временем в коде может меняться тот смысл, который изначально вкладывался в выбранные имена. Команда работает, её словарь развивается. Вчерашние термины сегодня могут восприниматься уже иначе.
Читать дальше →

ИТ-архитекторы: приручение корпоративной энтропии

Reading time14 min
Views3K

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

Читать далее

Круговой импорт в Python: как он ломает проекты и как его победить

Level of difficultyEasy
Reading time5 min
Views4.8K

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

Сегодня говорим о том, что в какой‑то момент словит почти каждый разработчик, особенно если вы не просто пишете скрипты, а строите проекты — будь то Django, Flask или кастомная архитектура с бизнес‑логикой в отдельных слоях. Речь про круговые импорты: они не объявляют о себе заранее, не фейлят весь проект громко и сразу, но подкрадываются исподтишка. И вот вы уже сидите с ошибкой ImportError: cannot import name ... или AttributeError, гуглите часами, тасуете импорты туда‑сюда и ловите дежавю — кажется, это уже было, но где?

Читать далее

Конфигурация с поздним связыванием и шаблонизацией в Python

Level of difficultyEasy
Reading time3 min
Views1.4K

Расскажу про Python-библиотеку для гибкого чтения конфигураций с возможность переиспользования и переопределения элементов

Читать далее

Как мы построили сервис KPI для сотрудников

Level of difficultyEasy
Reading time6 min
Views4.4K

Привет! Меня зовут Арсен, я разработчик в DDPlanet и сегодня хочу поделиться нашим опытом разработки системы KPI для оценки производительности сотрудников в нашей компании. Как мы пришли к необходимости такой системы, как реализовывали первую и последующие версии и почему выбрали те или иные инструменты при разработке.

Читать далее

Мой идеальный компьютер

Reading time7 min
Views34K

Я сижу под Linux, но иногда нужна винда. До недавнего времени у меня был обычный dual boot, но сейчас я реализовал свой идеальный сетап:

- основная система - Linux

- Windows - на выделенной SSD

- на нее можно загрузиться как из груба, так и из виртуалки

- с пробросом второго GPU (дисплей на отдельный физический выход)

- с качественным удаленным подключением (как RDP, но быстрое) - можно играть в игры

Ниже опишу что и как сделал.

Читать далее

Как недовольный инженер часовые пояса придумал

Reading time6 min
Views8.8K
Июльским вечером 1876 года один шотландский инженер опоздал на поезд. Обычный человек на его месте наверняка вычурно выругался бы и взял другой билет. Но Сэндфорд Флеминг решил, что виновато тут не расписание, а само человечество.

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

image
«Нормально делай — нормально будет», С. Флеминг

Флеминга не зря зовут «отцом времени». Последствия его идеи мы ощущаем каждый раз, когда, например, берём билет на самолёт. Или пытаемся высчитать, что там в Петропавловске-Камчатском — уже полночь или ещё нет.

Потому что Флеминг изобрёл ни много ни мало часовые пояса. И, честно говоря, спасибо ему за это.
Читать дальше →

Как новичку выбрать компьютер для программирования

Level of difficultyEasy
Reading time6 min
Views5.4K

Привет! Меня зовут Ярослав, я бэкенд-разработчик в компании «Синимекс» и ревьюер на курсе «Java-разработчик» в Яндекс Практикуме.

В этой статье я расскажу, как выбрать компьютер разработчику: на какие характеристики смотреть, как определиться между macOS или Windows и на что ещё обратить внимание. Предупреждаю — будет субъективно.

Читать далее

Information

Rating
Does not participate
Location
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity