Обновить
1
0
Sergey Kaleev@skaleev

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

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели13K

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

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

Читать далее

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

Уровень сложностиСложный
Время на прочтение3 мин
Охват и читатели16K

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели34K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели20K

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели12K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели13K

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

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

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

Почему Python

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

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели17K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели51K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели23K

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

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

Читать далее

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

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели15K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели14K

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели17K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.7K

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели27K

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

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

Читать далее

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

Время на прочтение8 мин
Охват и читатели7K

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

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

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

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

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

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

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

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.7K

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.9K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели14K

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели11K

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

Читать далее

Зачем вообще нужны дистрибутивы?

Время на прочтение16 мин
Охват и читатели13K

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

Не я один подметил это, этот факт подсвечен во многих материалах по K8s. Например, вот: 

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Сургут, Тюменская обл. и Ханты-Мансийский АО, Россия
Дата рождения
Зарегистрирован
Активность