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

Все потоки

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

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

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

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

Большинство конструкций на газоразрядниках, которые мне попадались в категории «для начинающих», использовали давно снятые с производства микросхемы по типу К155ИД1 или SN74141. Также многие встреченные схемы экономили на оных, используя один дешифратор для всех ламп сразу, коммутируя аноды через оптопары.

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

Кто же знал, чем это всё для меня обернётся!

Читать далее

Современный умный птичник: хочу там жить

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

Мы уже побывали в птичнике с автоматизацией в Казахстане. Теперь нас пригласили на еще более современный и интересный объект: исследовательский комплекс по выращиванию птицы.

Здесь пернатые живут как в санатории: с максимально комфортными температурой, освещенностью и влажностью. Все параметры автоматически подстраиваются по технологической карте для оптимального выращивания каждой породы птицы.

В статье расскажем подробности автоматизации. Нам есть, чем вас удивить!

Читать далее

Укрощение SAML 2.0: нюансы работы с протоколом

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

Привет, Хабр! На связи Дмитрий Грудинин. Современные корпоративные веб-приложения и облачные сервисы в обязательном порядке требуют безопасной аутентификации и авторизации пользователей.

Как правило, для этого используются протоколы: SAML 2.0 или OpenID Connect (OIDC) на базе OAuth. Оба решают схожие задачи, связанные с делегированием ответственности за верификацию  пользователя стороннему доверенному провайдеру. При этом оба протокола скрывают за собой обширный арсенал различных вариантов использования, к тому же OIDC постоянно расширяется. 

В данной статье мы рассмотрим сценарий использования протокола SAML так сказать «for dummies». Идея статьи – без излишеств рассказать о том, что на самом деле нужно знать в SAML. И не рассказывать о том, без чего можно прекрасно обойтись.

Читать далее

Как мы превратили iPhone в лабораторный микроскоп с AI и BLE: real-world edge-приложение

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

В этой статье я хочу поделиться опытом разработки iOS-приложения для роботизированного микроскопа с AI-распознаванием клеток крови — как оно устроено, какие задачи пришлось решать, на какие грабли пришлось наткнуться и как iPhone можно использовать в качестве лабораторного инструмента.

Это не очередной todo-лист с авторизацией или приложение для наложения масок на селфи  — в центре внимания: видеопоток с окуляра микроскопа, нейронки, работа с железом, Bluetooth-управление перемещением стекол, и всё это — прямо на iPhone. 

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

Читать далее

Десктопное кросс-платформенное приложение на Wails (Golang + Vue.js). Как мы делали Tuna Desktop

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

Wails - это легковесный фреймворк, предназначенный для создания кросс-платформенных GUI приложений рабочего стола на golang и стандартных веб технологиях (Svelte, React, Preact, Vue, Lit, Vanilla JS). Ближайшие аналоги это естественно Electron (JS), Tauri (Rust), хочется добавить Qt (С++), но это уже другой уровень. Сразу скажу, что Wails не идеален, имеет множество ограничений и в целом не подойдёт для чего-то крупного, Tauri к примеру более зрелый проект, больше функций, быстрее развивается, больше и живее сообщество, но это уже на rust, а это не наш стэк.

Читать далее

Паттерны интеграции API

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

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

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

Читать далее

Читаем под одеялом с фонариком: темная тема и документация в ТМС TestY 2.1

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

Привет, Хабр! Я Александр Зырянов, проектный менеджер TMS с открытым исходным кодом TestY. Сразу о главном: выложили в open source версию TestY 2.1. 

Во-первых, подвезли любимую фичу всех разработчиков — темную тему. Дочитайте до конца, чтобы посмотреть, как выглядит интерфейс различных страниц. Во-вторых, совместно с командой технических писателей YADRO разработали удобную документацию, чтобы погрузиться в работу системы с головой.

Какие еще изменения ждут пользователей в TestY 2.1 — читайте под катом.

Читать далее

Как устроены фотонные компьютеры

Время на прочтение11 мин
Количество просмотров268
Земляне, мы с вами упёрлись в технологии производства транзисторов.

В Токио показали дифракционное литьё — фотонные транзисторы вместо привычных электрических.



На их базе можно собрать полноценную фотонную схему (правда, без памяти). Составляющие такие:
  • Микроволноводы — это тонкие «дорожки» для света, как провода для электричества. Они могут быть сделаны из кремния, нитрида кремния или других материалов с высоким показателем преломления. Свет в них движется за счёт явления полного внутреннего отражения — того же, что позволяет световоду или оптоволокну проводить свет. В целом их мы хорошо знаем по оптоволокну.
  • Делители луча — работают по принципу частичного отражения и преломления, разделяя входящий свет на два или более лучей с заданным соотношением мощности.
  • Модуляторы — это регуляторы для света. Они могут менять амплитуду (яркость), фазу (положение волны), поляризацию (ориентацию колебаний) или частоту (цвет) света. Работают на электрооптических эффектах, когда электрическое поле меняет свойства материала для прохождения света. Фактически это транзисторы. Вся логика на них.
  • Фотодетекторы — полупроводниковые устройства, где фотоны выбивают электроны, создавая электрический ток. Это связка с классическим полупроводниковым миром.

Но пока нет эффективных оптических систем хранения памяти. В фотонике пока нет простого способа «остановить» фотоны и хранить их долгое время. Поэтому современные фотонные системы часто являются гибридными: обработка данных происходит с помощью света, а хранение — с помощью электронных компонентов. Это требует постоянного преобразования сигналов из оптических в электрические и обратно, и это снижает потенциальное преимущество в скорости.

Фотонные схемы архитектурно другие по параллельным вычислениям.
Читать дальше →

ZLinq — Zero-Allocation LINQ-библиотека для.NET

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

В прошлом месяце я зарелизил ZLinq v1 — революционную LINQ-библиотеку, которая достигает zero allocation на структурах и дженериках. Она может похвастаться такими расширениями, как LINQ to Span, LINQ to SIMD, LINQ to Tree (FileSystem, JSON, GameObject и т.д.), drop-in replacement Source Generator для произвольных типов, поддержкой нескольких платформ, включая .NET Standard 2.0, Unity и Godot и на данный момент ZLinq имеет более 2000 звезд на GitHub.

Читать далее

Подкаст «Скрамное IT». Перезагрузка. Гуманизм VS Искусственный интеллект

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

Привет, Хабр! 

Пишет вам Зураб Белый, айтишник, а по совместительству — один из ведущих подкаста «Скрамное ИТ». Вот о нем, родимом, сегодня и пойдет речь. 

Собственно, спешу сообщить: у нашего подкаста новый сезон, новый формат, новое качество. В общем, все новое, только лицо старое (ну, три лица, точнее). Да, мы не сменили состав — Леонид, Савелий и я, ваш покорный слуга — Зураб, все так же в строю. Но все остальное вокруг нас сильно поменялось. Те, кто с нами уже давно, конечно, помнят наши прошлые сезоны: сначала был только звук, потом добавили картинку, и теперь мы перезагрузились полностью. Студия, оборудование, оформление, качество съемки и подхода к подготовке материалов. А главное — контент. 

Но давайте по порядку. Во-первых, мы «переехали». Теперь подкаст снимается в Москве, в профессиональной студии. Так что это не просто смена декораций, это новый уровень картинки и звука. (Приходите посмотреть, чтобы убедиться лично.) 

Говорим мы по-прежнему много и от души, но теперь у нас появились рубрики, и это не для галочки. Как нам кажется, они делают обсуждение более структурированным, динамичным и интересным. В общем, меньше воды, больше сути. Раньше было много импровизации, планы строились «на коленке», а теперь у нас есть сценарий (но и место для спонтанности осталось). Наверное, мы стали немного серьезнее (но это неточно). 

И вот, наш первый выпуск в этом новом формате... Ну, на мой (разумеется, предвзятый) взгляд, он получился отличным, как по форме, так и по содержанию. Наша первая тема — «Гуманизм vs Искусственный Интеллект. Как развивать технологии, чтобы не потерять смысл жизни?». Сильно спойлерить не буду, но вот несколько тезисов, вокруг которых разворачивалось обсуждение. 

Читать далее

Наши ошибки при запуске облака

Время на прочтение6 мин
Количество просмотров330
Мы запускали облако, но сделали много ошибок. Сейчас расскажу про основное.

image
Скриншот с официального сайта, кнопка рабочая

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

Мы давали бесплатные лимиты в облаке, но нам нужно было убедиться, что это не будут абузить. Поэтому мы сделали порог в 1 000 рублей на часть бесплатных ресурсов и порог в 5 000 рублей пополнения счёта — на полную модель.

Вот эти пополнения и вызвали большую часть попоболи.
Читать дальше →

Структурированные логи + локальный стек вызовов: эволюция обработки ошибок в Go

Время на прочтение4 мин
Количество просмотров1.5K


Каждый Go-разработчик знаком с этим паттерном — создание обёрток для ошибок с дублированием метаданных:


func (*SomeObject) SomeMethod(val any) error {
  if err := otherMethod(val); err != nil {
    return fmt.Errorf("otherMethod %w with val %v", err, val)
  }
  return nil
}

Проблемы такого подхода:


  • Дублирование названий методов в сообщениях об ошибках
  • Ручное добавление метаданных (аргументы, переменные) в каждое место
  • Сложность отслеживания места возникновения ошибки при нескольких точках выхода
  • Засорение кода — повторяющийся boilerplate
  • Отсутствие структуры — все метаданные упакованы в одной строке

Что если объединить мощь структурированного логирования (slog) с автоматическим сбором локального стека вызовов. Результат — чистый код и информативные логи.

Читать дальше →

Open source в России: команда Аэродиска делится опытом запуска Open vAIR — первого открытого проекта компании

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

Продолжаю рассказывать об опенсорсе в России — стратегиях и опыте развития российских организаций на базе открытой разработки. На этот раз на связи команда Аэродиска, которая делится историей запуска своего первого открытого проекта.

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

Читать далее

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

Интеграция компонентов OpenStack Glance в существующую инфраструктуру oVirt

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

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

Читать далее

Новые атаки GOFFEE: разбор Kill Chain и анализ вредоносного ПО

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

В прошлом и нынешнем году коллеги из «Лаборатории Касперского» и BI.Zone рассказывали о группировке GOFFEE (Paper Werewolf). В конце мая мы снова фиксируем ее активность, но немного в другом обличии — можно сказать, в новой овечьей шкуре. Я Никита Полосухин, ведущий аналитик центра мониторинга и реагирования на кибератаки RED Security SOC, и я расскажу, как сейчас действует GOFFEE и как обнаружить их присутствие в инфраструктуре.

Читать далее

Что такое PPEM и как он освободит DBA от рутинной работы?

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

Если вы, как DBA устали тратить время на изучение статистики производительности, анализ логов и настройку разрозненных инструментов мониторинга при администрировании большого количества баз данных, то у нас есть решение — PPEM (Postgres Pro Enterprise Manager). Он объединяет возможности визуализации метрик, управления экземплярами и резервным копированием, анализ производительности в единую графическую консоль, позволяя локализовать проблему и быстро принять меры. Расскажем, как мы решали «головные боли» DBA по мониторингу и аналитике БД.

Читать далее

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

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

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

Для удобства все книги распределены по уровням — ориентируйтесь на свой, но не бойтесь пробовать чуть сложнее или проще, если история вас зацепила. А чтобы чтение не превратилось в очередное «надо», я помогу советами, как втянуться, не перегореть и сделать чтение на английском частью жизни. 

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

Читать далее

Мультимодальные LLM: ключик к AGI или зачем бизнесу модели, которые видят, слышат и понимают?

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

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

Привет, Хабр! Это интервью с Александром Капитановым. Саша руководит исследовательскими ML-командами в Сбере. Активный контрибьютор в Open Source. А ещё он член программного комитета AIConf X и Highload от «Онтико».

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

Читать далее

UX-долг — это не про интерфейсы, это про деньги

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

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

Представьте: у вас что-то ноет. Мышца тянет после спорта — само пройдет. Зуб уже третий месяц шепчет: «Отведи меня к стоматологу». В груди где-то тревожный звон, с которым всё нет времени разобраться.

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

UX-долг, о котором дальше пойдет речь, из той же категории. Он может быть мелким и почти незаметным. Может болеть, но терпимо. А может быть критичным — просто ещё не вскрылся до последнего. Проблема не в том, что UX-долг существует. Проблема в том, что его часто не замечают, не фиксируют и не лечат, пока не станет слишком поздно.

Если вам сейчас стало тревожно — так и должно быть. Во‑первых, не откладывайте заботу о здоровье. Во‑вторых, давайте поговорим о том, как сделать так, чтобы UX-долг тоже не становился поводом для беспокойства.

В этом посте я расскажу, как мы в RuStore выстроили процесс, который помогает не просто «признавать боль», а системно с ней работать: выявлять, приоритизировать и закрывать. И почему UX-долг — это про деньги и эффективность, а не просто «чтобы было красиво».

Читать далее

Об опыте перехода с on-premises на облачные Gitlab runners

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

*Все технические решения описаны в обезличенном виде и адаптированы под публичное изложение. Проект находится под НДА, поэтому часть информации и детали реализации были изменены или обобщены.

Изначальный расчет был на то, что данное решение позволит существенно сократить обслуживание «железной» инфраструктуры. А вместе с ним 一 и расходы на IT-отдел в принципе. Дополнительно планировались привести в порядок текущий парк, который в тот момент насчитывал большое количество неуправляемых раннеров. Часть из них была просто забыта и заброшена, другая часть 一 в один прекрасный момент зависла и так и не пришла в себя. И, разумеется, никому не хотелось с этим разбираться, ведь гораздо проще было просто создать новый раннер. 

Все это выливалось в то, что длительность сборок проектов составляла по несколько часов 一 долго, нудно, тяжело и нерационально. 

Итого, наша мотивация для перехода в облако включала в себя:

Читать далее