Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 33 min ago

[Перевод] Почему неправильное понимание показателей может стоить вам бизнеса на ранней стадии

Mon, 12/16/2024 - 20:13

В последнее время ведутся оживленные дискуссии о том, является ли наличие положительной валовой маржи («gross margin positive») обязательным условием для бизнеса. Эти обсуждения постоянно напоминают мне, что некоторые стартапы не до конца понимают финансовые показатели и даже не знают, какие из них свидетельствуют о здоровье бизнеса.

Читать далее

[Перевод] Ox: Императивный подход к параллельной потоковой обработке данных

Mon, 12/16/2024 - 19:49

Ox, библиотека Scala для безопасного параллелизма и отказоустойчивости в императивном стиле (direct‑style) на JVM, получила новую реализацию параллельной потоковой обработки данных. Она позволяет определять конвейеры обработки данных с помощью функционального API, императивного API или сразу обоих вариантов одновременно.

Потоковая обработка данных в Ox была и раньше: предыдущая реализация была основана исключительно на каналах. Хоть она и работала, но все‑таки имела свои недостатки: каждый этап преобразования вводил асинхронную границу. В некоторых ситуациях это может быть неэффективно: если вы оперируете всего лишь несколькими неблокирующими и не требующими больших затрат CPU этапами, такими как .filter, .mapStateful или .interleave, асинхронные границы просто не нужны. Следовательно, такой подход приводил к избыточному параллелизму.

Читать далее

TS Extend: полезная утилитарная функция для расширения type

Mon, 12/16/2024 - 19:29

В текущей версии TS (5.7) нет нативного расширения типов.

Расширение в TS реализуют интерфейсы через ключевое слово extend, причем интерфейсы могут быть расширены только от одного объекта.

Хотя для типов (type/interface) предусмотрена операция интерсекции (&), которая объединяет свойства двух или более типов - она обладает важным ограничивающим свойством - при наличии одинаковых свойств, операция интерсекции присваивает их результирующему типу значение never.

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

Читать далее

FastAPI и Dependency Injection: правда или вымысел?

Mon, 12/16/2024 - 19:26

В свое время FastAPI прогремел как гром среди ясного неба - тут тебе и минималистичный API аля-Flask (все устали от Django, диктующего свои правила), и OpenAPI документация из коробки, и удобное тестирование, и хайповая асинхронность. Буквально все, что нужно для свободы творчества, и никаких ограничений! Да еще и Depends завезли! В тот момент это был культрурный шок - Dependency Injection в Python? Разве это не что-то из Java?

Но дьявол кроется в деталях. А вы уверены, что те самые Depends == Dependency Injection? Уверены, что пишете код на FastAPI правильно?

В рамках статьи мы рассмотрим различные подходы к организации зависимостей в рамках FastAPI проекта, оценим их с точки зрения удобства использования и постараемся разобраться, как же все-таки "правильно" готовить DI в FastAPI.

Давайте разбираться

Введение в Gatling: какие есть альтернативы и в чем их минусы?

Mon, 12/16/2024 - 19:10

Привет, Хабр! Вы когда-нибудь задумывались, насколько ваш веб-сервис способен выдержать шквал запросов? Что произойдёт, если ваши пользователи, словно зомби, хлынут на сервер тысячами? Вот тут-то и начинается история про нагрузочное тестирование, которое помогает понять, где у вашего приложения «узкие места». А инструмент, о котором мы сегодня поговорим, — Gatling. Это мощная, элегантная и, честно говоря, недооценённая альтернатива монстрам вроде JMeter, LoadRunner и k6. Но давайте разбираться по порядку.

Читать далее

Укрощение строптивого прибора или python в помощь инженеру

Mon, 12/16/2024 - 19:07

Здравствуйте товарищи!

В данной статье хочу поделиться с вами своим опытом по применению стандартных команд для программируемых инструментов (SCPI).

Читать далее

Мое производство приносило 36 млн в год, пережило ковид и блокировку от WB, но сегодня я все же вынужден остановиться

Mon, 12/16/2024 - 19:00

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

Читать далее

«Другие KPI» как инструмент долгосрочного развития команды

Mon, 12/16/2024 - 18:52

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

Обсудим ключевые метрики — производственные показатели, удовлетворенность работой — и разберем, почему для продуктовиков так важны публичность, навыки выступлений и написания статей.

Читать далее

[Перевод] Лучшие крупные языковые модели в ноябре 2024 г

Mon, 12/16/2024 - 18:46

В ноябре в ТОП-10 в «LLM Benchmark» произошло много изменений. Также произошли некоторые изменения в том, как мы создаем продукты на основе LLM. Давайте приступим.

Читать далее

Low-code платформы 2024: сравнительный обзор

Mon, 12/16/2024 - 18:45

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

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

Читать далее

Как мы обновляли продакшн до Spring Boot 3

Mon, 12/16/2024 - 18:14

В уже уходящем 2024 году мне удалось побывать на конференции JPoint, которая проходила в апреле. В числе прочего там активно обсуждалась тема обновления проектов на Spring Boot 3. Однако из тех, кого мне удалось послушать, и с кем пообщаться, ни у кого не было реального опыта такого обновления. Опасения в первую очередь были связаны с Hibernate 6, который сильно изменился по сравнению с предыдущей пятой версией.

Как я уже позже выяснил на собственном опыте, опасались не зря. Именно из-за изменений в поведении Hibernate мы получили аварию на проде: наша база начала грузить CPU под 100%. Это была самая серьёзная, но далеко не единственная проблема, с которой пришлось столкнуться. Далее опишу в деталях, что, как делали и какие проблемы поймали.

Читать далее

Conventional Commits без лишних слов: ваша шпаргалка

Mon, 12/16/2024 - 18:10

Эта шпаргалка поможет вам быстро и просто составлять сообщения для коммитов, которые соответствуют стандарту Conventional Commits. Она не для обучения или дискуссий о том, нужны ли такие схемы, а служит удобным инструментом

[Перевод] Развенчиваем популярные мифы и заблуждения о компиляторах

Mon, 12/16/2024 - 18:01

▍ Введение
Компиляторы всегда были окружены аурой загадочности и магии. Из-за этого многие из нас верят, что они делают то, чего они не делают, или что они не делают того, что делают1

Эта статья станет своего рода продолжением статьи о компиляторных оптимизациях. Я перечислю некоторые заблуждения, с которыми я сталкивался за долгие годы (многие из них были моими), и постараюсь развеять все мифы. Заранее скажу, что эта статья посвящена только крупным популярным компиляторам общего назначения наподобие LLVM, GCC и ICX. Некоторые из сделанных здесь утверждений не относятся, например, к специализированным компиляторам2, а также к мелким и средним компиляторам3. Читать дальше →

Как я запилил Branzy — легкий и быстрый таск-трекер на WebSocket

Mon, 12/16/2024 - 17:49

Привет, Хабр! Меня зовут Максим Пухальский, я главный по маркетингу и развитию экосистемы МТС. Особенность моей работы — большое количество задач, которые надо постоянно мониторить. Иногда нужно быстро найти и погрузиться в какую-то из них. Как инструмент мне всегда безумно нравился Trello. Еще до эпопеи с блокировками у него был только один недостаток: если в проекте более 500 задач, он умирает и грузится целую вечность. В Jira хорошее распределение ролей, но она отнимает много времени на ведение и не подходит для динамичных задач.

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

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

Читать далее

Язык лёгкого поведения

Mon, 12/16/2024 - 17:41

Это был 2000-й год, я готовился поступать в аспирантуру в Штаты, изо всех сил учил так не любимый мною английский и вдруг начал замечать, что английские слова магическим образом вытесняли из головы привычные русские, и я иногда выдавал предложения типа "Это хорошая ботл, давайте её быстрее дринк". Современное поколение, выдающее фразы "законформим таски и обсудим наши мейлстоуны" по 100 раз на дню этим, наверное, не удивишь, но я не мог понять, как слова, которые я знал всю жизнь, вдруг начинали замещаться словами другого, весьма малознакомого языка.

С Наташей я познакомился, кажется, в "кроватке" (онлайн-чат эпохи телефонных модемов). Она уехала с родителями в США в 80-х, будучи школьницей, но, видимо, всё ещё скучала по родине. Несколько дней общения и я уже был по уши влюблён в неё. Когда она приехала в Москву, я заметил, что она, свободно владея английским языком, не вставляла в свои фразы никаких словечек на английском. Её русский был девственно чист и грамотен (если вы общались с эмигрантами, то наверняка замечали, на каком жутком суржике они говорят). "Как тебе это удаётся?" - спросил я. Я не помню, что она ответила, но помню вывод, который я сделал для себя: есть быдло, не знающее хорошо ни одного языка, типа меня, и есть люди уровня Наташи, знающие оба языка в совершенстве.

В 2001-м я поступил в американскую аспирантуру и началось уже настоящее погружение в английский. Оно было как погружение в бездну: я нырнул, потом вынырнул, и начал совершенно по-новому смотреть на нашу языковую реальность. Внезапное осознание того, что русский язык в огромной части взят взаймы из английского, меня по-настоящему шокировало. Если раньше слово "приватизация" вызывало во мне аллергию, причин которой я объяснить не мог, то теперь я понимал почему: оно было чужое, не проистекало естественным образом из языковой базы, которая у меня была, и поэтому его невозможно было понять интуитивно. Как популярное сейчас слово "спин-офф": похоже на слово "спина", но не имеет никакого отношения к спине, в результате чего речь перестаёт быть эффективным способом передачи информации, требуется сначала выучить перевод, а потом постоянно переводить у себя в голове часть слов в понятия.

Читать далее

TOP-10 атак на облачные системы

Mon, 12/16/2024 - 17:36

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

Читать далее

Вакуумное магнетронное напыление на дому

Mon, 12/16/2024 - 17:33

Привет, Хабр! Последнее время здесь появились очень интересные статьи по вакуумному и стеклодувному делу, вызывающие неподдельный интерес у публики. Как насчет двинуться дальше, и начать серию статей про изготовление микросхем на дому? Многолетнюю, разумеется. Я по другому не умею :)

Тут вам и легирование кремния, и фотолитография, и вакуумное магнетронное и термическое напыление металлов и оксидов на подложку.

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

Подробности подкатом

PR-агентство PRslon воровало наши статьи и отказывалось удалять. Большая история о том, как мы защищали авторские права

Mon, 12/16/2024 - 17:32

PR-агентство PRslon незаконно копировало наши статьи в промышленном масштабе, публиковало их на VC, а когда поймали за руку, отказывалось удалять. Думали, что мы не пойдем в суд. А мы пошли — и выиграли. Рассказываем все подробности дела и делимся советами, как защитить авторские права и наказать нарушителей. Проверили все на собственном опыте.

Читать далее

Разбираемся с работой SAMBA в корпоративном домене

Mon, 12/16/2024 - 17:21

Всем привет! Меня зовут Александр, и я большой любитель Хабра, так как он стал моим проводником в мир ИТ. Это моя первая публикация, поэтому для начала расскажу немного о себе.

Ещё в далёких нулевых, когда трава была зеленее, солнце теплее, а санкций не было даже в проекте, я учился в университете и ходил на курсы администрирования Windows, но зачитывался хабровскими статьями о том, как изящно решаются некоторые задачи в Linux. Скажем прямо, разница между этими двумя системами в моих глазах была совсем не в пользу "окошек". И вот уже 9 лет я работаю в ИТ на позициях, связанных с Linux-администрированием и поддержкой различных продуктов на базе этой ОС, за чтоещёраз спасибо Хабру.

Начинал я системным администратором ИТ-инфраструктуры в питерской компании GS-Labs, а перед тем, как попал в Русбитех-Астра, трудился в VK Cloud в подразделении поддержки PaaS (k8s, DBaaS, s3). Сейчас я работаю в команде ALD Pro над продуктом, который заменит на отечественном рынке ни много ни мало саму службу Active Directory. Задач много и разных, в основном помогаю системным администраторам заказчиков и интеграторов в отладке сложных кейсов, связанных с использованием компонентов нашего технологического стека, но мне нравитсяещёи программировать, поэтому время от времени участвую в разработке различных вспомогательных инструментов. Например, на Хабре уже была статья, в которой упоминалось об одной из моих утилит aldpro-join.exe, с помощью которой можно присоединить Windows-компьютер к домену ALD Pro (FreeIPA) на максимально возможном уровне функциональности.

Читать далее

Делаем домашний сервер из: старый регистратор

Mon, 12/16/2024 - 17:16

Сделать мини‑сервер из TV‑бокса можно, но вот проблема: встроенная память там никакая, всего‑то 8 гигабайт.
Можно, конечно, воткнуть в него SD‑карту.
Можно подключить USB‑диск, хоть механику, хоть SSD через адаптер.

А можно подключить диск через ISCSI: в ОС появляется устройство, которое может быть смонтировано как раздел файловой системы, точно так же как если бы это был обычный диск.

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

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

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

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

Читать далее

Who's online

There are currently 0 users and 0 guests online.