Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Алертинг состояния выполения DAG`ов Apache Airflow в Telegram за 1 минуту

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 101

Коллеги, здарова! Часто бывает что нужно отправить сообщение в мессенджер к разработчикам, в случае возникновения различных проблем.

Представляю небольшое решение, которое позволит отправить сообщение в Telegram с информацией о состоянии DAG`а Apache Airflow

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 0

Новости

Работаю на стройке, чтобы писать статьи на Хабре

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 466

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

Читать далее
Всего голосов 14: ↑11 и ↓3 +8
Комментарии 0

Труд разработчиков открытого ПО заслуживает оплаты

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 576

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

Недавно в сердцах я написал на Mastodon такой пост:

«Мы считаем, что сфера опенсорса должна быть жизнеспособной, а труд мейнтейнеров должен оплачиваться!»

Мейнтейнер: *вносит коммерческие возможности*
Мы: «Не таким образом».

Мейнтейнер: *работает на крупную технологическую корпорацию*
Мы: «Не таким образом».

Мейнтейнер: *привлекает инвестирование*
Мы: «Не таким образом».

Эта моя публикация вызвала вирусную реакцию, получив множество встречных аргументов и критики (а также немало согласия, и это приятно). Думаю, часть критических ответов объясняется моим намеренно вольным изложением и придирчивостью читателей к терминологии, но некоторые всё же стали следствием искреннего недопонимания моих язвительных высказываний. Я сам виноват, что поднял этот вопрос без должной ясности вместо того, чтобы говорить прямо. Поэтому в текущей статье я выражу свои размышления в виде более рассудительной и развёрнутой тирады.

Мой основной посыл в том, что труд специалистов, работающих в сфере опенсорса, заслуживает оплаты. Без исключений. Нам следует перестать критиковать идею оплаты труда мейнтейнеров и начать её ценить. Да, все используемые для этого механизмы в том или ином смысле несовершенны, но лишь потому, что сам мир таков. И дело не в том, что люди берут деньги. Наезжать на мейнтейнеров, которые нашли способ устроить себе жизнь, неправильно.
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Комментарии 10

DIY: Ваше собственное облако на базе Kubernetes (часть 1)

Время на прочтение 8 мин
Количество просмотров 689

Мы очень любим Kubernetes и мечтаем чтобы все современные технологии поскорее начали использовать его замечательные паттерны.

А вы когда-нибудь задумывались о том чтобы построить своё собственное облако? Могу поспорить что да. Но можно ли это сделать используя лишь современные технологии и подходы, не покидая уютной экосистемы Kubernetes? Нам по опыту разработки Cozystack пришлось с ним как следует разобраться.

Да, вы могли бы возразить что Kubernetes для этого не предназначен и почему бы не использовать OpenStack для Bare Metal-серверов а внутри него запускать Kubernetes как положено. Но поступив так, вы просто переложите ответственность с ваших рук на руки OpenStack администраторов. Что добавит как-минимум ещё одну сложную и неповоротливую систему в вашу экосистему.

Зачем так всё усложнять? - ведь на данный момент Kubernetes уже имеет всё необходимое для запуска Kubernetes кластеров.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 2

Истории

Собираем самодельный перьевой плоттер

Время на прочтение 7 мин
Количество просмотров 583

В этой статье задокументированы уроки, полученные мной при проектировании и создании самодельного перьевого плоттера летом 2023 года.

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Отладка Spring-микросервиса в контейнере

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 214

Когда речь заходит о микросервисах, на ум обычно приходят контейнеры. Разумеется, встречаются микросервисные архитектуры, в которых компоненты запускаются без контейнеров. На мой взгляд, сопровождение таких систем получается намного сложнее, так как требует более глубоких знаний в администрировании Linux, скриптинге и различных инструментах автоматизации. В то же время, порог вхождения (дисклеймер: подразумевается именно минимально необходимый набор знаний для начала работы с инструментом) для вещей вроде docker-compose существенно ниже, и работать с ними могут даже начинающие разработчики.

Иногда для оперативной локализации ошибки проще всего воспользоваться отладчиком. Я думаю, каждый разработчик так или иначе применял подход DDD (DDD - шут. Debug Driven Development) при локальной разработке или в поисках бага на удаленном стенде. Но что делать, если удаленное приложение в контейнере? В этой заметке я бы хотел поделиться Dockerfile-ом, к которому пришел в свое время, решая проблему отладки контейнеризированного приложения.

Читать далее
Всего голосов 2: ↑0 и ↓2 -2
Комментарии 0

Figma закрыла Dev Mode: пути обхода и их краткий обзор

Время на прочтение 5 мин
Количество просмотров 598

В июне 2023 года Figma выпустила масштабное обновление: появился режим разработки Dev Mode. Эта функция обеспечивает плавный переход от дизайна к разработке. Такое новшество сразу же пришлось по душе многим. Однако совсем недавно пропала возможность пользоваться режимом бесплатно. Как быть и какие есть альтернативы — рассказываем под катом!
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Кратко про FP в Julia

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 314

В отличие от императивного подхода, где выражается последовательность операций, функциональное программирование (FP) сосредотачивается на "что" и "как" должно быть вычислено, а не на "когда". Это приводит к более чистому, модульному и легко тестируемому коду.

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 0

Привет, я FSD, чем могу помочь?

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 420

Привет, странник👋

Сегодня ты встретишься с невероятной историей о том, как одна архитектура смогла убедить программиста в его любви к коду. Ладно, не все так трагично, однако FSD действительно покажет, что можно любить расположение папок в проекте 

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 1

Стартуем без транзакции. Альтернативный вариант вопросов на собеседовании «по SQL»

Уровень сложности Средний
Время на прочтение 29 мин
Количество просмотров 529

Статей о селектах хватает, попробуем про апдейты. "ТОП-100" вопросов не обещаю - тут бы с одним разобраться. Разработчиков OLTP-систем под MS SQL Server и кандидатов на подобные вакансии приглашаю под кат.

Код на T-SQL, и он идеален. Атомарности нет, целостность вернём ручными апдейтами, изоляция с дюрабилити только мешают. Программируем без оглядки на ACID, который жив лишь в статье википедии.

ACID поломать, код не исправить
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 2

Spring MVC REST API: автономная конфигурация при написании модульных тестов

Время на прочтение 8 мин
Количество просмотров 137

Создание и настройка необходимых компонентов без дублирования кода

Отправка HTTP-запросов в тестируемую систему без дублирования кода

Настройка Spring MVC Test framework, при написании модульных тестов для Spring MVC REST API с помощью JUnit 5.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Мета-Переводчики: реальность или фантастика?

Уровень сложности Сложный
Время на прочтение 21 мин
Количество просмотров 457

Всем Хабр! В этой статье пойдет речь о переводчиках. Но не в привычном (во всяком случае, в IT-мире) понимании, - а с точки зрения математики. Да-да, это редкий случай, когда нас будут интересовать переводчики вне позиции смыслов.

Сразу оговорюсь, как это стало чаще заводиться в моих статьях:

Создать Мета-Переводчик
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0

Живого интернета не существует

Время на прочтение 5 мин
Количество просмотров 882


Вот как 3 месяца занимаюсь созданием контента для продвижения стартапа.

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

И здесь я задумался. А может уже живые люди не ведут сайты/блоги/каналы? Может это делают заточенный под это чат боты?

Читать далее
Всего голосов 6: ↑1 и ↓5 -4
Комментарии 4

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Технология софтостроения NexusMind (Или как я строил TELEGRAM бота на python)

Время на прочтение 10 мин
Количество просмотров 329

Данная статья касается вопросов «софтостроения» (термин этот я подсмотрел у своего коллеги и друга Сергея Тарасова). Термин мне нравится. Всегда встаю в тупик по порядку изложения. В первую очередь сказать о техническом задании  (ТЗ) или о теоретических аспектах или продумывании как и что реализовать в программном коде? Ведь очевидно, что  прежде, чем что‑то писать программист должен хотя бы минуту подумать, что он напишет? Есть и другие варианты написания, но мы их касаться не будем и начнем все‑таки с ТЗ.

Вкратце ТЗ звучало так. Написать информационно‑справочную систему поиска и бронирования лекарственных препаратов с использованием телеграмм бота (ТБ) для сети аптек на основе 1С конфигурации.

Задача была написана на 1С и работает (или работала) под телеграмм ботом с именем @lotostatki_bot. Это не предмет статьи, но прототип. Почему 1С? Потому, что 1С это учетная система, а бронирование товара — это документ, который поступает в аптеку и резервирует товар на определенное время. Схема, по которой ведет диалог ТБ @lotostatki_bot следующая...

Как я строил TELEGRAM бота на python
Всего голосов 12: ↑3 и ↓9 -6
Комментарии 0

Аналоговые индикаторы против цифровых. Жертвы маркетинга против ретроградов

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

На просторах сети частенько можно наткнуться на споры про то, что же лучше - стрелочные приборы или цифровые.

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

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 14

Магическое ускорение работы моделей с помощью самогонного аппарата

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

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

Эти вопросы вполне применимы и в области машинного обучения. Для обучения модели диффузии требуется много данных и вычислительной мощности, а затем для создания изображений требуется значительное количество вычислений и серьезное оборудование. Исследователи (у которых обычно нет денег и на доширкак) задали очень хороший вопрос - можно ли достичь тех же результатов с меньшими усилиями?

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Разработка Tizen-приложения для Samsung Smart Signage Platform(SSSP): гайд для js-разработчиков

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 376

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Эмуляция сотового телефона… на сотовом телефоне

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 2.2K


О чём только не пишут на Хабре. Например, о создании J2ME-игры в 2024 году, о написании программ на ассемблере под Nokia 3310. Вдохновлённый этими статьями, я тоже решил создать нечто подобное. Это «нечто» должно удовлетворять следующим критериям:

а) Быть не слишком простым в техническом плане;
б) Быть, вероятно, бесполезным в практической эксплуатации;
в) Иметь ностальгические элементы.

Многие помнят линейку телефонов Siemens 65-75 серии, которые были в ходу около 20 лет назад. Мы попробуем провести необычный эксперимент на их основе, для чего напишем небольшую управляющую библиотеку на C, а также изменим код одной из встроенных в ОС Linux утилит. Подробнее в статье.
Читать дальше →
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 5

Как использовать Fetch API в Node.js, Deno и Bun

Время на прочтение 7 мин
Количество просмотров 572

Получение данных с помощью HTTP-запроса — это фундаментальное действие веб-приложений. Возможно, вы делали такие вызовы в браузере, но Fetch API поддерживается в Node.js, Deno и Bun.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 1

Интеллектуальные СКС в ЦОД

Уровень сложности Сложный
Время на прочтение 10 мин
Количество просмотров 469

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

Читать далее
Рейтинг 0
Комментарии 0