Обновить

Разработка

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

Тёмная сторона Си: трюки, хаки, магия и алгоритмы

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели16K

Доброго времени суток, господа и дамы! Иногда у некоторых людей возникает желание заняться откровенным непотребством в программировании — то, что не несет практической пользы напрямую, но помогает развлечься. И я — не исключение. В этой статье я хочу рассказать вам о лайфхаках, трюках (магических и не очень), алгоритмах на языке C!

Идея написать эту статью зародилась из моего поста, после него я написал статью «Математика, биты, магия и немного ненормального программирования на C» и «Фокусы, хаки, магия и прочее ненормальное программирование на C», которые раскрывали много интересных моментов. Увидев, что многим понравилась, я задумался: почему бы не изучить еще какие-нибудь трюки, заодно практикуясь в программировании на C?

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

Всех, кто заинтересовался — прошу под кат.

Читать далее

Контроль действий без паранойи: как использовать аудит-логи в Selectel

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

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

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

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

Читать далее

Автоматизировали расчет зарплаты для сети из 40+ кофеен, где много нюансов в работе сотрудников

Время на прочтение4 мин
Охват и читатели6.4K

Сеть кофеен — это текучка, гибкие графики, подмены, совместители и десятки локаций. А если считать зарплату вручную, это еще и боль. Особенно когда всё построено на Excel: где-то не проставили смену, забыли штраф, не учли роль. На связи Анна Астахова, директор по развитию ИТ-интегратора «Белый код». Рассказываю, как мы автоматизировали расчёт зарплаты в сети кофеен, в которой более 150 сотрудников и нестандартизованной системой мотивации.

Читать далее

Свод знаний ITIL для управления ИТ-услугами в ERP-проектах

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.2K

Программное обеспечение прошло долгий путь от набора команд до комплексных софтверных человеко-технических систем. Небольшие программные разработки, призванные решать локальные задачи, постепенно превратились в набор приложений, далее появились программные системы, включающие организационную составляющую, а позже – информационные системы как совокупность человека, техники и программных продуктов. Логическую последовательность завершили корпоративные информационные системы, объединившие в себе множество информационных систем [1].

Корпоративные информационные системы позволяют автоматизировать набор бизнес-процессов. Чем больше процессов, тем представительнее стандарт, цифровизирующий их. Так наиболее известным и востребованным классом систем является ERP [2]. ERP-системы охватывают практические все административно-хозяйственные операции компании и представляют средства для их автоматизации. Помимо ERP доступен широкий набор прочих классов: MRP, TMS, WMS, APS, BI, MES и др. Если раньше идея объединить все стандарты в единый класс казалась обоснованной, то на текущий момент – это утопия, так как слишком стремительно развиваются технологии и появляются новые виды систем.

Потребность в управлении различными классами программных систем, являющихся основой функционирования современного предприятия, становится все более востребованной и незаменимой: достижение стратегических целей компании тесно связано с вопросом цифровизации бизнес-процессов. Среди множества сводов знаний, применимых к информационным системам: PMBoK, BABoK, BPM CBoK, DAMA-DMBoK, EABoK/TOGAF, SWEBoK, ITIL [3-9], последние два являются наиболее релевантными тематике данной статьи. Свод знаний по программной инженерии, SWEBoK, охватывает весь жизненный цикл информационной системы, в то время как лучшие практики по управлению ИТ-услугами, заданные в ITIL, не ограничиваются рассмотрением только софтверных решений, а представляют все многообразие ИТ-продуктов.

Читать далее

Как Rust думает о памяти: &mut, provenance и noalias

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

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

Сегодня с вами посмотрим изнанки модели памяти Rust. Поговорим о том, кто имеет право на доступ к памяти, что такое provenance указателей, почему &mut T считается эксклюзивным и как все это добралось до уровня оптимизатора LLVM через атрибут noalias.

Читать далее

CognitiveDrone: система на VLA с когнитивными способностями для управления летающим роботом в трехмерном пространстве

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.4K

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

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

Я Артем Лыков, ведущий RnD-разработчик в МТС Web Services. Параллельно работе — аспирант в лаборатории интеллектуальной космической робототехники Сколтеха (руководитель Дмитрий Тетерюков), где лидирую направление когнитивной робототехники. Сегодня расскажу, как в рамках научной работы вместе с коллегами по лаборатории мы обучили OpenVLA и создали CognitiveDrone — первую VLA-модель для летающих роботов. А также объясню, зачем мы внедрили модуль VLM и за счет чего он помог повысить качество решения когнитивных задач на 17,6%.

Читать далее

Как получить лицензии ФСТЭК России и не получить травму: опыт Angie Software

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели11K

Всем привет!

В сентябре 2025 года мы в Angie Software получили долгожданные лицензии ФСТЭК, которые позволят нам заняться сертификацией продуктов. К этой точке в пространстве и времени мы шли почти год, хотя изначально казалось, что сама по себе процедура представляет довольно простой алгоритм. И не должна отнимать столько времени.

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

Читать далее

Очереди на PostgreSQL: антипаттерн или реальность жизни

Время на прочтение15 мин
Охват и читатели19K

Привет! Меня зовут Дима Кривопальцев, я тимлид бэкенд‑команды Яндекс Диска (Яндекс 360). Уже больше семи лет я занимаюсь разработкой высоконагруженных распределённых систем — и в статье расскажу об одной из них.

В Яндекс 360 есть сервисы с очень большими нагрузками — и по RPS, и по объёму хранимых данных, и по числу обрабатываемых асинхронных задач. Именно последняя часть — асинхронная обработка — будет в центре этого рассказа.

Тема может показаться немного провокационной: речь пойдёт об очередях поверх SQL‑баз, а в сообществе такое решение принято считать антипаттерном — и на это есть основания. На конференциях и в статьях обычно можно услышать скепсис: «Очередь на PostgreSQL? Не стоит даже пытаться». Действительно, подобных попыток было много, и почти все сталкивались с типовыми проблемами — от блокировок до деградации производительности.

Тем не менее, в реальности у многих крупных компаний всё равно есть свои очереди, построенные поверх SQL‑баз — как PostgreSQL, так и MySQL. Это решение встречается и в российских, и в зарубежных командах. Яндекс Диск здесь не исключение — у нас тоже есть своя реализация, о которой сегодня и пойдёт речь.

Читать далее

Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений

Время на прочтение7 мин
Охват и читатели6K

Привет, Хабр! Меня зовут Максим Сазонов, я android-разработчик в ПСБ. 

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

И главная проблема, которую надо решить при создании этого компонента  это центрирование title и subtitle. Эта проблема возникает потому что у нас может быть тулбар с разным количеством иконок по обе стороны от заголовка, текстом и иконками или только с title. И если ширина иконок у нас стандартна (44 dp), и достаточно просто умножить эту ширину на количество иконок справа, чтобы понять свободное пространство для title и subtitle, то с текстом с одной или с двух сторон всё намного сложнее, так как мы не можем заранее вычислить ширину этого текста, а значит не можем правильно центрировать и задать ширину title и subtitle.

В статье я расскажу, как я решил этот вопрос.

Читать далее

Грааль, Екклесиаст и навязчивый мотив

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.5K

Краткая история о техническом эксперименте. Автор проанализировал многолетнюю историю высоколиквидных активов, чтобы найти «гарантированные» ранги наклона, которые всегда дают выигрыш. Робот был идеален, но столкнулся с фундаментальным препятствием. О том, как эмпирическое фиаско приводит к формулировке метафизического принципа, который опровергает Эйнштейна и Екклесиаста.

Далее

Хотите, чтобы ваш текст выглядел живым? Перестаньте делать эти 5 вещей, которые выдают ChatGPT

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.7K

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

Особенно если текст содержит несколько «человеческих» уловок, состряпанных чат-ботом.

Послушайте. Я приложил руку к созданию этого монстра Франкенштейна из машинных шаблонов более 15 лет назад, когда стал соавтором платформы, которая писала всё: от миллионов забавных обзоров фэнтези-футбола для Yahoo! каждую неделю до тысяч сверхсерьёзных финансовых статей для Associated Press каждый квартал.

Я занимаюсь этим так давно, что просто не могу этого не видеть.

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

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

Читать далее

Как новичку найти работу в информационной безопасности

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.9K

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

В Яндекс Практикуме прошёл вебинар «Как новичку найти работу в информационной безопасности» — эксперт в сфере Андрей Шамарин рассказал, чем занимаются специалисты в этой области, как найти в ней своё направление и начать карьеру. Делимся самым важным.

Читать далее

Раз-два-три tmux: запускаем несколько окон одним скриптом

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

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

Бывало, открываешь десяток терминалов, чтобы мониторить систему: в одном htop, в другом делаешь tail логов, в третьем запускаешь отладку. Через пару минут такой работы голова идет кругом от мельтешащих окон. Для того, чтобы как-то разобраться с этим, помогут терминальные мультиплексоры, старый добрый GNU Screen и его более крутой товарищ tmux.

Читать далее

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

За секунду до открытия двери: что на самом деле происходит между вашей картой и считывателем?

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели8.5K

Вы подносите карту к считывателю — дверь открывается.

Классический черный ящик технологий в привычном бытовом действии. На самом деле за этим действием скрывается множество процессов: от формирования электромагнитных полей, модуляции сигналов до применения криптографических протоколов.

Как это работает? Как пассивная карта без батарейки получает энергию? Как она передаёт данные?

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

Читать далее

Оценка сложности модели — Часть 1: Почему проще обычно лучше

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели4.5K

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

Современные движки рабочих процессов (например, Flowable) легко переваривают даже очень сложные модели, но это не значит, что нужно пользоваться этой возможностью на полную. Упрощение дает ощутимые плюсы: модели становятся более читаемыми, требуют меньше усилий на сопровождение и лучше подходят для совместной работы. В итоге простая модель — это ценный актив для любой компании.

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

Читать далее

Внедряем Gemini во все поля ввода Windows: Бесплатно, без смс и с обходом ограничений

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели19K

Полгода назад 1500 бесплатных запросов в Gemini казались вечностью. Сегодня Google закрутил гайки, и лимиты улетают за час

Я доработал свою Open Source утилиту на Python. В этой статье расскажу, как реализовать систему ротации API-ключей, чтобы получить «бесконечный» доступ к нейронке, как переключаться между моделями Gemini и Gemma на лету и внедрить AI-помощника прямо в буфер обмена Windows. Исходники и готовый билд — внутри.

Посмотреть код

Супероружие, которое взорвет интернет: что такое ботнет AISURU и почему он меняет правила игры в кибератаках

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели29K

18 ноября 2025 года, на следующий день после того как Microsoft отразили атаку ботнета AISURU в 15 Tbps, по всему миру на несколько часов фактически перестал работать провайдер Cloudflare. За два месяца до этого Cloudflare отчитался об успешном отражении атаки того же AISURU в 22 Tbps (мировой рекорд, который, видимо, этот ботнет решил обновлять каждый месяц). Хотя два инцидента оказались в итоге не связаны, учитывая фантастические темпы роста AISURU, время задуматься — как скоро придет момент, когда мощь этого ботнета превысит все защитные ресурсы провайдеров мирового уровня?

Читать далее

Автоматизация лабораторных процессов: почему внедрение ЛИМС превращается в проблему еще на старте

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.5K

В эпоху цифровой трансформации лаборатории сталкиваются с парадоксальной ситуацией: несмотря на обилие готовых решений для автоматизации, внедрение ЛИМС остается недосягаемой мечтой. Причина кроется не в технологических ограничениях, а в уникальной специфике лабораторной деятельности, регламентированной стандартом ГОСТ ISO/IEC 17025-2019. Этот документ, насчитывающий 216 прямых требований вида «лаборатория должна», требует систему взаимосвязанных процессов, каждое изменение в которой влияет на десятки других компонентов системы. Необходимость следования всем требованиям стандарта заложена в критериях аккредитации, игнорировать эти требования нельзя. Ожидаемый результат внедрения ЛИМС - автоматизация через цифровизацию, которая должна быть не просто инструментом, а живым отражением всей системы менеджмента качества.

Читать далее

Funxy — гибридный язык программирования со статической типизацией

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

Funxy — гибридный язык программирования со статической типизацией, pattern matching и удобной работой с бинарными данными.

Для чего подходит

Скрипты и автоматизация. Один бинарник без зависимостей — скачал и работает. Встроенная работа с файлами, JSON, HTTP, SQL.

Небольшие приложения. CLI-утилиты, API-сервисы, обработка данных.

Работа с бинарными данными. Парсинг на уровне отдельных битов. Сетевые протоколы, форматы файлов, нестандартные структуры.

Обучение программированию. Простой синтаксис, но с важными концепциями: типы, pattern matching, иммутабельные структуры данных, рекурсия с TCO (можно писать рекурсивный код без страха переполнения стека).

Читать далее

Как же лень работать рутинку в AD

Время на прочтение2 мин
Охват и читатели11K

Не так давно я поймал себя на мысли, что работа в Altium Designer перестала "доставлять".

Толи это произошло после ролика, где нейросетью сгенерировали некую плату и "скоро так будет со всеми" толи очередной кризис на фоне... Возраст вроде рановато, еще год запаса...
Короче раз уж первые 40 лет детства самые сложные в жизни мужчины то наверно спишу на ребячество и инфантилизм.

Итак! подоплека простая. Мне лень склеивать локальные библиотеки! На этот факт повлияла работа в АО Лазерные системы с уважаемыми людьми, которые внедрили Союз PLM от КБ 2.0 (если все верно помню) и за год плодотворной отладки системы... я убедил себя в том, что работать нужно не 12 часов, а головой!

Внезапное, однако, озарение. И так уж сложилось, что моя супруга пожелала съехать из квартиры в Санкт-Петербурге в другую. В квартиру в Москве! И вот мы уже в Златоглавой и белокаменной, кайфуем и переезжаем с района в район чтобы прочувствовать WIBES и подобрать себе по душе местечко. Работу нашел как раз для души в RQC в хорошей компании, занимающейся лидарами как и ЛС (Laser systems).

Нука-нука, что там у тебя...