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

Разработка

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

Как мы с Jasmin SMS Gateway боролись (и победили)

Время на прочтение 5 мин
Количество просмотров 7
Блог компании Uzum DevOps *API *Управление проектами *Open source *

Привет! Я — Дарья, руководитель проектов в Uzum Data. В этой статье поделюсь с вами опытом работы с OpenSource SMS-шлюзом Jasmin: какие у нас были требования, с какими препятствиями столкнулись, как выбирались из трудностей.

C чего всё началось 
Нам нужно было подключить новый канал смс-рассылки, т.к. по старым каналам мы начали упираться в лимиты. Новый канал представляет собой коммуникацию с использованием A2P каналов, то есть коммуникации от бизнеса пользователям. A2P используется как в маркетинге, так и в сервисах: для подтверждения покупки, авторизации, напоминаний, рассылок и т.д.

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

Новости

Разворачиваем Kubernetes-кластер на bare metal под управлением Deckhouse и создаем в нем виртуальные машины

Уровень сложности Сложный
Время на прочтение 14 мин
Количество просмотров 206
Блог компании Флант Системное администрирование *Виртуализация *DevOps *Kubernetes *
Туториал

В новом релизе Kubernetes-платформы Deckhouse v1.43 появилась система виртуализации, основанная на современных технологиях: KubeVirt, Cilium, LINSTOR. Она позволяет в удобном и привычном для пользователя платформы режиме запускать виртуальные машины и управлять их жизненным циклом.

В статье мы рассмотрим это на практике: развернем Deckhouse на bare metal-сервере, запустим в нем виртуальную машину и протестируем, как обеспечивается связь между компонентами кластера с помощью магии Cilium.

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

Когда НЕ нужно использовать Apache Kafka?

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 593
Блог компании CloudMTS Apache *IT-инфраструктура *Высокая производительность *Системное администрирование *
Обзор
Перевод
image

Apache Kafka де-факто превратился в стандарт потоковой передачи событий для обработки данных на лету. По мере его широкого распространения в отрасли появляются вопросы: «А когда НЕ нужно использовать Apache Kafka? Какие ограничения у этой платформы? В каких ситуациях он не предлагает необходимые возможности? Как понять, что Kafka — неподходящий инструмент для какой-то задачи?»


В статье, перевод которой мы подготовили, автор Kai Waehner постарается ответить на эти вопросы. В отдельных главах приводится объяснение, когда стоит использовать Kafka, когда — нет, а когда — возможно.

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

Yet another введение в fp-ts. Часть 1. Эквивалентность и сравнимость

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 172
Блог компании Домклик TypeScript *

Что такое монада? Душнила ответит: “Это моноид в категории эндофункторов”, и будет абсолютно прав. Вопросов появляется ещё больше: “Что такое моноид?”, “Что такое категория?”, “Что такое эндофунктор?”. В эту же секунду человека сковывает первородный ужас, сошедший со страниц рассказов Г. Ф. Лавкрафта, инстинкт самосохранения кричит: “Беги!” Интересный собеседник, обладающий эмпатией, приобнимет и скажет: “Бро, это же просто контейнер для какого-то значения, способный соединяться в цепочки таких же контейнеров. Ты же пишешь фронтенд? Или бэк на ноде? В холодильнике пиво, угощайся, а я тебе расскажу про библиотеку fp-ts и разные клёвые штуки из функционального программирования.

Для js-а существуют тонны библиотек, поддерживающих функциональный стиль программирования. Lodash, Ramda, Sanctuary — это то что сразу приходит в голову. В эпоху Typescript писать без типобезопасности уже моветон. Ни Lodash, ни Ramda типобезопасность не обещают, Sanctuary проверяет типы в рантайме, что требует дополнительных накладных расходов. Fp-ts изначально написан на typescript и помимо фич функционального программирования предлагает изящную проверку типов. Эта интересная библиотека реализует множество концепций из статически типизированных функциональных языков семейства ML, таких так Haskell, Ocaml и Scala. В fp-ts всё прекрасно, кроме документации и практических примеров использования. Моя задача как раз подсветить эти тёмные углы, а также показать несколько практических примеров.

В статье я не буду обсуждать базовые концепции ФП, такие как чистые функции, лямбды, композиция и прочее. Про это написано много статей и ютуб завален тоннами видеороликов от индиан гаев. Здесь я постараюсь простыми словами на практических примерах объяснить классы типов, какие они бывают и как их использовать в fp-ts.

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

Истории

Как быстрее узнать, что сервису плохо, или realtime-детекция разладок с помощью CatBoost

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 220
Блог компании Яндекс Высокая производительность *Анализ и проектирование систем *Алгоритмы *Машинное обучение *
Кейс

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

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

Меня зовут Владимир Точилин, я работаю в группе развития рекламных продуктов и стабильности. Вместе со своим коллегой, Александром Самусенко, я расскажу, как мы создали новый инструмент realtime-детекции разладок в проде рекламных технологий. Мы работаем с системой, где на отдельные кластеры нагрузка превышает 1000000 RPS. 

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

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

Запускаем файрвол и VPN в браузере Brave

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 335
Блог компании Brave Браузеры
Обзор
Перевод

Фаервол и VPN от Brave на основе Guardian теперь доступны на десктопной версии браузера, начиная с версии 1.49. Вместе с уже доступными VPN для Андроида и iOS мы предлагаем нашим пользователям полностью кросс-платформенную защиту.

Наш десктопный VPN также работает между несколькими устройствами сразу: пользователи могут подключать пять устройств на любой платформе к одной подписке VPN.

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

«Прокачиваем» кнопочный Android смартфон за 13$. Как довести до ума телефон без официальной поддержки?

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 2.2K
Блог компании Timeweb Cloud *nix *Настройка Linux *Разработка под Android *Смартфоны
Туториал
image

Не всегда производители различной техники выпускают действительно удобные и юзабельные гаджеты на рынок. Иногда на полки магазинов попадают довольно сырые устройства, а в случае бюджетных моделей — про них забывают сразу после выхода с конвейера. Другое дело, когда девайс оказывается непаханым полем в плане моддинга и всем свои видом намекает «давай, начни во мне копаться!», как и сегодняшний герой — Android-кнопочник Nobby 230! Сегодня мы с вами: напишем свой лаунчер, переработав UI телефона, портируем кастомное рекавери, добавим поддержку ROOT-доступа, вычистим хлам от производителя, предустановим необходимые приложения и оформим это всё в виде готового образа, который сможет поставить себе каждый владелец подобного телефона! Интересно?
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 8

Использование лямбда выражений для чистоты кода

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 869
Программирование *Java *Совершенный код *Проектирование и рефакторинг *
Туториал
Перевод

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

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

Эффектно и эффективно. 6 инструментов для анимации в React Native

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 210
Блог компании СберМаркет JavaScript *
Обзор

Всем привет! Меня зовут Евгений Прокопьев, я мобильный разработчик в СберМаркете. Более пяти лет я работаю с React Native и моя любовь — это красивые анимации. В этой статье я хочу рассказать, с помощью каких инструментов можно добиваться качественных анимаций на React Native. Начну с Animated и Reanimated, посмотрим, как они работают внутри. Затем расскажу, что можно делать с библиотеками SVG, Lotte, OpenGL и Skia. Поехали!

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

Open-source библиотеки от команд ИТМО: оптимизация графовых структур, генеративный дизайн, оптимизация гиперпараметров

Время на прочтение 7 мин
Количество просмотров 385
Блог компании ИТМО Open source *Программирование *Машинное обучение *Искусственный интеллект

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

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

Все эти проекты написаны на Python с использованием стандартного стека технологий для задач обработки данных и графов: numpy, scipy, networkx. Их можно найти на GitHub и даже поучаствовать в дальнейшем развитии.

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

Мы добавили markdown-режим в новый редактор

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 870
Блог компании Хабр Разработка веб-сайтов *Habr Контент-маркетинг *
Обзор

Вы просили — мы сделали.

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

Принципы построения многомодульного Android-приложения и их применение в СберЗдоровье

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 282
Блог компании СберЗдоровье Разработка под Android *

Всем привет! Меня зовут Александр Ровнов. Я Android разработчик в СберЗдоровье.

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

В этом материале я расскажу о принципах построения многомодульного приложения, как мы применяем их при разработке мобильного приложения СберЗдоровье под Android и что это нам даёт.

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

Приступим.

Чистая архитектура и ее цель.

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

Школа Программистов-2022: вступительные испытания и разбор задач

Время на прочтение 7 мин
Количество просмотров 488
Блог компании HeadHunter Программирование *

Уже 11 лет мы в hh.ru проводим бесплатную Школу Программистов, и этот год не стал исключением. В статье расскажем про нюансы в организации вступительных испытаний, разберемся, как они проходят и поделимся решениями задач этого года. Поехали!

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

Волновая интуиция

Время на прочтение 35 мин
Количество просмотров 1.3K
Математика *Физика
Каждый день каждый человек своими глазами видит как всё вокруг происходит. От этого выработалась не только знание как всё будет дальше, но и её подтверждённая часть — интуиция. Но у такой интуиции, которая по происхождению основана на прошлом есть один явный недостаток — она основана именно на прошлом опыте, к новым открытиям она не готова. Это явно выражается, например, в том с каким отношением к квантовой механике рассказывали те кто её открывал. «Мы творим лютую дичь» — говорили они. А что такого в том чтобы так говорить? Несоответствие интуиции есть, и никто пока до конца не разобрался. Студенты: «Так и запишем, «Мы творим лютую дичь. И разбираться не нужно»» (фейспалм). И до сих пор иногда это проскакивает в виде слова «заткнись» в описаниях — во вполне академических. И исчезать не торопится. Что ж, не все прежде чем делать открытия учились тому как надо делать открытия. Но если придумать новую интуицию, всё было бы гораздо, гораздо симпатичней.



«Чёткость» и «Плавность» — два раздела статьи.

Чёткость


Начну с абстрактной задачи.

Представьте, что сотрудников вашего института вывели на улицу и построили в линейку. И раздали всем наборы конфет. Скажем, в наборе круглое число, 1024 конфеты, делить пополам можно аж десять раз. Но количество наборов меньше, чем количество человек и поэтому наборы достались не всем. Количество конфет очень важно на поляне чаепития, поэтому вы даёте команду: каждому, половину того что есть — отдать соседу слева. Распределение немного размылось.

И вот такой интересный вопрос: можно ли сформировать такую следующую команду по раздаче, чтобы обратить предыдущую команду, то есть, чтобы наоборот, собрать? Можно ли достичь чёткости через «размытие»? Оказывается, можно. Только, придется величину раздачи допустить отрицательной и оперировать на любом расстоянии, а не только обмениваться с соседями.
Читать дальше →
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 10

131 вопрос с собеседований про SQL

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 1.4K
SQL *Big Data *Учебный процесс в IT Data Engineering *

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

Пройти собеседование
Всего голосов 9: ↑3 и ↓6 -3
Комментарии 9

Часть 11. Дневник разработки настольный игры по мотивам танчиков для Dendy. Про архив рабочих прототипов

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 494
Разработка игр *Графический дизайн *Дизайн игр *Продвижение игр *

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

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

Что такое рабочий прототип настольной игры? Собственно, это компоненты игры, как правила изготовленные вручную для того чтобы можно было сыграть в игру и понять игровую механику и как пользоваться всеми ее компонентами с точки зрения эргономики. Также рабочий прототип дает возможность понять как будут выглядеть компоненты игры при печати, особенно если прототип сделан не по классике на черно‑белом лазерном принтере, а с полноценной цветной печатью.

Мы уже писали о том, как менялся пиксельный стиль игры. От почти примитивного 8-битного, до финального, который условно можно назвать 16- битным.

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

Полезные, смешные, нелепые: репозитории GitHub, которые вас удивят

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 9.6K
Блог компании Ispmanager Ненормальное программирование *Программирование *GitHub *
Обзор
Перевод

На GitHub есть немало репозиториев, в которых будет интересно поковыряться даже не профессионалу. Сегодня мы подготовили для вас небольшую статью-компиляцию сразу из двух источников (раз и два), отобрали самое интересное.

Пустой «дзен-репозиторий», хранилище самых глупых требований к паролю и скриптовый язык на основе Python в стиле Дональда Трампа (а также многие другие интересные и даже полезные штуки) ждут вас под катом.

Читать далее
Всего голосов 30: ↑27 и ↓3 +24
Комментарии 9

Как 10 лет разрабатывать электронику по контракту и не загнуться

Уровень сложности Простой
Время на прочтение 13 мин
Количество просмотров 6.2K
Бизнес-модели *Производство и разработка электроники *
Ретроспектива

Привет, меня зовут Иван Ларионов. В 2011 году мы вместе с братом основали компанию «Третий пин». Я хочу поделиться своей историей эволюции из инженера-фрилансера в руководителя компании, занимающейся контрактной разработкой электроники. Как и почему удалось не обанкротиться, не закрыться и не выгореть, а нарастить мощности и сохранить кураж.

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

Как подружить Алису с ChatGPT

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 12K
Python *
Из песочницы

О ChatGPT сейчас не говорит только ленивый. Давайте попробуем соединить голосовой помощник Алиса и ChatGPT. Таким образом мы сможем взаимодействовать с ChatGPT с помощью голоса. А он с помощью голоса может нам отвечать. Конечно тут будут ограничения о которых я подробно опишу далее. Данная статья не столько о ChatGPT а о том как писать навыки для Алисы.

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

SuperIndustry — Dev log #2 – Добро пожаловать в темный лес

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 420
C++ *Разработка игр *Unreal Engine *

Вступление

Привет, друзья! В этом цикле статей я максимально подробно буду рассказывать о процессе разработки игры на UE – SuperIndustry. Вы сможете на моем примере познать процесс разработки 3D игры на UE. Вкратце про игру: Представьте гибрид Oxygen not included и Satisfactory, в далеком будущем и на специфичной экзо планете. В игре будет простенький сюжет, который будет повествоваться через своеобразный дневник. Главная цель – улететь с планеты (остановиться на достигнутом) или же продолжить общение с высшим Существом и узнать, что будет дальше.

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