Социальные сети Рунета
Суббота, 11 мая 2024

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

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

Поговорим об оптимизирующих компиляторах. Сказ восьмой: размотка циклов Есть оптимизации, польза от которых очевидна всегда или почти всегда. Например, не делать лишнюю проверку лучше, чем делать. Не считать два раза одно и то же обычно лучше, чем считать (если только мы не упёрлись в нехватку регистров или имеем другие подобные проблемы на нижн...

Безопасный интернет через Termit: 11 шагов для развертывания СТД Привет, Хабр! Сегодня мы подробнее поговорим про Termit 2.1 —  систему терминального доступа. Она предназначена для организации удаленного доступа конечных пользователей к приложениям, опубликованным на терминальных серверах. В этой статье я расскажу о том, как мы делал...

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

Безопасный Continuous Deployment БД по принципам DB-First В статье рассматривается Continuous Deployment для БД с бесшовными релизами за счёт обратно-совместимых обновлений и автоматизации проверок совместимости с помощью подхода DB-First. Читать далее

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

Актуальные методы проверки работоспособности больших и высоконагруженных сетей. Протоколы мониторинга Привет, Хабр!В данной статье мы рассмотрим актуальные методы проверки работоспособности сетевого оборудования. Конкретно в этой статье мы поговорим про протоколы мониторинга. Статья является переваренным опытом компании Netopia, которая занимается разработкой программного о...

Как проверить локаторы с помощью Playwright В этой статье мы поговорим о том, что можно проверить у локатора (элемента) и какие вообще есть возможности проверок. Более того, в этой статье я описал упражнения, которые вы можете выполнить и отработать в качестве практики. Обычно мои статьи были холиварными, а не техниче...

Android Lint: оптимизируем проверку мердж-реквестов Привет, это Android-разработчик из «МТС Диджитал» Никита Пятаков. Когда я только начал работать над приложением «Мой МТС», мне нужно было время, чтобы адаптироваться и ознакомиться с проектом. На первых МР-ах коллеги подсвечивали готовые решения, которые можно переиспол...

Современная безопасность контейнерных приложений Чем раньше команда задумается о проблеме безопасности, тем лучше. В этой статье обсудим, какие проблемы ИБ есть в стандартном контейнерном приложении, поговорим о безопасности использования Docker, Kubernetes и Terraform и разберём, как можно встроить проверки в стандартный ...

Сказ о том, как я эмулятор Intel 4004 на Python писал Рассказываю о том, как я решил написать эмулятор дедушки современных микропроцессоров - Intel 4004 с очень ограниченным функционалом на языке Python.. Читать далее

Protestware: найти и обезвредить Protestware: найти и обезвредить Привет, Хабр! Меня зовут Владимир Исабеков, я работаю в Swordfish Security, где занимаюсь динамическим анализом приложений. Сегодня мы поговорим о таком явлении, как Protestware, когда вредоносный код встраивается в открытые программные компо...

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок Всем привет! Я Виктор Брыксин, руковожу разработкой Яндекс Телемоста. В статье поговорим про декомпозицию задач в проекте и как можно получить реальные сроки его выполнения.Спойлер: вы все равно ошибетесь, прогнозируя сроки. Но что можно сделать? Минимизировать шанс на ошибк...

Machine Learning инженер: что/где/как изучать, чтобы въехать Привет, хаброчеловек!В этой статье мы обсудим путь среднестатистического обывателя в Machine Learning, а именно — как стать ML-инженером. Поговорим о специфике области, какие требуются знания и скиллы, что нужно делать и с чего начать. Читать далее

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

Как я заработал 500 000 рублей, сделав доступ к ChatGPT. А потом Яндекс убил SEO и всё (почти) закончилось Статья о том, как я почти проспал "бум" ChatGPT, но сделал к нему доступ и заработал на этом (и продолжаю зарабатывать). Сам проект сейчас идёт на спад, но об этом в конце. Читать далее

Подбор гиперпараметров RAG-системы с помощью Optuna Сказ о том, как с помощью Opuna’ы сделать вашу RAG-систему чуточку (а может и не чуточку) эффективнее :) Читать далее

Что общего между раком крови, лазерами и нейронными сетями? Доброго времени суток, дорогой Habr, надеюсь вы успели заскучать после 3-х месяцев паузы (ссылка на прошлую статью). На связи снова Николай Иванов и сегодня вы узнаете, что общего между раком крови, лазерами и машинным обучением.  В этой статье мы поговорим с вами о мет...

[Перевод] Погружение в компиляторы Kotlin Привет, меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS.Не за горами выпуск новой версии Kotlin 2.0, основной частью которого является изменение компилятора на K2. По замерам JB, K2 ускоряет компиляцию на 94%. Также он позволит ускорить разработку новы...

Дескрипторы в Python Привет, Хабр!Дескриптор — это объектовый атрибут с поведением, определяемым методами в его классе. Если просто — это способ, с помощью которого объект может контролировать доступ к его атрибутам, используя специально определенные методы __get__, __set__, и __delete__. Если г...

Подбираем параметры сессии в Apache Spark, чтобы не стоять в очереди Бывало у вас так, что некоторые аналитики запрашивают побольше вычислительных ядер и оперативной памяти для своих Jupyter-ноутбуков, а у вас в это время ничего не работает? У меня бывало, ведь недостаточно уметь разрабатывать код на Spark — еще нужно уметь его настраива...

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

Квест по синхронизации аналитического и оперативного хранилищ в реальном времени без потерь на сотнях терабайт данных Я работаю в компании STM Labs, где мы строим большие высоконагруженные системы класса Big Data. Эта статья написана по мотивам моего выступления на конференции Saint Highload 2023. Хочу рассказать вам увлекательную историю про то, как мы искали лучшее решение по синхронизаци...

[Перевод] Оптимизируя неоптимизируемое: ускорение компиляции C++ В этой статье речь пойдёт о повышении скорости компиляции библиотеки {fmt} до уровня библиотеки ввода-вывода Cи stdio. Дня начала немного теории. {fmt} – это популярная открытая библиотека С++, представляющая более эффективную альтернативу С++ библиотеке iostreams и библио...

Детекция объектов. YOLO. Часть 2 Кто такой YOLO?

Huawei снова пытается всех обмануть: компания ... С 2019 года Huawei находится под санкциями США, что затрудняет доступ ко многим современным технологиям, но недавно компанию заподозрили в обходе санкций через Тайваня.

Компилятор за выходные: таблицы символов Как водится воскресным вечером, снова я с моим компилятором. На этот раз я расскажу, как работают области видимости переменных и как перегружать функции. Это позволит нам скомпилировать демку про́клятого огня, а также я накидал фантазию на тему игрушки арканоид (скриншот на ...

Есть ли Undefined Behavior в Rust? Если вы никогда не сталкивались с Rust-ом, а слышали, что он помогает избежать Undefined Behavior (UB), то отчасти это так. Некоторые делят язык Rust на 2 части: safe и unsafe. Я бы поделил на 4 части: safe, unsafe, const и async. Но нас интересуют safe и unsafe. Получить UB...

GitHub Copilot в JetBrains IDEs в РФ В 2022 году в публичный доступ вышел GitHub Copilot – довольно удобный современный инструмент для разработчиков. В этой короткой статье поделюсь своим опытом взаимодействия с GitHub Copilot, а главное тем, как его использовать в IDE от JetBrains. Приятного чтения! Читать дал...

От ручной сборки приложений к конвейеру: опыт бэк-офиса «Магнита» Как мы ежа и ужа собирали. Сказ об автосборке разномастных технологий под одну крышу. Если серьёзно: у нас было много разнообразной ручной работы на пути от разработчика до релиза приложения для сети магазинов. Мы научились хранить наши приложения в git и собирать их «одним ...

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

И снова про SIEM Решение класса SIEM уже давно стали неотъемлемой частью любой серьезной системы информационной безопасности. В этой статье мы поговорим о том, что такое SIEM, для чего они предназначены и как можно использовать решения с открытым исходным кодом.Итак, SIEM (Security informati...

Bosch и Microsoft хотят сделать автомобили безопаснее с помощью ИИ Bosch получает доступ к технологии OpenAI. Вместе с Microsoft компания планирует сделать авто более безопасными с помощью искусственного интеллекта (ИИ).

Безопасный Zookeeper: SASL with Digest-MD5 Привет! Столкнулся с тем, что быстро не нашел простой инструкции, как с использованием SSL и SASL настроить безопасный кластер из нескольких Linux узлов Zookeeper, и решил это исправить. В этой статье поговорим о том, как: - Настроить Zookeeper в кластере из трех узлов без ш...

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

[Перевод] Hono vs. H3 vs. HatTip vs. Elysia — современные замены Express для сервера (или без сервера) H3 отмечает, что Express.js - старый и малоразвивающийся фреймворк, являющийся не оптимальным выбором для новых проектов из-за потенциальных проблем безопасности и утечек памяти, что, к слову, касается и Koa.В нашей статье мы сделаем акцент на фреймворках, поддерживающих зап...

KMP перешёл в stable. Что это значит? 1 ноября состоялся релиза Kotlin 1.9.20, beta компилятора k2. Но для нас интереснее глобальное изменение статуса KMP. Мы используем эту технологию в мобильной разработке и написали про неё несколько статей.В статье подробнее рассмотрим, что изменилось в технологии с пер...

В поисках сокровищ: SnowRunner Уже больше полугода я не писал статьи про современные игры, от чего рубрика «В поисках сокровищ», посвященная отличным, но не столь хайповым проектам (вроде Call of Duty или Fortnite), фактически заброшена. Однако около месяца назад открыл для себя SnowRunner, который стал д...

Одноразовые пароли для доступа по ssh через HashiCorp Vault HashiCorp Vault имеет в своём арсенале SSH secrets engine, который позволяет организовать защищённый доступ к вашим машинам по ssh, через создание клиентских сертификатов и одноразовых паролей. Про последнее – создание одноразовых паролей (OTP) – мы и поговорим в этой статье...

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

[Перевод] Как я снизил время инкрементных сборок Rust на 40% Я форкнул и модифицировал компилятор Rust rustc. Одна фича — кэширование расширения процедурных макросов — привела к снижению времени инкрементных сборок на 11-40% в различных реальных крейтах. Благодаря этому ускорились dev-сборки и меньше стал тормозить rust-analyzer (IDE ...

NumPy: шпаргалка для начинающих What's up guys!В этой статье мы поговорим про NumPy. Это статья-шпаргалка для начинающих пользователей NumPy, надеюсь она будет вам полезна. Читать далее

Путь развития (Roadmap) Frontend разработчика В этой статье вы узнаете про то как я вижу современную и актуальную карту развития frontend разработчика, я расскажу про основные технологии которые необходимы для старта, и как сделать свои первые шаги в frontend разработке. Читать далее

Мифы и реалии «Мультимастера» в архитектуре СУБД PostgreSQL. Часть. 2 Привет, Хабр! Это снова мы — Павел Конотопов и Михаил Жилин, сотрудники компании Postgres Professional. Напомню, что Павел занимается архитектурой построения отказоустойчивых кластеров, а я анализом производительности СУБД. У каждого из нас за плечами более десяти лет опыта ...

[Перевод] Дорогая, я уменьшил пакет npm При разработке программного обеспечения исходный код почти всегда поставляется в виде файлов .tar.gz или .tgz. Но gzip начинает устаревать, уступая место более новым, более современным алгоритмам сжатия, таким как Brotli и ZStandard. Теперь представьте себе мир, в котором np...

CSS и безопасность данных Различные компоненты фронтенда традиционно являются вотчиной веб разработчиков и дизайнеров и они не всегда задумываются о безопасности контента. В этой статье я предлагаю поговорить о безопасности CSS.Для начала вспомним, что такое кросссайтскриптинг (CSS).  XSS это ти...

Сказ о том, как я собеседования проводила. Часть 2 Привет! На связи Катя из мобильной разработки. Я выпускаю вторую часть статьи про собеседования в Альфе. С первой частью можно ознакомиться здесь. Процесс отбора сотрудников проходит годы становления, как было и у нас. Требования далеко не жёсткие — они меняются, как и сфера...

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного при...

Как провести фаззинг REST API с помощью RESTler Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. Современная разработка программного обеспечения требует не только функционального, но и безопасного API. Сегодня мы расскажем, как провести фаз...

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

Проблемы современного программного обеспечения — невозможность отключения «ненужного функционала» Никогда не задумывались почему тормозит компьютер? Дело ли в «плохой оптимизации» современного софта? Ведь Когда Photoshop отъедает 8 гигабайт только при запуске, Google Chrome создает свыше 10 процессов, а Telegram пытается превратиться в Instagram, невольно начинаешь задум...

Применяем стандартные алгоритмы в C++. Семь примеров Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В этой статье я хочу поделиться своим опытом применения алгоритмов. Каждый из нас знает, что существуют алгоритмы стандартной библиотеки, и что они делают. Но не все и не всегда используют их. Я тоже их н...

[Перевод] Обфускация сетевого трафика и автоматическая интернет-цензура Интернет‑цензоры ищут способы выявить и заблокировать доступ в интернете к информации, которую они считают нежелательной. Для этих целей они часто используют такие сетевые инструменты, как глубокая проверка пакетов (Deep packet inspection, DPI), которые п...

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

Оптимизируя sequences — или как мой код попал в kotlin Рассказ о том, как я оптимизировал несколько функций kotlin sequences и как мои оптимизации попали в релиз kotlin 2.0 Читать далее

Подводные камни при работе с исполнителем во время аттестации объекта информатизации Привет, Хабр! А не пора ли поговорить о важной и нужной ИБ-процедуре: аттестации информационных систем? Хотя бы в общих чертах, чтобы разобраться.В этой статье расскажем:1. На что стоит обращать внимание при выборе органа по аттестации;2. Какие полномочия имеет орган по атте...

Как в СУБД реализовать администратора без прав доступа к данным В СУБД-строении есть не новая, но не теряющая актуальности задача. Сформулировать её можно примерно так: как убрать возможность суперпользователя взаимодействовать с данными, но оставить ему все возможности по управлению СУБД? Эта функция затребована не только большими компа...

Все про композитинг в X11 | Linux Приветствую, читатели хабра! Вы когда-нибудь задумывались над тем, что скрывается за красотой и динамичностью вашего рабочего стола? Какие компоненты реализовывают анимации и различные графические эффекты: блюр, тень, скругления, прозрачность? В X11 есть одна очень интересна...

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

Как располагать элементы игровых интерфейсов Правильное расположение элементов игрового интерфейса помогает людям решать задачи, которые мы перед ними ставим В статье примеры подходов и решений, которые упрощают жизнь игрокам  =) Читать далее

MLOps в билайн: как катить машинное обучение в production без ML-инженеров. Часть I Всем привет! Меня зовут Николай Безносов, я отвечаю за применение и развитие машинного обучения и продвинутой аналитики в билайне. В одной из прошлых статей мои коллеги рассказывали о месте Seldon в ML-инфраструктуре компании, а сегодня мы поднимемся на уровень выше и погово...

Миллер, Рабин, вектор Проверка небольших чисел на простоту - популярная подзадача в спортивном программировании. И тест Миллера-Рабина, пожалуй, наиболее популярный из простых алгоритмов для этого.У меня давно было желание с ним поиграться, стараясь оптимизировать различными способами. Например, ...

[recovery mode] 50 вопросов для опроса удовлетворённости клиентов, для вашего вдохновения Обратная связь от клиентов предоставляет ценные данные, которые помогают компаниям улучшать свои продукты и услуги, оптимизировать взаимодействие с клиентами и, в конечном итоге, повышать их лояльность и удовлетворенность.В этой статье мы сосредоточим внимание на том, как эф...

Unity 3D: о чем давно было пора рассказать нашим подросткам Прочитал как‑то на Хабре заметку «Что делать с детьми летом, если ты айтишник?» Ответил на нее двумя своими заметками (раз и два). А теперь предлагаю взглянуть на поднятую тему немного с другой стороны: с точки зрения «борьбы с цифровы...

Современный способ организации зависимостей в Android. Version catalog и Gradle convention plugin Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о современном подходе организации зависимостей в Android. Вы узнаете как использовать version catalog и convention plugin в вашем проекте. Читать далее

Pure.DI помогает сделать DI чистым В статье поговорим о Dependency Injection. Обсудим что такое чистый DI, коснемся DI контейнеров и их эволюции. В основной части речь пойдет о генераторе исходного кода Pure.DI и о том, как он помогает создавать приложения в парадигме чистого DI. Чита...

[recovery mode] MindVault: маленькая революция в flash карточных приложениях Здравствуй хабр! Я всегда мечтал создать идеальное приложение для обучения и запоминания информации, пытался понять как в целом работает память, насколько хорошо она может работать, от чего и как это зависит, в этой статье мы посмотрим что на данном этапе я достиг, или быть ...

[Перевод] Wi-Fi без Интернета на рейсе Southwest Недавний полет я провел, пытаясь выяснить, что можно сделать, подключившись к Wi-Fi на борту самолета, но без доступа к Интернету. Читать далее

DIY: Ваше собственное облако на базе Kubernetes (часть 3) Вот мы и подобрались к самому интересному: запуску Kubernetes в Kubernetes. В этой статье мы поговорим о таких технологиях, как Kamaji и Cluster API, а также о том, как интегрировать их с KubeVirt.В прошлых статьях мы уже рассказывали, как мы готовим Kubernetes на bare metal...

Как найти баланс между интересами покупателей и продавцов: опыт разработчиков Яндекс Маркета Привет, Хабр! Меня зовут Илья Ненахов, я руковожу разработкой платформы для продвижения товаров на Яндекс Маркете. Предлагаю взглянуть на площадку немного с другой стороны, а именно — как на механизм, который пытается найти оптимальную точку в пространстве с тремя измерениям...

Построение сложных логических элементов на резисторно-транзисторной логике В своей прошлой статье я концептуально показал как устроены основные логические элементы РТЛ. Сегодня на их базе рассмотрим более сложные элементы. Читать далее

Sub-GHz во Flipper Zero и бесконечное множество внешних антенн В первой части статьи “Sub-GHz во Flipper Zero и бесконечное множество внешних модулей” мы рассмотрели модули для Flipper Zero, работающие в до-гигагерцовом диапазоне, а именно на частоте ±433MHz. И как известно, в радио важно не только, как ты преобразуешь сигнал, но и чем ...

Flowise: доступ к AI без кода Привет, Хабр!Как без единой строчки кода сделать чат-бот с доступом в сеть, или сервис для генерации изображений, анализа файлов, как встроить это всё в свой проект... Об этом и не только в обзоре Flowise. Читать далее

Максимизируем продуктивность: Создание ИИ-секретаря с Whisper и ChatGPT Приветствую! Меня зовут Григорий, и я главный по спецпроектам в команде AllSee. В современном мире искусственный интеллект стал незаменимым помощником в различных сферах нашей жизни. Однако, я верю, что всегда нужно стремиться к большему, автома...

Как в C# быстро извлечь подстроку Извлечение подстроки. Казалось бы, что тут может быть сложного? В любом современном языке программирования это можно сделать через функцию substring или через slicing. За время работы C# разработчиком я повидал разный код, в том числе разные способы извлечения подстроки. В э...

Обновлённая «МойОфис Таблица»: как мы ускорили работу с документами в 50 (и более) раз В МойОфис мы регулярно прислушиваемся к пользователям и совершенствуем продукты с учётом их мнения. Речь не только о пожеланиях, которые мы напрямую получаем от коммерческих заказчиков: не менее внимательно мы анализируем и отзывы хабрасообщества.В одном из хабр-постов автор...

Шаг за шагом: разработка 3D-игры в Godot 4.2 для начинающих И снова привет, Хабр! В прошлой статье я рассказал, как создавать 2D-игры на движке Godot. По вашим запросам — добавляем измерение и переходим в мир 3D. На этот раз мы погрузимся в трехмерные объекты и элементы анимирования. Подробности под катом! Читать дальше →

[Перевод] Используйте Arc<[T]> вместо Vec<T> В этой статье я хотел бы поговорить о том, почему вы могли бы предпочесть использование Arc<[T]> вместо Vec<T> в качестве варианта по умолчанию в вашем Rust-коде. Читать далее

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

Простые шаги к эффективному code review Всем привет! Меня зовут Владислав Шиханов, я ведущий программист в CDEK. В нашей компании работает около 500+ IT-специалистов, именно мы создаём продукты и сервисы, из которых и состоит СДЭК. Моя команда разрабатывает сервисы для автоматизации процессов п...

[Перевод] Что такое API-шлюзы и Gateway API и почему за ними будущее нативных облачных приложений В этой статье мы рассмотрим, почему API-шлюзы стали ключевым элементом экосистемы современных облачных вычислений и как появление Kubernetes API Gateway упростило и стандартизировало работу с ними. Статья составлена на основе сразу двух англоязычных материалов. В первом...

Радикальная защита селфхостинга. Уровень: хардвар и хардкор Сейчас у многих есть свой личный сервер. Насколько вы задумывались о безопасности? Настроили вход по ssh-ключам, firewall и на этом всё? Давайте поговорим про РЕАЛЬНУЮ безопасность.Эта статья о том, как запариться, распилить свой ноутбук болгаркой, вставить туда микроконтрол...

PVS-Studio и тренды 2023 года. Что волнует наших клиентов? Начало года — традиционное время подводить итоги работы, делать выводы и строить планы на текущий и последующие годы. В этой статье речь пойдёт о том, какие открытия сделала наша компания в 2023, какие задачи стоят перед российским IT-бизнесом, и как PVS-Studio может помочь ...

Сказ о том, как я эмулятор Intel 4004 на Python писал (часть 2) Небольшой дисклеймер: перед прочтением данной статьи ознакомьтесь с первой частью, дабы вникнуть в суть происходящего. Желаю вам приятного прочтения :)Это вторая часть о том, как я писал и продолжаю писать и улучшать эмулятор Intel 4004 с очень ограниченным функционалом на я...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Еще раз про асинхронную машину состояний и где именно там аллокации Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы п...

Установка GCC в сборке MinGW Установка коллекции компиляторов GCC (GNU Compilers Collection) в Windows и первичная настройка для дальнейшей работы. Читать далее

Статический анализ структуры базы данных (часть 2) Продолжим разбор проверок структуры базы данных, на примере PostgeSQL. Данная статья будет посвящена проверкам связанным с ограниением FOREIGN KEY (FK). Часть проверок целесообразно выполнять на регулярной основе, а некоторые позволяют лучше понять структуру проекта при перв...

Google пытается оптимизировать формат JPEG, увеличив компрессию на 35%. Что это за технология? Формат изображений JPEG появился ещё в конце прошлого века, причём актуальность он не теряет, а, наоборот, набирает. Казалось бы, что можно изменить в технологии, которой столько лет? В Google посчитали, что сейчас самое время для оптимизации формата, а именно повышения эффе...

Заметки руководителя проекта: советы начинающим, факапы для бывалых Привет, Хабр!Меня зовут Кристина Спирина, я руководитель проектов в IT.Сегодня мы пройдем по жизненному циклу проекта, на каждом этапе поговорим о важных моментах, о факапах, с которыми мы с командой сталкивались на практике, и о том, как мы их исправляли.В своей работе я оп...

Как правильно замерить скорость работы кода в .NET Поговорим о бенчмаркинге кода: о том, что это такое и для чего нужно. А также покажем, как на основе результатов бенчмаркинга оценить производительность кода в проекте, написанном на C#. Читать далее

Как и почему мы построили Единую историю операций на Citus DB Доступ к единой истории операций — функция, которую сегодня ожидают видеть пользователи любого современного интернет-банкинга. В приложениях Газпромбанка функция существует уже много лет, но некоторое время назад мы решили существенно её переработать. В этой статье я расскаж...

Windows 95 снова в строю? Модернизация старой ОС для работы с современными приложениями и кое-что ещё На днях стало известно о том, что операционную систему Windows 95, которой уже почти 30 лет, модернизировали таким образом, что она получила поддержку .NET. Кроме того, выполнены и другие работы, так что теперь эта ОС совместима с большим количеством современных программ. В ...

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

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

Сказ о том, как пентестеры трафик скрывают Наша команда проводит много red-team-проектов и, как следствие, постоянно имеет дело с различными системами мониторинга сетевого трафика. Вопрос «Как не спалиться?» в такой работе почти так же важен, как проникновение в инфраструктуру. Поэтому сегодня я хочу поговорить ...

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

Обзор безопасных микроконтроллеров Flagchip для автомобильной электроники Чем заменить санкционные микроконтроллеры STM, Kinetis и другие, особенно для ответственных и безопасных приложений? - На наши российские, конечно, если такие найти. Но ведь есть еще и микроконтроллеры из Китая, которые благодаря дружбе наших стран можно использовать вместо ...

[Перевод] Как работает async/await в Swift Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще ...

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

Замени меня, нейросеть, замени меня полностью Сегодня без «программистов». В этот раз будет сказ про нейросеть и копирайтеров, которым закрою тему «Заменит ли нейросеть копирайтеров» раз и навсегда. Для себя уж точно. Читать далее

Как мы запускали DIY-медиа для ИТ-специалистов Привет, Хабр! Меня зовут Юлия Гусарова, я директор по маркетингу beeline cloud. В октябре мы запустили проект вАЙТИ. В этой статье я и мои коллеги расскажут о том, как мы придумывали концепцию DIY-медиа и чем оно отличается от других площадок. А еще — поговорим о том, как ус...

Металл для коллайдера: краткая история ниобия Мы продолжаем рассказывать про различные химические элементы и их роли в современной IT-промышленности (и не только). На этот раз речь пойдет о ниобии.  Читать далее

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

[Перевод] Знакомьтесь, SafeTest — новый подход к тестированию фронтенда В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом (UI). Читать далее

Как начать в DL: книги и курсы What's up guys!В этой статье мы поговорим о полезных материалах для изучения тем глубокого обучения и немного ИИ. В статье я дам список полезных ресурсов и немного советов по. Читать далее

PIC32MZ и Быстрое Преобразование Фурье PIC32MZ и Быстрое Преобразование ФурьеМикроконтроллер от компании Microchip далеко не новый. Но пока нам дружественный Китай увы и ах, и такого (415 MIPS на частоте 252 MHz ядра) предложить не может. Ведущие производители микроконтроллеров в Китае - Artery, Nation Semiconduc...

Инструкция по SCA: генерация SBOM, инструменты, отличия Анализ сторонних компонентов ПО становится всё более актуальным в свете увеличения числа уязвимостей в открытом исходном коде. Популярные репозитории содержат более 20 тысяч потенциально опасных пакетов. Сегодня мы поговорим о спецификации SBOM (Software Bill of Material), о...

Customer Journey Expert Двести лет тому назад, когда «рыночное» предложение было значительно ниже спроса и «процветала» монополия, на целый город мог приходиться один кузнец или пекарь. Конкуренция отсутствовала. Поэтому «путь клиента» к покупке был простым, линейным и безальтернативным. Но конкуре...

Google Chrome — теперь и за деньги. Браузер с ИИ предназначен для бизнеса. Что это за новинка? Корпорация Google умеет удивлять. На днях она представила специализированную версию своего браузера Chrome для бизнеса. Это платный обозреватель, который содержит элементы ИИ, предназначенные для борьбы с киберугрозами. Подробности — под катом. Читать далее

Atari 400 возвращается: разработан Atari 400 Mini, инкарнация старого устройства. Что это за девайс? Совсем недавно английская компания Retro Games, Ltd. заявила о скором выпуске новой версии Atari 400 с современным «железом». Его название — THE400 Mini, в памяти будет 25 старых игр. Для вывода на экран предусмотрен HDMI-порт, есть USB-коннекторы для подключения контроллеро...

Обобщенные фабрики тайпгардов в TypeScript Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?TypeScript упрощает разработку веб-приложений ценой роста кодовой...

Направо пойдёшь — тестировщиком станешь, налево пойдёшь — ˂...˃: куда податься питонисту? Привет, Хабр! В этой статье поговорим о том, какие перспективы есть у питониста и куда ему можно податься. Кому может быть полезна статья? Читать далее

[Перевод] Svelte: Знакомство с рунами В 2019 году Svelte 3 превратил JavaScript в реактивный язык. Svelte - это фреймворк для создания веб-интерфейса, который использует компилятор для превращения декларативного кода компонентов в такой... Читать далее

Оптимизация веб-приложений: на что стоит обратить внимание Привет, Хабр! Меня зовут Андрей, я веб-разработчик в МТС Digital. Сегодня поделюсь своим опытом, как и зачем оптимизировать веб-приложения. В конкурентном мире онлайн-сервисов производительность стала ключевым фактором успеха — пользователи ожидают мгновенного доступа к инф...

На гребне гравитационной волны: космический детектор LISA Один парень изучал физику и пытался опровергнуть выводы Теории Относительности. Он даже пытался опубликовать свои изыскания в престижном журнале Physical Review Letters. Его заслуженно отбрили рецензенты и развернул редактор журнала - статья была ошибочной. И хорошо, потому ...

Библиотека Scout — быстрый и безопасный DI на Kotlin Привет! Меня зовут Александр Миронычев. Я занимаюсь инфраструктурой приложения Яндекс Маркет под Android. Около двух лет назад при работе над модульностью у меня появилось желание написать собственную библиотеку для внедрения зависимостей, которая позволила бы ускорить сборк...

Вопросы по SQL, которые часто задают на собеседовании. Часть 1 SQL (Structured Query Language) – это язык программирования, используемый для управления реляционными базами данных. В этой статье я собрал вопросы по SQL, с которыми вы можете столкнуться на собеседовании. Их часто задают для проверки общих знаний и навыков. Читать далее

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

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

SQL HowTo: один индекс на два диапазона В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru ...

Чипы для всех. Свободный стандарт на производство микросхем LibrePCB: бесплатный инструмент для разработки печатных плат под Windows, Linux и MacOS Идея свободного железа особенно актуальна сейчас, когда крупные корпорации пытаются ограничить доступ к своей интеллектуальной собственности, а национальные правительства ставят друг дру...

Предупрежден — значит вооружен: подборка открытых ресурсов с информацией о выявленных уязвимостях Мы уже писали о методах борьбы с DDoS и «слабых местах» Wi-Fi. Сегодня продолжим тему и поговорим о ресурсах, где можно найти актуальную информацию о сетевых уязвимостях и не только. Это — наша компактная подборка открытых баз, которые предлагают собственные API для получени...

[recovery mode] Сканируем сеть. Собираем информацию об организациях Снова рад приветствовать всех подписчиков и читателей! Сегодня хочу представить вашему вниманию несколько инструментов OSINT подходящих для сканирования сети и сбора информации об организациях. В этой статье подробно разберём установку, настройку и использование каждого инст...

Мониторинг Celery Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье...

Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0 В современном мире веб-разработки обеспечение безопасности пользовательских идентификаторов и управление доступом к ресурсам становятся все более важными задачами. Один из мощных инструментов, предоставляющих полноценное решение для этих задач, это Keycloak, современная сист...

Реальная Грузия: грустные факты, которые вас разочаруют Начинаем гуглить информацию о жизни в Грузии. Все статьи как под копирку: тут вкусно, дешево, гостеприимно, просто рай на земле. Это ловушка. Я прожила в Грузии полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле.  Читать далее

Случайное открытие, которое может стать будущим энергетики Энергия из воздуха — звучит как что-то из научной фантастики. Одно из сумасшедших изобретений Николы Теслы, о котором он успел рассказать перед смертью. Но это наша реальность в 2023 году. Открытие, сделанное учеными из Массачусетского университета в Амхерсте, позволяет осущ...

Оптимизируем шрифты и ускоряем сайт на 5-12% Описываем способы максимально ускорить загрузку шрифтов на сайте.Развенчиваем мифы и разбираем ошибки. В статье вас ждут полезные онлайн сервисы для ускорения работы. Читать далее

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 4: Прерывания и системные вызовы Глава расскажет, как xv6 обрабатывает прерывания на RISC-V и о хитростях виртуальной памяти: как использовать ошибки доступа к страницам, чтобы оптимизировать работу ОС.Глава расскажет о копировании страниц при записи, ленивой выдаче страниц, выдаче страниц по необходимости ...

PVS-Studio помогает оптимизировать проекты на Unity Engine Недавно анализатор PVS-Studio начал выдавать предупреждения о возможностях оптимизации кода в проектах под Unity Engine. Какие они, эти предупреждения? Как анализатор понимает, какой код стоит оптимизировать? Почему это сделано именно для Unity? Ответы в заметке. Читать дале...

Разработка и тестирование целочисленного сумматора с AXI-Stream интерфейсами Часть 4 В предыдущей части был рассмотрен основной подход, применяемым для тестирования сложных цифровых устройств - constraint random testing. Мы узнали, как автоматизировать проверку корректности работы устройства с помощью сравнения его выходов с эталонной моделью. Тестовые окру...

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

FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc Эта статья - сборник разных вопросов и ответов на них, которые звучали в комментариях к моим предыдущим статьям (Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все, Bleeding-edge обход блокировок с полной маскировкой: настраиваем ...

Менторство в IT. С чего начать и как стать успешным ментором Менторство в IT. С чего начать и как стать успешным ментором?Поговорили с Николаем Мухрановым в первом выпуске второго сезона нашей рубрики "Открытый микрофон" о том, как начать карьеру ментора и что важно знать, если вы начинающий ментор. Читать далее

Реальный Python: грустные факты, которые вас разочаруют Начинаем гуглить информацию о Python. Все статьи как под копирку: тут хорошо платят, легко учиться, гостеприимное коммьюнити, просто рай на земле. Это ловушка. Я писала на Python полтора года, так что пришло время поговорить о том, как там обстоят дела на самом деле.  Ч...

Как не надо проверять размер массива в С++ Как часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся в современном коде и как от неё нак...

In RISC-V Rust Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus. Читать далее

Netpliance i-Opener: как DIY-умельцы разрушили интернет-бизнес 90-х В 1999 году доступ в интернет был далеко не у всех. Немногие обычные пользователи, да и компании тоже могли себе позволить потратить полторы-две тысячи долларов на то, чтобы купить компьютер для доступа к информационной супермагистрали (Information superhighway), а именно та...

История о том как я на один из самых дешёвых Orange Pi анонимную сеть пытался накатывать Этак три-четыре года тому назад я интересовался одноплатниками, микрокомпьютерами, мини ПК и т.п. малыми вещами. Было удобно такие компьютеры транспортировать при путешествиях, перемещать при переездах, да и если брать миники, то их можно вполне корректно и нормально использ...

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

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

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

Асимметричные и симметричные ключи в PostgreSQL Привет, Хабр!Как мы знаем, защита конфиденциальной информации — это неотъемлемая часть любого проекта. В статье поговорим про шифрование данных в PostgreSQL, а именно про шифрование с использованием как асимметричных, так и симметричных ключей. Читать далее

Компиляция Record для Android В Android Developers Blog выходила статья Records in Android Studio Flamingo о том как компиляторы R8/D8 преобразуют классы java.lang.Record. В ней рассказывается как добиться минификации компонентов toString() у Kotlin data-классов. Меня заинтересовала эта тема и я решил чу...

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

Миф о «Парке Юрского периода»: почему воскрешение динозавров остаётся недостижимой мечтой Первый «Парк Юрского периода» вышел в 1993 году. В фильме Стивена Спилберга был показан мир, в котором ученые нашли ДНК динозавров в доисторическом янтаре и клонировали их в лаборатории. В результате древние существа оказались на Земле рядом с современными животными. В ...

Из чего состоят карьерные сайты: топ-5 фич и 4 месяца разработки Всем привет! Меня зовут Данила Соловьев, я заместитель руководителя направления PHP в AGIMA. Недавно мы разработали собственное коробочное решение — это универсальный бэкенд для карьерных сайтов на Laravel. Мы можем разработать такой за четыре месяца. В этой статье объясняю,...

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

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

Как автоматизировать проверки данных в Airflow с Great Expectations Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow. Читат...

Qt Creator* ищет ошибки в Qt Creator Как-то так странно получилось, что у нас уже почти год как существует и поддерживается плагин PVS-Studio для Qt Creator. И при этом мы до сих пор не выпустили хорошей статьи с проверкой самой IDE. Исправляем сие недоразумение и предлагаем вам посмотреть, чем живёт недавно пе...

Обзор электронной книги ONYX BOOX Volta 5: больше, чем обычный ридер Книга — лучший подарок. Бесспорный факт, но это же утверждение может быть справедливо и для ридеров, которые неслабо эволюционировали за последнее время: и в интернет доступ дают, и всевозможные беспроводные интерфейсы поддерживают, при этом стоят на страже зрения, позволя...

[Перевод] Руководство по кэшированию в Django В этой статье поговорим о том, что такое кэширование и о его преимуществах, как настроить кэширование в Django, какие бэкенд-системы поддерживают Django, а также о лучших практиках кэширования. Материал будет полезен в первую очередь начинающим веб-разработчикам. Читать дале...

Code review: почему мы до сих пор его используем и какие альтернативы? Прообраз code review появился в 60-х годах прошлого столетия, когда программы писали на перфокартах. Главной проблемой тогда было преобразование программного кода в машинный — компиляция. Это сложный процесс, чувствительный к ошибкам и структуре написанного кода. Если в проц...

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

Выявление закладных устройств с помощью радиомониторинга В рамках данной статьи обратим внимание на проблему внедрения закладных устройств для несанкционированного доступа к информации. Целью данного данной статьи ставится «Изучение радиомониторинга для выявления закладных устройств». Для достижения поставленной цели необходимо ре...

Восприятие английского на слух: упражнения, полезные советы и подборка ресурсов Восприятие английского на слух: упражнения, полезные советы и подборка ресурсовПривет! Это Лена, методист курсов английского в Практикуме. Мы уже знакомы по статьям про собеседование для разработчиков и small talk. В этот раз поговорим о восприятии английского на слух и прок...

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

Нодовая архитектура на Unity Меня зовут Игорь, и я Unity Developer. В этой статье я хотел бы поделиться кастомной архитектурой, которую сделал в процессе разработки своей RTS игры.Скажу сразу: что основные концепции и принципы уже используются в различных DI фреймворках, таких как Zenject & VContain...

Эксперименты с Golden Ticket Пожалуй, одной из самых опасных и крайне нежелательных сущностей, которые могут завестись в скомпрометированной Windows-инфраструктуре, является Golden Ticket. Это абсолютно легитимный Kerberos-билет, содержащий специально созданные данные, позволяющие злоумышленнику обойти ...

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

Руководство по проектированию дизайна и юзабилити интерфейсов с Drag and Drop Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик, и я часто сталкиваюсь с разработкой веб-интерфейсов с использованием Drag and Drop. В своей предыдущей статье про Drag and Drop я рассказывал про историю появления и развития этого подхода: появившись в пе...

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

[Перевод] Скрытые возможности элемента <input> Элемент <input> в HTML самый интересный. Большинство его собратьев вне зависимости от своих атрибутов ведут себя одинаково. При этом атрибут type элемента <input> может принимать 22 разных значения, которые не только меняют его поведение, но и влияют на внешний...

Деревья ltree в PostgreSQL – простым языком Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной. Читать далее

42 года BBC Micro и BBC BASIC: как появился этот образовательный инструмент и что с ним сейчас (спойлер — всё хорошо) Примерно полвека назад, где-то в начале 80-х годов XX века в BBC загорелись идеей образовательного проекта, цель которого — повышение компьютерной грамотности школьников, студентов и вообще всех желающих. А чтобы сделать проект масштабным, привлечь максимальное количество уч...

Вступил в силу запрет на статьи о Tor и VPN С сегодняшнего дня, 1 марта, Роскомнадзор может вносить в реестр запрещённых ресурсов страницы с информацией ‎о способах, методах обеспечения доступа к ресурсам и (или) информационно-телекоммуникационным сетям, доступ к которым ограничен на территории РФ — проще говоря, бани...

XeLaTeX для оформления текстов: Текст, рисунки, таблицы, автоматизация В статье рассмотрим пример того как в XeLaTeX можно настроить форматирование отдельных элементов текста, автоматически создавать таблицы, рисунки. В первую очередь будет интересна тем кто собирается оформлять ВКР (выпускная квалификационная работа) бакалавра или магистра, пи...

Редактор коннектома Приветствую, дорогие друзья! Хочу рассказать о своём проекте. Моё хобби это исследование нервной системы и мозга в целом и попытки провести реверс-инжиниринг этих систем. Этому собственно и посвящены мои статьи на habr. И сейчас я пришел к идеи, что мне нужно разработать нек...

Построение AppSec в огромном Enterprise и опыт его применения в бирюзовой компании Речь пойдёт о трудностях работы инженеров по безопасности в крупной компании – как команда выстроила AppSec и как выбранный подход помог сделать безопаснее “бирюзовую” команду и огромный Enterprise в целом. Это история о самоорганизации, зрелости и уменьшении количества...

Революция в цифровой инфраструктуре: контейнерные центры обработки данных (КЦОД) Приветствую всех! Я Геннадий Гужов, студент Высшей школы экономики и продакт-менеджер в компании "Солдвиг", специализирующейся на контейнерных дата-центрах. В этой статье я расскажу о контейнерных дата-центрах: что они из себя представляют, из чего состоят и какие преимущест...

Безопасное программирование на Си Статья для первокурсников технических ВУЗов, которым повезло изучать Си в качестве первого языка программирования. В рамках данной работы расскажу и покажу, как избегать типовых ошибок при разработке, а если уж вы эту ошибку допустили - как быстро и безболезненно её найти. Ч...

Кратко про алгоритм обучения Q-learning и как он реализуется в Python для новичков Привет, Хабр!Q-learning — это алгоритм обучения с подкреплением, который позволяет агенту оптимизировать свою стратегию действий в динамичной среде, стремясь максимизировать сумму будущих наград. Агент исследует среду, принимая решения, основанные на предыдущем опыте, а не н...

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

PaaS два года спустя. Обзор инструментов и какие задачи они решают Друзья, привет! Если у вас так же много разработчиков как у нас, то и им, возможно,  стало тесно стоять в очереди на deploy в монолите. А значит, вы можете решить перейти на микросервисную архитектуру и дать каждому игроку свой мяч каждой команде свой микросервис. ...

Typescript ENUM — баланс использования Привет Всем. Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript. В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно исп...

Rzeczpospolita: Пока Запад чего-то "ждёт", Путин уже завтра будет стоять на границе Польши Зачем ждать "завтра", когда всё это можно сделать уже сегодня?

Объектно-ориентированный подход при проектировании цифрового офиса сотрудника На современных проектах объектно-ориентированные подходы могут стать универсальным средством построения API, а файлы  YAML — понятной всем нотацией при интеграции. В новой статье рассмотрены оригинальные объектно-ориентированные подходы для проектирования архитектуры ци...

Kodein DI для Android. KMP и Compose Быть в авангарде в разработке — жизненная необходимость. Поэтому многие проекты уже переходят на Jetpack Compose, а самые смелые и продвинутые даже выпускают приложения на KMP. Мы в проекте Дринкит тоже активно переходим на Jetpack Compose (с KMP пока не сделали подход).Ну и...

От чего зависит цена оперативной памяти: отличия дорогой и дешевой RAM Оперативная память, хоть и является одним из наиболее унифицированных видов комплектующих для ПК, в отличие от, скажем, процессоров или видеокарт, все-таки довольно разнообразна. Даже если брать в расчет только планки одного форм-фактора, можно удивиться (кончено, если вы — ...

Ученые создали новый метод борьбы с лейкемией Исследователи из City of Hope, организации по борьбе с раком в США, разработали антитело, способное подавлять стволовые раковые клетки и предотвращать развитие лейкемии. В исследовании, опубликованном в журнале Blood, ученые представили новый подход к безопасному и эффективн...

[Перевод] Об изучении компиляторов и создании языков программирования Когда я только начинал изучать компиляторы, я не понимал одного важного момента: Разработка языка программирования и написание компилятора — это два почти совершенно разных навыка. Конечно, между ними есть некоторое пересечение, но меньшее, чем может показаться на первый взг...

Б значит не Безумие, а Безопасность: часть 1 Кибербезопасность сейчас в тренде, безопасность инфраструктуры и ПО, располагаемого в ней, тоже. В рамках серии статей хотелось бы поговорить об этом и поделиться нашим опытом. В первой части я расскажу про проект, который недавно пришел к нам с таким ТЗ: 1. Замкну...

СЕО с вашей прошлой работы: к тебе придет ФСБ Это небольшой пост про очередной вид мошенничества и способы борьбы с ним.Для человека информационно чистоплотного я ничего нового не скажу. Но все-таки считаю важным об этом рассказать и предложить способы проверки. В целом типичный телефонный развод, но удивила таргетирова...

Как выглядит техсобес в современном мире и нужно ли к нему готовиться? Техническое собеседование - важный этап приема на рабочий проект. Мы поговорили с коллегами с рынка (как работающими в нашей компании, так и нет) и обсудили их последний опыт техсобесов, а также важный на наш взгляд вопрос - нужно ли к ним готовиться заранее. Спойлер - ...

Эпоха Flash: как разработчики в одиночку делали мировые шедевры Мы уже поговорили об инди-студиях и об играх, которые разработчики создавали в одиночку. В комментариях к последней статье поступило замечание о том, что пропущены целые эпохи – и в их числе эпоха Flash-игр. Спасибо за идею! В 1996 году появилась платформа FutureSplash ...

Attention is Not All You Need: как менялась архитектура трансформера С момента выхода оригинальной статьи про трансформер прошло уже больше 7 лет, и эта архитектура перевернула весь DL: начав с NLP архитектура теперь применяется везде, включая генерацию картинок. Но та ли это архитектура или уже нет? В этой статье я хотел сделать краткий обзо...

Почта без хлопот: автоматизация отправки писем с помощью Python Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор». Ранее я писала здесь о разработке ботов в Telegram, но в моем отделе не скупятся на творческие задачи — так что и эта статья вряд ли будет последней. В этой статье расскажу, как автоматизировать...

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

Сквозное наблюдение (observability) в микросервисах Привет, Хабр! Сегодня мы поговорим о чем-то, что является неотъемлемой частью современной микросервисной архитектуры, что-то, без чего трудно представить себе успешное и надежное приложение в мире распределенных систем. Да, вы правильно догадались, мы говорим о сквозном набл...

Как работает Kubernetes пока ты спишь Эта статья - базовое описание того, из каких компонентов состоит Kubernetes, как он работает «под капотом». Это важно так как платформа сложная и: •  понимание ее работы влияет на факторы разработки; •  становится понятно, что можно и чего нельзя; • &n...

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

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

Terraform в России Сейчас в связи с санкциями публичный Terraform репозиторий https://registry.terraform.io блокирует доступ из подсанкционных регионов.Как я пришёл к тому, что сделал опенсорс зеркало. Читать далее

Когда лучше купить МФУ, а когда принтер и сканер по отдельности МФУ, как принтер и сканер “два в одном” — это не только удобно, но и чаще всего более выгодно, чем покупать все по отдельности. Но важно понимать, что МФУ, несмотря на свою универсальность, подходят далеко не всем. В этой статье мы посмотрим, когда все-таки, как это неудивит...

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

[Перевод] FIFO очередь asyncio в Python Очереди в Asyncio могут быть полезны для создания программ, в которых используются паттерны производитель-потребитель, где одна или несколько корутин производят элементы и помещают их в очередь, а одна или несколько корутин потребляют элементы и обрабатывают их из очереди.В ...

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

Как машинлернеры меряли экспрессию генов от воздействия лекарств Привет! Меня зовут Дима и я веду канал про соревновательный МЛ. Недавно мы выиграли приз в довольно престижном соревновании и я сделал обзор всех лучших решенийХочу вам рассказать о Open Problems, где не удалось взять золото, но все равно все очень довольны, ведь мы взяли 13...

Авторы ChatGPT всерьез озаботились ИИ-манипуляциями выборов В преддверии выборов 2024 года в США борьба с дипфейками в стране обостряется. Технологические гиганты пытаются разработать инструменты для борьбы с дезинформацией, генерируемой искусственным интеллектом, но нынешний ландшафт далек от совершенства, пишет Ars Technica.

Сказ о том, как я за год решил более 600 leetcode задач Всем салют!Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Bo...

Будни техпода. Ошибки при подключении по RDP Для доступа удалённому Windows-серверу из Windows-системы большинство администраторов используют протокол удалённого рабочего стола (Remote Desktop Protocol — RDP). Есть, конечно, и существенная доля тех, кто оперирует более обширным перечнем вариантов подключения — Micros...

Устройство умного приёмника звука в составе сетецентрической системы установления координат источника звука Фомичев В.А., полковник запаса, Крюков В.А., гражданское лицо. Живый в помощи Вышняго, в крове Б...

Xpath — залог стабильных UI-автотестов на Web и Mobile Web Локатор — обязательный элемент любого автотеста, который позволяет системе находить правильный путь к тестируемому компоненту интерфейса. От точности локатора и корректности его оформления зависит не только, смогут ли разобраться с локатором тестировщики и другие коллеги, но...

[Перевод] Призыв писать компактное ПО, версия 2024 года (с примером кода) Этот пост посвящён памяти Никлауса Вирта, первопроходца в сфере вычислительных наук, ушедшего от нас 1 января этого года. В 1995 году он написал важную статью A Plea for Lean Software, и в своём посте я постараюсь воспроизвести её почти тридцать лет спустя, с учётом современ...

Эволюция Traffic Engineering. Основы, распределённый и централизованный расчёт туннелей, магия PCE Как оптимизировать путь данных внутри чёрного ящика под названием «сеть» и гарантировать необходимый уровень сервиса пользователям своего приложения? Эта задача может волновать не только сетевых инженеров и архитекторов, но и разработчиков, и DevOps-команды. Для глубокого по...

Как я курсовую писал на gRPC+REST в связке с клиентом на Android+Jetpack Compose В этой статье я расскажу о том как написал курсовую работу и успешно сдал её с первой попытки без защиты на «отлично». Чего у меня и моих одногруппников ранее никогда не удавалось. Читать далее

Путь развития Frontend разработчика (Вторая часть) Это вторая часть roadmap frontend разработчика, Если вы не читали первую часть, то настоятельно рекомендую ознакомится, Первая часть. В этой статье я продолжу вам рассказывать про мое представление современной карты развития frontend разработчика. Читать далее

Пилотируемая миссия на Луну снова откладывается: проблемы космической программы Artemis Совсем недавно представители NASA заявили о переносе сразу двух миссий Artemis на год. В частности, агентство сообщило, что облёт Луны с экипажем состоится в сентябре 2025 года, а не в конце 2024, а высадка человека на лунную поверхность перенесена на сентябрь 2026 года. Реч...

Механики удержания в играх Допустим, вы сделали игру. Допустим, она неплоха или даже хороша! В нее заходят игроки, ее скачивают, но вот только не задерживаются надолго. В чем причина? Как завоевать любовь геймера и “подсадить” его на свой продукт? В данной статье я дам несколько эффективных совет...

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

Точка касания, или Как выстроить коммуникацию между командами внутри компании Работа в крупных компаниях — это не только ДМС и корпоративный мерч. Это большой поток информации, связанный и не очень с дизайном. Чтобы приступить к проекту, нужно раскопать документацию, пообщаться с командой, поисследовать гипотезы. В корпорациях проект может длиться нес...

Олег Бартунов о премии Highload++: лидерство обязывает всё время доказывать, что ты чего-то стоишь Мне подавать заявку на Премию Highload++ не пришлось. Тогда организаторы и сообщество сами выбирали наиболее влиятельных в сообществе людей. Мне просто сообщили, что наградят и позвали на церемонию.Я горжусь тем, что у нас в России очень хорошее Postgres сообщество, и ч...

Создаём виртуальную сеть, как это делает Docker Как известно, Docker умеет создавать виртуальные сети для безопасного и удобного сетевого взаимодействия внутри контейнеров. В этой статье мы рассмотрим, как именно он это делает на примере базовых манипуляций с сетью в рамках одного хоста с операционной системой Linux. Чита...

.NET+Safeguard: Реверсинг без ассемблера Сегодняшняя статья будет посвящена реверсингу приложений, написанных с использованием фреймворка .NET. Сначала мы немного поговорим о том, что такое .NET, чем код на нем отличается от других сред разработки и затем разберем один обфусцированный Crackme, попутно рассмотрев ря...

Не только дискеты, но и MS-DOS: ОС, которой несколько десятков лет, до сих пор востребована На Хабре не раз и не два публиковали новости и статьи о дискетах, которым прочат уход в прошлое много лет подряд. Но они до сих пор в строю, несмотря на то, что этот тип носителей уже не выпускается. Сегодня поговорим о других артефактах технологической культуры прошлого — M...

Зачем компании делают коллаборации, и считать ли встречу выпускников коллабой Привет! Я Елена Бычкова, CJO в Альфа-Банке. Сегодня хочу поговорить с вами про коллаборации. Это слово мы видим в статьях и включаем в презентации, уже не задумываясь о смысле. А что же такое коллаборация? Запуск карты X5 от Альфы — коллаборация? Однозначно да. Встреча ...

Что не так с онлайн-курсами? Привет! Меня зовут Павленко Виталий, и сегодня я хочу поговорить об онлайн-курсах программирования. Это не реклама онлайн-курсов и даже не антиреклама. Я сам сотрудничаю с двумя известными онлайн-школами. Эта статья скорее является ретроспективой на онлайн-образование в IT и...

Все об Offensive Security: о чем говорили на круглом столе AM Life Лучшая защита – это нападение, причем на себя любимого. Все чаще бизнес выстраивает информационную безопасность именно по такому принципу. Своевременный пентест или Read Teaming, когда привлеченные подрядчики пытаются взломать корпоративную IT-инфраструктуру, помогает команд...

Разбираемся в новом роутинге в Go 1.22 В начале февраля 2024 года вышел Go 1.22. Вот, что нового и интересного принёс новый релиз: сделали более безопасное поведение переменных в циклах, добавили функции-итераторы в качестве rangefunc-эксперимента и улучшили шаблоны роутинга. В этой статье я сфокусируюсь на после...

Tarantool 3.0 Когда мы видим в сети сообщение о выходе новой версии того или иного продукта, это, как правило, скучно. Ченджлог описывает лишь перечень изменений, а вот зачем и для чего они, понятно не всегда. В этой статье я попытаюсь рассказать о том новом, что появится в Tarantool 3...

Какой плащ был у Понтия Пилата? Отвечает GigaChat Всем привет! На связи лид разработки SDK GigaChat’a — Константин Крестников. В этой статье я расскажу о том, что такое GigaChain и как в целом SDK позволяет упростить жизнь разработчика LLM, например, научить LLM давать ответы на вопросы по вашим документам или работать в ре...

Препарируем Wazuh. Часть 3: источники не из коробки В предыдущей статье мы говорили о том, как можно подключить к Wazuh стандартные источники, идущие, что называется, «из коробки». С ними все относительно просто: выполняем действия, представленные в инструкции по подключению Wazuh на источнике, выполняем необходимые правки на...

Как мы Kafka с NestJS microservices подружить пытались Привет, меня зовут Валентин, я NodeJS-разработчик в Сравни. Моя команда делает Profile Service — внутренний продукт, который отвечает за быстрое получение и запись личных данных пользователей для экосистемы Сравни. Мы взаимодействуем с 20+ продуктовыми командами, которые даю...

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

Инклюзивность и цифровая доступность в дизайне: почему это важно для всех Всем привет! Меня зовут Юля Алёхина, я дизайнер в AGIMA. В этой статье поговорим об инклюзивном дизайне, о том, почему он касается не только людей с инвалидностью и как правильно аргументировать важность доступности в общении с заказчиком. Еще расскажу, как наш дизайн-отдел ...

«В каждой игре должен быть свой CJ»: история инструментов для создания модов В прошлой статье мы рассказали, как появились первые моды, и даже проследили взаимосвязь с современными играми на примере серии ARMA и DayZ Standalone. На этот раз погрузимся в тему глубже: обсудим виды модификаций и историю инструментов, с помощью которых их можно создава...

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

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

«Строка бога»/идеальный промт, часть 2, продолжение истории Здравствуйте, уважаемые читатели!В этой статье я хотел бы продолжить тему появления субъязыка текстовых запросов к нейросетям (которая может быть полезна не только для инженеров, но и всех энтузиастов, которые, как, к примеру, и я проводят значительное время за работой с ИИ-...

Защита Home Assistant Почему то все статьи в инете по защите Вашего HA сводятся к банальным вещам, типа: ставьте длинный тяжелый пароль, ставьте двухфакторную аутентификацию, обновляйте HA, ставьте Fail2Ban.И все это дельные советы, ничего плохого в них нет, но хочется чего то большего. Читать да...

DevOps as a Service. Часть 4. Решаем проблемы развития сотрудников подразделения и управления инициативами Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем. В прошлых статьях мы описали сам подход, показали пути решения различных проблем. Со статьями можно ...

Видеоновости: Русский язык в Warzone Mobile, бета-тест Heroes of Might & Magic Mobile и другое Привет, читатели и зрители AppTime. На связи Никитенков Валерий, главный редактор на сайте и голос еженедельной подборки новостей за последние 7 дней. Я расскажу, почему закрыли эмулятор Yuzu и что будет дальше, как Warzone Mobile стали меньше ненавидеть в СНГ, почему War ...

DataOps Platform: из чего состоит наша платформа для работы с данными и как мы её создавали Привет, Хабр! Меня зовут Наджим Мохаммад, я руководитель продукта МТС. Вместе с моим коллегой, руководителем направления разработки платформы МТС Big Data Максимом Бартеневым сегодня мы  поговорим об эволюции платформ данных и нюансах работы платформы МТС для работы с д...

Как сэкономить на печати? Почему сэкономить надо именно на ней. Безуспешная борьба вендоров за смерть фотобарабана Десятки статей на Хабре и не только на нем о том, как можно заправить оригинальный картридж или чернильницу. По всему миру сотни производителей порошка и чернил и миллионы тех, кто организовал сервис по замене и заправке. Этот вторичный бизнес уже давно перерос самих началь...

Как увеличить шрифт так, чтобы контейнер не поехал? Адаптация UI/UX для людей с проблемами зрения в XML и Compose Я — Денис, Android-разработчик в «Лайв Тайпинге». В этой статье я продолжу рассказывать о современных подходах разработки адаптивного UI /UX для людей с ограниченными возможностями, разных национальностей и особенностями развития. В этой статьей я расскажу про разработку инт...

Своё кастомное межсервисное взаимодействие с блекджеком и gRPC Привет, Хабр! Меня зовут Ильяс. Мы с командой делаем собственный Service Mesh в Ozon Tech, и в этой статье я расскажу, как можно за вечер реализовать свое супер кастомное межсервисное взаимодействие. К концу статьи мы с вами напишем современные алгоритмы балансировки, настро...

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

Технологии групповой разработки в современной 1С-индустрии Привет, Хабр! Меня зовут Стас Ганиев, программист 1С, в этой статье я рассмотрю и сравню три самых популярных подхода к групповой разработке: хранилище конфигураций, конфигуратор + Git, EDT + Git. Читать далее

Хабр — стоп кран(восклицательный знак) Кто у нас там насегодня за главного? Денис? Алексей?Давайте поговорим по-честному. Мы все прекрасно понимаем, что СММ и генеративный контент сводят Хабру в могилу. Я не люблю просто блеять о проблемах, и хотел бы предложить решение. Давайте сделаем что-то, чтобы разобраться ...

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

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

ESPspectrum прошивка ESPspectrum - проект на основе компьютера ZX spectrum, с собственной простой операционной системой. Это вторая статья проекта ESPspectrum. В данной статье описывается программный код OC. Есть возможность открывать, редактировать, создавать и удалять файлы. Есть калькулятор с...

Как настроить ipv6 на даче у LTE провайдера анлим.бел/unet для роутеров на базе openwrt Приветствую хабражителей.Я уже довольно давно озадачился вопросом настройки ipv6 на даче т. к. хотелось бы иметь прямой доступ к устройствам (например камеры, шлюзы, nas итд) без костылей в виде vps/vpn или static ipv4 + проброс портов. Ведь будущее уже наступило и ipv6 давн...

Структура драйвера Linux для одноплатного компьютера Здраствуйте меня зовут Дмитрий. Недавно я написал статью как собрать прошивку для одноплатного компьютера Orange PI i96 с нуля. Если вы не читали то очень советую. И там я упоминал что для того чтобы собрать прошивку на новом ядре Linux, мне пришлось переписать драйверы с уч...

Почему в ботах телеги желательно использовать Webhook вместо Polling Привет, коллеги! Сегодня у нас на повестке дня выбор между двумя гигантами: Polling и Webhook. И если вы когда-либо задавались вопросом, почему именно Webhook является go-to решением для большинства проектов, то это статья для вас.Помните, как в начале 2010-х все разрабы акт...

Когда мобильная сеть недоступна: зачем запускают звонки через интернет Технология VoWiFi позволяет совершать звонки по номеру телефона вне зоны действия мобильной сети, используя Wi-Fi. Сегодня мы решили обсудить актуальность такого сервиса и ключевые способы его настройки: от OTT и UMA до недоверенного доступа к ePDG. Также рассмотрим перспект...

Почему нельзя сделать прогноз CLTV с помощью одной модели Или как превратить набор продуктовых моделей склонности и оттоков в полноценный инструмент прогнозирования продуктового состояния клиента.В чём специфика задачи оценки СLTV в банке? К каким математическим задачам она сводится? Как их решить и почему стандартные способы, напр...

Создаём графический информер на PHP Глядя на счётчик посещений mail.ru, или на какой-либо другой информер, вы наверняка задумывались о том, как бы сделать такой самому. Эта статья поможет вам осуществить ваши планы. Читать далее

Взгляд на ИБ со стороны не ИБ-разработчиков Всем привет! Меня зовут Елена Галата, в ГК "Цифра" я руковожу направлением разработки программного обеспечения. Хочу сегодня немного поговорить об информационной безопасности и о том, как она выглядит со стороны тех, кто имеет отношение к созданию ПО. Не только программисто...

Пункт назначения — Squadus. Наш опыт переезда на альтернативу Microsoft Teams В марте 2024-го рынок встряхнула новость от Microsoft о грядущем отключении доступа к облачным сервисам компании для корпоративных клиентов из России. Оперативно делая бэкапы, одни побежали искать «обходные пути», вторые — подбирать альтернативы продуктам Microsoft. А я реши...

Ручная пила для PHP-монолита Привет! Это третья и заключительная часть истории поиска надёжного способа работы с транзакциями в распределённых системах. В первой части мы поставили задачу, определили критерии оценки и набросали варианты. Во второй части я подробно разобрал решение на Temporal. В этой с...

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

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

Сосульки на свесах скатной кровли: механизм образования и методы борьбы с ними Островерхая скатная и плоская крыша дома в ИЖС: Битва архаично-романтичного  «дизайна» с инженерной рациональностью.Крыша дома в частном секторе- это не только инженерное сооружение, но и главный элемент внешнего вида здания в целом.Если учесть, что частный дом в значит...

Async/Await из C#. Головоломка для разработчиков компилятора и для нас Я рискну все таки продолжить изложение своего понимания Поста: How Async/Await Really Works in C#, которое в предыдущей статье получило название “ортогональный взгляд”. Также, недавно мы познакомились (возможно несколько преждевременно) с изначальным определением концепции S...

И снова лазерные диски: китайцы представили болванку с емкостью в 200 ТБ. Что это за технология? Подавляющее большинство современных ноутбуков лишены приводов для лазерных дисков. Не устанавливают их и в десктопные ПК, за некоторым исключением. Тем не менее, сам формат не умер, а продолжает развиваться. Например, китайцы представили современную версию лазерного диска с...

[Перевод] Увлекательный лексический анализ языка Rust Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока л...

«16+» или делаем шаблон страницы в XWiki на примере спецификации API Пусть вас не смущает надпись: «16+» в заголовке. В статье не будет ни слова о безудержном кутеже с куртизанками за игрой в блэк-джек.Просто я решил очередной статьей отпраздновать выпуск в свет 16-й версии XWiki – «open-source аналога Confluence» (по мнению её разработч...

Криптографически стойкие генераторы псевдослучайных чисел Статья посвящена обзору криптографически стойких генераторов псевдослучайных чисел (CSPRNG), ключевого элемента в обеспечении безопасности криптографических систем. Рассматриваются различные виды криптографически стойких генераторов псевдослучайных чисел, проведено их сравн...

Автоматические двери: История создания. От механики до магнитной левитации В какой степени прошлое может «объяснить» настоящее, и предсказать будущее? Почему автоматические двери появившиеся в рекламных каталогах производителей в 1910 году, начали использоваться лишь в конце 20 века. В этой статье мы рассмотрим историческую ретроспективу появл...

Почему переезд на новое ПО — такая боль для сотрудников. С чем смириться и что можно улучшить Эта статья для тех, кто хоть раз организовывал переезд на новое ПО на работе. И не важно, что это было — Notion в стартапе, Jira для разработки или пачка отдельных SaaS-систем.В процессе жизни и роста любой компании приходится перетасовывать, объединять, менять системы, на к...

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

Как сравнивать цвета и сделать из этого казуальную игру? Привет, Хабр! В этой статье я хочу рассказать о разработке своей небольшой игры, в основу которой легло сравнение цветов Читать далее

Снова поломался локальный репозиторий Debian 12.5, или почему Linux не для людей Недавно я пытался сделать локальную копию репозитория Debian 12.5, и вот казалось что всё наконец получилось, однако не прошло и суток как всё снова поломалось...

[Перевод] Что такое платформенная инженерия: как она связана с DevOps и SRE? Появление новых ролей и обязанностей в IT и разработке сильно повлияло на работу современных компаний. Одно из направлений, которое с каждым годом становится популярнее, — платформенная инженерия. В этой статье разберемся, что это такое, почему важность ПИ растет и какое отн...

Пароли в открытом доступе: ищем с помощью машинного обучения Я больше 10 лет работаю в IT и знаю, что сложнее всего предотвратить риски, связанные с человеческим фактором. Мы разрабатываем самые надежные способы защиты. Но всего один оставленный в открытом доступе пароль сведет все усилия к нулю. А чего только не отыщешь в тикета...

[Перевод] Написание чистых тестов на JavaScript с использованием принципов BASIC Продакшен код может быть неидеальным, и это подразумевает риск или долг, которым команды управляют различными способами. Для кода тестов риск гораздо более значителен — они могут просто исчезнуть. Сотни часов кодирования и встреч могут просто пропасть.Вы сталкивались с подоб...

Пробный запуск MMORPG Ragnarok Vertical — как Ragnarok Online, только одной рукой Ragnarok Vertical — ещё одна мобильная игра по франшизе Ragnarok. Для неё проходит пробный запуск на Android в Индонезии, скачать клиент можно через Google Play. На этот раз издатель Gravity Games делает ставку на вертикальный геймплей, что даже указано в названии проекта. О...

Odinbit, игра моей мечты и процесс её создания. С нуля до первой публичной версии Всем привет, в один прекрасный момент мою голову посетила задумка для игры: я хочу сделать свою игру, с элементами выживания и незамысловатой графикой. Хоть я и не имел опыта в gamedev, но все равно решил попробовать, почему бы и нет Читать далее

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 3: Специализированное машинное обучение Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor). В предыдущей статье я поделился материалами для подготовки к этапу по классическому машинному обучению.В этой статье рассмотрим ма...

Event Loop. Мифы и реальность В сети есть довольно большое количество публикаций про Event loop и как он работает. Новые статьи появляются на популярных ресурсах и по сей день, в том числе на Хабре. Однако, к сожалению, далеко не вся информация, представленная в этих материалах является провере...

Как провести фаззинг REST API с помощью RESTler. Часть 2 Всем привет! На связи Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. В предыдущей статье мы рассказывали о Stateful REST API-фаззинге с применением инструмента RESTler. Сегодня мы поговорим о продвинутых возможн...

Тестирование Li-ion аккумуляторов. Проверка аккумуляторов на подлинность Цель и задачи.Провести тестирование аккумуляторов от крупных мировых брендов с целью проверки соответствия заявленным параметрам.Проверить на подлинность Li‑ion аккумуляторы, продаваемые на маркетплейсах поставщиками из Китая.Исследовать, насколько системы рейтинго...

Радикальная асинхронщина Асинхронность... Как много в слове этом! Асинхронность считается одной из сложных тем программирования вообще. Не все просто в этом вопросе. В интернете периодически появляются различные статьи, туториалы по тем или иным вопросам асинхронности. Из последнего дельной статьей ...

Обзор синтаксиса Tailwind CSS Салют, Хабр!Tailwind CSS – это utility-first CSS фреймворк, который отличается от традиционных CSS фреймворков вроде Bootstrap или Foundation тем, что вместо предопределенных компонентов предлагает набор utility-классов, позволяющих стилизовать элементы прямо в HTML.Utility-...

[Перевод] 15 самых востребованных ИТ-сертификаций в 2024 году Хотите сделать шаг вперед в карьере в сфере ИТ? В этой статье представлен обзор самых ценных ИТ-сертификаций, которые помогут увеличить зарплату в 2024 году. Читать далее

Parasolid inside: новые форматы и другие доработки C3D Converter Александр Спиваков, руководитель команды разработки C3D Converter, C3D Labs, описывает роль конвертера в качестве части C3D Toolkit, представляет сценарии использования C3D Converter — миграция и MultiCAD — в пользовательских приложениях, знакомит с доработками реш...

Backend Driven UI с точки зрения бэкенда: к чему готовиться, если вы решили на него перейти Многим знаком подход Backend Driven UI. С его помощью можно создавать новые страницы, запускать А/B-тесты, легко менять флоу в любое время и сразу на всех платформах. И при этом не надо долго и мучительно перевыкатывать приложение.Обычно о BDUI рассказывают мобильные разрабо...

[Перевод] 10 фактов, которые разработчики ПО должны знать про обучение Десятилетия исследований в сферах когнитивной психологии, образования и программирования дали нам глубокие знания о том, как мы учимся. В следующих десяти разделах статьи мы представим научно доказанные факты об обучении, которые касаются и разработчиков ПО, а также поговори...

Cotea: программный контроль исполнения Ansible Привет! Я Давид Бадалян, работаю в Исследовательском центре доверенного искуственного интеллекта ИСП РАН. В статье я хочу поговорить об Ansible – одной из самых популярных систем по автоматизации развёртывания. Стоит запустить Ansible программно, и он становится черным ...

Безопасное управление двигателем постоянного тока Речь о том как управлять включением и скоростью двигателя постоянного тока на примере сервопривода MC50 так, чтобы сервопривод не сгорел. Несмотря на то что MC50 был разработан для управления BLDC моторами, он также хорошо подходит и для управления коллекторными двигателями...

Вьетнамцы «спалили» коробку от Pixel 8a с внешним видом смартфона В 2024 году Google представит линейку смартфонов Pixel 9. При этом на подходе также Pixel 8a, и уже раскрыт дизайн задней панели. Это сделали вьетнамские инсайдеры, опубликовав фото коробки от Pixel 8a. Также они поступали с предыдущими линейками Pixel. Судя по изображению ...

Django, PostgreSQL, Gunicorn/uWSGI, Nginx Подробное описание шагов при деплое web-проекта на Django с PostgreSQL, Nginx, Gunicorn. Задачи статьи - агрегировать информацию из мануалов по деплою, избавить читателя от повторений ошибок и описать теоретически, для чего делаются те или иные шаги, чтобы избежать бездумног...

Погружение в Smali. Как выглядят Java и Kotlin со стороны Эта статья для начинающих исследователей файлов APK. Хотя почему только для начинающих? Иногда стоит остановиться и разложить по полочкам то, что накопилось. И тогда можно найти логичное и простое объяснение тому, чего не понимал. Или увидеть то, чего раньше не замечал. Чит...

Accessibility картинок. Как сделать изображения доступными? Всем привет! Меня зовут Артём Плаксин, я незрячий специалист по цифровой доступности и работаю в ВК. Почитать о моей работе в офисе вы можете в одном из постов этого блога, а сегодня я хочу поговорить о практической стороне доступности. Этот пост посвящён доступности изображ...

Как улучшить английский в документации. Часть 3: мировая аудитория Мировая статистика говорит, что английским владеет примерно 1,4 миллиарда человек, но носителей среди них всего 380 миллионов. То есть статистически семь из десяти читателей англоязычной документации — не носители языка.Если мы хотим, чтобы наша английская документация хорош...

Как тестировщику уйти из корпорации в стартап и не сойти с ума Меня зовут Лена и я QA Engineer в Brickit, приложении для сканирования кубиков Lego. До этого мне довелось поработать в крупном зеленом банке. В этой статье я расскажу об отличиях корпорации и стартапа в разрезе процессов тестирования и разработки, а также дам несколько прак...

Большое тестирование российских систем виртуализации. Статья первая, вводная Привет, Хабр!Этой статьей я хочу начать цикл материалов, посвященный отечественным решениям серверной виртуализации. В этой серии я хочу поставить перед собой довольно амбициозную цель — помочь ИТ-специалистам в выборе системы виртуализации за счет прозрачного и всестороннег...

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

Как быстро и безболезненно выбрать лучшую из десяти выборок Всем привет! Меня зовут Мария Ходякова, я продуктовый аналитик Тинькофф Страхования. В этой статье мы поговорим о множественном тестировании. Хорошо известен такой подход, как А/В-тестирование, когда в тесте участвуют две выборки. Но иногда нужно сравнить больше двух выборок...

Что за зверь Security Champion? Многие процессы, статьи и корпоративные легенды апеллируют к понятию «security champion», иногда утверждая, что человек с такой ролью способен сделать невозможное (как говорили и мы в статье о противостоянии разработки и безопасности). Но кто&nb...

Торговать на зарубежных брокерских счетах снова можно, но только если вы расскажете о них налоговой С марта 2023 года российское инвестиционное сообщество оказалось расколото: одни юристы настаивали на том, что сделки с бумагами на зарубежных счетах оказались под запретом, другие считали, что это не так. Новый указ от 08.11.2023 ставит в этом вопросе точку – в данной стать...

Reflection в iOS: как посмотреть содержимое любой сущности В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего...

Пингвин расставил сети: работа сети в Linux Всем привет! С вами снова я, Аргентум! Сегодня я продолжу нашу серию статей об ядре Linux.В этой статье мы будем изучать способ организации сети в мире серверов и то, как она эволюционировала от использования традиционного сетевого стека ядра Linux к виртуализации сети с исп...

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

Кооперативный хоррор The Outlast Trials выбрался из раннего доступа Причём сделал это в необычайно сжатые, по меркам современной игровой индустрии, сроки.

Интеграция SonarQube в Kubernetes В современном мире разработка программного обеспечения стала неотъемлемой частью бизнес-процессов, требующей не только высокой производительности, но и надежной защиты от угроз безопасности. В этом контексте DevSecOps выступает как ключевая парадигма, интегрируя принципы без...

Как вредоносы распространялись через поддельный менеджер паролей KeePass: AsyncRAT, BATLoader Приветствую, и снова я начну с вопроса. И достаточно непростого. Пользуетесь ли вы менеджерами паролей и считаете ли вы их полностью безопасными? Скорее всего, мнения читателей на этом моменте разделятся. Кто-то ответит, мол, пользуется блокнотом и ручкой, а кто-то ответит у...

[Перевод] Важность документации в работе DevRel Техническая документация — важный элемент любого сообщества, в том числе при продвижении продукта. Документация является средством первого прямого контакта с разработчиками и пользователями, заинтересованными в использовании продукта. Чем лучше документация, тем больше шансо...

[Перевод] Краткий обзор техник векторизации в NLP Как переводчик-редактор, я интересуюсь темой NLP и автоматизации рутины бюро переводов. Изучая вопрос того, как смысл слов превращается в векторы, наткнулся на эту обзорную статью. Статья мне показалась изложенной доступно, поэтому я перевел ее для удобства других коллег. Ра...

Сказ про робота Unitree A1 — Часть 1: Базовые возможности В 2022 году наш Университет - московский ордена Ленина, ордена Октябрьской Революции авиационный институт имени Серго Орджоникидзе, ну или просто МАИ принял участие и победил в конкурсе Приоритет 2030. Мы, как самое передовое в Мире МАИ подразделение приобрели робота собаку ...

Тест-дизайн на практике: комбинируем разные техники тестирования, на примере проверки систем оплаты Привет, Хабр! Меня зовут Сергей, я тестировщик в “Петрович-Тех”. В этой статье хочу поговорить о комбинировании различных техник тестирования и поделиться опытом тест-дизайна для проверки системы оплаты.На всем своем профессиональном пути тестировщика я так или иначе всегда ...

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

Манюня, часть 2 И снова здравствуйте!Данная статья посвящена разъяснению того, что из себя представляет проект «Манюня». Я не буду пытаться с пеной у рта доказывать, что он круче, лучше чем то, что уже есть. Это нечто другое, ностальгия, реализация того, что давным-давно хотелось сделать, н...

HashiCorp обвинила сообщество OpenTofu в краже кода Terraform, но что-то пошло не так 3 апреля на сайте InfoWorld вышла статья известного публициста на тему Open Source и юриста Matt Asay под названием «OpenTofu, возможно, демонстрирует нам, как не надо делать форк». Лидер-абзац в статье довольно жёсткий: Не согласны с лицензией? Просто сделайте форк про...

Кратко про то, как устроен компилятор Go Привет, Хабр! В back in 2007 трое гуру из Google — Роб Пайк, Кен Томпсон и Роберт Гриземер — решили, что мир нуждается в чем-то свежем и быстром. Они метили на упрощение процесса разработки, но при этом хотели сохранить весь перфоманс на уровне C. И вот, в 2009 году появился...

Разработка Tower Defense на Unity — часть 2, проектирование И так, в прошлой статье цикла тут мы определились с концепцией игры, геймплеем и программными средствами. Самое время поговорить об архитектуре, организации игрового процесса, что и как будет происходить. Чтобы определиться с организацией всех процессов в игре необходимо раз...

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

Нельзя писать безопасный код на C++ без санитайзеров С++ видится мне огромным франкенштейном: очень уж много разнообразных способов описать свои намерения. В добавок к этому язык пропагандирует политику zero-cost abstractions, из которой следует (помимо прочего), что программист в ответе за все св...

Как быстро и безболезненно закрыть регресс в API из связки PyTest + JSON Schema Протестировать позитивные сценарии использования API можно легко и быстро, используя JSON схему. В этой статье мы поговорим о полезных приемах, хитростях, которые можно применить для ускорения процесса, и об источниках данных для такого тестирования. Излагать буду “для самых...

Современный digital signage — эффективное управление контентом на экранах Digital signage — это всё, что связано с цифровыми устройствами (чаще это экраны), которые отображают контент и c управлением этими устройствами и контентом. Дисплеи в банках и современных поездах метро, табло с расписанием рейсов в аэропорту, светодиодные рекламные экраны н...

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

[Перевод] Фильтр Блума – вероятностная структура данных для проверки принадлежности элемента множеству Структуры данных такие как HashSet могут использоваться для небольшого набора данных, позволяя проверять принадлежность элемента множеству. При этом использование проверки принадлежности элемента на большом наборе данных может быть затратным. Временная и пространственная сло...

End-of-Life: как понять, пора ли закрывать продукт, основываясь на данных Привет! Меня зовут Ульяна Баисламова. Я старший продуктовый аналитик в команде B2b и оффлайн-опыта в СберМаркете.Закрытие продукта (End-Of-Life, EoL) — естественная часть жизненного цикла сервиса или проекта, которая не обязательно связана с его несостоятельностью. В предыду...

Part 1. Инструменты автоматизации тестирования Привет! Я Вадим Лунин, QA Manager в Альфа Банке в Беларуси. Это продолжение цикла статей по инструментам, которые мы используем для тестирования наших продуктов в Альфа Банке. В настоящей статье я хочу рассказать вам, какие инструменты мы используем для автоматизации тестиро...

API для хостинга: кому он потребовался и как мы его сделали Привет, Хабр! На связи хостинг-провайдер SpaceWeb. В этой статье расскажем, как работает клиентский API у нас, почему для него мы выбрали технологию JSON-RPC и чем она нам так нравится. Историей делятся Виталий Киреев, руководитель R&D, и Алексей Шашкин, продакт-менеджер...

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

Нетипичные сценарии использования BI-системы (Apache Superset) Всем привет!Сегодня поговорим о немного нетипичной для меня теме, а именно - Apache Superset. Обычно я пишу длинные "философские" статьи "на свободную тему", но в этот раз - это будет туториал. Так что кому-то может показаться банальностью, но, опять таки, вдруг кому поможет...

[Перевод] Реализация случайности в CSS при помощи тригонометрии В прошлых статьях я рассматривал тему реализации псевдослучайности в CSS при помощи операции целочисленного деления и использовал простые числа для создания автоматического счётчика, при помощи которых можно генерировать разные значения для каждого объекта. Благодаря этому ...

[Перевод] Что нового во Flutter 3.16, ч.1 Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev агентства продуктовой разработки Amiga. Это статья-перевод от автора Kevin Chisholm. Оригинал статьи читайте по этой ссылке. Мы решили разбить материал на несколько частей для удобства восприятия. Читать далее

ИБ и ИТ, давайте жить дружно. Вот как это возможно Безопасность во многих компаниях стоит особняком. Вместо того чтобы беспокоиться о качестве вашего продукта, безопасники твердят о ГОСТах и ISO, о разных сертификациях и авторизационных протоколах — вещах важных, но вне фокуса основного архитектора. При этом их деятельность ...

Продвинутое использование форм в Django (на примере Bootstrap и crispy) В этой статье поговорим о существующих подходах к рендерингу веб-форм в Django.Обсудим подходы с использованием стандартных средств Django, а также применим сторонние средства для продвинутого управления рендерингом форм на примере пакета django-crispy-forms и фронтенд библи...

Константность в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это седьмая статья из серии, список предыдущих статей приведен в конце в разделе 10. Серия ориентирована на программистов, им...

Не время вкладываться в литий? ИИ помог найти альтернативу для производства аккумуляторов В самом начале нового года стало известно, что Microsoft и Pacific Northwest National Laboratory смогли разработать новый материал, который теоретически может снизить объём используемого при создании аккумуляторов лития. Во всяком случае батарея на базе этого соединения уже ...

Легендарный Brown Sound на полевых транзисторах Привет, Хабр! Brown Sound — это специфическое звучание электрогитары, ставшее визитной карточкой Эдди Ван Халена. Повторить уникальный звук великого гитариста пытались и пытаются многие. У каждого получается что-то своё. Сегодня мы соберём и послушаем один из вариантов «ди...

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

Зеркалирование топиков Kafka по-бруклински Буквально на секунду представьте, что у вас есть парочка здоровенных кластеров Apache Kafka, каждый из которых держит по нескольку миллионов rps. И тут вас попросили зеркалировать топик из одного кластера в другой. Максимально близко к реалтайму, да ещё и с некоторыми специф...

[Перевод] Путь к потрясающему CSS Easing с помощью новой функции linear() С появлением на горизонте новой CSS функции linear() возможности создания естественных анимаций и переходов в будущем значительно расширяются. В этой статье Джейхи Томпкинс рассматривает текущее состояние CSS easing и демонстрирует, чего можно ожидать от linear(), включая уд...

Проблематика Open Source: профиль риска, лицензирование, как выбирать продукт и подход к разработке решений Привет, я Ольга Свитнева, идеолог и менеджер продукта «Платформа данных» в VK Cloud. В современном мире ИТ тема Open Source поднимается довольно часто. Особенно когда речь идет о работе с данными. И тому есть ряд объективных причин. В этой статье я предлагаю взглянуть на Op...

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

Проверяем YTsaurus. Доступность, надёжность, open source В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и использование направлены на расширени...

Паркет устарел. Пора менять Паркет устарел. Пора менять В этой статье речь пойдет не о напольных покрытиях, а о програмном продукте, более современном конкуренте Apache Parquet, продукте который изначально в 2014 году был разработан компанией Huawei как закрытое и проприетарное ПО, но в 2016 году был...

Знай, куда идёшь: 1С как кузница карьеры Годы идут, рынок меняется. Если ещё пару лет назад российский рекрутмент встречал новые волны джунов с горящими глазами, готовых бороться за место в стартапах, то сейчас мы всё чаще сталкиваемся с тем, что компании выходят на поиски – и, как ни странно, получают совсем немно...

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

[Перевод] Как работает радио? Радиокоммуникации играют ключевую роль в современной электронике, но их теорию сложно понять начинающему любителю. Да, у нас есть общее представление: мы знаем о частотах и, вероятно, можем объяснить разницу между амплитудной и частотной модуляциями. Однако большинству из н...

Мой опыт времен флеша в геймдеве (Часть 2) Ранее я писал Как я решил сделать игру, вдохновившись Heroes of Might and Magic, и потерял деньги. И вы статью хорошо приняли (62к просмотров).Я решил вспомнить, а с чего всё начиналось и чем по итогу закончилось - провести ретроспективу. Разработка игр - это мое хобби в сво...

Шпаргалки для сервера CS:GO Приветствую читателей данной статьи. Сразу хочу отметить, что статья не несет никакой профессиональной информации, но нацелена на аудиторию, которая имеет представление о том, что такое терминал и хостинг, и с чем это едят. Автор лишь делится своим опытом и оставляет это зде...

Что не увидит SCA Всем привет!

Её величество Плоская таблица Слева красиво! Но ничего не понятно. Куча объектов с непонятными связями. Каша, какая-то.Справа техническая красота :) Всё разложено по полочкам, всё находится под контролем. Никакие детали не могут ускользнуть от нашего внимания.Переход к плоской таблице и понимание её архи...

Разработка и применение систем разграничения доступа на базе атрибутов Привет! Меня зовут Михаил, в Positive Technologies я руковожу бэкенд-разработкой метапродукта MaxPatrol O2. В этой статье я расскажу, зачем нам в компании понадобилось разграничение доступа на основе атрибутов. Его еще называют ABAC (attribute-based access control). Рассмотр...

Формальные методы проверки смарт-контрактов Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про п...

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

Запуск Тетриса на осциллографе из 90-х В этой статья я хочу рассказать о том, как я запустил Тетрис на старом цифровом осциллографе. Без пайки и бега по граблям не обошлось... Зачем я это сделал - просто Just for fun. Читать далее

SwiftUI уроки (часть 9) Разбираемся с List, ForEach and Identifiable В UIKit для iOS один из наиболее часто используемых элементов управления пользовательским интерфейсом - это UITableView. Если вы имеете опыт разработки приложений с использованием UIKit, то знаете, что table view предназначен...

eSIM и протоколы спецификации GSMA SGP.02: кейс МТС Привет, Хабр! Меня зовут Алексей Степанов, я работаю аналитиком в проектах IoT Connected Car и eSIM M2M в «МТС Диджитал».Среди наших клиентов — совершенно разные компании. Производители умных счётчиков для воды, терминалов для эквайринга, и даже автомобилей.В этом посте расс...

Как провести unit-тестирование Flink-операторов: TestHarness Привет всем, на связи снова Александр Бобряков, техлид в команде МТС Аналитики. Продолжаем цикл статей про фреймворк Apache Flink.Напомню, в предыдущих частях я рассказывал про построение пайплайна Kafka-to-Kafka с промежуточным разделением потока и дедупликацией событий. Та...

Постановка целей по технологии SMART: критерии, процесс целеполагания и возможные ошибки Почему важно уметь правильно ставить рабочие цели в компании? Дело в том, что постановка целей — один из основополагающих факторов деятельности в коллективе. Такая процедура позволяет четко определить, в какую сторону вы двигаетесь и чего именно хотите достичь. Ясная, четко ...

От хаоса к порядку. Как мы внедряем стандарты в CDEK Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ...

Тестируем AI на создании прикладного приложения Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.Недавно рассказал на Хабре, как мы в компании “потрогали” нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.Поэтому решил на этом не останавливаться. Если есть инструменты — и...

Современные Hi-Tech методы реабилитации после инсульта. Часть 1 — как распознать и как лечить Сегодня поговорим о такой непростой теме как «молодеющий» инсульт, и о том, как выйти из него с минимальными потерями. Аудитории Хабра — молодая, и многие могут посчитать, что тема инсульта их не касается. Увы, касается — у всех есть пожилые родственники как группа риска. Мо...

AutoLove: апдейты девушке с YandexGPT Салют! Меня зовут Григорий. Как и у многих из нас, у меня есть вторая половинка, и ей свойственно требовать внимания. Сам по себе я человек занятой и мне бывает трудно отвлечься от дел и написать апдейт девушке, из-за чего приходиться терпеть капризы по причине «недостатка в...

Аутентификация для WebSocket и SSE: до сих пор нет стандарта? WebSocket и SSE появились более десяти лет назад, однако до сих пор в стандартах отсутствуют рекомендации по решению задачи аутентификации для подобных соединений.В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events...

Кто трогал мой mac? Ловим горничную или evil maid detection Я часто нахожусь в командировках и путешествиях, внимательно отношусь к безопасности своего macbook. Недавно, вернувшись в отель, я обнаружил признаки того, что кто-то что-то делал с моим ноутбуком в мое отсутствие.В этой статье мы рассмотрим способы, позволяющие узнать о по...

[Перевод] Спринты — самая большая ошибка в программной инженерии, примите eXtreme Go Horse Да, давайте немного поговорим о том, как быть Agile и о бразильском определении Agile, которое в современном состоянии породило методологию «eXtreme Go Horse» («лошадью ходи»). Читать дальше →

Компилятор за выходные: избавляемся от переменных Вопрос из области ненормального программирования: насколько сложные программы вы сможете написать на питоне, не пользуясь в принципе переменными (а также агрументами функций), за исключением пары глобальных массивов? Правильный ответ: да любой сложности. Если что-то можно сд...

Ретроспективный взгляд на развитие микропроцессоров CISC, RISC, MIPS, ARM С момента разработки первой в мире интегральной схемы в 1959 году прошло несколько десятков лет. Все эти годы аппаратные реализации вычислительных устройств, словно древние организмы «Мезозойской эры», претерпевали многочисленные изменения.Они эволюционировали под «давлением...

С 1 января. Сотовые операторы «МТС», «МегаФон», «Билайн» и Tele2 подготовили крайне неприятный сюрприз для абонентов Едва ли какой-то человек в современной России может представить свою жизнь без постоянного непрерывного доступа к услугам телекоммуникационного характера. Такие позволяют всегда и везде оставаться на связи, а получить к ним доступ можно за определенную Читать полную версию ...

Дизайн-разбор ссылок в вёрстке Привет! Это первая статья из серии разборов элементов веб-вёрстки для дизайнеров интерфейсов (и немного аналитиков). Разберём атрибуты разных тегов, свойства, которые можно к ним применить, поведение в разных обстоятельствах. А главное – как они влияют на то, что видит польз...

Как я запускал бренд-медиа об ИИ. Часть 2: попугаи и нагон мертвых душ в Телеграм банка перед конференцией 2023 В предыдущей серии: команда банковских менеджеров, пыталась безуспешно запустить бренд-медиа об ИИ в течение почти 2 лет.Уровень их некомпетентности оказался настолько высок, что старая редакция в результате не выдержала и со скандалами ушла. Потом пришел я и набрал новых лю...

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

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 2: Классическое машинное обучение Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).В предыдущей статье я поделился материалами для подготовки к одному из самых волнительных (для многих) этапов - Live Coding.В этой ...

Тестируем новые ионисторы: взорвутся или нет? Мы продолжаем рассказывать о внутренней кухне Wiren Board. В наших контроллерах используются модули резервного питания WBMZ4-SUPERCAP на суперконденсаторах (ионисторах).Мы постоянно ищем новые компоненты, которые позволят сделать продукты Wiren Board лучше или снизить себест...

[Перевод] std fs в Rust медленнее, чем Python? Нет, это аппаратный баг В этой статье я поделюсь с вами долгой историей, которая начинается с op.read() opendal, а заканчивается неожиданным поворотом. Это путешествие оказалось для меня достаточно поучительным, надеюсь, и для вас оно будет таким же. Я постараюсь максимально точно воссоздать с...

Рекомендации Алексея Кузовкина для максимально безопасной работы в интернете Современные люди уже привыкли активно пользоваться такими благами цивилизации, как безграничный доступ к информации в сети. Еще каких-то 20 лет назад многим для поиска интересной книги или профессиональных знаний надо было отправляться в библиотеки и просиживать там часами р...

Нейросети, виртуальная реальность и Бог-солипсист Несколько недель тому назад компания OpenAI анонсировала скорый выход нейросети SORA, способной создавать связный осмысленный видеоряд из простого текстового описания того, что вы хотите увидеть. То, как работает эта нейросеть, можно узнать из великолепной статьи "Настоящее ...

Собирательный образ Junior Android Developer. Какой он в 2024? С каждым годом мобильные приложения становятся неотъемлемой частью нашей повседневной жизни, укрепляя свою позицию. Они интегрировались в различные аспекты делая нашу жизнь более удобной. В свете растущего интереса к сфере IT, не мало людей стремятся попасть в мир мобильной ...

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

Настройка Wi-Fi «из коробки» Поводом написания статьи были частые вопросы новичков в чате Zyxel: "Как настроить Wi-Fi с нуля на новом автономном оборудовании Zyxel, состоящего из межсетевого экрана Zyxel ATP или USG Flex со встроенным Wi-Fi контроллером и точек доступа?Мануала и примеров в данный момент...

[Перевод] Rust — лучший язык для инфраструктуры данных Мир технологий бесконечно цикличен, и за последние несколько лет произошел еще один поворот колеса. Такие проекты, как ScyllaDB и Redpanda, добились успеха, переписав системы с Java (Cassandra и Kafka соответственно) на C++ для повышения производител...

Подборка: навыки и инструменты начинающего Go-разработчика Привет! Меня зовут Александр Тетеркин, я Go-разработчик в VK. Раньше я писал на Python, потом перешел на Go — пишу на этом языке уже три года, а также являюсь наставником на курсе «Go-разработчик с нуля».Я знаю, что новички в любой сфере задаются вопросами о том, с чего нача...

Попытка получения исходников ядра от производителей, и последующее хамство от них Нарушение лицензии и отказ технической поддержки предоставить исходники — одни из множества неприятностей. Особенно если речь идёт о довольно крупных компаниях, в моём случае — Digma. В этой статье рассказываю, как я пытался получить исходный код ядра Linux, к...

Ослепить Sysmon полностью. Манипулируем объектами ETW, чтобы обойти мониторинг Для подписчиковПолучив доступ к системе, злоумышленник первым делом пытается вывести из строя средства аудита, чтобы как можно дольше оставаться незамеченным. В этой статье я покажу, как атакующий может ослепить средства мониторинга Windows путем манипуляций с подсистемой Ev...

Путеводитель по DDoS: основные виды и методы борьбы Всем привет! На связи Николай Едомский, руководитель группы сетевых инженеров в ЕДИНОМ ЦУПИС.В этой статье я простыми словами расскажу о том, что из себя представляет DDoS, о самых распространенных видах DDoS и методах борьбы с ними. Основная цель материала – на простых прим...

Всё что вы хотели знать про ACL в Active Directory В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более...

А ты хорошо знаешь Go? Держи пару полезностей по оптимизации кода Привет, Хабр!Эта статья — моя подборка приёмов и техник, которые помогут писать лаконичный и производительный код на Go без лишних костылей и велосипедов.Речь пойдёт о:полезностях для конкурентного программированияприёмах в Go в целом, таких как использование iota, работа с ...

[Перевод] BEEPY, наладонник для взлома Linux Портативное устройство, ранее известное как Beepberry, после чего его создатели получили вполне предсказуемую официальную жалобу, безоговорочно создано для фанатов Linux. В течение последних нескольких недель, играя с этим устройством, я компилировал драйверы ...

Плагины IDE — простой способ войти в безопасную разработку. Без регистрации и СМС Разработчики используют плагины каждый день, и их функциональность призвана упростить разработку, например, автоматически проверять проставление всех специальных символов (таких как «;», «:») или соблюдение синтаксиса. Они буквально были созданы для того, чтобы разработчики ...

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

Ветер и кольца: об экзотических звёздных классах Be и WR Большинство звёзд относится к основным спектральным классам, от бело-голубых O до красных M. Проходя типичную звёздную эволюцию, они укладываются в знаменитую Главную Последовательность, раскинувшуюся по центру диаграммы Герцшпрунга-Расселла. Возможно, данная диаграмма была ...

Разбираем TLS по байтам. Часть 1: кто такой этот ваш HTTPS? Подключение к сайту бывает защищённым, а бывает нет — это надо знать всем детям. Только мало детей знают, что это значит и как работает. Я, изучая веб-разработку, узнал об HTTP. Разобраться в нём несложно: в каждой статье о протоколе множество наглядных примеров запросов ...

[Перевод] Глубокие нейронные сети: 33 года назад и 33 года спустя Давайте обобщим то, что мы узнали, будучи путешественниками во времени 2022 года, изучающими современную технологию глубокого обучения 1989 года:Прежде всего, за 33 года мало что изменилось на макроуровне. Мы все еще создаем дифференцируемые архитектуры нейронных сетей, сост...

Полноценный 2D-платформер на Python в 2023? Мой опыт Говорят, что на Python легко и просто создавать игры-платформеры. Правда ли?В этой статье вы узнаете о всех стадиях создания игры-платформера на Python, о сложностях при его создании и выводах, которые я сделал после релиза игры. Читать далее

Библиотека EremexControls.NET для Avalonia UI — Обновление март-апрель 2024 В предыдущей статье мы рассказали о нашей первой версии библиотеки UI контролов для создания мультиплатформенных приложений под Avalonia UI. С тех пор прошло достаточно времени, в течение которого мы продолжали работать над новой версией Delta Design и расширением линейки ко...

Как Одноклассники борются с сетевыми эффектами в A/B-экспериментах Всем привет! На связи снова отдел продуктовой аналитики Одноклассников. Меня зовут Виктория Гордеева, я руковожу этим отделом, и сегодня я бы хотела поделиться нашими болями при проведении А/B-тестов. A/B-тесты во многих кейсах сопровождаются разными проблемами — высоко...

И вновь KolibriOS! И вновь ассемблер!. В прошлой статье, я решил потестировать ассемблер на данной ОС. Но я ни когда не ищу лёгких путей и потому решил окунуться в мир KolibriOS и программировать используя только данную ОС. Всё что я смог выяснить, это то что давно когда-то что-то делали и на данный момент, увы, ...

Small talk для большого успеха: общение с рекрутером, коллегами и новыми знакомыми Ребята, привет! Это Лена, методист курсов английского языка в Практикуме, преподаватель и англоговорящий интервьюер в международных IT-компаниях. Мы с вами уже знакомы по статье о собеседовании на английском для разработчиков.Я хочу более подробно раскрыть пункт о софтскилах...

4 сценария, когда нужно сделать ставку на Kotlin Multiplatform, а не Flutter Привет, это Максим Мялкин — управляющий партнёр и руководитель мобильной разработки KTS.Кроссплатформенные- инструменты помогают бизнесу не писать код два раза под iOS и Android, а переиспользовать его на обеих платформах. В статье — о том, чем Kotlin Multiplatform отличаетс...

Как видели будущее компьютеров в СССР. Часть 2 В прошлой статье мы остановились на 1970-х годах – поговорили о машине «МИР», портативных компьютерах, которые сегодня мы бы скорее назвали калькуляторами. В этот раз заглянем в 1980-е годы – период, когда в СССР активно занимались популяризацией компьютеров и программирован...

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

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

Идеальный кейс внедрения DevSecOps. Так бывает? Привет, на связи отдел безопасной разработки СИГМЫ (ОБР). И хоть наша команда сформировалась относительно недавно, мы уже приобщились к «вечному» — а именно «противостоянию» разработки и безопасников. Если вы читаете эту статью, скорее всего такое знакомо и вам. Но иногда в ...

Аудит производительности 1С-систем: на что обращаем внимание Эта статья немного философская. В начале года хочется порассуждать о причинах, которые подвигают компании заняться более глубоким анализом проблем производительности своих ИТ-систем. Если у вас был опыт привлечения внешних подрядчиков для этой задачи, то предлагаю порассужда...

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

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

Уберите это немедленно! Про некоторые интерфейсные элементы мобильных страниц Дизайнеры специально разрабатывают упрощённый интерфейс сайта, чтобы им было удобно пользоваться на маленьких экранах. Точнее, должны разрабатывать в идеальном мире. Но, к сожалению, в моду вошли некоторые интерфейсные элементы, которые не только не упрощают пользование моби...

Проверка игрового движка qdEngine, часть вторая: упрощение C++ кода В этой статье мы рассмотрим, как статический анализатор PVS-Studio воодушевляет заняться рефакторингом кода. Ведь чем короче, проще и понятнее код, тем меньше в нём ошибок. Читать дальше →

Машины ASML High-NA EUV Twinscan EXE стоят $380 миллионов, и уже забронировано 10-20 единиц ASML сообщила, что ее передовые инструменты для производства чипов с высоким содержанием NA в ультрафиолетовом диапазоне (EUV), известные как Twinscan EXE с высоким содержанием NA, будут стоить около $380 миллионов каждая

Погружение в мир адаптивной верстки с Flutter Я Магин Максим, Flutter-разработчик агентства мобильной разработки Instadev. Поговорим о таком понятии как “адаптивная верстка”. Разберем, для чего она нужна, чем отличается от других видов верстки и какие подводные камни могут встретиться при использовании.Каждый разработчи...

Ты наконец-то поймешь асинхронность в JS Привет, друзья! Сегодня мы поговорим о том, что такое асинхронность в JavaScript и как она работает. Это одна из тех вещей, которые кажутся сложными, но на самом деле довольно просты, как только разберешься. Читать далее

Vue3 provide-inject di Разбираемся с provide-inject до конца. Что он может? Поговорим о том, как его использовать, зачем он вообще нужен и можно ли удобно настроить использование этой фичи в приложении. Читать далее

[Перевод] Как оптимизировать медленные SQL запросы? Большинство проблем, связанных с БД, во время разработки остаются незамеченными, потому что мы пишем код и проверяем его правильность только при малой "заполненности" нашей БД. Поэтому, когда приложение выкатывается в продакшн, через некоторое время начинают появляться пробл...

Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости Всем привет! Снова с вами Юрий Шабалин. Уже много лет я занимаюсь безопасностью мобильных приложений и в своих исследованиях доношу важность этого направления для бизнеса.В одной из прошлых статей я составлял шорт-лист мифов о безопасности мобильных приложений. Один из них б...

О неуловимой киберпреступной группировке Mahagrass: RemCos, BadNews и CVE-2017-11882. Часть 1 Ежедневно в мире происходят сотни тысяч киберпреступлений, некоторые из них совсем незначительные, например, когда любопытный школьник устроил DDoS-атаку на сайт своей школы и вызвал кратковременные сбои в его работе, а некоторые из них насколько глобальны, что даже представ...

[Перевод] Каково это, создавать язык программирования сегодня? «Эта книга – классика. Относитесь к ней бережно». Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небреж...

Сказ о том, как РП репликацию на Марии из зеркал состряпал… Нежданно ни гадано, затеяли значит высшие "итишные" силы включить новые заморские очереди Кафка в уже выполненный на 4/3 проект и слава богу, что только для внешних взаимодействий и передачи всякой информации туды-сюды. Главный архитектор дал благословение и понеслось, да н...

Современное Торговое Оборудование: Оптимизация Процессов с Aisino A90 и Aisino A99 В современном бизнесе эффективное торговое оборудование играет ключевую роль в обеспечении гладкой и удобной работы предприятий. Среди инновационных решений, выделяются смарт-терминал Aisino A90 и Android POS Aisino A99, представляющие собой передовые технологии в области об...

Open Source в российском ИИ: исследование ландшафта Привет, Хабр!Это исследователи из NSS Lab ИТМО и создатели сообщества ITMO.OpenSource. Мы считаем, что важно делать не просто науку, а открытую науку, результатами которой можно легко воспользоваться. Поэтому пишем об открытом коде, проводим митапы «Scientific Open Source» и...

Специалисты по COBOL теперь не нужны? Появился свободный компилятор, который снижает потребность в разработчиках Не так давно мы писали о том, что один из старейших языков программирования COBOL, похоже, вскоре уйдёт с рынка. И не потому, что он неактуален, наоборот, пока что этот язык востребован, главным образом в финансовой и банковской отраслях. Всё дело в том, что ему ищут замену,...

Чек-лист технического писателя при проверке документации Всем привет! Меня зовут Екатерина Мишинёва, я ведущий технический писатель с опытом работы в IT-компаниях более 10 лет.На заре моей карьеры у меня очень часто при написании документов вставал вопрос как максимально быстро и эффективно сделать так, чтобы документ соответствов...

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

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

Что делать в первую очередь? Простая приоритезация задач при помощи риса Реализация проекта или создание продукта связаны с выполнением задач, тестированием идей и гипотез. Зачастую их накапливается огромное количество, и встает извечный вопрос (нет, не кто виноват и что делать): что делать в первую очередь? Если в&n...

Как автоматизировать переобучение моделей? Меня зовут Денис, я управляю разработкой и внедрением моделей машинного обучения в «Газпромбанке» в розничный бизнес. Наша команда ML-инженеров работает в связке с DevOps, мне помогает мой коллега Виталий VitaliyF. Он готовит инфраструктуру для обучения и переобучения моделе...

Надёжность граничных прокси в контейнеризированных приложениях на примере Platform V Synapse Service Mesh Привет, Хабр! Меня зовут Данила Трушин, я руководитель направления в СберТехе. Мы с командой развиваем Platform V Synapse Service Mesh — продукт, который обеспечивает надёжную безопасную интеграцию и оркестрацию микросервисов в облаке.При промышленно...

Ingenuity — один из наиболее совершенных аппаратов в космосе. Он открывает путь к полётам на другие планеты Марсолёт Ingenuity — удивительный научный инструмент, который «смог». Что именно? Во-первых, он доказал саму возможность совершения полётов в атмосфере другой планеты. Соответственно, теперь NASA разрабатывает «наследников» этого вертолётика, которые, если всё пойдёт гладко,...

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

Сказ о том, как для андроидного приложения бумажное руководство писали Руководство пользователя для андроидного приложения само по себе невероятная редкость — я сходу не смог вспомнить ни одного примера, тем более на бумаге. Затея сделать печатное руководство пользователя приложения на смартфоне нетривиальна, однако здравое зерно в этом есть. Б...

WhatsApp внедряет новую боковую панель для пользователей веб-версии, оптимизировав навигацию Редизайн этого элемента завершен и для многих стал неожиданностью

Борьба с несбалансированными данными Привет,Хабр! Почему несбалансированные данные - это такая большая проблема? Все начинается с того, что в реальном мире классы могут быть не равномерно представлены в наших данных. Например, в задаче обнаружения мошенничества с кредитными картами, обычные транзакции будут сос...

Как вырастить из ребёнка айтишника долгими зимними вечерами? Привет, Хабр! Жизнь удалёнщика вдвойне веселее с детьми. Изредка переводя взгляд от монитора вовне, я пытаюсь воспитывать дочку. Пока чаще получается наоборот. Эта гибридная нейросеть неохотно соглашается переключаться в режим обучения с учителем, но при этом требует 200% вн...

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

70% IT-специалистов отметили важность атмосферы в компании, где им предстоит работать Мы на Хабр Карьере снова пообщались с IT-специалистами и собрали исследование. Но в этот раз не только его — результаты показались нам настолько интересными, что мы придумали тест для поиска работы. Эта статья — про атмосферу в IT-командах, а именно «вайбах», которые, как ок...

Как я заработал 500 000 рублей, сделав доступ к ChatGPT. Мои 6 выводов по итогу проекта Пишу в продолжение прошлой статьи "Как я заработал 500 000 рублей, сделав доступ к ChatGPT. А потом Яндекс убил SEO и всё (почти) закончилось". В прошлый раз я рассказывал о запуске проекта на базе ChatGPT, а сейчас будут выводы и мысли, к которым я пришёл по ходу разра...

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

Не будьте героем Привет, Хабр! Я Женя Кучерявый, директор по фронтенду в Rentu. В этой статье расскажу как мы переезжали с Vue2 на Vue3, какие шишки набили и чему научились. Статья не хардовая. Читать далее

[Перевод] GROUPING SETS В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях. Читать далее

0b10 лет спустя: нырок в девопс Привет, Хабр! На связи автор статьи двухлетней давности «Пожалуйста, прекратите называть админов девопсами». В ней, если помните, я ловил пескарей в процессе поиска работы офигевал от несоответствия реального мира и моих онтологических ожиданий. С те...

Кто такие специалисты по безопасной разработке и где на них учиться Привет, Хабр! В этой статье мы разберемся, кто такой специалист по безопасной разработке, какие требования к нему предъявляют работодатели, сколько специалисты этой профессии сегодня зарабатывают и куда можно пойти учиться на AppSec-специалиста. Давайте знакомиться! Меня зов...

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

Persistent-request библиотека для надежных запросов Всем привет!В этой статье расскажу, как решил написать библиотеку https://packagist.org/packages/xman12/persistent-request и что там внутри.Как и любая библиотека, эта решает свои задачи, а именно гарантированное выполнение запроса и последующую обработку. Я находил, как мин...

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

Код-ревью и советы по повышению его качества: на что обратить внимание в первую очередь? Привет, Хабр! Сегодня поговорим о код-ревью, т. е. проверке и оценке качества кода выполненной разработчиком задачи перед её релизом. У код-ревью несколько положительных моментов:● поиск багов и проблем кода, что значительно снижает вероятность проникновения этих багов ...

Микросотовые IP-DECT-системы Yealink: сбор требований и проведение радиопланирования Вторая статья посвящена особенностям работы с микросотовой системой Yealink на этапе ее внедрения.Внедрение — важнейший этап построения стабильно работающей высоконагруженной микросотовой DECT-системы. В этой статье рассмотрим следующие вопросы:• что такое радиопланиров...

Бюлер: Для ракет Х-22 украинская ПВО похожа на прозрачное "стекло" – все цели ВСУ снова поражены ЗРК Patriot опять просто стоят и "наблюдают"

UUIDv7 Седьмая версия UUID (Universally Unique Identifier Version 7, UUID Version 7, UUIDv7) является модифицированной и стандартизованной версией ULID. Проект стандарта (далее стандарт) находится в ожидании окончательной проверки редактором. Но уже имеется большое количество реали...

Ленивые бесконечные списки на основе Deferrable Views При создании удобных и отзывчивых интерфейсов часто возникает ситуация, когда нужно иметь дело с большими коллекциями элементов. Один из способов организации списков – бесконечный просмотр, но данный способ скрывает в себе ряд технических сложностей.В статье рассмотрим, ка...

Наблюдаемость качества разработки: от субъективных суждений к объективным данным Привет, Хабр! Я — Алексей Диянов, технический директор Nedra Digital. Мы — IT в нефтегазовой отрасли. Компании чуть больше трёх лет. Мы быстро выросли как в численности персонала, так и в количестве проектов, но не избежали классических проблем в виде трудностей внутренней к...

Будущее электромобилей: аккумуляторы, которые меняют правила игры Два крупнейших производителя элементов питания из Китая собираются снизить цены на свои продукты на 50%. Причиной этому стала усиливающаяся конкуренция на рынке электромобилей, где элементы питания имеют решающее значение и являются самым дорогим компонентом транспортного ср...

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

Про сортировку чисел и SIMD или как я обогнал STL в 16 раз Cитуация, когда недостаток производительности пытаются покрыть новым железом, не редка. Важно понимать, однако, что железо, которое мы использовали и используем сегодня, содержит в себе множество механизмов, способных актуализировать наш код на года вперед. В моем понимании ...

Сравнение utility types библиотек или тайпскрипт на стероидах Буквально за несколько лет typesctipt стал практически мастхэв в современной фронтэнд-разработке (и не только). Язык типов, работающих поверх языка javascript, который сам по себе является языком со слабой динамической типизацией со всеми вытекающими (отсутствие достойного т...

Postgresso за 2023 В прошлом году Postgresso 12 (49) и был обзором, пробегающим по 11 предыдущим номерам. В этом году мы решили, что эту задачу лучше выделить в отдельный выпуск.ЯНВАРЬPostgresso 1 за 2023 (50)ИгрушкиДа, мы любим рассказывать об игрушечных базах, самодельных базах для души. Бул...

10 лет Docker: от революционной идеи до современной практики Привет, Хабр! На момент написания статьи, я занимаюсь надежностью (SRE) в компании Workday, еще помогаю студентам в Практикуме осваивать курс по DevOps-практикам.В этой статье я поделюсь кратким обзором истории Docker, его ключевыми концепциями и мисконцепциями. Надеюсь, это...

Проектирование боевых систем в играх: с чего начать Большинство игровых продуктов в том или ином виде сталкиваются с боёвкой. Где-то это эпический кошмар уровня Dark Souls, где-то полуавтоматический бой между группами чибиков в мобильном батлере. В этой статье я покажу один из подходов, используемый геймдизайнерами при проект...

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

Диплом специалиста ИБ. Часть №5 — Несанкционированный доступ к IoT-устройствам с BLE Привет, Хабр!Представьте, что вы написали собственную методику обеспечения безопасности устройств IoT и защитили собранное вами устройство в соответствии с ней. Не захочется ли попробовать проверить его защищенность самостоятельно? Эта статья является пятой и заключительной ...

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

Поиск опечаток в проекте Ничего не нашёл на Хабре про CSpell, попробую исправить ситуацию.Для среднего проекта с документацией понадобился линтер для проверки опечаток. Одним из условий была локальная и быстрая проверка текста, без отправки на внешние сервера.Таким инструмен...

iPhone 15: обзор новейшего смартфона от Apple из первых рук. Что это за девайс? Каждый год компания Apple удивляет своих пользователей какой-то фишечкой, пусть и не особо значительной. Знаете, мелочь, а приятно. Иногда удивляют очень сильно, иногда не очень. В этом году корпорация решила сделать корпус устройства из титана, что очень понравилось не толь...

Обеспечение обратной совместимости gRPC API с помощью protolock в GitHub Actions В этом посте я поделюсь с вами подробной инструкцией по настройке автоматической проверки обратной совместимости gRPC API с помощью protolock в GitHub Actions. Читать далее

Обзор актуальных инструментов шифрования в Android Привет, Хабр! Меня зовут Артур Илькаев, я работаю в департаменте экосистемных продуктов, мы разрабатываем VK ID SDK и все что связано с авторизацией и сессиями, в частности — мультиаккаунт.Секретные данные требуют особого внимания при хранении и передаче. Инструмен...

BSIMM: с чего начинается AppSec в компании Безопасная разработка является неотъемлемой частью непростого пути к безопасности приложений. И у всех руководителей и лидов R&D, кто задумывается о построении у себя AppSec, возникает вопрос — с чего же начать? А начать нужно с организации процессов: определить пол...

[recovery mode] О найме. Взгляд оттуда Давайте поговорим о том как нам обустроить Россию правильно нанимать людей и не задавать глупые вопросы на интервью. Читать далее

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

Kerberos простыми словами Несмотря на то, что уже существует множество различных статей про Kerberos, я всё‑таки решил написать ещё одну. Прежде всего эта статья написана для меня лично: я захотел обобщить знания, полученные в ходе изучения других статей, документации, а...

Как обнаружить хакера на этапе дампа учетных данных в Windows? Одна из самых часто используемых техник при атаках — получение учетных данных из операционной системы. В этом можно убедиться, читая аналитические отчеты различных компаний: техника T1003 OS Credential Dumping в подавляющем большинстве случаев входит в ТОП-5. После прон...

OpenConnect: недетектируемый VPN, который вам понравится Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольн...

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

MoonShine 2.0. Что нового? Последние полгода наше комьюнити CutCode работает над новой версией нашей open-source админ-панели MoonShine. И вот недавно состоялся релиз MoonShine 2. Давайте пройдемся по всем значимым изменениям! Конечно, в одной статье я не смогу осветить все нововведения, но попробую с...

На словах ты Лев Толстой, а на деле не можешь развернуть Nginx в Kubernetes Как понять на собеседовании, что человек действительно умеет что-то делать руками, а не просто красиво говорит? В статье расскажу, как мы сделали аналог онлайн-код-интервью для DevOps-инженеров, чтобы точно увидеть уровень навыков и заинтересовать инженеров интересными ...

Проектируем микросервисы с Reactive Manifesto Работаете с распределенными системами или только пытаетесь к ним подобраться? Проектировать такие системы с нуля бывает сложно и страшно: чтобы учесть все нюансы, нужен определенный багаж знаний. На помощь приходит Reactive Manifesto — документ, который обобщил опыт цел...

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

Настольные Intel Core 14 снова заметили в каталоге магазина, презентацию ждут 16 октября Некоторые новинки дороже предшественников, некоторые стоят столько же.

В «2ГИС» не нашли вредоносных компонентов После внешней экспертной проверки приложения «2ГИС», которое ранее было определено системой защиты Google Play как вредоносное, опасных компонентов не было обнаружено, о чем сообщила ТАСС пресс-служба картографического сервиса. Экспертизу провели специалисты...

File upload на React.js шаг за шагом В этой статье напишем компонент для загрузки файлов на сервер, который поддерживает: - Индикатор загрузки - Прерывание отправки - Drag and dropВ нашей конкретной реализации этот компонент будет оберткой и сам не будет отображать файлы, но, я надеюсь, приемы из этой статьи по...

Правильный мониторинг API: метрики и лучшие практики Применение API в разработке ПО сыграло большую роль в создании современных приложений и повлияло на их общую оценку и опыт конечных пользователей. В этой статье Екатерина Саяпина, Product Owner личного кабинета платформы МТС Exolve, рассказывает про правильные подходы при от...

Свой ChatGPT бот в Telegram в 2023 Я решил сделать свою интеграцию ChatGPT в Telegram, чтобы лучше понять, как работает ChatGPT API, какие настройки мне доступны и пользоваться ботом без всяких ограничений, а также иметь свободный доступ к модели GPT-4.Мне не хотелось для этого проекта держать отдельный серве...

Transition Animation: настраиваем анимацию переходов во Flutter Привет! Меня зовут Айдар Мавлетбаев, я Flutter-разработчик в AGIMA. Современное приложение почти невозможно представить без анимации. И один из ее типов — Transition Animation, или анимация переходов. Ее используют, чтобы переход с одной страницы на другую был плавным и крас...

Профессия: технический писатель Хотела начать текст с шутки про то, что раз инструкции никто не читает, то и писать их не обязательно. Однако 14 лет работы в IT-сфере доказывают, что это всё же довольно глупая шутка. В современных компаниях (не только в IT, но и особенно в IT!) на документации завязаны пра...

Z-test Привет, Хабр!Z-тест, известный также как z-критерий Фишера, представляет собой набор статистических методов для проверки гипотез, которые базируются на предположении о нормальном распределении данных. Эти методы используются для анализа, являются ли средние значения двух наб...

Intel продолжает «худеть» – компания избавилась от технологий в области кремниевой фотоники Intel пытается оптимизировать свой бизнес, но пока только распродаёт накопленные активы

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

Restic: эффективное резервное копирование из Stdin Про restic я уже рассказывал в статье Бэкап-хранилище для тысяч виртуальных машин свободными инструментами, с тех пор он остаётся моим любимым инструментом для бэкапа.Сегодня я опишу вам готовый рецепт того как настроить эффективное бэкапирование чего угодно прямо из stdin, ...

Чем мы дышим? Почему я бы не доверял Яндекс.Погоде, Google и IQAir Давайте поговорим о воздухе в Хабаровске. Сейчас там серьезная проблема: город занесло дымом от лесных пожаров. Но интересно, какая у нас информация о качестве воздуха? Читать далее

Настройка двухфакторной аутентификации по VPN. Континент 4 — MultiFactor Возможности злоумышленников растут и украсть пароль не предоставляет сложности. Одним из вариантов решения проблемы безопасности паролей может служить система многофакторной аутентификации. В этой статье мы покажем, как организовать двухфакторную аутентификацию при организа...

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

Самая маленькая контролька на Arduino с дисплеем ФИНАЛ Привет друзья, сегодня мы соберём самую маленькую контрольку на ATTINY85, я знаю, что никто из Вас не ждал продолжения этого проекта, но крупные проекты требуют много времени, а видео на канале не могут выходить раз в три месяца. Поэтому сегодня, мы завершим этот проект. Не...

Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще Привет Хабр! В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы. Хотя для задач машинного обучения на ум приходят такие библиотеки, как pandas, numpy, scikit-learn, keras, tensorflow, matplotli...

Создание шаблонов сайта в Joomla 4+ Последние статьи на Хабре о создании шаблонов для Joomla - 2015-2017 годов. В этой статье опытным разработчикам будет интересно посмотреть на отличия от предыдущих версий Joomla и, возможно, дополнить статью ценным советом. Тем же, кто чаще работал с другими движками статья ...

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

Первый месяц жизни приложения BookDesk или как меня пытались взломать В этой статье я расскажу о первых результатах работы приложения для хранения прочитанных книг в первый месяц жизни.Всем привет. Чуть более месяца назад я выпустил релиз своего приложения BookDesk: Читательский дневник для хранения всех своих прочитанных книг. Почит...

DevSecOps: Сканирование образов при отправке в Amazon ECR Все больше компаний стремятся интегрировать безопасность в каждый этап разработки программного обеспечения. В контексте быстро развивающегося мира контейнеризации и облачных технологий, DevSecOps становится неотъемлемой частью создания безопасных и надежных приложений.Одним ...

Практический пример использования модели детекции изображений Всем доброго дня. Совсем недавно я закончила продвинутый курс от Deep Lerning. Курс объемный, много свежей информации. Мне, как закончившей прикладную математику и часто по работе соприкасающейся с искусственным интеллектом (нейросетки, генетика, fuzzy logics) было не сильно...

Построение пайплайна обработки данных в реальном времени с использованием Python Привет, Хабр!Обработка данных в реальном времени стала важной составной частью современного мира. Бизнес, исследователи, разработчики и многие другие специалисты сталкиваются с необходимостью обрабатывать потоки данных в реальном времени, чтобы принимать решения быстрее и б...

[Перевод] Делаем зеркало-ужастик на базе Stable Diffusion Хэллоуин — современный праздник, во время которого дети и взрослые наряжаются в страшные костюмы и пытаются отпугнуть злых духов или особо нервных соседей. А если вы не подготовились или просто выглядите красавчиком даже в страшном гриме, то можете полюбоваться на жутковатую...

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

Разбор crackme от KilLo (.net) Предупреждение Crackme (как, впрочем, следует из названия) это программы, созданные специально для того, чтобы их взломать (понять алгоритмы, заложенные разработчиком, и используемые для проверки введенных пользователем паролей, ключей, серийных номеров). Подходы и методик...

[Перевод] Вычислительные выражения: Введение Скотт Влащин — безусловный гуру в мире F#, написавший введение в язык, которое рекомендуют новичкам вместо официального руководства. Группа энтузиастов давно (и с переменным успехом) пытается перевести руководство Скотта на русский. Я завершаю перевод цикла, посвящённого одн...

Азы поисковой оптимизации для веб-разработчика: прокачиваем SEO с помощью кода и здравого смысла Привет, Хабр! Поисковая оптимизация обычно ассоциируется только с производством контента, а роль веб-разработчиков в ней часто недооценивают. Мы с этим не согласны. В этой статье обсудим технические детали верстки оптимизированных под поисковые движки веб-страниц, а для за...

Detection-as-Сode. Строим пайплайн для конфига Sysmon Для подписчиковКонфигурационный файл встроенного в Windows средства мониторинга Sysmon может разрастаться до тысячи строк, которые описывают правила отбора регистрируемых в логах событий. Стандартный набор функций Sysmon для проверки конфига неудобен и затрудняет работу анал...

А был ли баг? Может бага и не было? Зачем, как и чем тестировать PHP код В статье рассмотрим основные подходы к тестированию бэкенда на PHP, обсудим преимущества и проблемы, связанные с этим процессом. Также узнаем о методах обнаружения и устранения багов, инструментах и книгах для более глубокого изучения тестирования. Материал будет полезен как...

Основы тестирования в Go: mock-объекты, fuzzing и property-based testing Привет, Хабр!Golang как ЯП очень хорош для разработки высокопроизводительных приложений. В любом проекте наступает момент, когда нужно проверить, насколько хорошо все работает на самом деле, это можно сделать с помощью тестирования.Тестирование в Go можно выполнять с помощью...

Технологии прошлого и настоящего: как я сделал Nixie Clock с самодельным драйвером на ESP8266 Радиолампы, словно артефакты из прошлого, олицетворяют нечто большее, чем просто технологию. Они несут в себе определенную магию, отражающую уникальное сочетание технического мастерства и эстетики. Не удивительно, что часы на неоновых индикаторах занимают довольно уникальну...

Реальная эффективность. Как подняться на новый уровень Привет! Этот пост - как и весь блог - для смелых и амбициозных IT-экспертов. Для тех, кто знает, что такое увлекательные проекты, с кем случается работать по 17 часов в сутки (потому что интересно), кто любит свою работу, и ищет в ней своей самореализации. А кроме этого, зна...

Причины компьютерных сбоев, о которых вы даже не думали Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор»... и радиофизик. До этого я рассказывала вам о рабочих кейсах, а сегодня поведаю о программистско-астрофизическом эксперименте.Бывало ли на вашем пользовательском веку такое, что компьютер внезап...

Как перестать переусложнять и начать жить Мое наблюдение состоит в том, что мы — разработчики и продукты, сильно переусложняем, осознанно или нет, но всякие «„Архитектурные комитеты“, „Планирования“, „Апрувы у 50 отделов“ и деплои в 2-часовые окна, простыни текста сопровождающие простей...

Искусство следопыта в корпоративной инфраструктуре В этой статье хотелось бы обсудить индикаторы атаки — ту часть Threat Intelligence, которая отвечает за эффективное реагирование на угрозы и расследование инцидентов. В этом контексте вспомним одну из апорий Зенона Элейского - про Ахиллеса и черепаху. Современный бизнес част...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)