Поделюсь как начал писать приложение для интернет-магазина на монолите, затем перешёл на микросервисы.
Все потоки
Новости
Новые процессоры, апдейт TimescaleDB, кешбэк за S3 и многое другое: что мы обновили в апреле
Привет! С вами снова Саша, технический писатель в Selectel. В этом дайджесте рассказываю, как обновились наши продукты в апреле, раскрываю подробности новых акций и напоминаю о квизе для новичков и профи в IT.
Фантастически быстрый деплой веб-приложения
Привет, Хабр! Сегодня поговорим об одном интересном микро-фреймворке для Python — Flask. Мы создадим свое собственное веб-приложение и изучим расширения flask, а после задеплоим его на сервер, чтобы иметь доступ из внешнего мира.
Flask всегда мне нравился, ибо он был минималистичный, быстрый, лёгкий для изучения, и в то же время легко расширялся до полноценного проекта.
Мы затронем все моменты, я объясняю каждую строчку кода. Мы будем создавать не просто какой то статичный сайт — а открытую публичную стену, с регистрацией и авторизацией. Каждый может туда зайти, авторизоваться и оставлять посты на общедоступной стене.
А самое главное — безболезненный, быстрый и легкий деплой будущего приложения.
Двоичный поиск против вероятностного
Внутри Dolt, первой в мире базе данных SQL с полнофункциональными возможностями контроля версий, таится много интересной computer science. Недавно я писал о системе хранения Dolt, в ней есть очень тонкая особенность — применение вероятностного поиска на больших выборках 64-битных целых чисел.
В любом учебном плане по Computer Science есть курс алгоритмов. Моим был CS 102, и одним из пунктов, который объяснялся в нём досконально, было то, что поиск — это, по сути, задача O(log2(N))
при условии, если данные отсортированы. За свою карьеру я многократно встречался с этим в том или ином виде — если сортируешь информацию и сохраняешь её, то стоит ожидать, что для поиска потребуется время O(log2(N))
. В общем случае мы соглашаемся на время поиска O(log2(N))
, потому что оказывается, что можно перебрать большой объём данных с логарифмическим коэффициентом масштабирования. Эта система работает, потому что мы уже почти автоматически сортируем всё заранее.
Но что, если мы добавим дополнительные ограничения на наши данные, которые позволят нам выполнять поиск за константное время?
Будет ли эта статья историей о необязательной оптимизации? Да, будет. В этом конкретном случае поиск будет занимать гораздо меньше времени, чем чтение с диска. Мы говорим о величинах менее чем 0,1% от суммарного времени. Будет ли эта статья историей о преждевременной оптимизации? Нет, не будет. Это бы подразумевало, что мы не осознаём, что время тратится не на то. Эта статья — история о заманчивости алгоритма константного времени.
Истории
Безопасные и недорогие аккумуляторы? С цинком и натрием это может стать реальностью
Да, все мы читали на Хабре о новых видах аккумуляторов, больших и малых. Публиковались новости и статьи обо всём в этой отрасли — от атомных батареек до необычных электролитов. К сожалению, до сих пор в мире первую скрипку играют литиевые аккумуляторы, новые разработки широкого распространения не получили. По крайней мере, пока.
Но уже хорошо то, что исследования в этом направлении ведутся, возможно, в ближайшем будущем мы и услышим о новинках. Одна из них, появившаяся совсем недавно, — батареи на базе цинка. Подробности — под катом.
Новая жизнь или начало экзистенциального кризиса?
Ни для кого не секрет, что популярные языки программирования развиваются по схожему сценарию. Сначала появляется новый язык программирования с амбициозной и благой целью решить те или иные проблемы уже существующего языка, которые иначе, как созданием нового языка программирования, не решить. Далее язык набирает популярность, часто путем обрастания различными модными фичами. Теряет связь с миром свою простоту и лаконичность в бесконечной погоне за новыми возможностями. В какой-то момент наступает экзистенциальный кризис в виде Франкенштейна. А как отмыть кровь решать подобные проблемы, мы уже знаем. Или я несколько утрирую (или нет?), и, возможно, не все так плохо? Сегодня поговорим об этом в общем и о новом функционале языка Dart в частности.
Что делать если отключат Figma? Есть ли альтернативы?
Существуют ли альтернативы Figma? Обзор основных конкурентов. Есть ли те, которые способны потеснить дизайн-гегемона с первого места?
Топ-100 вопросов на собеседовании по системному анализу
Салют!
Совсем недавно я выкладывал статью "Как пройти собеседование на позицию системного аналитика в 2024 году". Там были вскользь упомянуты вопросы, которые могут встретиться. Теперь публикую полный перечень наиболее популярных вопросов из теоретической секции.
Изучив их, вы, с большой долей вероятности, успешно пройдете теоретическую часть. В конце привожу примеры тех задач, которые могут встретиться в практической части.
Новый вид получения личных данных при поиске вакансий
Приветствую всех. Меня зовут Дмитрий, я Junior Frontend разработчик. Как и многие джуны нахожусь в поиске работы. Кто проходил этот путь знает на сколько он не прост. Но пост не об этом.
Сегодня вам хочу рассказать как я попался на уловку "мошенников" на hh.ru. В один прекрасный день, мне прилетает приглашение от фирмы Parking Squatter которая занимается разработкой AI чата, VR очков для программистов....
Недельный геймдев: #174 — 19 мая, 2024
Из новостей: Final Fantasy XVI не оправдала ожиданий Square Enix, Square Enix переходит к мультиплатформенной стратегии, продажи Helldivers 2 достигли 12 миллионов копий, Герман Хульст и Хидеаки Нисино возглавят PlayStation.
Из интересностей: про разработку Hi-Fi RUSH, почему поднимать инвестиции в мобильном геймдеве в 2024 году стало труднее, научиться GDScript за час.
Почему команда sort включает в себя функцию uniq? (Куда делась философия Unix!?)
Команда sort
включает опцию -u
для удаления повторяющихся строк.
С точки зрения философии Unix, команды для сортировки строк (sort
) и удаления дубликатов (uniq
) должны быть отдельными. Однако команда sort
имеет опцию -u
, соответствующую функции uniq
. В этой статье я хочу объяснить, почему это так, ссылаясь на книгу «Software Tools».
Как торгуют профессиональные трейдеры — анализ результатов конкурса Лучший Частный Инвестор
Каждый год Московская Биржа проводит конкурс Лучший Частный Инвестор (ЛЧИ). В 2023 году конкурс проходил с 5 октября по 21 декабря. В конкурсе мог поучаствовать любой желающий, а итоговые результаты опубликованы на странице со статистикой. Но чем же примечателен этот конкурс? Дело в том, что кроме результатов биржа также публикует полную историю торгов всех участников конкурса! Когда я впервые об этом узнал, то очень обрадовался. До сих пор я нигде не встречал такой же подробной статистики для реальных трейдеров по торгам на бирже. Все статьи на Хабре, которые я читал по данной тематике, обычно оперируют данными из отчетов бирж, которые обычный пользователь никак не может использовать и проверить самостоятельно. Здесь же нам доступно все. Поэтому я решил проанализировать эти замечательные результаты и выяснить насколько хорошо торгуют профессиональные трейдеры! Кого-то результаты удивят, а для кого-то они покажутся очевидными. Моя основная цель в том, чтобы просто изучить их и продемонстрировать сам способ анализа и визуализации.
Воронка метрик рекомендательных систем. Дочитывания — новая метрика
Как понять, что статья Х лучше статьи Y? Какие критерии подскажут, что текст не принесет ожидаемый результат?
Новая статья из цикла «Какие бывают воронки метрик в интернет-маркетинге»
Ближайшие события
Предметно-ориентированное проектирование (DDD) и математическое моделирование
В статье будут проведены аналогии между предметно-ориентированным проектированием и математическим моделированием
С математическим моделированием школьники знакомятся в 7 классе общеобразовательной школы. Грубо говоря, это перевод задачи из неформального человеческого языка на язык математики для последующего её решения.
Разметка данных в Label Studio при помощи GPT-4: интеграция ML Backend
Введение
Получение качественных данных — краеугольный камень любого проекта машинного обучения. Этот процесс, в котором традиционно доминирует трудозатратная разметка данных, часто может превращаться в длительную и дорогостоящую задачу. Но что, если мы сможем воспользоваться прогрессом в развитии больших языковых моделей (LLM) для перехода от разметки данных к проверке разметки?
На сцене появляется GPT-4. Эта система (разработанная на основе GPT-4), имеющая более ста миллионов пользователей — одна из самых популярных языковых моделей.
В предыдущей статье мы показали, как можно ускорить процесс разметки предварительным аннотированием данных при помощи GPT-4. Эта методика позволяет нам загружать готовый к проверке предварительно размеченный датасет, а не выполнять монотонный процесс, начиная с нуля. В этой статье мы продолжим развивать эту тему, оказав, как можно объединить GPT-4 с бэкендом машинного обучения (ML Backend) Label Studio.
При помощи Label Studio ML Backend можно размечать данные непосредственно в Label Studio, что позволяет нам совершить переход от трудозатратной задачи разметки данных к гораздо более эффективному процессу проверки и совершенствования предварительных меток, что существенно ускоряет работу.
Как ИИ и методы прошлого века обошли золотых медалистов IMO в геометрии
Решение геометрических задач, даже обычной школьной сложности, — процесс довольно творческий. Нужно что-то заметить, где-то проявить интуицию, пробовать разные подходы и придумывать свои. Отсюда возникает два вывода. Первый — раз задача творческая и не всегда понятно, какими именно принципами руководствоваться, значит она прекрасно подходит для искусственного интеллекта. Второй — противоположный, о котором наверняка думали хоть раз все, у кого с геометрией в школе было туго: нужно максимально формализовать решение, найти законы и превратить творческий процесс в набор правил. Как это обычно бывает, лучшим решением оказывается объединение противоположностей. Но обо всём по порядку.
Как стать бизнес-аналитиком бесплатно? Программа обучения с нуля
Мы с бизнес-аналитиком Александром Ганиным составили программу обучения «Бизнес-аналитик с нуля», которая состоит только из бесплатных курсов. Если вы размышляете над тем, чтобы освоить новую профессию, можете воспользоваться нашей программой.
Мониторинг Supervisord: Упрощение контроля над процессами
В современной, стремительно развивающейся ИТ-среде умелое управление процессами играет ключевую роль в обеспечении стабильности и эффективности приложений и систем. Supervisord Monitor представляет собой ориентированное на пользователя решение этой задачи, позволяющее администраторам и разработчикам осуществлять надзор и контроль над процессами.
РТ МИС снова сокращает. Теперь премии
В декабре 2023 года мы писали о внезапных «сокращениях» в компании РТ МИС — разработчике единой медицинской информационной системы. Тогда причиной расставания с частью сотрудников менеджмент называл сокращение планируемой прибыли компании на 2024 год. О качестве работы сотрудников в 2023 году речи не шло.
В марте 2024 года гендиректор Александр Мартыненко в интервью Cnews утверждал, что команда в 2023 году продуктивно поработала. Были разработаны и запущены несколько новых модулей, 15 регионов достигли требуемого уровня цифровой зрелости в рейтинге Минздрава, были запущены интеграции с Госуслугами во многих регионах, обеспечена возможность удалённой записи к врачу. Он рассказывал и о больших планах на 2024 год. Среди прочего были упомянуты стратегические цели: повышение качества и надёжности продукта ЕЦП. МИС и повышение уровня удовлетворённости заказчиков. О планах по развитию команды и повышению лояльности сотрудников не было сказано.
Работа с XML в C#
Привет, Хабр!
Обработка XML-данных остаётся актуальной задачей несмотря на появление более крутых технологий для работы с данными. XML — это все еще гибкий и мощный инструмент для структурирования данных, который используется в самых разнообразных приложениях.
В статье рассмотрим как работать с XML в C#.