Pull to refresh
1
0
Sergey Kaleev@skaleev

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

Send message

«План любой ценой»: Почему российский менеджмент превратил работу в выживание и можно ли с этим бороться

Level of difficultyEasy
Reading time5 min
Reach and readers56K

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

Если вы работали в российской компании — от крупного холдинга до небольшого стартапа — вы, возможно, сталкивались с этим. Не везде, но такое, наверняка случалось. Авралы по выходным, KPI, которые невозможно выполнить, приказы, противоречащие здравому смыслу, и вечное «надо выкручиваться». И наше любимое — всем сейчас и так плохо, нужно затянуть пояса. Это не отдельные недочеты, а симптомы глубокой системной болезни, которую можно назвать «постсоветский управленческий синдром». Он проявляется в нескольких взаимосвязанных паттернах, которые годами кочуют из компании в компанию. О них сегодня и расскажу.

Читать далее

Климат в эпоху динозавров

Level of difficultyEasy
Reading time7 min
Reach and readers13K

1 - Эпоха динозавров колоссальная по длительности, с конца триасового периода до конца мелового, между 210 000 000 и 66 000 000 лет назад - 144 000 000 лет. Для сравнения - весь процесс развития жизни после динозавров, это как раз 66 000 000 лет. Например те же слоны и киты 66 000 000 лет назад, бегали в виде млекопитающих размером не более 25 кг.

2 - При динозаврах океан был намного лучше прогрет, в силу меньшей глубины. А поскольку континенты были собраны в один, то площадь океана не перекрытого горами была больше, чем сегодня. Вспомним как Тихий и Атлантика сегодня перерезаны горами Северной и Южной Америки. В итоге воздушные массы носились по Земле свободнее и больше влаги не выливалось в горах, а попадало на континент.

Читать далее

Статистика под капотом LinearRegression: почему мы минимизируем именно квадрат ошибки?

Level of difficultyHard
Reading time3 min
Reach and readers16K

Все ML-инженеры знают о линейной регрессии. Это та самая база, с которой начинает изучение алгоритмов любой новичок. Но вот парадокс: даже многие «прожженные» инженеры не всегда до конца понимают ее истинную работу под капотом.

А именно — какая у «линейки» статистическая связь с Методом Максимального Правдоподобия (MLE) и почему она так сильно «любит» MSE и нормальное распределение. В этой статье мы как раз в этом и разберемся.

Читать далее

Пишем свою мобильную ОС с нуля на Rust

Level of difficultyMedium
Reading time22 min
Reach and readers34K

Почему бы не запустить своё ядро прямо на смартфоне? Без Android, без Linux — только Rust, загрузчик и паяльник. В этой статье расскажу о результатах своего эксперимента, как оживить голое ARM-железо, увидеть первые символы в UART и даже вывести что-нибудь на экран.

Читать далее

С go на C++ за две недели. Переписываю эмулятор ZX Spectrum

Level of difficultyMedium
Reading time17 min
Reach and readers20K

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

Другим движущим фактором все-таки была бесплатность БЯМок от cloud.ru (не реклама, да и бесплатности больше нет). Ну где еще можно на халяву пожечь сотни миллионов токенов и получить хоть что-то работающее?

В общем, я принял волевое решение переписать все на С++. Под катом дневник "переписчика", в котором я последовательно описываю все боли и страдания начинающего писателя эмуляторов. Желающим сразу посмотреть на конечный результат можно сходить на https://github.com/kiltum/zxcpp

Читать далее

Заменяем лишние if-проверки на assert для инвариантов кода в C/C++

Level of difficultyEasy
Reading time3 min
Reach and readers12K

Многие разработчики привыкли везде ставить if-проверки, даже для условий, гарантированных кодом. Зачем проверять то, что не может нарушиться? Такие проверки создают шум в коде и мусор в релизе. Assert решает эту проблему: документирует допущения и исчезает из финальной сборки. В статье покажу все преимущества assert'ов и предостерегу от подводных камней их использования.

Читать далее

Почему Python так популярен в 2025?

Level of difficultyEasy
Reading time6 min
Reach and readers13K

Многие языки приходят и уходят, но Python является одним из тех языков, который давно зарекомендовал себя на рынке как один из лучших вариантов для разработчиков всех уровней (и не только).

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

Так почему же разработчики и тестировщики продолжают выбирать его? Ответ на этот вопрос я и предлагаю рассмотреть далее в статье.

Почему Python

Создаем GUI на Python: от простого скрипта к Markdown-редактору с Flet

Level of difficultyMedium
Reading time9 min
Reach and readers17K

В этой статье мы познакомимся с Flet — революционным фреймворком, который позволяет делать именно это. Flet дает вам возможность создавать интерактивные GUI на чистом Python, а для отрисовки использует мощный движок Flutter. Результат — быстрые, красивые и нативные приложения для Windows, macOS, Linux и даже для веба, без необходимости писать ни строчки на Dart или JavaScript.

Читать далее

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

Level of difficultyEasy
Reading time9 min
Reach and readers51K

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

Читать далее

Создаем красивые и удобные CLI-приложения на Python с помощью Typer и Rich

Level of difficultyMedium
Reading time10 min
Reach and readers23K

Вспомните свой последний скрипт для автоматизации. Возможно, он скачивал данные, обрабатывал файлы или отправлял отчеты. Вы быстро набросали логику, запустили из командной строки, передав пару аргументов через sys.argv, и… всё сработало. Вы молодец.

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

Читать далее

Python через 10 лет: Гонка за производительностью или закат эпохи?

Level of difficultyHard
Reading time12 min
Reach and readers15K

Python занимает лидирующие позиции в рейтингах популярности, таких как TIOBE и IEEE Spectrum, и является основным языком для самых быстрорастущих и востребованных областей: искусственного интеллекта, машинного обучения и анализа данных. Однако, несмотря на текущие успехи, технологический ландшафт меняется, и через 10 лет Python может существенно отличаться от того, каким мы его знаем сегодня. Цель этой статьи — предоставить серьезный и взвешенный прогноз его эволюции к 2035 году.

Читать далее

Паттерны микросервисной архитектуры: от собеседования до прода

Level of difficultyMedium
Reading time13 min
Reach and readers14K

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

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

Читать далее

Изучаем Python: модуль json для начинающих с домашним заданием

Level of difficultyMedium
Reading time14 min
Reach and readers16K

Если вам когда-либо приходилось передавать структурированные данные между двумя разными системами, вы наверняка сталкивались с JSON. Сегодня JSON (JavaScript Object Notation) — это общепринятый стандарт для обмена данными в интернете. Он стал настолько популярным благодаря своей простоте и эффективности.

Читать далее

Инновационный беспроводной глазной имплантат. Восстановление зрения

Level of difficultyEasy
Reading time5 min
Reach and readers8.6K

Речь идет об импланте, который восстанавливает зрение при возрастной макулярной дегенерации (ВМД). Это постепенная потеря зрения, которая ощущается как постепенно замутнение. Словно запотевает объектив фотоаппарата. Это приводит к географической атрофии, более тяжёлой форме заболевания. Основной причины необратимой слепоты в мире, поражающей более пяти миллионов человек.

Читать далее

Скоростные тепловозы

Reading time8 min
Reach and readers27K

30 лет назад москвичи с ужасом осознавали себя строчками в учебнике истории. Ельцин с Хасбулатовым воодушевлённо делили власть, гремело голосом Шевчука «Предчувствие гражданской войны», в центре города палили танки и чернел Белый дом. Никто не знал, что будет завтра, да и будет ли оно – какая уж тут наука, какое творчество. И в то же время в паре сотен километров делали своё дело никому не известные люди – испытатели самого быстрого в мире тепловоза.

В 1987 г. завершился выпуск двухсекционного тепловоза 2ТЭП60. При мощности 6000 л.с. он мог таскать с приличными скоростями пассажирские поезда в 20 вагонов и более, каковые тогда не были редкостью. Увы, могучий локомотив с двухтактными дизелями безнадёжно устарел. Новый ТЭП70, шедший в серию по-советски неторопливо, заменить «старика» не мог – будучи преемником односекционного ТЭП60, он «пас» в моторном отделении всего 4000 лошадей. Попытка вкорячить в него более мощный дизель провалилась – ТЭП75 вышел чересчур тяжёлым для шестиосного экипажа. Нет, идея мощного односекционного пассажирского локомотива не умерла – он проще и экономичнее сплотки типа 2ТЭП60, – но ему требовалась восьмиосная экипажная часть, без малого 16 колёс.

Читать далее

Как мы написали свой софт на базе «коробки»: автотранспорт производства

Reading time8 min
Reach and readers7K

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

Копились и другие проблемы.

Например, пользователи стали продвинутыми и жаловались на дружелюбность интерфейса. На самом деле тяжело представить в одном предложении слова «дружелюбность интерфейса» и нашу старую систему заявок на транспорт.

Всё это работало только под IE/Edge, не поддерживало Хромиум, конфликтовало с требованиями ИБ.

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

Мы давно задумывались о рефакторинге или миграции, суть споров сводилась к самопису или «коробке».

Мы всё проанализировали и решили, что надо взять готовую «коробку», которую потом нужно будет допилить процентов этак на 10.

В итоге оказалось, что сначала мы допилили процентов на 20, а потом от исходной «коробочной» версии осталось процентов 10, и вся разработка переехала к нам внутрь.

Сейчас я расскажу о дьявольском опыте использования чужой «коробочной» версии как фреймворка для своей разработки. Забегая вперёд — второй раз мы в это не полезли бы.

Читать далее

Был FSD — стал MSD: как мы допилили методологию FSD, чтобы поудобнее делить монолит на модули

Level of difficultyMedium
Reading time9 min
Reach and readers7.6K

Что важно фронтенд-разработчику при создании веб-приложений? Поддержка текущей кодовой базы, удобство внедрения новых фич и возможность повторно использовать компоненты. Создать такие условия помогает популярный подход к проектированию — FSD (Feature Sliced Design). Разбиваем интерфейс на независимые, переиспользуемые модули (виджеты, фичи и т. д.), получаем чёткие правила, единую структуру проекта и ускорение разработки за счёт переиспользования кода и изоляции ответственности.

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

Меня зовут Иван Соснович, я тимлид фронтенд-разработки в СберТехе, тружусь в команде Platform V Kintsugi — это графический инструмент для сопровождения, мониторинга и диагностики Postgres-like СУБД. В этой статье я покажу, как мы доработали FSD под себя, и дам ссылку на пример со структурой приложения. Надеюсь, будет полезно фронтенд-разработчикам.

Читать далее

Почему сейчас — лучшее время, чтобы нанимать Junior-программистов

Level of difficultyEasy
Reading time4 min
Reach and readers9.9K

За последние годы рынок IT сильно изменился. Сейчас найм Junior-разработчиков стал гораздо выгоднее для компаний: конкуренция среди молодых специалистов выросла, а текучка кадров снизилась. Разберём, почему именно сейчас лучшее время инвестировать в молодых разработчиков.

Читать далее

Рабочий день инженера на Linux

Level of difficultyMedium
Reading time6 min
Reach and readers14K

С 1 октября у нас проходит открытое бета-тестирование нативного КОМПАС-3D для ОС на ядре Linux. Мы подумали, а что если провести здесь обзорную экскурсию для нового пользователя ОС Linux, который не имеет отношения к IT-сопровождению и не должен заниматься администрированием систем? Такой сотрудник работает, используя не операционную систему, а доступные в ней программы и инструменты. Цель этой статьи — показать эти инструменты.

Читать далее

Изучаем Python: модуль pathlib для начинающих с домашним заданием

Level of difficultyMedium
Reading time15 min
Reach and readers11K

Забудьте о ручном склеивании строк: с pathlib пути элегантно конструируются с помощью оператора /. Проверка существования, чтение, получение родительской директории — всё это становится методами и атрибутами самого объекта. В результате код получается не просто чище и читабельнее, он становится более надежным и по-настоящему "питоничным" (Pythonic).

Читать далее

Information

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