Социальные сети Рунета
Вторник, 21 мая 2024

Погружаемся в PEB. DLL Spoofing В предыдущей статье мы в первом приближении рассмотрели PEB и разобрались, как подменить аргументы командной строки.Продолжая разбираться с PEB, рассмотрим еще один способ повлиять на исполнение программы, и попробуем подменить вызываемую из DLL функцию. Читать далее

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

Алгоритмические собеседования нужны Это ответ на статью, что алгоритмические собеседования не нужны. Простите за кликбейтный заголовок, но он такой и в статье, на которую я отвечаю.Сразу скажу, что моя статья относится лишь к условному ФААНГу. Многие аргументы из этой статьи теряют значимость в других случаях:...

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

Четвёртое наблюдение о командной строке и путях в файловой системе В недавно опубликованной статье «Три наблюдения о командной строке и путях в файловой системе» были рассмотрены некоторые особенности интерпретации командной строки оболочками в операционных системах Windows и Linux. Первое наблюдение было о том, что командные оболочки SH/BA...

[Перевод] Может ли наша Вселенная быть симуляцией? Как мы можем это определить? С тех пор как в 2001 году оксфордский философ Ник Бостром предложил свой аргумент в пользу того, что мы живём в симуляции, нёрды всей Земли пытаются оценить возможность того, что реальность на самом деле не существует, что то, что мы воспринимаем как нашу Вселенную, является...

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

[Перевод] Аннотирование args и kwargs в Python Когда я пытаюсь обойтись без *args и **kwargs в сигнатурах функций, это не всегда можно сделать, не вредя удобству использования API. Особенно — когда надо писать функции, которые обращаются к вспомогательным функциям с одинаковыми сигнатурами.Т...

Зачем вам Employee Experience: как премии, CRM и выдача ноутбуков влияют на прибыль компании Привет! Мы команда UX-исследователей Alfa Research Center. В банке отвечаем за Employee Experience (EX) — исследование клиентского опыта сотрудников. Мы погружаемся в устройство процессов и интерфейс внутренних продуктов. Мы не ограничиваемся исследованиями интерфейсов ...

«Физика для программистов» — как физтехи применяют её в приложениях. Бросок объекта под уголом к горизонту Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МТФИ ВШПИ. Мы написали приложение на Flutter и сайт на React для моделирования броска, расскажем о нашем опыте в этой статье. Читать далее

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

Инструкция: включаем обновлённый дизайн диалоговых окон в «Параметрах» в Windows 11 Build 26217+ (Canary) Microsoft начала публичное тестирование обновлённых диалоговых окон «Переименуйте компьютер» и «Изменить дату и время» в приложении «Параметры», которые теперь выполнены в стиле Fluent Design. Стоит отметить, что они появились в системе ещё в сентябре 2022 года, но до сих п...

Wolfram Language JavaScript Frontend Wolfram Language JavaScript Frontend - это проект, цель которого в создании бесплатной альтернативы для Mathematica с открытым исходным кодом, но со своими особенностями и преимуществами, а если точнее то в реализации пользовательского интерфейса для ядра Wolfram Language (W...

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

Игра в безопасность Android-приложений Давайте в общих чертах рассмотрим вопросы взлома и защиты Android-приложений. В рамках статьи нас интересуют сами процессы взлома и защиты, а не конкретные методики работы с конкретными инструментами. Поэтому разберёмся с этими процессами и постараемся сделать выводы. Ч...

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

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

Кейс-Позор: как Яндекс учитывает Конверсии от ботов В этой статье я продемонстрирую ботов, которые совершают конверсии. Покажу как нейронка Яндекса на них обучается, мы увидим как Директ списывает цену за конверсию, совершенную ботом. На кейс я потратил примерно 10000 рублей - все эти 10000 рублей съели боты.Если вы запускали...

Аутентификация go с использованием токенов PASETO В этой статье мы напишем небольшой сервис аутентификации на go с использованием токенов PASETO. Этот токен можно использовать вместо JWT для процесса аутентификации. Если хотите узнать о PASETO подробнее, то можете почитать статьи на Хабре или гитхабе. Читать далее

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

5 причин, почему не стоит покупать Ryzen 5 5600X в 2024 году В этой статье я приведу 5 аргументов против покупки одного из самых популярных CPU.

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

Умная квартира айтишника: хотел всё на Wi-Fi, но передумал Артур — айтишник из Минска, который любит все технологичное и современное. После покупки новой квартиры с черновой отделкой все сомнения были отброшены: она будет умной!Как тогда казалось Артуру, беспроводные технологии — самое передовое и удобное решение для инженерных сист...

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

«Физика для программистов» — как физтехи применяют её в приложениях. Маятники Данная статья входит в цикл, освещающий задачи на моделирование физических процессов на факультете МТФИ ВШПИ. В этой части речь пойдёт про задачу моделирования поведения маятника: коротко разберём теорию, которая лежит в основе модели, немного подумаем над архитектурой и нап...

Postgresso #10 (59) PostgreSQL 16.1- а также PostgreSQL 15.5, 14.10, 13.13, 12.17 и 11.22 (эта версия последняя, которая будет поддерживаться в линейке 11). Обновление закрывает 3 проблемы безопасности:CVE-2023-5868: показ содержимого памяти в вызовах функций с агрегацией (memory disclosure in ...

Microsoft хочет возродить редактор командной строки в 64-битных системах Менеджер по продуктам Microsoft Коннор Плант рассказал об обсуждении, которые он начал на GitHub, чтобы узнать мнение разработчиков о намерениях вендора возродить текстовый редактор в командной строке Windows.

Реализация многофункционального терминального интерфейса для МК AVR В данной статье речь пойдёт о разработке многофункционального терминального интерфейса для МК (на примере МК Atmega32 и терминала HyperTerminal. Многофункциональность в моём случае будет заключаться в обработке управляющих символов и управляющих последовательностей с целью р...

Эффект обратного действия Я однажды упоминал в статье на Хабре так называемый "эффект обратного действия". Это когда люди, получая достоверные аргументы, противоречащие их убеждениям, не меняют мнение, а укрепляются в правоте. Эффект впервые обнаружен исследователями Найханом и Райфлером. И в СМИ он...

Пишем приложение на Python для подготовки к собеседованиям по Python На конец 2023 года язык программирования Python является самым популярным по индексу TIOBE. Что касается работы, то по количеству вакансий в мире язык Python занимает второе место (после JavaScript/TypeScript). Поэтому у соискателей на должность, где требуется Python, возник...

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

Kaspresso для самых маленьких Привет! Меня зовут Элчин, я занимаюсь автоматизацией мобильных приложений в hh.ru и расскажу вам о том, как написать первый тест на Android. В разработке автотестов мы используем Kotlin и нативный фреймворк Kaspresso, о котором я напишу подробней в этой статье. Читать далее

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

[Перевод] Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL В данной публикации я поделюсь двумя основными причинами, по которым я предпочитаю избегать использования автоинкрементных полей в PostgreSQL и MySQL в будущих проектах. Вместо этого я предпочитаю использовать UUID-поля, за исключением случаев, когда есть очень веские аргуме...

Инструкция: включаем обновлённый дизайн меню «Пуск» в Windows 11 Build 22635.3420 (Beta) Microsoft работает над обновлённым дизайном раздела «Все приложения» в меню «Пуск» для Windows 11, в котором список приложения заменят на сетку без алфавитного указателя. Изменение обнаружил пользователь PhantomOfEarth в недавно выпущенной инсайдерской сборке Windows 11 Bui...

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

Как ChatGPT поможет заменить репетитора по английскому для айтишников По мотивам нашей прошлой статьи “Как айтишникам быстро выучить английский с помощью ChatGPT? “ мы решили написать продолжение и чуть побольше раскрыть эту тему, раз она так залетела. Несколько лет назад мы бесповоротно влюбились в теорию Стивена Крашена. О ней можно чут...

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

TOTP без смартфона Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.Б...

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

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

Как я написал программу для преданалитики клиентов Привет! Меня зовут Александр Кулагин. Я не занимался разработкой профессионально, но заинтересовался созданием нейросетей. После изучения основ Python, NumPy и TensorFlow я захотел попрактиковаться на реальных задачах. Так я решил создать проект, который оценивает, какие ком...

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

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

Как легко сделать подмену данных на вебе? Привет, Хабр!Хочу поделиться интересным приложением, которое значительно упрощает процесс веб-тестирования.В роли QA-инженера, активно тестирующего веб, я часто сталкиваюсь с необходимостью изменения запросов/ответов API, статус кода ответа и других параметров. Иногда возник...

Что нужно знать о gRPC системному аналитику Всем привет! Я Ирина Матевосян, системный аналитик в направлении продуктового и системного анализа в отделе Tinkoff Mobile Core. Мы разрабатываем общие библиотеки, которые используют все мобильные приложения экосистемы Тинькофф. Расскажу о протоколе gRPC. На Хабре много...

Linux 6.9 уже готов: что нового? Изменения и дополнения в ядре Прошло всего два месяца, и Линус Торвальдс обнародовал, если так можно выразиться, релиз ядра Linux 6.9. В новой версии — 15 680 исправлений от 2 106 разработчиков. Общий размер патча — 54 Мб (изменения затронули 11 825 файлов, добавлено 687 954 строки ко...

NET hosting. Обзор вариантов и пример деплоя приложения Приложения Dotnet и Mono можно развернуть на сервере разными способами. В статье мы рассмотрим специализированные решения для хостинга dotnet приложений и предоставим инструкцию по развертыванию, написанную на конкретном примере. Читать далее

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

Вступление в мир разработки игр Исследуйте путь профессионала в области машинного обучения и его команды, погружаясь в разработку мобильных игр. Статья рассказывает о переходе от участия в соревнованиях на Kaggle к созданию мобильного приложения «Угадай фильм». Узнайте о проблемах разработки MVP для Androi...

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

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

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

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

Project Loom. Не только виртуальные потоки Начиная с Java 19 нам доступны виртуальные потоки, которые отличаются от обычных, тем что умеют освобождать поток операционной системы во время блокирующих I/O операций. Для этого на уровне JVM был реализован механизм сохранения в хипе и восстановления из хипа стека вызова....

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

Vector.dev: затащили в PoC Привет, Хабр.В одном из проектов, связанных с мониторингом, мы используем Clickhouse, Prometheus, VictoriaMetrics, Grafana, Alertmanager и Vector.dev. Кстати, что общего у всех этих компонентов? Они написаны не на Java – это было одним из требований проекта, но речь ниже пой...

Почему hr в России деградирует? Почему hr в России деградирует?Мой скромный взгляд на нашу суровую и самобытную hr-реальность. Если вы сталкивались в своей жизни со странными и непонятными решениями от hr-ов, возможно объяснение этому поведению вы найдете в этой статье. 100 лет отставания, которые породили...

Что делать, если твой заказчик — весы, или Как заговорить на одном языке с бытовой техникой Меня зовут Алексей Плаксин, я системный аналитик в компании KODE и сейчас расскажу вам, как делал реверс-инжиниринг бытовой техники.Однажды к нам пришел крупный бренд бытовой техники, который в том числе производит и продает «умную» технику для дома. Нам нужно было в коротки...

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

Cypress для Junior QA. Легкий способ войти в автоматизацию Сегодня мы поделимся навыком тестирования сайтов и веб-приложений с помощью Cypress. Автоматизируем поиск книг по тестированию и добавим их в избранное на сайте Литрес!Что нам необходимо для установки и запуска автотестов: 1. Браузер Chrome актуальной версии;2. Редактор кода...

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

[Перевод] Еще раз о перформансе стримов в Java Перевод статьи, где автор замеряет перформанс Stream API в Java на около-реалистичных (и не очень) задачах. Как и автору, мне нередко на глаза попадаются заявления что мол вся эта функциональщина в джаве - баловство и скорее вредный сахар. И что старовер с джавы 1.6 напишет ...

Microsoft в тестовом режиме добавила бот ChatGPT в командную строку Windows 11 Для использования чат-бота для терминала нужно загрузить приложение с GitHub.

О, вы из Англии? Локализация Ozon Seller на iOS Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.Нашим приложением активно пользуются юзеры из р...

Как подружить Visual Studio 2005/2008 с Firebird ADO.NET Data Provider Добрый день читатели Хабра. В данной статье хочу рассказать вам о том, как настроить Visual Studio 2005/2008 для работы с Firebird в визуальном режиме. Недавно столкнулся с задачей написать небольшое приложение под .net с использование БД Firebird. Все хорошо, но стандартн...

Успешный опыт участия в Data Science хакатонах В статье я хочу поделиться успешным командным и личным опытом участия в хакатонах и ML соревнованиях. На примере 13-ти соревнований, по итогу которых мы победили или оказывались на призовых местах, я рассажу о практических советах для будущих участников. На личном опыте я уб...

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

[Перевод] Ranking Functions: ROW_NUMBER Четыре функции ранжирования: ROW_NUMBER, RANK, DENSE_RANK и NTILE появились в SQL Server 2005 и отличаются от обычных скалярных функций тем, что результат, который они выдают для строки, зависит от других строк выборки. От агрегатных функци...

Продукт 2.0: разработать стратегию, чтобы в неё поверили, и не сойти с ума Я работаю в банке, и каждый год мои Product Owners разрабатывают и защищают перед руководством и заказчиками стратегию развития продукта на следующий год. Это обязательный ритуал, потому что без этого:а. Не будет денег на следующий год.b. Непорядочно в целом называть се...

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

Пишем REST-приложение на Delphi Привет, Хабр! Я Ануар, работаю в GlowByte и профессионально играю на нервах (шутка

zVirt Hosted Engine: практика развертывания в картинках Привет, друзья! С этой статьи компания Orion soft начинает вести свой блог на Хабре. Сегодня я расскажу о том, как происходит развертывание системы виртуализации zVirt. Текст предназначен для тех, кто еще ни разу не работал с нашим гипервизором, но в тайне (или явно) мечтает...

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

Docker для новичков — #2 Все инструкции Dockerfile В этой статье я расскажу об инструкциях Docker, о том как написать Dockerfile и о существующих best practice для этого! Читать далее

Генеративная «уловка-22», или Почему ИИ плохо отличает сгенерированные тексты от написанных человеком Соблазн выдать текст, написанный ИИ, за оригинальный собственный стал особенно велик в последние годы, когда нейросети сделали огромный шаг вперёд. Вместе с этим, конечно же, появилась потребность определять тексты, написанные ИИ, а не человеком. Дошло до того, что некоторые...

[Перевод] 3. Nix в пилюлях: Погружаемся в среду Третья статья из цикла Nix в пилюлях. Наконец-то, практика! Разбираемся, что такое окружения и поколения, учимся откатывать изменения, выясняем, как работать с каналами Читать далее

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

[Перевод] Анатомия Hello World на языке C Эта статья посвящена программе Hello World, написанной на C. Это максимальный уровень, на который можно добраться с языком высокого уровня, не беспокоясь при этом о том, что конкретно язык делает в интерпретаторе/компиляторе/JIT перед выполнением программы. Изначально я хо...

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

[Перевод] Как я уменьшил размер образа docker на 40% Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл-скрипт...

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

[Перевод] Поисковый движок в 80 строках Python В сентябре я устроился на должность поискового дата-саентиста и с тех пор часть моих обязанностей заключается в работе с Solr — опенсорсным поисковым движком на основе Lucene. Я знал основы работы поискового движка, но мне хотелось понять его ещё лучше. Поэтому я закатал рук...

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

Стоит ли собирать ПК самостоятельно: 5 аргументов за и столько же — против Изучите их, прежде чем сделать выбор.

Как мы анализируем потребление памяти нативными приложениями Технологическая платформа 1С:Предприятие – это большой программный продукт (только на С++ - более 10 миллионов строк кода, а есть ещё Java и JavaScript). Подробнее про устройство платформы можно прочитать тут.В процессе эксплуатации решений, созданных на платформе 1С:Предпри...

Инструкция: включаем кнопку Windows Studio Effects на панели задач в Windows 11 Build 22635.3276 (Beta) Похоже, в ближайшее время в области трея на панели задач Windows 11 появится новая кнопка для Windows Studio Effects — набору звуковых и видеоэффектов на базе ИИ, которые применяются в режиме реального времени. Изменение обнаружил пользователь PhantomOfEarth в недавно выпущ...

Почему происходит подмена телефонных номеров. Часть 1. Кейс МегаФона Волна телефонного мошенничества, к сожалению, продолжается. Запуск системы «Антифрод» немного снизил накал страстей. Операторы перестали пачками получать запросы из МВД. Но проблемы это не решает. И вот почему. Разбираем кейс на примере МегаФона. Читать далее

10 забавных сервисов в области ИИ Привет, Хабр! Генерирую я значит через сервис ИИ новые эмодзи и думаю, а почему бы не написать прямо сейчас статью про это и поделиться с Вами 10 сервисами, которые мне показались забавными. Кого-то из Вас они могут натолкнуть на ещё более интересные идеи или мысли. Меня зов...

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

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

Всё /var/lib/docker пожрал … docker Небольшая юмористическая заметка на тему того, что делать, если докер всё пожрал всё место на диске, от для человека, который каждый день работает с докером не шарит за докер.Заметку написала моя коллега, орфография и пунктуация по возможности сохранены. В какой-то момент ей...

Делаем addon для Blender Люблю Blender. Он мощный, а в последних версиях красивый! А ещё он бесплатный. И даже становится удобнее. Но, если посмотреть на то, сколько вопросов в интернете про то, как сделать что-то вполне тривиальное, начинаешь понимать что до реального удобства там ещё далеко. С пос...

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

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

Как мы делаем свой DBaaS Сейчас мы, в Postgres Professional, разрабатываем новый интересный продукт — DataBase as a Service, и в этой статье хочется немного рассказать о наших успехах, узнать ваше мнение и послушать возможные пожелания.  Читать далее

Android 15 может позволить управлять аудиовыходом телефона прямо с Pixel Watch Эти изменения позволяют приложениям (и смарт-часам) динамически менять назначение аудиовыхода, даже если звук воспроизводится через другое приложение

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

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

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года. В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грам...

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

Коротко об играх от инди разработчиков №2 Прошлая подборка была неоднозначна принята. В комментарии было написано что не надо, а потом кто-то написал что надо. Пусть лайки/дизлайки определят, нужно такое здесь публиковать или нет. Попытка № 2.На DTF в комментариях было очень тепло принято, на пикабу залайкано.Мне на...

[Перевод] Как заново реализовать тетрис Я из тех программистов, кому нравится всё реализовать самостоятельно. Нет, я не имею в виду, что не доверяю работе, сделанной другими. Скорее, я полагаю, что, если сделаю что-нибудь сам, то из этого будет гораздо больше толку, чем если просто взять чужую реализацию. Наприм...

Инструкция: включаем поиск с помощью Copilot в «Параметрах» в Windows 11 Build 26212+ (Canary) В актуальной инсайдерской сборке Windows 11 Build 26212 для канала Canary пользователь Albacore обнаружил новую скрытую функцию, которая добавляет Copilot в поле поиска в приложении «Параметры». Это может быть удобно, если вы хотите изменить какую-либо настройку в системе, ...

Frontend внутри Bitrix. Использование и написание экстеншенов + SPA приложение на Vue или React В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React. Читать далее

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

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

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

Microsoft пыталась продать Apple свой поисковик Bing Не секрет полишинеля, но теперь у Google есть аргумент в суде.

Исследование: коты не меньше собак любят приносить игрушки Ещё один аргумент в противостоянии «кошатников» и «собачников».

6 аргументов от противников докмеда, с которыми стоит поспорить: рассказывает онколог Полина Шило Слишком дорого, слишком долго, слишком модно.

Защита кода приложения Android. Когда хотели как лучше, а вышло не очень В статье расскажу пару случаев из практики анализа защиты приложений Android. Имена и место событий изменены. Любые совпадения — случайность Читать далее

Инструкция: включаем обновлённый дизайн главной страницы «Проводника» в Windows 11 Build 22635.3640+ (Beta) Накануне Microsoft выпустила новую инсайдерскую сборку Windows 11 23H2 под номером 22635.3640 для канала Beta, в которой пользователь PhantomOcean3 обнаружил очередную скрытую функцию. По всей видимости, вскоре разделы на странице «Главная» в «Проводнике» получат обновлённы...

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

Инструкция: включаем новые виджеты на экране блокировки Windows 10 Пару дней назад инсайдеры Windows 10 на канале Release Preview получили новое обновление под кодом KB5035941 (сборка 19045.4235). В ней энтузиасты обнаружили скрытую функцию, после включения которой на экране блокировки появляется несколько новых виджетов MSN — погода, акци...

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

Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на экзамене IELTS Academic Привет, Хабр! В этой статье я расскажу о своем опыте изучения английского языка и поделюсь вещами которые работали и не работали для меня. Процесс изучения языка очень индивидуален, и никогда нельзя утверждать что верный какой-то один метод / схема (хотя некоторые статьи на ...

Symbiote.js VS LitElement Мотивация разработчиков библиотек и фреймворков для фронтенда может быть разной. И если вы, являясь таким разработчиком, хотите работать не “в стол” а с расчетом на какое-то признание и пользу для индустрии, вы должны четко понимать, что именно и зачем вы делаете. Если вы хо...

Японский видеомагнитофон! Делаем ретро-фото в стиле VHS на смартфон И вот уже после заголовка рука сама тянется к минусу, в ожидании статьи с рекламой очередного приложения «VHS ретро звездец стильный камера инстаграм 2022 голливуд эффекты» от какого-то сомнительного разработчика :-) Увы, я и сам был бы рад, если бы всё так было просто. О...

Столтенберг: Ситуация на поле боя сложная, россияне планируют операции на Авдеевском направлении Он отметил, что это аргумент не против помощи Украине, а наоборот - для её наращивания.

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

Как я за месяц написал интерпретируемый язык программирования на Python Привет, Хабр! В этой статье я хотел бы поделиться опытом создания своего языка программирования.ПредысторияМне 14. Обучаясь на втором году Яндекс Лицея, нужно было написать несколько проектов. Первым из них стал проект на PyQT5. Я долго думал над идеей и вспомнил, что летом ...

Лучшие практики RuStore: правила хорошего Code Review для Android Привет, я Михаил Емельянов, руководитель Android-направления в RuStore. Над стором трудится большая команда разработчиков, проект регулярно дорабатывается, а количество новых строк кода неизменно увеличивается. За год работы команда магазина приложений выпустила невероя...

Здоровая конкуренция в GO. Главное не перехитрить самого себя Несколько лет назад я прочитал статью о параллелизации в GO и ничего не понял – я тогда только начинал программировать на этом языке. Но размышления автора мне очень понравились – они подкреплялись бэнчмарками, что было довольно убедительно. Автор игрался c параметром GOMAXP...

Избавляемся от паролей Меня зовут Александр Чикайло, я разрабатываю межсетевой экран уровня веб-приложений PT Application Firewall в Positive Technologies и специализируюсь на защите веба. Сегодня речь пойдет о беспарольной аутентификации и ее безопасном применении в приложениях. В этом материале ...

Шифр Цезаря на Ассемблере Друзья, коллеги, всех приветствую! В этой статье мы напишем шифратор на грязном "макро-чистом" Ассемблере и в качестве элементарного шифра будем использовать Шифр Цезаря (Шифр сдвига с ключом k = n). Статья написана для новичков, которые могут погрузиться в мир "первой" крип...

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

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

Инструкция: включаем страницу «ИИ компоненты» в Windows 11 Build 26016+ (Canary) В актуальной инсайдерской сборке Windows 11 Build 26016 для канала Canary появилась новая страница «Параметры» -> «Система» -> «ИИ компоненты», которая пока скрыта от инсайдеров, так как работа над ней не завершена. Сейчас на странице «ИИ компоненты» дублируется конте...

10 причин, почему я отказался от Android и переплачиваю за iPhone Аргументы на основе многолетнего личного опыта использования техники Apple.

Инструкция: включаем новые виджеты на экране блокировки Windows 11 Накануне Microsoft выпустила новое накопительное обновление для Windows 11 версий 22H2 и 23H2 для инсайдеров на канале Release Preview. Обновление распространяется под кодом KB5035942, а после его установки номер сборки системы изменится на 22621.3371 и 22631.3371 соответст...

Как устроен @State в SwiftUI Привет! Меня зовут Илья, я iOS разработчик в компании Банки.руУже больше двух лет наше приложение мы пишем на SwiftUI. В статье расскажу о Property Wrapper'е @State. Читать далее

Epic Games выиграла суд у Google Сегодня появилась информация о том, что компания Google проиграла судебный иск, поданный против неё компанией Epic Games за монополизацию экосистемы приложений для Android. Google Play от Google является доминирующим приложением для загрузки программного обеспечения на устро...

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

Руководство по развертыванию и управлению Linux-сервером без bash и sh с помощью ispmanager Запуск своего Linux-сервера многие до сих пор видят как работу для владельцев свитера, бороды и толстого тома с инструкциями по Unix/Linux и набором команд в bash/sh-консоли. Возможно вы также считаете работу с командной строкой в терминале чем-то архаичным и неудобным, и ва...

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

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

Переводим документацию API из Markdown в OpenAPI Всем привет! Я Ира — тимлид команды, которая занимается развитием и поддержкой публичного API hh.ru.Несколько лет назад к нам пришли ребята из мобильной команды и сказали, что хотят документацию в OpenAPI формате. Для них это удобно, потому что можно генерировать DTO прямо и...

Работа с Kubernetes: поднимаем локальный кластер и деплоим в него приложения Павел Агалецкий, ведущий разработчик юнита Platform as a Service Авито, написал, как поднять кластер Kubernetes на локальном компьютере Mac с помощью подручных инструментов, а потом задеплоить в него простейшие приложения. Читать далее

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

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

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

[recovery mode] Как нанять работника в ИТ, если он реально нужен в 2024 году Как нанять работника в ИТ, если он реально нужен в 2024 году.Незаменимая статья в помощь моему бывшему руководителю. Которую он не будет читать.И немного в помощь сотруднику, который сейчас решит выйти на рынок. Читать далее

Сравнение сборщиков мусора в Unity и .NET В этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .N...

Как проходит командное интервью в hh.ru Всем привет! Я Святослав, тестировщик в hh.ru. В интернете есть масса информации о том, как проводится техническое собеседование. Но почему-то все молчат о том, что происходит на командном этапе. В этой статье разберемся, как проходят командные интервью на примере нашего опы...

Как AI помогает повседневной работе команды разработки Статья ориентирована на читателя, который еще сомневается в том, стоит ли ему пробовать чат‑боты в работе. Если вы знакомы с технологией и пробовали её в повседневной деятельности то вряд ли найдете её полезной.Немного расскажу о реаль...

AITU Military CTF 2024:Digital Fortress: Как мы инфраструктуру для полигона поднимали. Часть 2 Перед прочтением данной статьи настоятельно рекомендую ознакомиться с 1 частьюВведениеДанная статья является продолжением статьи про поднятие киберполигона AITU Military CTF, в этой части мы рассмотрим глобальные изменения касающиеся инфраструктуры, такие как настройка сети ...

Linux From Scratch на Zynq UltraScale+ MPSoC В данной статье я постараюсь описать процесс создания кастомного образа Linux на Zynq UltraScale+ MPSoCс. Каждый необходимый компонент будет собран отдельно с использованием соответствующих утилит. Статья разбита на разделы, которые шаг за шагом знакомят вас с процессом сбор...

React Fiber & Concurrency Part 1 (2) В сети много статей и докладов, которые описывают React Fiber, но, к сожалению, они сейчас уже не актуальны. Заметив это, я решил разобраться и актуализировать информацию. Моими основными помощниками были исходники и отладчик, поэтому здесь вы увидите множество ссылок на код...

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

Как мотивационное интервью поможет переубедить собеседника без единого аргумента Иногда лучший способ — просто задавать вопросы.

Опыт использования бизнес-процессов Битрикс в рамках крупного корпоративного портала Наша команда специализируется на разработке и развитии функционала корпоративного портала группы компаний НЛМК.На практике мы сталкиваемся с самыми разными задачами: от вывода ленты новостей компании и простейших форм обратной связи до функционала оценки качества работы сотр...

Логи в файлах: написал своё приложение для просмотра структурированных логов Не каждому проекту нужно децентрализованное логирование. В моём случае, оказалось проще хранить логи в .json файлах формата Compact Log Event Format (CLEF). Мне нужно было простое и бесплатное решение для просмотра логов. Читать далее

Пользователи смогут устанавливать приложения для iOS прямо с сайта разработчика Компания Apple продолжает менять правила в отношении способов загрузки и установки приложений на iPhone и iPad. Правда, пока все эти изменения и послабления касаются только ЕС. Однако многие с любопытством следят за подобными нововведениями. Сегодня компания рассказала еще о...

“Строка бога”/идеальный промт, часть 3, продолжение про ИИ-генераторы музыки “Человек создан для счастья, как птица для полета” В. Г. Короленко из его рассказа “Парадокс”Здравствуйте, уважаемые читатели!В этой статье я хотел бы продолжить тему появления субъязыка текстовых запросов к нейросетям, однако в этот раз речь пойдет об использовании ИИ в цел...

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

[Перевод] Функция TypeScript 5.3, о которой вам не рассказали 20 ноября команда TypeScript выпустила TS 5.3.Как обычно, я просканировал сообщение об анонсе, но быстро заметил кое-что интересное.Одно из самых важных изменений в TypeScript 5.3 не было упомянуто в примечаниях к релизу. Читать далее

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

Упрощаем локализацию iOS-приложения со String Catalogs Выход продукта на новые рынки сбыта — это деньги. Чем лучше ты знаешь своего клиента, тем вероятнее, что ты их сможешь заработать. Это же правило справедливо и в обратную сторону: клиент более охотно будет пользоваться твоим продуктом, если он может разговаривать с ним на од...

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

[Перевод] Труд разработчиков открытого ПО заслуживает оплаты Предупреждение. Пишу я из чувства негодования, и мне не особо хочется сдерживать тон. Если вы не желаете выслушивать мои резкие высказывания на тему опенсорса, то лучше эту статью не читайте. Недавно в сердцах я написал на Mastodon такой пост: «Мы считаем, что сфера опенс...

Kafka, go и параллельные очереди В этой статье я расскажу о паре способов увеличить пропускную способность системы с помощью партиций kafka и каналов go. В качестве библиотеки-клиента kafka буду использовать segmentio/kafka-go. Статья будет полезна начинающим go-разработчикам, которые уже знакомы с основным...

Зачем смотреть «Министерство неджентльменских дел» — исторический экшен от Гая Ричи Аргумент номер один — бешеный Генри Кавилл в плаще.

Китай строит «свой Тайвань» в Карибском море в непосредственной близости от побережья США Пекин решил найти весомый аргумент в споре с США...

Как работает multiprocessing в Python под капотом Я довольно давно пишу на Python и во многих проектах использовал multiprocessing — пакет стандартной библиотеки языка Python, который предоставляет интерфейс для работы с процессами, очередями, пулами процессов и многими другими удобными инструментами для параллельного прогр...

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

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

Как появились веб-пуши Apple в Тинькофф Всем привет! Мы — архитектор разработки публичных веб-приложений Борис и разработчик системы-шлюза отправки нотификаций Данила. Расскажем о том, как создавались веб-пуши iOS в Тинькофф, как их настраивали и с какими проблемами столкнулись в процессе разработки. Читать д...

Пишем gRPC сервис на Go — сервис авторизации В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также...

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

Zalman ZM-VE500 и неподдерживаемые ОС: «швейцарский нож» инженера дата-центра vs винтажные устройства На Хабре уже есть статья про Zalman ZM-VE500, написанная системным инженером ЦОД. Это одно из немногих устройств, которое содержит в себе эмулятор оптического привода и позволяет иметь под рукой сразу коллекцию ISO-образов операционных систем. Вот только любителям ретрокомпь...

App Clip и тысяча проблем Menusa - проект Dodo Brands. Инструмент по автоматизации процессов для малого бизнеса в сфере общепита.В этой статье расскажу как мы добавляли функционал вызова официанта в App Clip и с какими проблемами столкнулись. Читать далее

Сборник встраиваемых модулей на ПЛИС Интереса ради сделал несколько простеньких модулей (аля платки для встраиваемых систем), про которые и хочу рассказать и поделиться исходниками, вдруг кому пригодится. Да, эта статья не про ПЛИСовую тематику, а что бы её немного разбавить, хотя кого я обманываю, модули же с ...

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

[Перевод] Bash Auto Completion в Linux Пользователи взаимодействуют с Linux при помощи многочисленных команд, вводимых в командной строке. Учитывая разнообразие этих команд и их параметров, не так просто запомнить все наизусть.Однако в Linux предусмотрена удобная функция автодополнения для Bash. Этот инструмент, ...

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

App Puzzle15. Дорога в Питер за android-фоном Совсем недавно в славном городе на Неве проводился конкурс ребятами из местного GTUG, анонс конкурса ютится в этом топике. О самом конкурсе, проведении его и результатах будет подробно написано в отчёте от arkady112. Я же хочу рассказать немного о приложении Puzzle15, котор...

XMPP vs WebSockets: что использовать для приложения чата Если вы планируете разработать приложение для коммуникации в реальном времени, например чат, следует тщательно выбирать технологии. В этой статье Анастасия Иванова, технический писатель платформы МТС Exolve (входит в экосистему МТС), сравнивает два популярных инструмента — п...

Как открыть файл APK на Android, чтобы установить приложение Чтобы установить приложение на телефон, не обязательно обращаться к помощи Google Play. Android — открытая операционная система, предлагающая пользователю массу альтернатив. В частности, вы можете установить приложение вручную. Для этого необходимо скачать APK-файл нужной п...

Microsoft вносит изменения в процесс первоначальной настройки Windows 11 Дизайн процесса установки Windows 11 немного изменился

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

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

Pgpool-II Привет, Хабр!Pgpool-II позволяет юзерам PostgreSQL управлять пулами соединений БД, реализовывать репликацию данных между серверами БД. Pgpool-II работает как прокси-сервер между клиентскими приложениями и серверами PostgreSQL, перехватывая запросы от клиентов и направляя их ...

[recovery mode] Ваша емайл-рассылка нуждается в AMP-emails прямо сейчас В данной статье я расскажу про AMP-emails из личного опыта разработки , покажу примеры какие бывают емайлы, как их можно отправлять, в каких областях емайл-маркетинга они могут использоваться. У меня более 4 лет опыта работы с AMP-emails и мне есть чем с вами поделиться Чита...

[Перевод] От идеи до реализации: создание игры с помощью нейросетей В эпоху быстро развивающихся технологий и искусственного интеллекта мы стоим на пороге новой эры творчества. Инструменты, такие как Midjourney, DALL•E 3 и GPT-4, предоставляют уникальные возможности для творцов различных направлений. Было решено исследовать этот потенциал, с...

Microsoft удалит старую панель задач от Windows 10 из Windows 11 Накануне Microsoft выпустила новую инсайдерскую сборку Windows 11 под номером 26002 для канала Canary, в которой тестируется возможность окончательного удаления старой панели задач от Windows 10. Код старой панели задач по-прежнему присутствует в Windows 11, и некоторые сто...

ШвабрОпс – новое направление в IT-индустрии Л - Добрый день, дорогие зрители, сегодня мы продолжаем нашу серию репортажей «Стартаперы Кварцевой Лощины». С вами снова я, независимый журналист, Лайер Бала-Больё, и сегодня наш гость - талантливый селфмейд, добившийся всего сам, 19-летний сын известного миллиардера, старт...

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

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

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

5 идей, как улучшить Discovery-процессы в команде, если ты продуктовый дизайнер Всем привет! Меня зовут Дарья Томилова, я старший продуктовый дизайнер в СберМаркете. Полтора года назад я пришла в кроссфункциональную команду, которая работает над сервисом самовывоза, — это когда клиент оформляет заказ через приложение СберМаркета, но не пользуется опцией...

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

Практическое руководство по созданию Helm чарта или как избавиться от рутины при работе с YAML манифестами Бывало ли у вас такое, что вы совершали одни и те же действия из раза в раз и наконец-то решили избавиться от всей этой рутины? Но вы решили отложить это решение на некоторое время, в частности из-за занятости или лени. Но вот вы решаете взять себя в руки и всё изменить! Так...

SQL HowTo: итоги по строкам и столбцам «в одно действие» Немного отвлечемся от простых SELECT и посмотрим на реальной бизнес-задаче построения различных "тепловых карт" и "шахматок", как знание возможностей SQL может облегчить жизнь и разработчику, и его базе. Читать далее

Передаем данные с одноплатника Repka Pi (или Raspberry Pi) в интернет по GSM связи через модуль SIM868 и GPRS протокол Всегда ли вы берете с собой смартфон? Наверное да, ведь это удобно, когда под руками есть все каналы связи.Но что, если вы собираете автономно работающее устройство с микрокомпьютером, такое как как радиоуправляемый вездеход, робот присутствия, устройство управления шлагбаум...

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

Оптимизация нейронки в Tensorflow? В отличие от Pytorch, где структура данных выстраивается налету после начала обучения нейронки – в TensorFlow граф статичен. В этой статье мы кратко расскажем про некоторые способы ускорения обучения путем изменения графа вычислений: XLA, GraphTransform Tool, квантизация, за...

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

Напиши в ЛС «томат» или же что за «Клан томатов» Расскажу о игре "Клан томатов", которая уже гуляет по сети >10 лет, чем нарушу её правила.И том, как я написал бота, что бы попытаться вывести эту игру на новый уровень! Читать далее

Sony PlayStation 4 Slim vs Xbox Series S vs Xbox One X в 2023 году Сегодня на рынке сосуществуют три игровых консоли в одной ценовой нише. Три разных философии за $250. Выслушиваю множество аргументов в ту или иную сторону, и сегодня предлагаю обсудить их

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

Самая крутая система управления смартфоном с компьютера — здесь Когда-то подключение разных устройств друг к другу (это и есть значение непонятного слова «экосистема», кстати) было одним из главных аргументов для покупки техники Apple, в отличие от Windows + Symbian, Windows + Android или даже Windows + Windows Phone (позор, да). Но к 20...

USB через IP: тест российского сетевого USB-концентратора Привет! Я Воробьев Михаил, R&D-специалист «Тринити». Мы в отделе исследований и разработок постоянно тестируем множество программно-аппаратных комплексов, которые применяем в работе компании. Когда попадается что-то интересное, очень хочется об этом написать. Вот и ...

Рыночные данные в кармане: как получать их быстро и просто с помощью Java/Kotlin и Spring Boot + TinkoffApi Если вы хотите написать проект, связанный с рыночными данными или торговлей на бирже, и вы знакомы с Java или Kotlin и слышали про Spring Boot, то эта статья для вас Читать далее

<Cookie> ctrl+c ctrl+v: автоматизируем прохождение авторизации в DAST Привет, Хабр!С вами Анастасия Березовская, инженер по безопасности процессов разработки приложений в Swordfish Security. В этой статье мы разберемся, как пройти авторизацию в DAST-сканере с помощью прокси. Почему мы решили взяться за эту тему? Сейчас расскажем. Читать далее

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

Смартфоны Samsung: почему порой лучше выбрать более дешевый Galaxy A, чем флагманский S Samsung ежегодно выпускает среднеценовые смартфоны и их большой плюс в том, что визуально они очень похожи на флагманскую линейку S (за исключением огромных и квадратных моделей Ultra). А схожий визуал – это первый аргумент в силу покупки более дешевого устройства. Читат...

[Перевод] Как я обработал один миллиард строк в PHP Вероятно, вы уже слышали о соревновании под названием "The One Billion Row Challenge" (1brc), если же нет, то предлагаю ознакомиться с репозиторием 1brc Гуннара Морлинга.Моё участие в проекте было мотивировано присутствием в нём двух моих коллег, которые достигли лидирующих ...

Что скрывается в коде игрового движка, написанного на Java? Вы когда-нибудь интересовались игровыми движками, написанными на Java? В этой статье мы рассмотрим и проверим на наличие ошибок в исходном коде один из популярных игровых движков — jMonkeyEngine. Возможно, мы даже узнаем, почему игры пишутся на C# и C++, а не на Java. Читать...

Антимонопольное дело Google завершено: поисковому гиганту грозят санкции Исторический антимонопольный процесс по делу Google завершен, и судье Амиту Мехте предстоит решить судьбу доминирования компании в поисковой выдаче. Основные аргументы сводились к тому, является ли доминирование Google в области поиска и поисковой рекламы следствием антиконк...

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

Инструкция: включаем функцию дублирования вкладок в «Проводнике» Windows 11 Build 22635.3566 (Beta) В инсайдерской сборке Windows 11 под номером 22635.3566 для канала Beta пользователи PhantomOfEarth обнаружил несколько небольших улучшений, которые пока не были официально представлены и отключены по умолчанию. Скорее всего, они станут доступны инсайдерам в ближайшие недел...

В командовании ВСУ назвали "фейком" статью NYT о попавших в плен в Авдеевке украинских военных "Российская пропаганда" и "Вы всё врёте" – обычные классические аргументы на Украине на любую неудобную картину мира за рубежом

Curiosity нашёл на Марсе новый признак возможной жизни в далёком прошлом Ещё один аргумент в пользу того, что Красная планета может таить в себе немало секретов.

Audiocodes MediaPack-202 Т.к. моя работа немного связана с VoIP, решил создать небольшой цикл статей по FXS шлюзам. Перед этим, пробежавшись по поиску не нашел подобных статей, ну что же, раз нет — сделаем. Тем более, что тем кто «не в теме» будет интересно, а тем кто «в теме» будет что добавить в...

Microsoft ответила на "вводящие в заблуждение" заявления FTC об увольнениях FTC заявила о том, что увольнения в Activision противоречат предыдущим аргументам компании в пользу приобретения Activision.

Включаем скрытые нововведения в Windows 11 Build 26052 (каналы Dev и Canary) Несколько дней назад Microsoft выпустила новую инсайдерскую сборку Windows 11 под номером 26052 для каналов Dev и Canary. Это первая публичная сборка из ветки GE_RELEASE, которая была сформирована в связи приближающимся завершением разработки платформы Germanium. Именно на ...

Миграция конфигурации сборки с Groovy на Kotlin DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ...

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): • расскажу о концепциях, которые чаще всего используются сейчас в тестировании• кратко опишу, что такое distributed ...

Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex и автор ютуб-канала «Юрий Петров | Всё об IT». Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. А также мы делаем  свой вклад в развитие экосистемы Аврора + Flutter. В эт...

Помогаторы разработчика 1С Всем привет. Данная статья написана по моему выступлению на Infostart Event 2022, на котором я рассказал об инструментах и «лайфхаках», которые использую в своей работе и которые, как мне кажется, помогают сделать работу разработчика 1С проще, удобнее, а главное, эффективней...

SEC просит суд отклонить ходатайство биржи Coinbase Комиссия по ценным бумагам и биржам (SEC) подала ходатайство в суд с просьбой к судье отклонить аргументы криптобиржи Coinbase

Исходников нет, но мы не сдадимся: как и зачем я портировал более старый Android, чем стоял «с завода»? Моддинг-сцена с разработкой и портированием кастомных прошивок для Android-устройств существует вот уже более 10 лет. В основном, энтузиасты пытаются проапгрейдить свои устройства путем портирования более свежих версий Android, чем предлагает производитель девайса. Чего уж...

А в чем проблема работать с файлами? Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.Меня увл...

Сбор данных мониторинга из Frontend JS приложений используя Grafana Faro Здравствуйте. В данной статье будет выполнено рассмотрение и установка инструмента Grafana Faro для осуществления сбора данных мониторинга из Frontend приложений написанных на JavaScript. Также, перед непосредственным использованием Grafana Faro, выполним установку в кластер...

Как работает блокчейн Scroll: технические детали и обзор архитектуры Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов на Solidity в команде MetaLamp. ​​В этой статье я расскажу про основные технические принципы блокчейна Scroll, которые повлияли на дизайн блокчейна, а также дам обзор общей архитектуры блокчейна.Из этой ст...

Лавров рассказал о запущенном процессе «дедолларизации» «Его уже не остановить», - добавил российский министр.

А где же звук, или почему дистрибутив Ubuntu может не звучать «из коробки» Данная статья написана в помощь пользователям Ubuntu (Lu.., Xu.., Ku.. и прочих derivatives) которые столкнулись с отсутствием звука или проблемами с другим оборудованием на достаточно свежем «железе». Это статья не перевод, а попытка обобщить и показать путь. Если оборудова...

Анализ построения или реверс инжиниринг как инструмент расставить все точки на Ё Дисклеймер.Статья пишется с целью предостережения обвинения кого-либо без полного анализа и сравнения деталей на наличие плагиата, или так сказать, присвоения чужого труда всего-лишьуменьшением полигональности и изменения масштаба. Этап 1. Подготовка к анализу.Инструмент не ...

Microsoft прекращает поддержку прежней версии консоли в Windows Microsoft объявила о прекращении разработки и поддержки прежней версии консоли Windows, которая бывает необходима для запуска устаревших приложений командной строки, есть в режиме по умолчанию они работают некорректно. В будущих релизах Windows 11 этот компонент не будет ус...

Жидкостное (водяное) охлаждение для ноутбука своими руками Всем привет!На создание данного колхоза изобретения меня вдохновила эта старая статья на Пикабу. Идея родилась примерно за полгода до создания этой СЖО, навязчивой она стала примерно за месяц до, реализовал я её за неделю-две.В этой статье уважаемый fillgood изобрёл систему ...

«ReadStreakBot» — как я начал «кодить» с чатгпт, не умея программировать Давно не заходил на хабр, а тут решил зайти и с удивлением обнаружил у себя аж целых 60 подписчиков. Спасибо вам большое, что вы подписались, теперь мне даже как-то неловко, что я так долго ничего не писал про Обсидиан. Видимо теперь придётся всё же написать (мой сетап за эт...

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

Самодельные инструменты для тестирования продукта, или DIY в разработке Все мы привыкли к общепринятым инструментам для тестирования. Думаю, список есть у каждого и он постоянно пополняется. Лично мой: Postman, IntelliJ IDEA и DataGrip от JetBrains, ShareX для скриншотов и его величество DevTools. В этой статье я хотел бы отдать дань само...

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse Привет, Хабр!Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь "А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-ус...

Почтовый сервер на Debian / ALT / Astra / RedOS — опыт портирования Ansible Playbook История начинается в 2017-м году - когда мне потребовался самодельный почтовый сервер на связке Postfix + Dovecot + Roundcube + LDAP-каталог (AD на тот момент). Сказано - сделано - времени ушло прилично (делалось для FreeBSD), но зато много в чем получилось досконально разоб...

Что учесть при портировании приложения на Аврору Привет, Хабр! Меня зовут Дмитрий Мозер, я Flutter Team Lead в Friflex и участник бета-тестирования ОС Аврора. Занимаюсь, в том числе, созданием приложений на Flutter для ОС Аврора.Мы специализируемся на Flutter и активно участвуем в развитии фреймворка на ОС Аврора. Мы уже п...

Assembler для Windows в Visual Studio В этой статье я покажу как написать приложение для windows на ассемблере. В качестве IDE будет привычная многим Visual Studio 2019 со своими привычными плюшками - подсветка кода, отладка и привычный просмотр локальных переменных и регистров. Собирать приложение будет MASM, а...

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

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

Адаптация, а не онбординг: что мы делаем, чтобы наши сотрудники влились в компанию? Привет, Хабр! Я Анна, руководитель отдела адаптации, обучения и развития в ГК «Автомакон». У нас в команде 800+ специалистов на удалёнке, продолжается бурный рост, и возникает вопрос: как не потерять сотрудников на этапе адаптации? Мы выделили отдельную роль – куратор процес...

MyBatis «на минималках» Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis. Почему MyBatis? Потому что мы в CDEK используем его в большинстве проектов, и в деле он весьма не...

Typescript Generics Javascript - крутой язык со своими преимуществами и недостатками. И одно из его свойств - это динамическая типизация, которая одновременно может быть как преимуществом, так и недостатком. Очень много холиварных тредов на этот счет, но по мне так все просто. Для небольших и п...

Операторы в Kubernetes Ручные изменения в кластере доставляют одну лишь головную боль. А чтобы от них избавиться, используются операторы, в частности K8s. Что это такое? И самое главное, как его написать?Меня зовут Дмитрий Самохвалов, я архитектор в компании КРОК. Пробовал себя в разработке, инфра...

NoArchitecture Kotline Compose Статья про основные моменты использования Compose в Android разработке на примере простого приложения. Три таба в одном Activity. Обращение в сеть, парсинг Json. Немного анимации. Приложение сделано на коленке за пару дней. Скорее как вопрос к сообществуTODO: Добавить Clean ...

[Перевод] Веб- и мобильная автоматизация в CI-среде Я вернулся с очередным постом. На этот раз я напишу о процессе интеграции веб- и мобильных проектов автоматизации с облачным провайдером непрерывной интеграции, создании CI-среды и ее подключении к Slack. Эта статья является продолжением первой, в которой я рассказ...

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

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

Деплой Flutter-приложений и особенности платформ Всем привет! Меня зовут Александр Омельяненко, я Flutter-разработчик в AGIMA. Сегодня расскажу про релиз приложений в сторы. И поскольку работаю с кросс-платформой, речь пойдет как про Android, так и про iOS. Уверен, каждый участник команды должен понимать, что происходит с ...

Зеленский предупредил ЕС о риске ударов России по Запорожской АЭС Главным аргументом Зеленского является почти полная «декоммунизация» тепловых электростанций, по которым ВС РФ нанесли ракетно-дроновые удары.

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

[Перевод] Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go.Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.Этот ...

«Ростелеком»: продажи с убедительными аргументами Андрей Зима, директор департамента развития решений искусственного интеллекта «Ростелеком», – о запуске решения, помогающего определять наиболее перспективные сегменты клиентов и повышать качество работы с ними.

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

[Перевод] 8. Nix в пилюлях: Универсальные скрипты сборки Продолжаем знакомство с Nix и NixOS. В прошлых статьях мы научились собирать пакеты Nix (деривации), а теперь попробуем написать универсальный скрипт сборки, который можно было бы использовать для сборки множества пакетов.Люка Бруно продолжает свой захватывающий рассказ. Чит...

От конструктора до облака: какие есть способы разработки мобильных приложений Привет! На связи Вася Крючков, уже больше 7 лет я занимаюсь разработкой мобильных приложений и сейчас работаю в компании IMSHOP.IO, где за 5 лет разработали больше 150 приложений для ритейла. За эти годы часто встречал случаи, когда е-com менеджеры и технические директора сл...

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

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

Как мы автоматизировали тендерные процедуры за счет интеграции SAP с ЭТП Всем привет! Меня зовут Олег Усов, я работаю старшим консультантом SAP MM в Fix Price. Хочу рассказать, как мы проводили интеграцию SAP с электронной торговой площадкой (ЭТП) и системой электронного документооборота (СЭД) для автоматизации ряда процессов по участию в закупка...

Где заканчивается Flutter и начинается платформа? Сердце фреймворка Flutter (который для разработчиков часто представляется только в виде набора классов на языке Dart) написано на языке С и компилируется в двоичный артефакт, известный как Flutter Engine, подключаемый к приложению и используемый из Dart-классов через механиз...

Release Timeline — визуализация GitHub релизов в вашей документации Данное приложение было создано для красивого и удобного показа изменений во Vue 3 проекте в его документации на VitePress. После оно было сделано универсальным, и может быть подключено в любой HTML странице как Web component или микрофронтенд.Попробовать - https://vuesence.g...

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

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

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

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

Kotlin Object Multiplatform Mapper Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего прилож...

Директор Overwatch 2 рассказал о "командных изменениях" Blizzard в преддверии выпуска 9 сезона В 9 сезоне ожидаются захватывающие изменения в режиме Competitive

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

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

Ceph: разбираем базовые операции в кластере на примере интеграции с Hashicorp Nomad Привет! Я Владимир Иванов, системный администратор выделенных серверов в Selectel. Мы довольно часто экспериментируем с подходами, процессами и решениями. В одном из экспериментов добрались до Ceph: сделали тренажер, в котором можно «потыкать» основной функционал хранилища,...

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

Postman Interceptor — альтернатива классическому сниффингу (краткий гайд по установке и взаимодействию) Привет, хабровчане! У вас было такое, когда снифаешь спокойно трафик через бесплатную версию Charles, а потом появляется окошко через час работы и закрывает программу? А может вы думаете, что переросли функционал других снифферов и хотите попробовать что-то новое и необычное...

Первый покупатель «Москвича 6» рассказал о плюсах и минусах машины Совсем недавно в России начались продажи нового лифтбэка «Москвич 6», при это первый покупатель машины поделился впечатлениями по запросу издания «Аргументы и Факты». Леонид Беляев выбирал машину целый месяц, присматривался к китайским моделям, а...

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

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

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

«Джеймс Уэбб» обнаружил на Европе углекислый газ Большая часть солнечной системы кажется довольно бедной — во многих регионах обнаружены интересная для науки химия и геология, но не биомаркеры. Однако есть несколько космических объектов, которые ещё не изучены подробно. Европа — одна из четырех крупнейших ...

[Перевод] Какую роль играет искусственный интеллект в расширении возможностей тестировщиков Обеспечение качества (QA) является одним из важнейших процессов разработки программного обеспечения. QA подразумевает систематический и комплексный подход с целью обеспечить соответствие программного продукта требуемым стандартам качества. Автоматизация уже привела к сущес...

OpenVMS: операционная система для атомных станций. Redis Мы продолжаем погружение в основы операционной системы OpenVMS. В прошлых статьях мы установили её в качестве виртуальной машины, настроили сеть и активировали лицензии. Бонусом поставили туда SSH и даже организовали Web-интерфейс для удобного управления. Теперь пришла пора ...

LYWSD03MMC: ZigBee сеть на термометрах NB: Это скорее шуточная статья, не воспринимайте написанное всерьёз.В предыдущей статье я описал как можно из Bluetooth датчика сделать ZigBee и добавить его в сеть. Был получен ряд замечаний, часть из которых была исправлена. Сейчас батарейка работает уже гораздо экономичне...

Синхронизация локальных изменений с docker/kubernetes контейнером Салют!Хочу рассказать вам про такие замечательные инструменты как docker compose(быть точнее про новую возможность watch), skaffold, tilt.Рассказать для чего они полезны, как пользоваться и с примерами. Читать далее

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

Инструкция: отключаем новости MSN на панели «Виджеты» в Windows 11 (Canary) Microsoft готовит ряд изменений в Windows 10 и Windows 11, которые необходимы для соответствия принятому Закону о цифровых рынках (Digital Markets Act, DMA) в Европейской экономической зоне (ЕЭЗ). Как мы уже сообщали ранее, пользователи в этих странах смогут удалить браузер...

Шпаргалка для QA: как тестировать Flutter-приложения Привет! Меня зовут Юлия Андреева, я QA-специалист в AGIMA. Мы пилим и тестируем много Flutter-приложений. И недавно я заметила, что не все коллеги понимают специфику их тестирования. В этой статье расскажу про основные инструменты и подходы, которые мы используем. Сосредоточ...

Библиотека на Go для работы с RuStore API Привет, Хабр!Меня зовут Энрике, и я работаю Go-разработчиком в RuStore. Сегодня хочу рассказать про библиотеку на Go для комфортной работы с API магазина приложений RuStore. Иногда авторизация через API и получение JWE-токена занимают больше времени, чем хотелось бы. С ...

Управление цветами в Seaborn: как эффективно визуализировать данные Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как исп...

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

Обзор K8s LAN Party —  сборника задач по поиску уязвимостей в кластере Kubernetes прямо в браузере Я продолжаю тестировать инструменты, которые помогают научиться защищать кластеры Kubernetes. На этот раз взглянем на продукт от разработчиков из компании Wiz Research — Kubernetes LAN Party, челлендж по выполнению CTF-сценариев. Выход инструмента был приурочен к прошедшей в...

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

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

Умный дом в панельной хрущёвке Сразу признаюсь, что слово «хрущёвка» в этом тексте – скорее хук в заголовке. Правильнее было бы сказать, что я просто описываю свой опыт создания умного дома в обычной среднестатистической квартире городского жителя РФ, который я проживаю прямо сейчас.Статья будет состоять ...

Алгоритм расчёта расстояния между строками По работе стояла задача оптимизации поиска по адресам (улицы, дома и объекты). Главный критерий - нахождение адреса, если написано с ошибками или не дописан он в полной мере. Bert’ы, косинусные расстояния эмбеддингов и т.д. не подходили, так как они заточены под смысловой по...

Как подружить бизнес и процессы Привет, Хабр! Я Максим Катаев, старший аналитик в отделе Mobile Core Тинькофф. Наш отдел разрабатывает общие компоненты для мобильных приложений: от авторизации до дизайн-системы. Они используются в приложениях экосистемы Тинькофф: Инвестициях, Бизнесе, Мобайле и прочих.&nbs...

Автоматизируем сборку и деплой приложения в GitLab CI/CD: подробное руководство с примерами При разработке приложений рано или поздно наступает момент, когда заниматься развёртыванием вручную становится затратно и неудобно. Как следствие на помощь приходит автоматизация этого процесса с помощью специально настроенных пайплайнов непрерывной интеграции и непрерывной ...

С чем я столкнулся в “большом консалтинге”. Несколько историй из личного опыта Поспать на клиентской встрече, но с уважением? Чуть не выхватить люлей от водил-нелегалов с Садовода, но в рамках проекта? Каждый раз мечтать уволиться, но по завершении проекта рваться на новый? Почему бы нет, если работаешь в консалтинге. Рассказываю самые яркие истории за...

Сложности роста Ruby-приложений Привет! Меня зовут Валентин Бритвич, я Unit Lead интеграций в СберМаркете. Когда СберМаркет был стартапом, мы начинали с одного Rails-монолита, но бизнес рос, и стали появляться сотни партнёров на подключение, кастомные интеграции, которые нужно поддерживать, а с ними и проб...

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

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

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

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

Оптимизация работы с Camunda на основе External task Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяю...

Создаем игру на SFML Приветствую всех игроделов и им сочуствующих. В этой статье я хочу рассказать о таком фреймворке, как SFML, и попытаться написать на нем простейшую игру (в нашем случае это будет клон легендарного Pong). v Читать дальше →

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

Мой 2-х месячный опыт настройки Selenoid под Android за 10 минут Если вы читаете эту статью, то наверняка слышали о Selenoid. Это мощное решение написанное на Go от компании aerokube для управления Docker-контейнерами, в которых «завёрнуты» все необходимые программы и драйверы для тестирования в браузерах или на Android-эмуляторах.Как утв...

Кейс «ВкусВилл»: как автоматизировать процесс открытия новых торговых точек Привет, Хабр! Сегодня поговорим об автоматизации всех этапов открытия магазинов. Такой процесс мы настроили для «ВкусВилл» — того самого магазина полезного питания. Когда клиент пришёл к нам, у него было 700 торговых точек, а сейчас их уже больше 1,2 тыс. В этой статье мы ра...

Адаптивный дизайн приложений на Gtk Основные рабочие среды из мира GNU/Linux — это GNOME и KDE Plasma. До недавнего времени их можно было видеть только на десктопах, но сейчас эти окружения можно заметить и на мобильных девайсах. Эти девайсы не слишком распространены. Десктопный Linux встречается гораздо чаще....

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

Call Activity vs SubProcess: В чём отличие? Приветствую моих читателей! Меня зовут Екатерина. Ранее 3.5 года я администрировала bpm-систему, сейчас вот уже более двух лет я работаю системным аналитиком и развиваю нашу собственную bpm-систему. В данной статье хочу рассказать о дилемме, с которой столкнул...

Как сэкономить миллионы рублей, или перевод документации нейродвижками Всем привет!Меня зовут Александр Денисов. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC).В этой статье я расскажу о том, как у нас был автоматизирован процесс перевода документации с помощью нейродвиж...

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

В помощь тем, кто погружается в Smali Целевая аудитория этой статьи — люди, которые решили заняться исследованием .apk файлов, имеющие опыт разработки под Android и знакомые с основами синтаксиса Smali. Эта статья является оригинальной и ранее нигде не публиковалась. При копировании, прошу указывать ссылку на э...

Самый маленький Docker образ Rust приложения Привет %username%, эта статья про то, как поместить Rust приложение в Docker и получить образ размером с бинарный файл (6 Мб). А также про причины, которые привели к переходу с NodeJS на Rust. Отдельная пара слов о проблемах вначале, переходе на Go, и том, как команда Rust у...

Прокрастинация, youtube и горящий дедлайн — что мешает нам учиться? Всем привет! Меня зовут Лиза, я методолог обучающих программ в ЕДИНОМ ЦУПИС. Даже во время прохождения очень интересного и полезного курса сосредоточиться может быть крайне сложно. В мире, наполненном информацией, учиться мешает буквально любой внешний фактор. В статье я рас...

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

Нужен ли жесткий диск в компьютере и ноутубуке в 2024 году — три аргумента «за» и пять — «против» Все больше компьютеров собираются без HDD, используя как накопитель только SSD, но для некоторых пользователей жесткие диски остаются незаменимыми, несмотря на все их минусы.

Какой тип ordering должен возвращать мой operator<=> в C++? На Хабре было опубликовано уже достаточно статей, посвященных «spaceship operator» operator<=> ([1], [2], [3], [4]) И этой статьи бы не было, если бы все они были идеальны и описывали его во всей полноте. Но ни одна из них в деталях не рассказывает: а какой тип, собств...

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

Как я повысил производительность flutter приложения с помощью FragmentShader. Часть 1 Статья о том, как я добавил фичу с рисованием пальцем на экране с помощью CustomPaint во flutter приложении и далее пошагово занимался оптимизацией Читать далее

WebAssembly: короткий обзор ассемблера для фронтенда В последнее время фронтенд все больше и больше обрастает новыми технологиями, одна из них — WebAssembly. На ней можно написать полноценное web‑приложение и почти все на что способна ваша фантазия. В статье мы рассмотрим, что такое WebA...

Передача контекста и знаний в IT команде Всем привет и добро пожаловать! Данная статья не является научной и не относится к разряду технических, она больше про коммуникации и командные процессы в IT. Это попытка систематизировать реальные практики по передаче контекста и знаний в ...

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

Анимация загрузки картинок во Flutter, или как сделать shimmer своими руками Hola, Amigos! На связи Ярослав Цемко, Flutter dev продуктового агентства Amiga. Я участвую в разработке мобильного приложения Bravo — e-com проект по продаже карнавальной продукции, воздушных шаров и товаров для праздника. Это одна из крупнейших в России и в мире компаний в ...

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

Разгоняем Ignite в облачной инфраструктуре. Часть 2 Привет! С вами Дмитрий Пшевский и Семён Попов, технические лидеры юнита Data в Сбере. Это вторая часть нашего материала о производительности сервисов при работе с Ignite. В первой части мы рассказали, как перешли от монолита к микросервисной архитектуре, попробовали поработ...

[recovery mode] Android-приложение на Compose с нуля: Часть 2 (UI) Здравствуй, дорогой читатель!В статье рассматривается поэтапная разработка дизайн-системы и UI для Android-приложения "Калькулятор", используя библиотеку Jetpack Compose. Начнём с создания проекта и закончим запуском приложения на эмуляторе.Ссылка на репозиторий Читать далее

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали б...

Работа с A/B-тестами в крупной соцсети: подробно об A/B платформе Одноклассников ОК — социальная сеть, которой ежемесячно пользуется более 36,5 млн уникальных пользователей из России. Наш продукт имеет сложную архитектуру, включает десятки сервисов и инструментов, которые мы постоянно совершенствуем и добавляем новые. Чтобы в процессе выкатки обновлений ...

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

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

Стиль написания кода на Wolfram Language Я как большой фанат Wolfram Language (WL) очень часто изучаю открытые репозитории с кодом на этом языке. Изучив достаточно много кода я заметил, что стиль написания этого кода очень сильно разнится от проекта к проекту. Но так же я изучил много встроенных пакетов в Mathemati...

Почему Сборка с Помощью Есlipse ARM GCC Плагинов это Тупиковый Путь В программировании микроконтроллеров часто используют Eclipse с плагинами.Главным образом от незнания языков скриптов сборки (Make, Cmake, Ninjia и т п).В этом тексте я напишут почему способ сборки из Eclipse c ARM плагинами — это тупиковый путь...

Препарируем Wazuh. Часть 1: Базовая установка Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не...

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

Выбирая операционную систему. Процесс сознания и его проявления Еще 5 лет назад начать очередной холивар можно было сравнением андроид и iOS. Лет 15 назад прения начинались вокруг субкультурных предпочтений. 50 лет назад за политические взгляды могли убить. А 500 лет назад перекрестившись не той рукой ты однозначно был обречен на смерть....

[Перевод] Две мощных возможности Python, упрощающие код и улучшающие его читабельность Улучшите качество кода, украсив его оператором match и срезами объектов.Python не случайно стал невероятно популярным в современной технической среде. Он, если сравнивать его с другими языками программирования, возможно, является самым удобным и доступным для новичков. И, вм...

Владельцы смартфонов Huawei жалуются на блокировку WhatsApp в России Некоторые пользователи смартфонов в России подтвердили, что при запуске WhatsApp мессенджер отказывается работать и требует установить оригинальную версию. В AppGallery оригинальной версии WhatsApp нет, однако модифицированный мессенджер можно скачкать из других источни...

5 способов писать эффективный код на Go: от названий переменных до архитектуры Если вы задумывались, какие практики использовать, чтобы писать код на Go быстро и качественно, этот материал для вас. Руководитель группы разработки подсистем Геннадий Ковалев и эксперт по разработке ПО Даниил Подольский обсуждают пять способов повысить эффективность разраб...

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров Привет, Хабр!Гиперпараметры — это параметры, которые не учатся в процессе обучения модели. Они задаются заранее. От выбора гиперпараметров напрямую зависит качество и эффективность модели, а их оптимизация может улучшить результаты предсказаний.Традиционный подход к оптимиза...

far2l в Ubuntu 23.10 Ура! В новой версии Ubuntu, наконец-то, можно установить Far Manager (far2l) самым обычным sudo apt install far2l — прямо из коробки, без всяких ppa и кастомных сборок! Под катом — немного подробностей, а также обычный дайджест новостей проекта за прошедшее время. Читат...

SQL инъекции для продолжающих: ломаем настоящий сайт Про SQL-инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL-инъекций на примере уязвимого сайта.Стат...

Год ожиданий — и мы получили Python 3.12. Изменения, новшества и дополнения Новую версию Python многие разработчики ожидали с нетерпением. Кто-то и не ждал, поскольку вполне достаточно было возможностей прежней версии. Но Python 3.12 таки выпустили, сейчас стало известно, что эту ветку будут поддерживать полтора года, а потом для нее станут формир...

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

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), ...

Почему нельзя пить горячий тосол из чайника? Чтобы на Хабр не писали чушь, его надо продезинфицировать. Чтобы быстрее продезинфицировать – пожертвовать свободным вечером и написать статью по горячим как вода следам. Как вы уже догадались, речь пойдет о статье «Можно ли пить горячую воду из крана и брать ее, чтобы вскип...

Monkey patching в Go, или грабли от Apple Все началось с того, что я в очередной раз немного поменял структуры БД, и в некоторых SQL-запросах добавилась новая колонка. Нормальная ситуация - взять и легким движением руки сломать половину unit test’ов, потому что БДшные моки ожидают определенный текст запроса. Читать ...

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

InfiniBand в Windows — это просто К написанию этой небольшой инструкции меня привела статья на Хабре - Быстрая сеть в домашней лаборатории или как я связался с InfiniBand . Я был очень заинтригован данным вопросом, но каково было моё удивление, когда я не мог найти почти никакой информации по InfiniBand на W...

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

DVC — прекрасный инструмент для DataScience Привет Хабр, меня зовут Дмитрий Несмеянов, я являюсь руководителем направления разработки ML-инфраструктуры "ЛОКО-банка". Сегодня я хочу рассказать про DVC: инструмент, который многие, незаслуженно, обходят стороной. Была хорошая статья от Райффайзен Банк, в этой статье я по...

[Перевод] Популярные конфигурационные опции для работы с git Привет! Я всегда мечтала, чтобы в инструментах для работы с командной строкой заранее сообщалось, насколько популярны те или иные конфигурационные опции, предусмотренные в них, например:o    «В принципе, никто этим не пользуется»o    «Этой опцие...

Кеширование next.js. Дар или проклятие В 13 версии команда next.js представила новый подход к проектированию приложения - так называемый App Router. В 14 версии его сделали стабильным и основным для новых приложений.App Router значительно расширяет функционал next.js - частичный пререндеринг, шаблоны, параллельны...

Можно ли усилить погружение в виртуальную реальность с помощью транса, или мечтают ли игроки Oculus Quest 5 о ПТСР Это статья про компьютерные игры и о погружении в них, об «игровом выгорании» — когда кажется, что хороши игОр нет, и что играть уже не во что. Мы попробуем разобраться, что влияет на погружение в игры и как можно усилить эффект погружения для виртуальной реальности. По...

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

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

Инструкция: создание архивов в форматах 7z и TAR в Windows 11 Build 22635.3566 (Beta) Помимо функции дублирования вкладок в «Проводнике», в инсайдерской сборке Windows 11 под номером 22635.3566 для канала Beta появилась возможность нативного создания архивов в форматах 7z и TAR. Эта функция также отключена по умолчанию, но вы можете вручную активировать её с...

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

QIWI Server Party 9.0 — 14 декабря, офлайн и онлайн Привет! Совсем скоро мы проведём наш очередной QIWI Server Party, уже 9-й по счёту. Это митап для backend-разработчиков и тех, кому в целом интересна подобная тематика.Как обычно, расскажем об опыте больших компаний из первых рук — будут не только спикеры из нашей компании, ...

Как мы наладили процесс разработки внутренних приложений с помощью Appsmith Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов. В статье расскажу, зачем вообще нам понадобился подобный инструмент...

[Перевод] Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример.Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна...

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

Дебаггинг приложения без Xcode Привет, меня зовут Владимир Петров, я iOS разработчик в Альфа-Банке. Я вам расскажу как мы сделали свой дебаг-инструмент и научились дебажить наше приложение без Xcode. Обратите внимание на статью, если думали над тем, чтобы делать свое решение или готовое — расскажу, к...

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

Новые коллекции в Android В 2018 году в androidx появился новый пакет collection, который содержал несколько специфичных структур данных, переписанных на Kotlin, таких как LongSparseArray, SimpleArrayMap и SparseArrayCompat.На тот период Kotlin только начинал набирать обороты в Android разработке и д...

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

[Перевод] Выделение регионов памяти в C++: советы и приёмы Эта статья обсуждалась на Hacker News.В течение минувшего года я шлифовал мой подход к выделению регионов. Практика показывает, что это эффективный, просто и быстрый подход; обычно его использовать в качестве средства для сборки мусора без издержек. В зависимости о...

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

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

Как я написал клиент электронного дневника своей области Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю разработку мобильных приложения для андроид. И как это бывает у каждого - я столкнулся с проблемой: а какое приложение мне сделать? И мне крайне повезло. Я не стал делать какой-нибудь фейковый магазин, каль...

[Перевод] Пишем «Змейку» в 12 строк кода на PyTorch Давайте рассмотрим, как использовать линейную алгебру и тензорные операции, чтобы создать всем известную игру в 12 строк. Будем использовать PyTorch и NumPy. Можно было использовать даже какую-то одну из библиотек, но у PyTorch прекрасное Tensor API, а в NumPy есть хороша...

Пишем сложный Page object для playwright тестов вместе с Dorama Всем привет! Сегодня расскажу о том, как удобно организовать Page Object для большого проекта с использованием Playwright и библиотеки Dorama. Большинство современных веб-проектов имеют сложный интерфейс с переиспользуемыми компонентами. Причем компоненты могут переиспользов...

Сообщество любителей эмуляторов не сдалось, несмотря на иск Nintendo Недавняя судебная тяжба Nintendo с Yuzu, популярным эмулятором Switch, потрясла сообщество. Казалось, что иск, содержащий широкие аргументы против эмуляции как таковой, призван запугать разработчиков. Однако при ближайшем рассмотрении выясняется, что непокорное сообщество пр...

ChatGPT + YandexGPT API = ЛЮБОФ. Часть 1 Сказ о том, как мы, дата-сайентист и аналитик данных, на троих с ChatGPT, без программиста и девопса, создали сервис пересказа новостей TechMix с текстом и озвучкой. ChatGPT писал код, а мы ему только поддакивали.Авторы: Эдуард Ланчев, Илья Кузнецов, ChatGPTТретьим будешь? (...

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

Гипотезы квантового сознания и критического мозга. Мозг – квантовый компьютер или усилитель хаоса? Имеет ли сознание квантовую природу? Мозг - детерминированная биохимическая машина или квантовый компьютер? Как долго в нервной ткани сохраняется квантовая суперпозиция? Могут ли случайные квантовые события вызывать активацию нейронов и влиять на работу нейросетей? Или квант...

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

Инструкция: включаем Copilot в обновлении Moment 4 для Windows 11 22H2 Накануне состоялся релиз четвёртого обновления из цикла «Moment» для Windows 11 версии 22H2. Оно приносит с собой довольно большое количество новшеств, в том числе Copilot, улучшения «Проводника», новый микшер громкости и многое другое. Подробнее об этом мы рассказывали в н...

Документация как сервис: как мы генерируем документы независимо от стека разработки Привет, Хабр. Меня зовут Наталья Павликова, в YADRO я работаю в команде DocOps. У нас обширная инфраструктура вокруг задач документирования, которая немного напоминает ходячий замок Хаула. Сегодня я расскажу о небольшой ее части — процессе автоматической генерации и публикац...

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

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

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

[Перевод] Реляционные системы управления базами данных становятся проблемой. Что с этим делать? С реляционными базами данных я знаком очень давно, с конца 90-х. Мои первые шаги в мире компьютеров и программирования связанны именно с ними. Реляционным БД было отведено особое место в моей образовательной программе и стажировке на инженера-программиста. Они преследовали м...

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

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

Toolchain в Go Привет, коллеги! В Го toolchain (цепочка инструментов) это не просто buzzword, а реальная рабочая фича. Если вы провели немало времени, погружаясь в дебри кода и модулей, вы знаете, что каждая строчка и каждый пакет как и в любом япе имеют свое место и значение.Цепочка инстр...

[Перевод] Как так вышло, что при лишнем шаге сборки моё приложение на Zig ускоряется в 10 раз Вот уже несколько месяцев я интересуюсь двумя технологиями: языком программирования Zig и криптовалютой Ethereum. Чтобы подробнее изучить обе, я написал на Zig интерпретатор байт-кода для виртуальной машины Ethereum.Язык Zig отлично подходит для оптимизации производительност...

Кибернетическая музыка или как советский компьютер написал первый вальс Словосочетанием 2023 года по версии словаря Collins Dictionary стал ИИ (AI) — искусственный интеллект, что совсем не удивительно. Последние пару лет о потенциальной безграничности возможностей ИИ размышляют ученые, пытаясь внедрять все новые и новые решения, проверяя теории ...

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

[Перевод] Как я отрендерил миллион строк в React Недавно я столкнулся с задачей, известной как one billion row challenge. Два аспекта этого вызова меня заинтриговали:1. Каковы будут последствия, если я попробую решить этот вызов на фронтенде?2. Удастся ли мне это?Хотя я не уверен в возможности визуализировать миллиард стро...

[Перевод] Как устроен протокол iMessage В этом посте я вкратце расскажу о внутреннем устройстве iMessage, изученном мной в процессе работы над pypush — опенсорсным проектом воссоздания реализации iMessage.Ради краткости и понятности я не буду вдаваться в технические подробности. Если вы хотите узнать, как конкретн...

Делаем crackme. Часть вторая: шифруем функции Эта статья вторая в цикле по созданию crackme под linux amd64. В этой части мы создадим исполняемый файл, в котором каждая функция будет зашифрована собственным ключом, и будет расшифровываться только на время исполнения. Процесс создания будет полностью автоматизирован, то ...

Бегущий по витринам KION. Как контент попадает на витрины приложений Привет, Хабр! Меня зовут Алексей Жиряков, я техлид backend-команды витрины онлайн-кинотеатра KION. В этой статье я расскажу вам, как в нашем сервисе формируется витрина с фильмами и сериалами. Приподниму завесу тайны над нашей архитектурой и поделюсь, как мы компонуем выдачу...

[Перевод] Angular на стероидах: наращиваем производительность при помощи WebAssembly В этом посте продемонстрировано, как с лёгкостью использовать WebAssembly внутри приложения, написанного на Angular. Иногда в приложении на Angular требуется выполнить задачу, которая в JavaScript завершается не слишком быстро. Конечно, можно переписать алгоритм на другом яз...

[Перевод] Отсечение и поиск / Prune and search Решал задачу на LeetCode (Word Search) и наткнулся на незнакомый мне термин "search pruning", либо "Prune and search". Немного погуглив, узнал, что это метод решения задач оптимизации, на Википедии есть соответствующая статья (ссылка). На русском языке я не нашел такого терм...

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

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

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

Unit-тестирование Flink-операторов, Job: Flink MiniCluster Привет, Хабр! С вами вновь Александр Бобряков, техлид в команде МТС Аналитики. И я с очередной статьёй из цикла про фреймворк Apache Flink.В предыдущей части я рассказал, как тестировать stateless- и stateful-операторы Flink с использованием вспомогательных TestHarness-абстр...

SmartFlow: «В начале был пароль...» или новая аутентификация VK ID Привет, Хабр! Исторически сложилось, что первым способом аутентификации (в 1960-х) с появлением доступных компьютеров стал пароль. О рисках его использования и об изобретённых человечеством альтернативах мы подробно рассказали в статье о будущем беспарольной аутентифика...

Куда пропала прибыль на ферме 3D-принтеров? ДИСКЛЕЙМЕР: Статья написана автором блога на основе интервью с сооснователем компании Техно 3D, Дмитрием Стенько.В 2016-м мы с одногруппниками скинулись по 45 000 ₽ на голландский 3D-принтер. Родители одного нашего компаньона выделили нам каморку в пекарне и мы занялись...

Дисплей для Ариты или тайна четырёх перемычек В прошлой статье цикла мы начали проект по приведению в чувство контроллера NORVI Arita Model 5, лишённого почти всех возможностей — дисплея, Ethernet интерфейса, картридера для microSD карт памяти и т. д. и произвели хирургическую операцию по имплантации в него Ethernet м...

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

[Перевод] Невидимая проблема текстовых редакторов на смартфонах Когда я рассказываю о своих исследованиях редактирования текста на мобильных в Google, то обычно сталкиваюсь с непониманием и немного враждебным «Разве на телефонах нельзя редактировать тексты? В чём проблема?»Редактирование текста на мобильных поломано. На самом деле, оно г...

[Перевод] Автоматизация тестирования с Cucumber, Selenium и Java В этой статье я постараюсь познакомить вас с технологиями для создания чистых, устойчивых к изменениям и простых для понимания автоматизированных тестов. Надеюсь, вы узнаете что-что новое об автоматизации или хотя бы познакомитесь с моим подходом. Статья будет полезна в перв...

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

Где работать в IT в 2023: DatsTeam Наша рубрика «Где работать в IT» — это интервью с интересными айти-компаниями, в которых они делятся подробностями о процессах своей работы. Представители индустрии отвечают на вопросы о найме, условиях, командах и технологиях.В этом выпуске мы расскажем про компанию DatsTea...

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

Инструкция: включаем новый менеджер учётных записей в Windows 11 Build 22635.3500 (Beta) В инсайдерской сборке Windows 11 под номером 22635.3500 для канала Beta представлен новый менеджер учётных записей в меню «Пуск», который расскажет о преимуществах вашего аккаунта Microsoft. В частности, в окне отображается информация о подписке Microsoft 365, сроке действи...

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

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

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

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

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

Разработка Tizen-приложения для Samsung Smart Signage Platform(SSSP): гайд для js-разработчиков В этой статье я хочу рассказать о своем увлекательном путешествии в мир ОС Tizen. В ней я постараюсь подробно описать не только основные шаги по установке Tizen Studio и созданию проекта, но и поделюсь с вами ценными практическими советами по разработке приложений, освещая к...

Собираем метрики Node.js приложений в PM2 с экспортом в Prometheus Ни для кого не секрет что для устойчивой и надежной работы node.js приложений необходимо проводить мониторинг их работы и делать полезные выводы глядя на их метрики. Это означает, что вы способны получать информацию о состоянии до возникновения проблем, таким образом, предот...

Есть ли жизнь на arm'е? Заметка написана с целью рассказать о переходе от macOS к Fedora Asahi Remix, встреченных проблемах, попытке их решения и умозаключениях, а не ради холивара в поисках идеальной ОС. Тем более, спорить тут не о чем. Есть плюсы, минусы, предпочтения и обстоятельства, остальное ...

Как сделать СКУД на стойку своими руками за 20 тыс. рублей Привет! Меня зовут Иван, я отвечаю за СКУД, видеонаблюдение и системы противопожарной безопасности в дата-центре Nubes Alto. Сегодня расскажу о том, как своими руками и за вменяемые деньги установить СКУД на стойку в серверной или в ЦОД. Решение буду показывать на примере ст...

Простой GPT-ассистент в Telegram на базе Яндекса и Node.js Всем привет! Это моя первая публикация на хабре, поэтому буду благодарен за любую обратную связь, которая поможет мне писать ещё лучше.В статье вас ждёт "сборка" очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телегра...

Мой опыт в IT компании Я делюсь личным опытом, он может как вам пригодится, так быть вообще не релевантным. Многое зависит от разных факторов (компания, команда, культура, личность, финансы и т.п.).Здесь написано про шаги в моей компании без погружения в процессы и инструментов.У меня достаточно&n...

Пуш-уведомления RuStore Привет! Меня зовут Артем Ковардин, я работаю в VK и мы с командой разрабатываем Push Service RuStore и SDK для него. Если вы занимаетесь разработкой мобильных приложений и хотели бы иметь канал коммуникации с пользователями или же вам просто интересно то, как работают разраб...

Закупщик и Айтишник: понять и принять Хочу рассказать о моей профессии — закупщик в ИТ. Во-первых, это — красиво (с). А ещё я уверена, что многие айтишники и инженеры как-то, да взаимодействуют с отделом закупок и даже знаю, каким технические специалисты видят процесс закупок («просто возьмите и купите по специф...

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

Цифровой термометр на жесткой логике Привет, Хабр! В этой статье я расскажу вам, про электронный термометр с цифровой индикацией и линейной шкалой без применения микроконтроллеров и программирования. Данный проект появился, когда очередной раз мне пришлось сменить САПР для проектирования печатных плат. Нужна...

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

Диафрагмы для самодельных фотообъективов на 3D принтере В продолжение статьи "Простейшие 3D печатные оправы (фокусеры) для проекционных объективов"Для меня объектив без диафрагмы – неполноценный. Поэтому изначально хотелось установить диафрагму даже на проекционные объективы в простейших фокусерах или объективы без диафрагм (напр...

Apple окончательно удалила iTunes для Windows из магазина приложений Microsoft Apple окончательно отказалась от своего изрядно устаревшего iTunes для Windows. Процесс был запущен в 2019 году, а осенью 2022 Apple объявила не просто об отказе от «старичка», но в пользу приложений Apple Music, Apple TV и Apple Devices.

Тонкости работы short-circuit routing в ASP.NET Core 8.0 В статье детально и с примерами рассказываю про short-circuit routing — новую фичу Minimal API в ASP.NET Core 8.0. Она позволяет игнорировать добавленные middleware при вызове отдельных endpoint-ов. Рассмотрим, как это работает, сравним методы и немного поговорим про то, как...

Перехват трафика мобильных приложений Часто случается так что на необходимом сайте установлена защита от ботов. Например: QRATOR, Cloudflare, Akamai Bot Manager и пр. Можно потратить множество ресурсов на обход этих систем, но если у вашего ресурса есть мобильное приложение, то можно пойти другим путём. В подавл...

Microsoft упростила и ускорила загрузку приложений из веб-версии Microsoft Store Компания Microsoft представила большие изменения в работе веб-версии магазина приложений Microsoft Store. Теперь каждый пользователь может загружать исполняемые файлы приложений прямо с веб-сайта, используя новые «веб-установщики». Обновлённый магазин ...

В Windows 11 будет добавлена функция Sudo, аналогичная функциональности Linux Это позволит пользователям запускать команды с повышенными правами через окно командной строки

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

Fastlane для Android разработчиков Рост команды требует большего вовлечения в процессы и договорённости, которые, в свою очередь, требуют автоматизации и инспекции. Можно взять bash‑скрипты и закрыть ими эту потребность, но насколько это будет удобно? Тут нужен инструмент, который упростит разр...

Хотите присоединить Windows к домену ALD Pro (FreeIPA)? Спросите меня как Конечная цель проектов импортозамещения в ИТ — полный отказ от операционной системы Windows. Но, как говорится, гладко было на бумаге, да забыли про овраги. Может так оказаться, что быстро заменить какие-то клиентские корпоративные приложения, написанные под эту операционну...

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

Принесите, пожалуйста, кота Я сначала хотел написать историю про трех черепашек и вестник Перди-Закаменной, но вместо этого мне попалась на глаза реклама вебинара “vStack SPP: решение для построения облачного бизнеса”. Пока я писал к вебинару комментарий, заметка про семинар уехала в черновики. Но не п...

Как получить гражданство в Германии? Сейчас проходят финальные слушания по принятому закону, который позволит получить гражданство за 5 лет или в особых случаях 3 года. Раньше это было 8 лет. Дальше в статье идет детальный разбор закона и его 4-ех основных требований с ссылками на статьи и цитаты. Читать дале...

Intel хочет отбить заказ у AMD на процессоры для Xbox Компания Intel подталкивает Microsoft к созданию «полностью американской» игровой консоли Xbox следующего поколения. Главным аргументом называется необходимость выпуска игровой системы, изготавливаемой целиком в США, в то время как сейчас в основе приставки расположился...

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

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

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

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

Прокрастинация Данная статья написана по материалам лекций психолога в МФТИ. Эти лекции показались мне очень полезными, поэтому я решил поделиться своим конспектом. Читать далее

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Dec...

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

Google может переместить строку поиска в приложении Google App в нижнюю часть экрана В Google Chrome на устройствах под управлением iOS строка URL уже находится внизу, тогда как на Android она расположена в верхней части экрана

Как мы создали и развиваем лабораторию R&D Привет, меня зовут Александр, я руковожу Управлением исследований и разработки новых решений в «Ростелеком-ЦОД», если коротко — лабораторией R&D.Сейчас лаборатория хорошо прокачана и продуктивна, но так было не всегда. В этой статье я расскажу, как мы ее создавали, к чем...

Как защититься от «бестелесных» веб-шеллов В сегодняшней статье эксперты Сайбер ОК проведут вас за руку по лабиринту хакерских уловок и на пальцах объяснят, что такое "бестелесные" веб-шеллы и как защитить от них свои ресурсы. Читать далее

Большое обновление чат-бота OpenAI: ChatGPT теперь может «видеть, слышать и говорить» Американская компания OpenAI объявила о выпуске большого обновления генеративной системы искусственного интеллекта, ChatGPT. Как сообщили в официальном блоге, в компании начали внедрять новые голосовые и графические возможности в ChatGPT, которые позволят вести простой ...

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

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

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

Топ Необходимых Bash-Команд для Разработчика [Шпаргалка] Bash - самый распространенный командный интерпретатор в UNIX-подобных системах, предоставляет возможность выполнения практически любого действия через терминал. Не все операции можно выполнить через графический интерфейс, в то время как Bash дает возможность полного контроля...

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

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

Пишем прошивку для старого пин-пада Приветствую всех! Многие из нас уже знают, что POS-terminal'ы и пин-пады обычно собираются на базе заказных чипов, даташиты на которые не найти. Но, понятное дело, так было далеко не всегда. И мне стало интересно: а что, если попробовать найти такой древний терминал, отревер...

Бизнес-махина из 2007 года: каким был топовый бизнес-коммуникатор 2007 года — HTC X7500? Вот потихоньку и приближается новый год! Нулевые закончились почти 14 лет назад, но многие девайсы тех лет всё ещё продолжают жить и оседают в руках коллекционеров, или просто остаются в руках владельцев как запасные или даже основные телефоны! Однако сегодняшний девайс — ...

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

Игроки Warzone Mobile: «Раньше я делал максимум 5 убийств, теперь спокойно более 8» Перед релизом Warzone Mobile разработчики из Activision гордо заявляли, что в матчах будут только реальные игроки в числе 120 человек. Теперь геймеры заметили, что им в матчах начали попадаться боты. Они выдают себя сами: смотрят на вашего бойца в упор, стоят на месте, ред...

[Перевод] Как создать приложение для чата в реальном времени с помощью React, Node, Socket.io и HarperDB Статья посвящена созданию приложения для чата в реальном времени с чат-комнатами, с использованием Socket.io и HarperDB. Научимся на практике создавать полнофункциональные приложения, в которых бэкэнд может взаимодействовать с фронтендом в реальном времени. Руководство будет...

Docker для новичков — #1 Что такое контейнер, image, DockerHub? В этой статье я расскажу о том, что такое Docker, Docker Desktop и как этим пользоваться! Два способа создания image, значения вкладок Docker Desktop Читать далее

Частоту кадров в Counter-Strike 2 научились увеличивать всего лишь с помощью командной строки Инсайдер под псевдонимом harumi обнаружил интересную особенность в игре Counter-Strike 2.

В Windows 11 появится функция Super Resolution на базе ИИ На прошлой неделе Microsoft выпустила новую инсайдерскую сборку Windows 11 под номером 26052 для каналов Dev и Canary, которая включает в себя несколько скрытых неанонсированных функций. Одним из таких нововведений является ИИ-функция «Super Resolution», знакомая владельцам...

[Перевод] С новым годом: GPT в 500 строках на SQL В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:"Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQ...

Проект Альфа-Бизнес Mobile Web (веб-приложение), или Что делать если AppStore — всё? Начиная с ведения санкций в 2022 вниманием не обошел и банковский сектор. Сказалось это и на возможности вести разработку и обновлять банковские приложения в Google Play и AppStore. Если ограничение Google Play можно обойти через множество альтернативных сторов или, на худой...

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

Google снова хочет переместить поисковую строку в Android к нижней части экрана. Такая функция уже доступна Похоже, компания Google снова хочет поэкспериментировать со строкой поиска в нижней части экрана на смартфонах с Android.  В последней версии ПО Google 14.48.26.29.arm64 поисковая строка находится внизу экрана. По умолчанию эта особенность отключена, но её можно а...

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

Гайд по релокации в Великобританию и получению ВНЖ в 2023 по Innovator Founder Visa В этой статье я постараюсь максимально подробно описать, как выглядит процесс получения инноватор визы и ВНЖ Великобритании, поделиться реальными кейсами, затыками и рисками. Статья будет полезна для стартапов, предпринимателей и других специалистов, рассматри...

Модификация JSON респонсов в Laravel Вчера я опубликовал перевод статьи на тему оптимизации использования респонсов в Laravel с "простейшими" данными. То есть когда в ответ нужно отдать какое-то число, строку, массив или объект. Но что делать если приложение построено на использовании Json Resource? Или ещё бо...

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

Decky Notifications: как переизобрести KDE Connect и перенести уведомления в Steam Deck Недавно в мои руки попала портативная игровая консоль Steam Deck. Замечательное устройство, которое полностью поглощает внимание. В этом я вскоре нашел минус: телефон генерирует уведомления и приходится откладывать приставку, чтобы посмотреть сообщение. Хочу играть и не пр...

Про userstyles (пользовательский CSS): за два дня написал несколько для сайтов, которыми пользуюсь, и доволен (habr too) Краткий обзор о том, как изменять внешний вид сайтов - на вашей стороне. Это уже давно можно, называется userstyles - написано для тех, кто еще не знает этого. Читать далее

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

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

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

Небольшой трюк для быстрого переключения между приложениями Преамбула Так получилось, что я с давних пор пользуюсь мышками Logitech — MX300 и MX310. У них над колёсиком есть дополнительная кнопка, на которую можно повесить различные функции. В старых драйверах (MouseWare) в числе этих функций была «Recall Application», по которой про...

Смерть third-party cookies. Что ждет нас в 2024? В большинстве браузеров уже есть те или иные механизмы блокировки third-party кук. В одних браузерах это ограничивается тем, что third-party куки разрешено отправлять только на посещенные пользователем сайты. В других браузерах внедряют различные "enhanced" и "intellegent" t...

Музыкальное время и MIDI В статье завершим цикл материалов по преобразованию MIDI-времени в другие форматы. Попутно столкнёмся с неожиданным приступом оверинжиниринга, напишем микроскопическое количество кода и откроем для себя неправильную музыку. Читать далее

Мониторинг и точка, или логотип ИТ-компании Привет, Хабр! Это снова я, Николай, сооснователь компании Монк Диджитал Лаб, российского разработчика системы мониторинга Монк. Но о мониторинге сегодня в статье практически ничего не будет. Эту статью я пишу про самый популярный вопрос на любом нашем ивенте “А вы не замечал...

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

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

Создание Chat-Ops бота в Mattermost на python Привет, Хабр!Компания АльфаСтрахование, как и многие другие, столкнулась с необходимостью замены используемых инструментов в связи с санкциями. За последний год мы отказались от Slack в пользу open-source аналога Mattermost, а Jira не без сложностей была заменена на Kaiten.В...

Как я наконец осуществил мечту заняться разработкой игр Начало 2024 года. У меня на руках демка игры, над которой я работал последние полгода. Ещё год назад я занимался разработкой мобильных приложений и сидел на хорошей зарплате, а сейчас я безработный инди-разработчик! Но как так вышло? Читать далее

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

[Перевод] Быстрый парсинг 8-битных целых чисел Допустим, вам нужно быстро распарсить 8-битные целые числа (0, 1, 2, …, 254, 255) из строки ASCII/UTF-8. Задача взята из проекта simdzone под руководством Йероена Коеккоека (NLnet Labs). Дана строка и её длина: например, ’22’ и длина 2. Наивное решение на C может выглядеть т...

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

Давайте поговорим о Kubernetes Всем привет! Меня зовут Андрей, я DevOps инженер.Когда я начинал изучать Kubernetes (K8s), я перечитал много статей, и, что в статьях, что в документации, информация была сильно разрознена, обрывочна. Сложно было скомпоновать информацию в единое целое. На тот момент, мне бы ...

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

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

Метод Reverse-engineering на практике: как расшифровать исходный код Всем привет! Сегодня в нашем эфире новый автор - Никита Синкевич, руководитель группы анализа и реагирования Инженерного центра Angara Security. Итак, начинаем!Иногда в ходе расследования инцидента информационной безопасности необходимо понять, имеет ли та или иная программа...

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

Заменят ли LLM людей в разметке данных для AI? Привет! Использование ИИ в разметке данных для него же — уже скорее необходимая потребность, нежели что-то удивительно новое. Разного рода экспериментами с авторазметкой данных нейронками мы занимаемся последние полгода и результаты — нравятся.В данной статье я детально расс...

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

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

Obtainium — агрегатор закачек apk из разных источников Android предлагает богатый выбор сторонних репозиториев и магазинов приложений помимо Play Маркета: F-Droid (opensource), Aptoide, APKMirror и фирменные магазины вендоров. Однако разработчики часто выкладывают приложения только на собственных сайтах или GitHub. Это требует с...

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

Блеск и нищета std::format Сравнительно недавно в stdlib плюсов появилось форматирование строк «как в питоне», а точнее, как в библиотеке fmt. И я, как смелый и отчаянный, решил этим воспользоваться. Возможно, аксакалы и настоящие разработчики скажут, что я всё делаю не так, и вообще не то, но я буду ...

Релиз ядра Linux 6.6: возможности, обновления и самые заметные изменения В мире Linux все идет своим чередом, и идет по плану. Спустя два месяца после выхода предыдущего релиза ядра выпущен новый. На днях Линус Торвальдс представил ядро Linux 6.6. Как всегда, в нем достаточно много изменений и исправлений. Всего — 15291 исправлений от 2058 разр...

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

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

Максимально простая игра на C++ (в консоли) Мой выбор остановился на простецкой игре - виселице, запускаемой в консоли (cmd), которую я решил написать на С++?. Здесь я хочу рассказать о том, как я её реализовал, что использовал и т.д. Читать далее

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