Социальные сети Рунета
Среда, 3 июля 2024

[Перевод] Гайд по публичным выступлениям для программистов «У вас отличные технические скиллы, но вам нужно улучшить навыки общения». — Ваш менеджер.По мнению разработчика ПО Джордана Катлера*, такая обратная связь может фрустрировать программиста. Почему? Вероятно потому, что тот всегда был уверен: в своей должности ему достат...

Глубокий взгляд на асинхронность в Java Script: роль Event Loop, Event Bus, промисов и async/await В этой статье мы сосредоточимся на ключевых элементах асинхронного программирования в Java Script: Event Loop, Event Bus, промисы и синтаксический сахар async/await. Разберемся, как эти концепции взаимодействуют между собой и как их использование помогает нам создавать более...

[Перевод] «Человеческая» сторона ИТ. Распространённые проблемы разработки, связанные с людьми Недавно Аби Нода*, программист и генеральный директор платформы DeveloperExperience, ознакомился с исследованием The Human Side of Software Engineering Teams: An Investigation of Contemporary Challenges. В нём авторы обозначили наиболее важные «человеческие» проблемы, сопутс...

[Перевод] Ускоряем анализ данных в 170 000 раз с помощью Python В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не...

[Перевод] Анализ «Пяти неправд» «Пять почему» — это распространённый метод исследования первопричин события. Он основан на предположении, что задав вопрос «почему» пять раз, можно найти ответ, который и будет являться первопричиной. Программист Сергей Целовальников* уверен: такая практика может оказаться п...

[Перевод] Как я случайно сэкономил компании полмиллиона долларов Разработчик под ником Ludic*, автор технического блога Ludicity, сэкономил своей компании полмиллиона долларов за пять минут. Это больше, чем он заработал для работодателей за всю его карьеру, поскольку сфера деятельности, о которой далее пойдёт речь, — обман. Он всего лишь ...

Корутины C++ для чайников: пишем асинхронный веб-клиент Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятс...

[Перевод] Как избежать когнитивной перегрузки: способы оптимизации кода для разработчиков По мнению Артема Закируллина*, одна из фундаментальных проблем, с которой сталкиваются разработчики при анализе кода – высокая когнитивная нагрузка. Это не абстрактное, а реальное ограничение возможностей, которое стоит времени и денег. На чтение и понимание кода, тратится б...

Асинхронная работа с файловой системой в Vert.x Vert.x – это экосистема для создания реактивных приложений на JVM, которые могут масштабироваться и обрабатывать огромные объемы данных в реальном времени. Это полиглоттная платформа, поддерживающая не только Java, но и Kotlin, Groovy, Scala, и еще js. В контексте статьи раб...

[Перевод] Я изучила 900 самых популярных инструментов ИИ на базе open source — и вот что обнаружила Четыре года назад ИТ-эксперт Чип Хуэн* проанализировала экосистему ML с открытым исходным кодом. С тех пор многое изменилось, и она вернулась к изучению темы, на этот раз сосредоточившись исключительно на стеке вокруг базовых моделей.О результатах исследования читайте под ка...

Кратко про класс CompletableFuture в Java Привет, Хабр!Асинхронное программирование уже давно является полноценной частью Java. С появлением Java 8 и введением класса CompletableFuture, асинхронное программирование стало более доступным.CompletableFuture — это класс в пакете java.util.concurrent, предоставляющий воз...

[Перевод] Знакомьтесь с Hurl, ужасной (но милой) идеей для языка Иногда в голову приходят идеи, которые звучат ужасно, но требуют воплощения в жизнь. Несколько месяцев назад автор этой заметки, разработчик под ником ntietz*, обсуждал с другом идею языка, в котором единственным потоком команд является обработка ошибок. Эта мысль укоренилас...

От «здравствуйте» до こんにちは: языки программирования не на английском языке Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них...

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

Решаем задачу асинхронного ввода-вывода с библиотекой Asio Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и ...

[Перевод] Битва фреймворков: сравнение высокопроизводительных HTTP-библиотек Мир веб-разработки предлагает бесконечное количество вариантов HTTP-фреймворков для разных языков программирования. Но как разработчикам понять, какие из них обеспечивают действительно высокую производительность? Под катом команда блога CodeReliant* проводит прямое сравнение...

Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio В целом мне очень нравится концепция Акторов в асинхронном программировании. Низкоуровневое программирование с использованием очередей сообщений и обработчиков сообщений не позволяет мыслить в терминах высокоуровневых абстракций. Акторы позволяют абстрагироваться от низкоуро...

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

Signal Integrity of DDR4 Доброго времени суток! Наверное, вы все знакомы с компьютерной оперативной памятью DDRx (где x - поколение). Я бы хотел вам рассказать о ней с точки зрения SI (Signal Integrity - целостность сигналов) и принципов трассировки этого интерфейса. Читая документацию на различны...

Как на самом деле Async/Await работают в C#. Уроки по асинхронному программированию из первой половины работы Несмотря на то, что с предыдущей статьей-переводом мы выяснили что перевод уже есть на Хабре я рискну продолжить анализ этой работы.Теперь это НЕ перевод. Это моя интерпретация тех частей содержания первой половины Поста: Как на самом деле Async/Await работают в C#, которые ...

Тестируем многоядерный процессор методом Кнута и Python’а В 1978 году вышел третий том монографии Дональда Кнута «Искусство программирования», где автор рассматривает алгоритмы сортировки и поиска. Помимо самих алгоритмов описаны аппаратные характеристики компьютера и их влияние на производительность при работе с алгоритмами. В 202...

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

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

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

Отправка и обработка HTTP запросов в PostgreSQL Эта статья о том как отправлять и обрабатывать HTTP-запросы непосредственно из/в PostgreSQL. Автор расскажет о том, что такое асинхронное уведомление в PostgreSQL, и наглядно продемонстрирует, как с его помощью можно взаимодействовать с внешними системами из самой СУБД. Чита...

Асинхронный python без головной боли (часть 3) Ну вот и пришла пора погрузиться в недра asyncio и подробнее познакомиться с циклом событий. С его помощью мы научимся писать собственные асинхронные веб-серверы, создавать асинхронные драйверы внешних устройств и справляться с вычислительно-затратными задачами в асинхронны...

Есть ли альтернатива Terraform? В начале 2010-х годов системные администраторы часто сталкивались с проблемой управления распределенной инфраструктурой. Возникла потребность в унифицированном инструменте для управления инфраструктурой как кодом. В 2014 году компания HashiCorp ...

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

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

Фоновые асинхронные задачи в FastAPI и их мониторинг Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.В туториалах для фоновых задач в FastAPI обычно предлагают celery и при этом используют синхронный код. Но сегод...

Комбинаторы синтаксического анализа на Kotlin Существуют разные способы реализации синтаксических анализаторов для заданной грамматики. В статье рассматривается реализация комбинаторов синтаксического анализа на языке Kotlin для разбора контекстно-свободных и контекстно-зависимых языков. Читать далее

Что можно и что нельзя делать с Async/Await Синтаксис async/await, введенный в Swift 5.5, значительно упростил асинхронное программирование, сделав его более доступным и интуитивно понятным. Однако, как и любой мощный инструмент, он может быть использован неправильно. Здесь я хочу рассмотреть пять распространенных оши...

Книга: «Рецепты Python. Коллекция лучших техник программирования» Привет, Хаброжители! В «Рецептах Python» используется простой, но эффективный метод освоения 63-х базовых навыков программирования на Python. Сначала формулируется вопрос, например «Как найти элементы в последовательности?» Затем приводится базовое решение на чистом понятн...

[Перевод] Решение задач Front End с интервью. Promise Pool Разбираем задачу Promise Pool (Leetcode 2636)Дан массив асинхронных функций functions и максимальный размер пула n. Необходимо написать асинхронную функцию promisePool. Она должна возвращать Promise, который разрешается, когда разрешаются все входные функции function. Читать...

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

Деструктивный пакет everything напомнил об уязвимостях реестра npm Пакетный менеджер npm попал в неприятную историю, которая снова возродила споры о принципах работы реестра с микрозависимостями для JavaScript (и Node.js). Критики утверждают, что уровень зависимостей в npm слишком большой. Многие помнят историю 2016 года с микромодулем l...

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

Как пройти собеседование на позицию системного аналитика в 2024 году Привет, Хабр! Меня зовут Андрей Царев — я системный аналитик, технический интервьюер и ментор.Системный анализ — одно из популярных направлений в ИТ. Но далеко не все представляют, как правильно готовиться к интервью и проходить их. В&...

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

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

Хабру — 18 Хабру — 18 лет. Выросли в читателей и авторов те, кто родился с ним в один день и даже позже. Выросли сотрудники, которые работают 18, 15, 10, 5 лет. Да, многие в Хабре работают долго, потому что он не отпускает. Изменился интерфейс, редактор публикаций, пережили ужесточения...

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

[Перевод] Использование Jupyter Notebook для разведочного анализа данных ⬝ Методические рекомендации Блокноты Jupyter — это, уже довольно давно, один из самых неоднозначных инструментов в среде дата‑сайентистов. Одни яро критикуют Jupyter, другие горячо поддерживают этот проект. Но, тем не менее, многие согласятся с тем, что блокноты Jupyter, п...

10 небанальных ресурсов для системного аналитика Привет! Меня зовут Филипп Сенцов. Я системный архитектор в «Альфа-Банке», а также преподаватель и автор на курсе «Системный аналитик» в Яндекс Практикуме.За время работы у меня накопился список профессиональных ресурсов: ссылки, книги и инструменты. Теперь хочу поделиться им...

concurrent.futures в Python Привет, Хабр! Сегодня мы взглянем на одну из самых интересных библиотек в Python для работы с параллельным выполнением задач - concurrent.futures.Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые...

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

Модульность в JavaScript: CommonJS, AMD, ES Modules Привет, Хабр!Начало истории в модульности в JavaScript положил хаос: глобальные переменные, конфликты имен и сложности с зависимостями. Со временем сообщество предложило несколько подходов для организации модулей, начиная от CommonJS, которое легло в основу Node.js, до AMD, ...

await vs yield на примере Effection 3.0 и React 18 декабря 2023 года вышел релиз Effection 3.0 - типизированная альтернативна async/await на генераторах (Structured Concurrency and Effects for JavaScript).В статье сравним подходы на генераторах и async/await и расскажу как использовать Effection в React для решения типичн...

Оптимизация Скорости и Доступности с помощью Сети Доставки Контента (CDN) в Microsoft Azure Привет Хабр!В мире быстро развивающихся технологий быстродействие и доступность играют ключевую роль в обеспечении удовлетворения потребностей пользователей. В этой эпохе, где каждая миллисекунда имеет значение, использование современных инструментов для оптимизации скорости...

RxJava — всё? В “далеком” 2018 г. разработчик компании EPAM Systems Владимир Иванов провел опрос среди своих подписчиков в Twitter, пытаясь узнать, какой фреймворк для организации асинхронной работы предпочитают Android-разработчики. 65% опрошенных назвали RxJava, 28% выбрали корутины. Ир...

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

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

Построение планов параллельного выполнения программ для процессоров со сверхдлинным машинным словом (проект) Процессоры архитектуры  сверхдлинного машинного слова (VLIW - Very Long Instruction Word) относятся к специфическим классам архитектур, прямо нацеленным на использование внутреннего параллелизма в алгоритмах (программах), причём параллелизм этот анализируется и планируе...

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

Fortran, язык, которому почти 70 лет, поднялся с 27 до 12 места в рейтинге ЯП. В чём причина его новой популярности? Мир программирования частенько преподносит сюрпризы в отношении того либо иного языка. Так, в начале 2024 года Fortran, один из самых старых ЯП, поднялся сразу на 15 позиций в рейтинге TIOBE. Что случилось и почему ранее почти забытый ...

Сколько точек зрения у  Архитектора в ИТ? Судя по обилию статей «Кто такой архитектор в ИТ?» — нет общего понимания, чем он занимается, должен ли он вырасти из программиста или его можно сделать из системного аналитика. На самом деле ключевым качеством, которое сразу выделяет ...

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

[Перевод] Вероятно, вы неправильно используете метод __init__ в Python Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов...

Передача и обработка IAsyncEnumerable в Typescript с ASP.NET Core Web Всем привет, Меня зовут Олег и я .NET разработчик в компании Bimeister. Я хотел поделиться своим интересным опытом по связи проекта на ASP.NET Core Web App с использованием IAsyncEnumerable коллекций и современного фронт-енд SPA приложения на Typescript.и Vue.js 3 версии.Все...

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

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

[Перевод] Онбординг-рулетка: о том, как мы ежедневно удаляем аккаунты своих сотрудников Я твердо убежден в необходимости автоматизированных тестов и весьма дисциплинированно подхожу к их написанию. В программировании невероятно сложно соблюдать функциональную корректность и еще сложнее не допускать регрессионных ошибок. Как говорил автор Майкл Физерс, «Legacy...

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

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

[recovery mode] Каждому клиенту 1С — по его бюджету Уже 3 года я фрилансер 1С. И вот заметил, что некоторые коллеги упрекают меня в том, что я многое в коде делаю «неправильно», «неэффективно», в общем, не по канонам.Я веду свой блог где описываю свою практику работы с 1С. Поэтому недос...

Порядок создания технического задания для разработки информационной системы Привет, Хабр! Часто приходится разрабатывать информационные системы разной сложности и в один момент решил написать порядок действий (инструкцию) для данного действа . Я прекрасно понимаю, что она неполная и написана c точки зрения системного аналитика, но надеюсь ,что конст...

[Перевод] Новое в SQL Server 2022: Get more out of Reporting Services with an improved user experience В новой версии SSRS мы проделали значительную работу по обеспечению лучшего уровня доступности, и добавили новые возможности, которые включают в себя:• Расширенную поддержку Windows Narrator1 для новых клиентских операционных систем Windows и Windows Server.• ...

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

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

Postgresso №58(9) Microsoft PostgreSQL 16Наконец, официально вышел релиз PostgreSQL 16. Мы регулярно писали о новом в бетах и релиз-кандидатах, поэтому подробно говорить об официальном нет, кажется, особой необходимости: с тех пор ничего принципиального не ушло и, тем более, не пришло.На...

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

Эффективное использование журнала регистрации и технологического журнала 1С в решении вопросов производительности Эта статья носит своей целью продемонстрировать другой подход в анализе проблем производительности в системах 1С:Предприятие с применением журнала регистрации (ЖР) и технологического журнала (ТЖ).Напомню, что ЖР логирует действия пользователей — кто,...

NumPy для самых маленьких Математика везде в нашей жизни, но в программировании, а особенно ML ее два раза больше. Обычно Питон берут в пример самого "научного" языка программирования из-за математических фреймворков. Как не Питон может помочь оперировать математическими абстракциями, некоторые из сф...

Обработка результатов статистических наблюдений с помощью толерантных интервалов Здравствуйте, уважаемые читатели!В статье хочу поделиться личным опытом использования толерантных интервалов для обработки результатов статистических наблюдений, привести некоторые примеры и дать краткое описание процедуры расчета с реализацией на языке Python. Может быть, к...

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

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

Redux vs Mobx кого же выбрать для React-приложения в 2024 году? Привет, Хабр!Сегодня я хочу поделиться с вами своими размышлениями о том, какой стейт менеджер лучше использовать для разработки приложений на React в 2024 году. Как вы знаете, React — это одна из самых популярных и мощных библиотек дл...

Обучение системного инженера. Путеводитель по ключевым навыкам и знаниям Всем привет! Меня зовут Максим, я работаю системным инженером в Yandex Cloud и в Яндекс Практикуме на курсе «Системный администратор». В этой статье я опишу свой субъективный взгляд на путь развития системного инженера (DevOps‑инженера, SRE, системно...

Как ускорить LLM-генерацию текста в 20 раз на больших наборах данных Всем привет, я Алан, разработчик-исследователь в MTS AI. В команде фундаментальных исследований мы занимаемся исследованием LLM, реализацией DPO и валидацией наших собственных языковых моделей. В рамках этих задач у нас возникла потребность в генерации большого количества да...

Управленцы не в курсе, борьба с «изобретением велосипедов» и open source в России: OSS-отчеты, аналитика и мнения Отечественные технологические компании, вузы и другие организации все чаще обращают внимание на тонкости работы с open source и задумываются о распространении собственных решений в открытом формате [об этом говорят свежие отчеты, которые мы рассмотрим далее]. Однако с точки ...

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

Коротко про алгоритмы и структуры данных Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самопис...

Micron показала коммерческий модуль ОЗУ LPCAMM2. Достоинства и недостатки новых стандартов оперативной памяти На CES 2024 представлено много интересных устройств и технологий. Одна из них — реализация нового типа памяти ОЗУ, стандарт LPCAMM2. Именно такой модуль представлен компанией Micron. Аналогичные продукты готовят и другие компании. В чём их преимущества и недостатки и какие и...

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

[Перевод] Хакни своё следующее интервью с помощью Generative AI А Вы когда‑то задумывались о том, как классно было бы хакнуть собеседование? Создать себе цифрового помощника, который ответит на все вопросы интервьюера.Вот и я задумался. В этой статье предлагаю создать небольшое приложение на основе...

Размышления о выборе языка программирования для школы (и ситуации с информатикой в целом)… Эта статья выросла из ответа на комментарии к статье Основные отличия PascalABC.NET, где возник традиционный спор про то, есть ли смысл в 2023 году изучать Pascal. Для комментов мой ответ слишком большой, так что оформлю в виде такого спонтанного поста.Как бывший программист...

[Перевод] 13 инструментов для тестирования методом «чёрного ящика» Инструменты для тестирования методом «чёрного ящика» сосредоточены на анализе входных и выходных данных программного обеспечения, его поведения и функциональности с точки зрения конечного пользователя. Они используются для различных типов тестирования, включая функциональное...

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M Сегодня я хотел бы обсудить тему, с которой так или иначе сталкивался почти каждый программист встраиваемых устройств без использования настоящих операционных систем, а именно прямое управление периферийными узлами микроконтроллера. A конкретнее, я&...

Короткой строкой: почему я начал учить английский и пригодился ли язык в работе Всем привет! Меня зовут Павел, я работаю в Альфа-Банке на позиции QA Tech Lead. В этой статье хотел бы поделиться своим видением и опытом использования английского языка в повседневной и профессиональной жизни. Не сказать, чтобы мой английский был на высочайшем уровне, но дл...

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

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

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

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

Serverless telegram бот в Excel Это история про камингаут телеграм‑бота, у которого нет VDS и он бомжует: одной ногой — в гугло‑облаке, другой — в Excel. Да, жизнь бывает сложнее учебника по ботоводству. Например, для целей ботоводства гугло‑облако все еще может...

Древовидные структуры в SQL в одну таблицу Как реализовать хранение и работу каталога папок в PostgreSQL? Есть большое количество вариантов. Но хочется, чтобы реализация выглядела лаконично, не нарушала прозрачность выполняемых операций, не вызывала блокировок, не требовала большого вовлечения клиента в специфик...

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

Account Abstraction: что это такое и зачем нужно криптомиру Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья пом...

DDD в golang. Превозмогая трудности В последнее время достаточно много выступлений, посвященных реализации подходов Domain Driven Design(DDD) в golang.Я не буду останавливаться на value object, они в golang хорошо реализуются с помощью type defintions. А разберу работу с изменением аггрегатов.Попытаюсь раз...

[Перевод] Оффлайновое использование Git Некоторые компании, защищая свои системы от несанкционированного доступа, используют изолированные компьютерные сети, или полностью обходятся без сетей. Работа в таких системах может быть сопряжена со сложностями, но нельзя сказать, что в&n...

Помощь логистам: как сделать SMS-уведомления о разгрузке товара на складе на основе FastAPI Привет, Хабр! Меня зовут Анастасия Иванова, я технический писатель МТС Exolve. Сегодня расскажу о системе SMS-уведомлений, созданной с помощью FastAPI. Она оповещает логистов о прибытии автомобилей на склад и автоматически назначает приёмщиков.  Система интегрирована с ...

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

Как принимать платежи в Telegram | Оплата без всяких токенов и асинхронная обработка платежа Как принимать платежи на своем сайте или в telegram используя библиотеку yoomoney-api. Читать далее

Выявление схожести между произведением искусства из коллекции музея и работами автора методами ML Идею работы: «Похоже ли произведение искусства из коллекции музея на работы автора?» я придумала под датасет Музея MoMa. Конечно, хотелось бы установить: оригинал или подделка? Но для ответа на такой категоричный вопрос данных оказалось недостаточно.У проекта было несколько ...

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

Двигатели переменного тока – точные модели На семинаре «Преподавание электропривода в вузах», прошедшем в ЛЭТИ пятого октября прошлого года, был представлен доклад Алексея Сергеевича Анучина (далее для краткости А.С.) под названием «Модели, которым мы учим студентов».Доклад был посвящен состоянию дел с моделями двига...

[recovery mode] Выбор технологического стека для digital-продукта в 2024 году Стек технологий для запуска нового продукта в компании обычно выбирается исходя из того, с чем команда работала до этого и сколько наработок уже имеется.Однако если вы свободны от необходимости использования какого-либо наследия (набираете новую команду или ищете актуальные ...

[Перевод] Как 8 сотрудников Google изобрели современный искусственный интеллект Восемь имён указаны в качестве авторов научной работы "Всё, что вам нужно – это внимание", написанной весной 2017 года. Все они были исследователями из Google, хотя к тому времени один из них уже покинул компанию. Когда ветеран исследования, Ноам Шазир, увидел ранний вариант...

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

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

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

Как написать новостной Телеграм-канал если ты не программист. Часть первая Всем привет! Попробую написать трилогию покорения основ Python, отражающую мой путь любителя с “паяльником”. Тут не будет основ, чистого кода, отсылок к требованиям PEP-8, практически не будет ООП.Всех суровых Senior’ов, читающих данный материал, прошу понять и простить. Я н...

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

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

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

Атакуем WiFi или NodeMCU на службе сил зла О макетной плате NodeMCU можно найти немало статей на просторах Хабра. Авторы предлагают управлять шторами, включать освещение и выполнять другие операции с ее помощью для создания умного дома. Однако это небольшое устройство можно использовать и при тестировании на проникно...

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

Недельный геймдев: #150 — 03 декабря, 2023 Из новостей: Godot 4.2, Atomic Heart и «Космические рейнджеры» попали в Зал Славы видеоигровой индустрии России, Unity сократит 265 сотрудников и разорвёт соглашение со студией Wētā FX, американские дети больше хотят получить на Рождество подписки и внутриигро...

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

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

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

Где бесплатно изучать Rust в 2024 В 2024 году Rust остается одним из наиболее востребованных и перспективных языков программирования. Вот несколько причин, почему учить Rust может быть полезно:1. Безопасность: Rust разработан с упором на безопасность, предотвращая многие типичные ошибки программирования, так...

Предсказание остановок оборудования с использованием LSTM и Байесовского подхода Привет, дорогие читатели Хабра! Исследования выполнено в рамках выпускного проекта на курсе Machine Learning Advanced в OTUS. Рецензенты проекта - @bekemax, @stureikoДанные были предоставлены ПАО «Северсталь» для хакатона ЛИДЕРЫ ЦИФРОВОЙ ТРАНСФОРМАЦИИ 2023В проекте разв...

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

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

Мифы о работе тестировщиков, на которые всегда один ответ: «Ага, конечно. Ты полностью прав» Привет! Меня зовут Кирилл, я работаю тестировщиком в R‑Style Softlab. Ни для кого не секрет, что работа тестировщика в области информационных технологий окутана мифами и непониманием со стороны обывателей. Я вспомнил несколько самых распространенных ...

[Перевод] Параллельные вычисления — Все дело в контексте-синхронизации (SynchronizationContext) Чтобы до конца разобраться с содержанием Поста: How Async/Await Really Works in C#, который мы начали анализировать в предыдущей статье, неплохо бы познакомиться с изначальным определением концепции SynchronizationContext, на которую ссылается автор этого поста, без которой,...

Зачем программисту микроконтроллеров математическая статистика? (или так ли хороши UWB трансиверы?) Настал день, когда мне для работы программистом микроконтроллеров наконец пригодилась математическая статистика из ВУЗ(овского) курса по теории вероятностей.Есть очень интересная технология для автоматического радиоизмерения расстояния. Технология основана на UWB трансиверах...

[Перевод] Как, блуждая по Stack Overflow, можно набрести на Branch predictor В блоге beeline cloud мы делились историями и мнениями разработчиков — как программист-самоучка выучил 30 языков программирования, в каких случаях парное программирование не работает и почему некоторые проекты угасают, когда из компании уходит тимлид разработки. Сегодня...

[recovery mode] Linux: 12 советов из практики Linux продолжает быть одной из самых популярных операционных систем для серверов, облачных вычислений и IoT‑устройств. Знание команд позволяет эффективно управлять и настраивать эти системы.Знание Linux может открыть двери к различным IT‑профессиям, таким...

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

Nvidia DLSS кладёт на лопатки AMD FSR в современных играх в Full HD. Новое сравнение показывает заметную разницу Авторы канала Hardware Unboxed сравнили технологии масштабирования Nvidia DLSS и AMD FSR в современных играх и разрешении Full HD, где апскейлеры показывают себя хуже, нежели в более высоких разрешениях.  Технологии сравнивались в таких играх, как Cyberpunk 2077, ...

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

[Перевод] Сравнение технологий WebSockets, Server-Sent-Events, Long-Polling, WebRTC и WebTransport При работе с современными веб-приложениями реального времени незаменима возможность отправлять события с сервера на клиент. Именно этой необходимостью продиктовано то, что за годы работы было изобретено несколько методов для этой цели, каждый с собственным набором достоинств...

[Перевод] Wasm vs Docker containers vs Kubernetes vs serverless: битва за первенство В начале года на YouTube-канале DevOps Toolkit вышло видео с разбором WebAssembly. Автором ролика является Виктор Фарчич (Viktor Farcic) — developer advocate в Upbound, член CNCF Ambassadors, Google Developer Experts, CDF Ambassadors и GitHub Stars.Мы перевели видео про WebA...

[Перевод] Сравнение MicroK8s c Managed Kubernetes Clusters, K3s и Minikube Microk8s - это легкий, простой в установке дистрибутив Kubernetes, обеспечивающий полнофункциональный кластер на одной виртуальной машине. В последние годы он завоевал популярность благодаря своей простоте и удобству использования, особенно в ср...

[Перевод] Что ждет искусственный интеллект в 2024 году В этой заметке авторы MIT Technology Review рассматривают четыре тренда, за которыми стоит следить в наступившем году. Читать далее

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

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

16-, 8- и 4-битные форматы чисел с плавающей запятой Уже лет 50, со времён выхода первого издания «Языка программирования Си» Кернигана и Ритчи, известно, что «числа с плавающей запятой» одинарной точности имеют размер 32 бита, а числа двойной точности — 64 бита. Существуют ещё и 80-битные числа расшир...

Как быстро получать данные из ОС Аврора через интерфейс D-Bus во Flutter-приложении Привет, Хабр! Меня зовут Юрий Петров, я автор ютуб‑канала «Мобильный разработчик» и Flutter Tech Lead в компании Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. В этой статье я расскажу, как с помощью ин...

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

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

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

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

[Перевод] Почему вам необходим React Query Не секрет, что я ❤️ React Query за то, как он упрощает взаимодействие с асинхронным состоянием в приложениях React. И я знаю, что многие коллеги-разработчики согласятся с этим.Однако иногда я встречаю сообщения, в которых утверждается, что он вам не нужен для чего-то столь «...

CV Tools — система зрения для конечных пользователей Задача создания классификатора изображений на основе пользовательского набора данных является частой задачей для AI программиста, однако автоматический инструмент, решающий задачу без участия программиста мне на глаза не попадался. CV tools — с...

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

Горячее, чем Меркурий: астрономы нашли раскалённую экзопланету. Что это за объект? Исследуя планетарную систему HD 63433, астрономы обнаружили необычную экзопланету размером с Землю. По мнению команды, сделавшей открытие, одно её полушарие покрыто расплавленной лавой и всегда обращено к своей звезде, а второе — холодное, с этой стороны вечная ночь. Феномен...

Векторные базы данных — набирающий устойчивость тренд в разработке систем ИИ или мимолетное увлечение? В блоге beeline cloud на хабре и в нашем технологическом медиа мы разбираем ключевые технологии и принципы работы отрасли. На этот раз мы решили затронуть стремительно растущий рынок машинного обучения, который «тянет» за собой сегмент векторных БД.С одной стороны, технологи...

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

Будущее программирования: языки, зарплата и перспективы в 2024 году Почему программисты не боятся искусственного интеллекта? Потому что им достаточно сказать заказчику: «Объясните компьютеру, что именно вы хотите». Так шутили еще недавно, но теперь такие шутки становятся не такими веселыми, как раньше. Искусственный интеллект, воплощенный в ...

Общее описание и реализация Word2Vec с помощью PyTorch В данной статье даётся общее описание векторного представления вложений слов - модель word2vec. Также рассматривается пример реализации модели word2vec с использованием библиотеки PyTorch. Приведена реализация как архитектуры skip-gram так и CBOW. Читать далее

Мои советы после 20 лет в программировании Сегодня ровно 20 лет, как я начал программировать профессионально. За эти годы я:- Получил одобрение на петицию по грин‑карте за выдающиеся способности в науке.- Стал Google Developer Expert.- Стал IEEE Senior Member.- Был операционным директоро...

[Перевод] Когда парное программирование не работает Экстремальное программирование включает более 10 разнообразных приемов — TDD, игра в планирование, «заказчик всегда рядом» и т.д. Сегодня речь пойдет о парном программировании. Предлагаем читателям блога beeline cloud поделиться своим мнением об этом приеме! Практиковали ли ...

ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign ...

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

Теория конструкторов – наука о том, что можно, а что нельзя Пока большинство физиков-теоретиков заняты поисками фундаментальной «теории всего», которая должна объединить квантовую теорию поля с общей теорией относительности, некоторые учёные смотрят на это скептическим взглядом и предлагают двигаться совсем в другом направлении. Один...

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

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python Метод опорных векторов (Support Vector Machine или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные...

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

Маршрут в iOS приложениях Написав несколько приложений для iPhone, в которых использование карты является одним из главных вариантов использования, я задумался над тем, что куча объектов на карте это очень круто, информативно и наглядно, но нехватает маршр...

KISS your website или как написать уважаемый сайт на аутсорсе, глава первая Добрый день. Меня зовут Тимофей, я фронт-тимлид в диджитал-продакшене ДАЛЕЕ. В данном цикле статей я поделюсь подходами и инструментами фронтенд-разработки на аутсорсе, которые помогут создать качественный продукт без кошмарного instant-legacy и значительно облегчат жизнь ко...

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

ИИ LLama3 без ограничений: локальный запуск, GROQ и интеграция в Телеграм бота с помощью Python Друзья, приветствую вас в очередной статье. Сегодня я расскажу, как использовать LLAMA3 ИИ в своих проектах. После небольшой подготовки мы приступим к созданию полноценного Telegram бота.Сегодня мы:• Научимся устанавливать LLama3 на локальную машину.• Научимся бесплатно ...

[Перевод] Исправляем следующие 10 000 багов, связанные с наложением ссылок Почему появляются баги? Существует много причин, но если мы взглянем на конкретные примеры, то сможем увидеть закономерности — и спроектировать наши системы так, чтобы избежать целых классов ошибок. Под катом автор блога Considerations on Codecrafting рассматривает ошиб...

Кадровая текучка в ИТ — мнения HR-партнеров компаний SSP SOFT и Softorium Какие айтишники чаще меняют работу и почему, как текучка кадров влияет на работу в командах и что с этим делать? Евгения Забелина, HR бизнес-партнёр SSP SOFT обсудила эту тему с Анной Сабадаш, управляющим партнёром Softorium. Ситуация в разных сферах ИТ може...

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

«Кабанчик» и консистентность кэша Листал на днях «Высоконагруженные приложения» Мартина Клеппмана — хорошую книга, которую стоит прочитать всем современным разработчикам, которые имеют дело с программированием и поддержкой производительных приложений.Не смотря на то, что книга написана еще в 2014-2016 годах ...

VK Education запускает бесплатные образовательные программы по работе с данными и Python VK Education открывает набор на три бесплатных онлайн-курса: «Введение в анализ данных», «Алгоритмы и структуры данных» и «Базовый Python». Курсы впервые запущены в асинхронном формате — участники смогут проходить обучение в любое удобное время.

Два программиста — пара. Теория и практический опыт Сбера в парном программировании Привет, Хабр! Сегодня поговорим о парном программировании, с передачей опыта Сбера — наши разработчики знают о методике парной работы не понаслышке. Команда программистов становится командой только при постоянном взаимодействии. Если один кодит, а другой просто смотрит — это...

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

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

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

Программист мало пишет, но много читает Здравствуйте, меня зовут Александр, я backend-разработчик. Цель данной публикации – проанализировать затраты времени при разработке приложений. Расчеты приведены на основе web приложений на языке Python. Так же не рассматривается ситуация разработки MVP для получения различн...

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

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

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

Интервью с руководителем отдела анализа защищённости Angara Security Михаилом Суховым о пентесте Я много бывал за последнее время на разных ИБ‑мероприятиях, где проходили различные киберучения. Много писал об уязвимостях, об ИБ‑решениях, борющихся с ними, специалистах, выявляющих бреши в инфраструктурах. И как раз на последне...

Анализ Приказа ФСТЭК России №118 «Об утверждении требований по безопасности информации к средствам контейнеризации» Рассмотрим требования к безопасности информации в средствах контейнеризации, указанные в Выписке из Приказа ФСТЭК России № 118 «Требования по безопасности информации к средствам контейнеризации», приведем разъяснения к каждому требован...

Способы отображения: существует ли связь между DDD и ООП В ходе обсуждений докладов на Analyst Days возник вопрос о связи Domain-driven design (DDD) с объектно-ориентированным подходом (ООП): оказывается, для большинства она вовсе не так очевидна, как мне представлялось. Подробнее погружаясь в&nb...

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

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 1 Библиотека pandas 2.0 вышла в начале апреля, в ней появилось много улучшений нового режима Copy‑on‑Write (CoW, копирование при записи). Ожидается, что в pandas 3.0 режим CoW будет использоваться по умолчанию. Сейчас полный переход на к...

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

[Перевод] Разработка под Android в 2024 году Эта статья отражает моё личное мнение и профессиональные взгляды, учитывающие различные точки зрения в сообществе Android-разработчиков. Кроме того, я регулярно просматриваю руководства от Google для Android.Важно подчеркнуть: некоторые хорошие инструменты, паттерны и архите...

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 1: Live Coding В данной статье разберемся что такое live coding интервью и как к нему готовиться.Материал в первую очередь будет полезен Data Scientist'ам и ML инженерам, при этом некоторые разделы, например, Алгоритмы и структуры данных подойдут всем IT специалистам, к...

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

Разоблачение «уязвимости» IT-гигантов: интервью автора «тамагочи для хакеров» Flipper Zero, устройство размером с брелок, способное взаимодействовать с различными сигналами и протоколами, вызвало споры из-за возможности его неправильного использования. Однако соучредитель компании Алекс Кулагин подчеркивает роль устройства в повышении осведомленности ...

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

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

Из пушек по воробьям. Генерация и решение лабиринта не самым обычным способом На уходящей неделе мне попалась симпатичная, хоть и не новая мини‑серия статей на Дзен‑канале @zdgzdgzdg про процедурную генерацию лабиринта методом «коллапса волновой функции». Пока я читал эти статьи и знакомился с кодом, меня осенило: ведь это&nbs...

Diplodoc — открытый набор инструментов для создания документации Всем привет, меня зовут Женя Колесников, я из команды Yandex Infrastructure. Сегодня я расскажу, как мы пришли к написанию документации в концепции Docs as Code, придумали для этого набор инструментов, назвали его красивым именем Diplodoc и выложили в опенсорс — теперь вы то...

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

Как трудно быть абитуриентом мех-мат МГУ Авторы делятся своими воспоминаниями о поступлении и учебе на механико ‑математическом факультете МГУ. На всякий случай: Ильичев Виталий — окончил кафедру «Математической логики и теории алгоритмов», доктор технических наук, Южный Научный Центр РАН; Марин...

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

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

Почему вам стоит отказаться от использования timestamp в PostgreSQL Не секрет, что работа с часовыми поясами — боль, и многие разработчики объяснимо стараются ее избегать. Тем более что в каждом языке программирования / СУБД работа с часовыми поясами реализована по-разному.Среди тех, кто работает с PostgreSQL, есть очень распространенное заб...

Выбираем инструмент проектирования интерфейсов для аналитика Всем привет! Меня зовут Бургомистренко Кристина и я — системный аналитик в компании заказной разработки Rubius. В этой статье я рассказываю про свой опыт проектирования и сравниваю несколько популярных инструментов для создания вайрфреймов, которые м...

Дайджест новостей из мира будущего, машинного обучения, роботов и искусственного интеллекта за начало зимы Отфильтровав для Вас большое количество источников и подписок, сегодня собрал все наиболее значимые новости из мира будущего, машинного обучения, роботов и искусственного интеллекта.Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделитьс...

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

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

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

Разработчикам на Rust: рецензия на книгу «Rust: атомарности и блокировки» Очередной пост — рецензия на книгу «Rust Atomics and Locks: Low‑Level Concurrency in Practice» авторства Мары Бос. Это руководство по работе с низкоуровневой конкуренцией в языке программирования Rust. Издание предлагает глубокое погружение в ме...

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

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

Postgresso #11 (60) Лицензии и апокалипсис10-го августа сего года компания HashiCorp позволила себе нехороший - с точки зрения многих участников движения open source - поступок. Она поменяла лицензию своего любимого многими Terraform (инфраструктура как код - Infrastructure-...

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

Временное хранилище данных на Apache Druid: почему это эффективно сработало для загрузки табличных файлов Всем привет! Меня зовут Амир, я Data Engineer в компании «ДЮК Технологии». Расскажу, как мы спроектировали и реализовали на Apache Druid хранилище разрозненных табличных данных.В статье опишу, почему для реализации проекта мы выбрали именно Apache Dr...

Отзыв о книге Кристофера Негуса «Linux Библия» Попала мне в руки на некоторое время 10-е издание книги Кристофера Негуса «Библия Linux». Поскольку в повседневной деятельности мне приходится работать с системами под управлением различных дистрибутивов, работающих на базе GNU/Linux, столь...

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 2 В первом материале из этой серии была объяснена работа механизма Copy‑on‑Write (CoW, копирование при записи). Там были упомянуты некоторые ситуации, в которых при выполнении кода осуществляется копирование данных. В этой статье речь по...

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

Утекло новое облачное приложение Android Music от Google К авторам блога Tech From 10 случайно попала версия для разработчиков разрабатываемого в Google приложения Android Music. Новый музыкальный плеер похож на встроенный плеер в Android 3.0 Honeycomb для планшетов, и включает в себя сис...

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

Сохранили Ricor Compi 100 для истории: ноутбук теперь в коллекции московского музея ретротехники В начале мая мы писали про забавный образец компьютерной техники постсоветского отечественного ИТ —  Ricor Compi 100 — и даже представили рабочий ноутбук. Берясь за написание материала, мы не подозревали, насколько уникальным окажется этот ...

Компьютерное зрение сквозь года Как-то я столкнулся с довольно тривиальной, но новой для себя задачей - оптического распознавания символов (OCR). Так сложилось, что готовые инструменты (типа tesseract-ocr) мне не подошли, поэтому пришлось изобретать велосипед. Но к этому процессу я решил подойти со всей от...

[Перевод] Азы больших языковых моделей и трансформеров: декодер В этом материале мы поговорим об устройстве компонента‑декодера в системах машинного обучения, построенных по архитектуре «трансформер», уделив особое внимание отличию декодера от энкодера. Уникальной особенностью декодеров является то, что они ...

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

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

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

Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce Python действительно может считаться относительно медленным языком программирования по сравнению с некоторыми другими языками, такими как C++ или Java. Однако, существуют различные библиотеки и инструменты, которые позволяют ускорить выполнение счетных задач в Python. Рассмо...

[Перевод] Новое в SQL Server 2022: Обзор использования Intel QuickAssist Технология Intel® QuickAssist (Intel QAT) в SQL Server 2022 призвана обеспечить аппаратное ускорение и возможности разгрузки процессоров от функций сжатия и распаковки резервных копий баз данных. Использование этой технологии даёт заметное снижение нагрузки на проц...

Кому и зачем нужны разработчики мобильных приложений в 1С Платформа 1C:Enterprise — самый простой способ перейти в сферу мобильной разработки. Научиться писать приложения на 1С проще, чем освоить Swift, Java или Kotlin. Обучение займёт всего пару месяцев. При этом специалист с такими знаниями всегда будет востребован на рынке благо...

У меня зазвонил Репка-фон. Делаем телефон на базе Repka Pi 3 с применением модуля SIM868 Делаем программно-управляемый телефон или даже узел связи на базе одноплатного компьютера Repka Pi и модуля платы функционального расширения для GSM связи. Просто поражают возможности одноплатных компьютеров в формфакторе Raspberry за счёт применения с использованием их 40 p...

«К2 Кибербезопасность», Positive Technologies и Anti-Malware.ru представили совместное исследование о выполнении 187-ФЗ В Музее криптографии в Москве 12 октября 2023 года прошла презентация совместного исследования подразделения «К2 Кибербезопасность», компании Positive Technologies и портала Anti‑Malware.ru, посвящённого реализации 187-ФЗ «О безопасности критической ...

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

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

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

Почему облачные среды разработки до сих пор не завоевали популярность? Интересная ситуация сложилась с облачными IDE. Они не используются программистами с такой же скоростью как другие облачные технологии. Почему их внедрение и распространение продвигается так медленно?Сегодня обсудим причины и разберемся в разных точках зрения по этому вопросу...

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

Хеш-функция Стрибог. Особенности аппаратной реализации на System Verilog На просторах интернета есть несколько статей об алгоритме получения хеш-функции Стрибог (ГОСТ 34.11-2012), в том числе и на Хабре. Однако везде в качестве примера приводится реализация на языках программирования C, C#, Python и других. То есть идет последовательное выполнен...

Honor Magic 6 Pro: новый флагман известного бренда. На что он способен? Привет, Хабр! Сегодня мы покажем флагманский смартфон Honor Magic 6 Pro и расскажем о его возможностях. Этот телефон весьма производителен и функционален, несмотря на устоявшееся мнение о том, что продукция Honor — это бюджетные модели с базовым функционалом. Можно сказать, ...

А точно ли программистам не нужны алгоритмы? Мне 21 год и я работаю программистом всего 4 года, за это время я побывал на 2–3 мелких проектах и 3–4 проектах крупных компаний, таких как: Luxoft (упокой его душу), Альфа, ОТП, ГПБ и др. Так же я часто прохожу собеседования и в другие ком...

Книга «Объектно-ориентированный Python, 4-е изд.» Привет, Хаброжители! Глубоко погрузитесь в различные аспекты объектно-ориентированного программирования на Python, паттерны проектирования, приемы манипулирования данными и вопросы тестирования сложных объектно-ориентированных систем. Обсуждение всех понятий подкрепляетс...

MERGE и её улучшение производительности с помощью work_mem С выходом PostgreSQL 15 мы застали появление долгожданной команды MERGE, которая позволяет реализовывать эффективные способы синхронизации обновлений.Суть MERGE заключается в ее универсальности: она позволяет объединить операции INSERT, UPDATE и DELETE в одном запросе, автом...

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

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

Книга «100 ошибок Go и как их избежать» Привет, Хаброжители! Лучший способ улучшить код — понять и исправить ошибки, сделанные при его написании. В этой уникальной книге проанализированы 100 типичных ошибок и неэффективных приемов в Go-приложениях. Вы научитесь писать идиоматичный и выразительный код на Go, раз...

Разговор с директором по развитию бизнеса Solar NGFW Андреем Щербаковым об NGFW и использовании open source в нём Тема NGFW в связи с уходом западных компаний всё чаще начала всплывать в сфере российской ИБ. То тут, то там слышны новости, что у разных фирм появились свои NGFW‑решения. Одно из таких демонстрировалось на форуме «Кибербезопасность в ...

Ультимативный Гайд По Эффективному Обучению (для влёта в IT с двух ног) Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу, как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться...

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

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

Методы балансировки в А/Б тестировании Привет, Хабр! Как часто вы думаете о балансе? Балансе вселенной, личной жизни и работы, балансе БЖУ в своем рационе или балансе в банке. Мы в команде ad-hoc X5 Tech не только думаем о балансе, но и сталкиваемся с ним в работе. Сегодня поговорим о балансировке при анализе при...

Dedoc: как автоматически извлечь из текстового документа всё и даже немного больше Привет, Хабр! Мы команда разработчиков Института Системного Программирования РАН, занимаемся Computer Vision в обработке электронных документов. Мы разработали open-source библиотеку dedoc, которая помогает разработчикам и дата-сайентистам в пару строк кода читать разли...

Кто такой — джуниор в FAANG? Все мы понимаем, что означает слово Junior в контексте разработки софта. Человек без опыта, недавно попавший в профессию, часто делающий ошибки, требующий помощи и наставлений. Но как так получается, что в FAANG на Junior позиции ...

[Перевод] О Prepare statements, серверном кэше скомпилированных запросов или как эффективно кэшировать запросы в YDB Существуют различные способы снижения стоимости выполнения SQL-запросов в современных СУБД. Наиболее распространенными подходами являются использование подготовленных запросы и кэширование. Оба метода доступны в YDB.Кэширование запросов позволяет ско...

Опыт использования свободного ПО OSS-CAD_SUITE для программирования FPGA Gowin Для программирования FPGA нужна среда проектирования. Например, при использовании микросхем ПЛИС Altera/Intel мы используем САПР Intel Quartus Prime Software. Возможно, основная ценность технологии ПЛИС даже не сами микросхемы, а программное обеспечение, которое позволяет ра...

Импортозамещение которое мы потеряли: советские ЯП и их создатели (часть 2) В комментах к предыдущей части некоторые читатели предложили рассказать о ещё нескольких ЯП, которые сыграли значительную роль для развития программирования в СССР. Автор не смеет игнорировать просьбы трудящихся. В этой части цикла поговорим об АЛМО, Эль-76 и Рапира и ЛЯПАС....

5 советов для тех, кто хочет войти в IT в 2024 году Всем привет! Я Даниил Беликов, мобильный разработчик с опытом работы HR-менеджером. Я начал программировать в 2019 году, когда мне было 27 лет. У меня не было технического образования, друзей-программистов и поддержки со стороны близких. В силу обстоятельств, мне пришлось пр...

Маршрутизация обращений: автоматизация в ИТ-поддержке с помощью ИИ и языковых моделей Передовые технологии ИИ могут не только ускорить, но и значительно повысить качество обработки обращений. Я занимаюсь в НЛМК генеративным искусственным интеллектом и расскажу, как нам совместно с ИТ‑вендором Аксеникс удалось преобразовать подход к&nb...

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

Как совмещать работу с учебой. Что-то про тайм-менеджмент Всем привет! Меня зовут Даша и я системный аналитик компании SM Lab. Работаю в команде Brand Planning Tool. Наша команда BPT помогает брендам (таким как Fila, Demix, Northland) запускать новые коллекции. В этом я году закончила бакалавриат и поступила в магистратуру по напр...

Формализуем процесс создания нового API в микросервисах на .NET Мы работаем с ИТ-продуктами в сфере логистики и e-commerce. Большинство таких проектов крупные с точки зрения архитектуры – включают в себя множество сервисов, необходимых для исправной работы целостных систем. Поговорим о том, как организовать взаимодействие микросерви...

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

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

[Перевод] Все, что нужно знать для разработки с использованием LLM Цель данной статьи — простым языком объяснить ключевые технологии, необходимые для начала разработки приложений на основе LLM. Oна подойдёт как и разработчикам, так и специалистам по машинному обучению, у которых есть базовое понимание концепций...

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

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

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

[Перевод] Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью Реализация защиты от сбоев из-за фрагментации кучи и повышение скорости выполнения с помощью STL-альтернативы std::allocator, работающей с блоками памяти фиксированного размера.В этой статье описывается реализация STL-совместимого аллокатора, ориентированного на выделение и ...

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

Что такое продуктовый подход и особенности использования его элементов в государственном банке Привет, Хабр! Меня зовут Олег Брандин, я главный архитектор в РСХБ‑Интех. Сегодня расскажу вам свое понимание пути от ИТ‑стратегии и ЦиЗ СЦТ (Цели и задачи Стратегии цифровой трансформации) до формирования продуктовой команды и защиты бюджета в реалиях го...

Как мы нашли новый подход к передаче сервисов в промышленную эксплуатацию Привет, Хабр! Меня зовут Анна, я начальник управления поддержки проектов и клиентских сервисов в X5 Tech. Последние 16 лет я работаю в области сопровождения, и для меня одним из самых загадочных этапов в поддержке всегда был процесс приёма нового функционала. Ты как будто бе...

[Перевод] Объяснение режимов работы Run, Stop и Program центрального процессора ПЛК Программируемые логические контроллеры (ПЛК) можно перевести в режим «Пуск» (Run) или «Стоп» (Stop), а иногда и в режим «Программирование» (Program) обычно с помощью физических или виртуальных методов. Но что означают эти режимы и когда их ...

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

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

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

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

Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте...

Протоколы семейства TCP/IP. Теория и практика В сети можно найти огромное количество материала о том, как функционируют сети на базе стека протоколов TCP/IP, а также как писать компьютерные программы с сетевыми возможностями. При рассмотрении компьютерных сетей часто углубляются в описание физических основ и структур ...

Сравнение результатов расчетов волнового сопротивления линий передач на печатных платах В.С. Кухарук,  В.А. Ухин, Д.С. Коломенский, О.В. Смирнова.Печатные платы (ПП) широко применяются в электронных устройствах. Именно они являются основным узлом, обеспечивающим связь между различными компонентами и сигнальными линиями. При проектировании ПП  необходи...

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

Тот самый RAT-троян за 200 рублей: как защититься от RADX Всем привет! Меня зовут Валерий Слезкинцев, в Positive Technologies я руковожу направлением реагирования на конечных точках в отделе обнаружения вредоносного ПО в PT Expert Security Center. Наша команда занимается исследованиями MaxPatrol EDR в части выявления и реагиро...

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

[recovery mode] С какого курса начать обучение программированию для детей? Голосование Знакомство с программированием может начинаться уже с первого класса и даже раньше: с пяти лет. Даже в этом возрасте ребенок способен освоить логику и основные принципы написания кода. Для обучения можно использовать различные языки программирования, например, Скретч, Пайтон...

Квантовые компьютеры. С точки зрения традиционного программиста-математика. Часть 7 — Заключительная Алгоритм ШораВ заключительной части попробуем разобраться в этом замечательном алгоритме, который в скором будущем погубит нашу цивилизацию, лишь только появятся мощности с достаточным количеством кубит для практической реализации алгоритма. Я попытаюсь упростить изложение и...

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

Экспорт статьи из LibreOffice Writer в Habr Flavored Markdown или HTML Резюме. В статье дается ссылка на файл в формате ODT (основной формат файлов, используемый в текстовом редакторе LibreOffice Writer), содержащий макросы на «родном» для LibreOffice языке программирования макросов BASIC, которые осуществляют экспорт текста из LibreOffice Writ...

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

Где изучать Javascript в 2024. Бесплатные курсы, книги и ресурсы Изучение JavaScript в 2024 году по открытым ресурсов имеет несколько преимуществ:1. Востребованность: JavaScript остается самым популярным языков программирования в мире. Знание JavaScript открывает двери к множеству возможностей в IT-индустрии.2. Бесплатный доступ...

[Перевод] Dataloader 3.0: Новый алгоритм для решения проблемы N+1 При реализации Cosmo Router, open-source замена Apollo Router, мы столкнулись с проблемой поддержания нашего кода для решения проблемы N+1. Реализация маршрутизатора для федеративных служб GraphQL в значительной степени зависит от возможности группировать вложенные запросы G...

ChatGPT-4 в помощь: используем AI в доработке простого iOS-приложения Мне всегда было интересно, получится ли применить AI-инструменты в трудовых буднях программиста. Когда появился ChatGPT, я начал пробовать использовать его в работе, и он быстро стал для меня вспомогательным инструментом. Буквально на днях вышло его крупное обновление, и ста...

Можно ли устроиться на работу тестировщиком после курсов? Что они дают? Очень насущный вопрос для многих — можно ли найти работу в тестировании сразу после курсов? Да! (сказал автор курсов, хе-хе-хе)Я вам больше скажу — можно и БЕЗ курсов устроиться

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

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

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

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

One week offer для системных аналитиков и аналитиков данных — с 7 по 10 ноября Привет! Мы тут решили запустить очередной One Week Offer, на этот раз — для системных аналитиков и аналитиков данных, с 7 по 10 ноября. Если вам интересно —  до 3 ноября зарегистрируйтесь на лендинге, и с вами свяжутся.Почему нам нужны системные аналитикиСейча...

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

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

React 18: что поменялось React — одна из самых популярных JavaScript-библиотек для создания пользовательских интерфейсов. В её новой версии произошли значительные изменения, и сейчас я расскажу про самые важные. React 18 теперь умеет существенно лучше работать с приложениями, содержащими большие ...

Укрощаем DNS в Wireshark. Часть 2 В предыдущей статье мы начали рассматривать использование анализатора пакетов Wireshark для работы с DNS. В этой мы продолжим рассмотрение данной темы и поговорим о рекурсии DNS. Здесь принцип обмена пакетами будет немного сложнее, потому что помимо обмена DNS пакетами между...

Гонка за скоростью: сравнение производительности ведущих фреймворков JavaScript в веб-разработке. Fastify, Express, Koa Недавно я задался вопросом «Какой JS фреймворк самый быстрый». Я обратился с этим запросом в гугл и нашел очевидный ответ «это fastify!». Но почему именно он?. Я практически сразу наткнулся на статью, результаты которой меня немного расстроили, так к...

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

Как много языков может влезть в одного программиста? Всем привет, я Серёжа, технический лидер iOS-разработки. Сегодня хочу поговорить о многогранности мира программирования, а именно о количестве языков, причинах, по которым они нам нужны, и о том, зачем одному программисту несколько языков.Если с каких-то рассуждений прямо си...

Простой путь к публикации Vue3 модуля на NPM с помощью Vite Для веб-разработчика (особенно начинающего) создание собственных модулей и публикация их в open source может казаться сложным процессом. В этой статье я покажу один из самых простых и быстрых способов публикации своего модуля на NPM при помощи бандлера Vite. Этот метод ...

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

Как я ищу себе сотрудников в команду DevSecOps и AppSec Привет! Меня зовут Михаил Синельников. Я DevSecOps TeamLead в РСХБ‑Интех. Тружусь в ИТ‑сфере уже 25 лет, немалую часть из которых — на руководящих должностях. Сегодня расскажу, как я ищу специалистов к себе в команду DevSecOps и A...

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

Ищем Арнольда Шварценеггера среди мужчин, женщин и детей с помощью нейросети на С++ Привет, Хабр! Меня зовут Кирилл Колодяжный, я ведущий инженер-программист в YADRO. Помимо основных рабочих задач, включающих исследование проблем производительности СХД, я увлекаюсь машинным обучением. Участвовал в коммерческих проектах, связанных с техническим зрением, 3D-с...

Как эволюционировала платформа управления данными в Яндекс Go. Доклад Яндекса С 2017 года мы строим и постоянно адаптируем к меняющимся требованиям и внешним факторам платформу управления данными. Для нас это инфраструктура, которая живёт и переиспользуется внутри разных сервисов, которые входят в Яндекс Go: Такси, Еда, Лавка и Дос...

Книга «Terraform: инфраструктура на уровне кода. 3-е межд. изд.» Привет, Хаброжители! Terraform — настоящая звезда в мире DevOps. Эта технология позволяет управлять облачной инфраструктурой как кодом (IaC) на облачных платформах и платформах виртуализации, включая AWS, Google Cloud, Azure и др. Третье издание было полностью переработано...

[Перевод] VES — микросервис Cosmos для кодирования видео на Netflix Cosmos представляет собой новейшее поколение медиа-обработчика на Netflix, интегрирующее архитектуру на основе микросервисов, асинхронные рабочие процессы и функционал без привязки к серверам. Эта платформа нацелена на оптимизацию медиа-процессов внутри Netflix, повышая их г...

Библиотека WiringRP для управления GPIO на Repka Pi Если вы ищете средства для работы с GPIO микрокомпьютера Repka Pi из программ, составленных на Си, обратите внимание на библиотеку WiringRP. В этой статье мы расскажем, как создавать с ее помощью однопоточные и многопоточные программы, управляющие светодиодами, сервоприводам...

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

К чему с годами приводит работа с Dependency Injection и Service Locator Глубину осознания библиотеки можно проверить, написав её самостоятельно. Возможно, новорожденное решение будет ограниченным и не найдёт свою аудиторию, но оно навеки принадлежит автору и подтверждает реальное понимание работы технологии. Так произошло и со мной. Я решил...

[Перевод] Состояние WebAssembly – 2023 и 2024 Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский “WebAssembly в действии” (Питер, 2022). Предыдущий обзор Состояние WebAssembly в 2022-23 годах опубликован автором в январе 202...

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

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить "не-технарей" («чайников»), желающих подн...

Разгоняем Ignite в облачной инфраструктуре. Часть 1 Привет, Хабр! На связи Дмитрий Пшевский @pshevskiy и Семен Попов @samansay, технические лидеры юнита Data в Сбере. Уже более 6 лет мы заботимся о клиентских данных Сбера — храним, дедублицируем, стандартизируем, маркируем. А сегодня хотим поговорить о произво...

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

Язык программирования R для статистической обработки данных Гибадуллина Д.А  Гибадуллина Дарья Анатольевна/ Gibadullina Daria Anatolievna- студент второго курса бакалавриат Уральского филиала Финансового университета направления бизнес-информатика Аннотация: Язык программирования R имеет широкое применение в области ст...

Отправляем и принимаем SMS с помощью SIM868 и Repka Pi В этой статье мы продолжим рассказ об использовании модуля GSM/GPRS/GNSS Bluetooth HAT, созданного на базе SIM868, для беспроводной передачи данных в виде СМС-сообщений через Российский одноплатник Repka Pi. Такой способ даже в наше время актуален, когда нужно управлять авто...

Пишем интерактивный виджет Виджеты в новом обличии появились в 2020 году вместе с выходом iOS 14 (HomeScreen widgets). За это время Apple выпустила больше семейств виджетов, а также добавила их на LockScreen в iPhone и iPad. Но интерактивность появилась впе...

Unity: сквозь тернии к importing assets Небольшая заметка по итогу многих лет работы с движком: проблемы, баги, странности и краши.С движком работаю в той или иной мере с 4 версии, поэтом накопилось довольно много различных нюансов. Читать далее

Разговор с одним из основателей «Базальт СПО» Алексеем Смирновым о свободном ПО и взаимодействии в комьюнити В конце сентября и начале октября 2023 года информационная служба Хабра посетила 19 конференцию разработчиков свободного ПО. Это профессиональная конференция для разработчиков, где они обмениваются мнениями. Иногда там возникают споры или оживлённые ...

Шаблонизируй это или Как ускорить разработку при помощи одного документа Привет! На связи лид команды аналитиков Magnus Tech Владислава Никитина.В заказной разработке каждый проект начинается со сбора бизнес-требований к будущей системе. Это важный этап, ведь именно здесь определяются контуры задач, которыми займутся разработчики. И с ним связан ...

Часть 1. GPU-Based Fuzzing. Что за зверь такой? Всем привет! При изучении темы фаззинг‑тестирования всегда возникает вопрос, насколько сильно можно увеличить количество выполнений приложения в секунду. Иначе говоря — как ускорить фаззинг?В последнее время одно из популярных направлений —...

<dl> или <table>? Исследуем подходы к представлению пар ключ-значение в HTML Казалось бы, простая задача - сверстать список пар ключ-значение. Бери <div> и делай. Но что, если захотелось подушнить? Этим и займёмся в статье...Рассмотрим три подхода к решению этой задачи: <div>, <dl>, <dt>, и <dd>, и <table>. Обсудим...

Развиваем продукт «без проблем» В своей прошлой статье я рассказывал о том, как использовать метрики при разработке продуктов. Статья получилась довольно насыщенная, но теоретическая.В этой статье я хочу рассказать о том, как на практике применять эти подходы при развитии продуктов. Можно ли опираться толь...

Разработчикам: рецензия на книгу «Node.js: разработка приложений в микросервисной архитектуре с нуля» Компактная книга "Node.js: разработка приложений в микросервисной архитектуре с нуля" Юлии Поповой — выпущена в апреле 2024 г. как практическое руководство для разработчиков уровня джун и выше. Описан процесс создания микросервисов на Node.js с использованием фреймворка...

Что поменялось в Google в марте 2019? Источник изображения: Searchenginejournal.com   Вопрос пользователя: Есть ли понимание, какие факторы изменились в ранжировании Гугл после обновления алгоритма в марте 2019? Большой контентный проект с хорошим трафиком начал плавно терять посещаемость после мартовского...

Списки с душой и стилем: Ваш путь к Jetpack Compose С каждым днём всё больше и больше разработчиков присоединяются к использованию Jetpack Compose. Этот рост связан с тем, что фреймворк предлагает ускоренную и упрощённую разработку пользовательского интерфейса (UI). Если ранее вы разрабатывали приложения с...

[Перевод] Как стать программистом графики: советы команды AMD Game Engineering Очень часто нас спрашивают о хороших веб-сайтах для новичков по изучению программирования графики. Разумеется, мы бы с радостью порекомендовали GPUOpen, но правда в том, что основная целевая аудитория GPUOpen — программисты среднего или высокого уровня. Для только начинающих...

Подготовка инструментов под фаззинг UEFI на базе edk2 в Windows Так повелось в мире, что время от времени необходимо проводить исследования безопасности драйверов и прошивок. Одним из способов исследования является — фаззинг (Fuzzing). Не будем останавливаться на описание на самого процесса фаззинг...

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

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

Две новых книги по Python от американского и российского авторов с промокодом Привет, Хабр!  Мы с почином — в блоге SSP SOFT стартует новая рубрика с анонсами выхода книг по программированию и операционным системам от издательства «БХВ-Петербург». Узнав об этой инициативе, издатель подарил всем читателям Хабра специальную скидку по промокоду, кот...

[Перевод] Где-то в дороге мы забыли о мастерстве программирования «Поставляй!»«Мы теперь Agile, детка. Двигайся быстро и ломай вещи!»«Мы оцениваем наших инженеров по тому влиянию, которое они оказывают!»Где‑то по пути, в разгар agilification программного обеспечения или золотой лихорадки зарплат инженеров‑прог...

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

Алгоритм генерации столбцов (Column Generation) Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.В статье представил теоретическую предпосылку, схему алгоритма и python реализацию подхода. В практической части рассмотрел решение двух задач: з...

Замыкания и декораторы в Python: часть 2 — декораторы Уважаемые читатели, рад вас приветствовать в новой статье. Этот материал является продолжением предыдущей публикации, посвященной замыканиям. В данной части обзора мы углубимся в тему декораторов.Эта статья написана в первую очередь для тех, кто только начинает свой путь в п...

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

Микросервис на Python+ FastAPI Микросервис — это подход к разбиению большого монолитного приложения на отдельные приложения, специализирующиеся на конкретной услуге/функции. Этот подход часто называют сервис-ориентированной архитектурой или SOA.В монолитной архитектуре каждая бизн...

Внедрение практик и принципов DAMA-DMBOK2 как предпосылки к использованию ИИ в бизнес-процессах организаций 28 сентября компания РСХБ‑Интех провела RSHB Data Integration Meetup — митап для специалистов по работе с данными, в рамках которого выступил Антон Агеев, корпоративный архитектор и техлид команды Подписки в проекте «Свой бизнес» РСХБ‑Интех. В своем докла...

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

Товары-аналоги и с чем их едят или Свежий подход к формированию групп товаров для управления ассортиментом Ozon fresh Мы команда data science Ozon fresh. В этой статье мы расскажем об одной из наших задач - алгоритм, который помогает управлять нашим огромным ассортиментом.Ozon fresh — это сервис быстрой доставки продуктов, бакалеи, бытовой техники, электроники и других товаров. В нашем ассо...

Анти-легаси архитектура для UI приложений В предыдущих статьях мы пришли к выводу, что для того, чтобы UI‑код не превращался в легаси, нам нужно отделить представление от бизнес‑логики и немного иначе, чем это делают Redux и Elm, так как оба подхода не позволяют сделать э...

Спецификация уникальных идентификаторов UUIDv7 для ключей баз данных и распределенных систем по новому стандарту RFC9562 Долгожданный стандарт RFC9562 "Universally Unique IDentifiers (UUID)" с тремя новыми версиями идентификаторов UUID (6, 7 и 8) вместо малопригодного RFC4122 наконец-то вступил в силу. Я участвовал в разработке нового стандарта. Обзор стандарта можно посмотреть в статье.Введен...

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

Простейший пример kafka + golang В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker. Читать далее

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

Использование Redis почти как SQL БД: Реализация чата с кешированием сообщений Допустим, мы хотим создать чат и хранить сообщения для него. Вполне возможно, мы можем добавить для этого простую базу данных (БД), такую как MySQL или даже NoSQL БД.Обычно многие используют Redis как key‑value (dictionary) хранилище. Тем не мен...

Генеративный ИИ: названы 5 примеров использования для бизнеса Мир претерпевает значительные изменения, и на переднем плане находится новая мощная технология: генеративный ИИ (GenAI). Этот инструмент использует машинное обучение для создания совершенно нового контента, от текста и изображений до музыки и кода. Находясь еще на ранних ста...

[Перевод] Туториал по Tokio. 1/2 Hello world! Представляю вашему вниманию первую часть туториала по Tokio. Tokio — это асинхронная среда выполнения (runtime) кода Rust. Она предоставляет строительные блоки, необходимые для разработки сетевых приложений любого размера. Читать дальше →

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

Стресс на работе: каким он бывает и как с ним справляться По данным опроса SuperJob, лишь 6% россиян не испытывают стресса на работе, 22% считают уровень стресса высоким, а 18% — очень высоким. Меня зовут Татьяна Белова, я автор медиа вАЙТИ и в этой статье мы разберемся, что такое стресс, для чего он нужен....

[Перевод] Выберите технологию очередей Postgres Очереди в Postgres — вещь красивая, но далекая от мейнстрима. Его относительная безвестность частично объясняется карго-культом «масштабируемости». Культ масштабируемости постановил, что существует несколько технологий очередей с большей «масштабируемость...

С помощью нового метода можно изучать программирование в игровой форме Исследователи из Литвы и других европейских стран разработали метод, цель которого — облегчить обучение программированию с помощью геймификации и искусственного интеллекта (ИИ).

[Перевод] Учимся использовать модуль Ansible Shell для выполнения удалённых команд Мы перевели статью, где подробно рассматривается использование модуля Ansible Shell и различные способы выполнения удалённых команд на узлах в рамках работы по автоматизации. В статье рассматриваются различные опции и модули для выполнения удалённых команд, а также их различ...

Российская платформа коротких видео Yappy интегрировала технологии ИИ Российская платформа коротких видео Yappy использует технологии искусственного интеллекта (ИИ) для улучшения модерации контента и рекомендательных систем. Генеральный директор Данила Овчаров подчеркнул, что ИИ помогает авторам в создании и редактировании видео, а также ...

Как я пытался облегчить работу в поликлинике Работа врача поистине тяжелая. Для того, чтобы облегчить ее и сделать чуточку проще, попробовал с помощью «No‑code» разработать удобное приложение, по подобию доставки. Что из этого вышло и почему бессмысленно. Подробнее об опыте

Самый простой способ обхода блокировок доступа к сайтам любых стран Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать? Я понимаю (программ...

E-mail Injection; Инъекции в почтовую функциональность веб-приложений Так сложилось, что одним из вариантов решения задачи сбора ответов пользователей на формы является использование электронной почты. Электронная почта – комплексная технология, в работе которой задействован целый список компонентов.В таком сценарии формы выступают посредникам...

В помощь IT-команде — «Регламент создания багов» или «Как сделать задачу ясной для тебя из отпуска» Данный регламент я написал на основании опыта работы лидом в IT компании с веб-приложением. Пункты из него прошли проверку практикой. Изначальные версии были (естественно) основаны на best practice из интернета, agile и опыта предыдущих и текущих руководителей. Стоит отметит...

Чтение на выходные: «Не всё ли равно, что думают другие?» Ричарда Фейнмана Снова в колонке книга экстраординарного автора и физика. Мы уже писали о нём в другой статье на Хабре, поэтому рекомендуем ознакомиться и с нашим материалом, и с другим его произведением жизненной юмористической литературы. Книга «Вы, наверное, шутите, мистер Фейнм...

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

Коэффициенты для экстраполяции прогнозов компонент CLTV на 5 лет Эта статья описывает, как из прогнозов ряда ML-моделей получить ценность клиента с горизонтом в 5 лет. Напомним, что показатель CLTV представляет из себя композицию прогнозов ее компонент (подробнее в статье). В нашей реализации максимальный период прогнозирования ...

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

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

Процессы в РСХБ: взаимодействие с СБП через ЕСПП, App.Farm и различные нюансы импортозамещения Привет, Хабр! Меня зовут Игорь Шестаков. Я занимаюсь тестированием ЕСПП (единая система приема платежей) в Блоке обеспечения и контроля качества выпуска изменения ПО в РСХБ‑Интех. Сегодня обсудим тему выживания в контейнере и ветвистых путей импортозамеще...

Переход с Vue-CLI на Vite: ускоряем разработку Vue 3 Одним из новых инструментов в арсенале Vue 3 является Vite - быстрый и легковесный бандлер, который значительно упрощает процесс разработки и ускоряет сборку проекта. В этой статье мы рассмотрим, как перейти от стандартного подхода с использованием Vue-CLI и Webpack к более ...

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

В AppMetrica появился инструмент прогнозирования LTV и оттока В AppMetrica, сервисе Яндекса для аналитики мобильных приложений, появился новый инструмент — Предикты LTV (lifetime value) и оттока. С помощью Предиктов владельцы и маркетологи мобильных приложений смогут оптимизировать рекламные кампании ...

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

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

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

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

Сколько сотрудники в ИТ готовы работать в одной компании и как их удержать Последние несколько лет ИТ‑отрасль бьет рекорды по всем направлениям: спросу на специалистов, уровню зарплат, возможностям и привилегиям. Расскажем, как часто ИТ‑специалисты меняют работу и как R‑Style Softlab работает в направлении удержания таланто...

Яндекс открыл доступ к API YandexGPT для всех – можно создавать чат-ботов и многое другое Команда Яндекса объявила об открытии API YandexGPT для всех пользователей в режиме превью. Как отмечает пресс-служба, это новый сервис Yandex Cloud для бизнеса.  Сгенерировано нейросетью Midjourney Теперь сервис тарифицируется, у него есть новые технологические во...

Жизнь на колёсах. Велосипед как способ проветрить голову Привет! Меня зовут Артём, я старший программист в SM Lab. А ещё я люблю велосипеды. Так как работа программистов чаще всего так или иначе сидячая (ну, кроме тех ребят, кто осилил освоить стол для стоячей работы и прочие плюшки), то нам приходится придумывать, как бы добавить...

Navmesh, lightmaps и lightprobes: реализация и использование в Playcanvas В этой небольшой заметке хотелось бы поделиться результатами реализаций нескольких технологий из gamdev-а. В основном коснёмся двух тем. Первая тема - это использование navmesh-ей для нахождения путей в пространстве трёхмерной сцены. Вторая тема - это использование lightmap ...

[Перевод] Ранний взгляд на будущее тестирования с swift-testing Пару месяцев назад Стюарт Монтгомери, программист из команды XCTest в Apple, поделился новой библиотекой тестирования Swift с открытым исходным кодом на основе макросов.Библиотека называется Swift-testing, и, как указано в ее документации, она предназначена для проверки конц...

Сравнение работы MTS AI Chat с другими русскоязычными LLM Всем привет!Мы в MTS AI занимаемся созданием технологий и продуктов на базе искусственного интеллекта. Непосредственно наша группа фундаментальных исследований разрабатывает LLM и модели для генерации кода. В этой статье мы представим нашу первую фундамен...

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

Способы обхода GIL для повышения производительности Привет, Хабр!Global Interpreter Lock в Питоне предотвращающает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python‑приложения будут выполняться только в одном потоке ...

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

Unreal Engine 5: Nanite — Z-тест для самых маленьких Доброго времени суток,Неожиданной для себя, обнаружил, что по какой-то причине, присутствует не так много содержательных статей о работе технологий Unreal Engine 5 на русском языке. Я решил исправить эту несправедливость. И чтобы не повторятся с англоязычными статьями или не...

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

Системы автоматизации, SGRC Современная кибербезопасность включает в себя множество различных аспектов, объектов и субъектов защиты: информационные активы компании (ИТ-системы, бизнес-приложения, серверы, рабочие станции, сетевое оборудование), файлы и данные в самых разных форматах (от структурированн...

[Перевод] Как добавить Flutter в нативное приложение iOS и протестировать его на Codemagic (Часть 1) Hola, Amigos! На связи Саша Чаплыгин, Flutter dev компании заказной разработки Amiga. Нашел интересную статью, решил поделиться переводом. Автор материала рассказывает, как добавить Flutter в новый или существующий проект Native iOS и протестировать его на Codemagic CI/CD с ...

Опыт прошивки Arduino WiFi без USB порта Плата Arduino Wi-Fi представляет собой составной девайс два в одном: обычный Arduino UNO (на чипе ATmega328P) и Wi-Fi модуль (ESP8266 ). Каждое из устройств имеет свой процессор, свою оперативку и свой EEPROM (энергонезависимая память). И программируется все это, соответстве...

Держись, Маша! Ты, ведь, наша! Продолжение разбора книги «Цифровая схемотехника и архитектура компьютера» Упомянутая в заглавии книга (далее H&H) - это про железо [15]. Я - про программирование, но на базе "железной модели" конечного автомата. И там и там математическая основа одна. Все это, действительно, крутая железная концепция, помогающая поставить не только синтез цифр...

Автоматизация создания тестовых данных и загрузки исторических данных в SAP на основе SAP GUI Scripting Привет, Хабр! Меня зовут Василь Хамидуллин, я работаю в ЦК тестирования АСУ ФХД в компании РСХБ‑Интех. Продолжу тему использования SAP для автоматизации подготовки данных. В прошлом материале говорили про LSMW и как данный инструмент можно испол...

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

Как работать с динамическими блоками в nanoCAD и переносить объекты из AutoCAD Все привыкли к тому, что первый инструмент проектировщика — это AutoCAD, который доминирует в мире черчения и проектирования с момента создания с 1980-х годов. Известность AutoCAD в сообществе САПР сравнима с известностью Photoshop в с...

Системное мышление на практике: переход от монолита к микрофронтендам и обратно Меня зовут Олег, я уже 20 лет работаю в ИТ и в основном на Enterprise-проектах. Сейчас работаю в Альфа-Банке на проекте Альфа-Онлайн и хочу поделиться своим видением управления сложностью на больших проектах.Мой опыт работы с десятком комплексных решений показал, что системн...

Как мы сделали переводчик точнее и дешевле Google и Yandex Всем привет! Меня зовут Никита, я Data Scientist из Raft. Сегодня я расскажу вам о том, как мы решили задачу перевода каталога товаров большого интернет-магазина с русского на арабский язык с применением искусственного интеллекта. Мы рассмотрим различные подходы и идеи, возн...

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

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

[Перевод] Что GCC делает для усиления защиты ядра? Усиление защиты ядра Linux — это задача, предполагающая постоянную работу сразу по нескольким направлениям. И иногда эта работа может быть выполнена даже не в самом ядре, а с помощью других инструментов, или даже в компиляторах. На конференции 2023 GNU Tools Cauldron Цин Чжа...

Как я за один заход хакнул половину американских сетей фастфуда Консоль бодро оповестила меня о завершении работы скрипта. Его задача заключалась в поиске учётных данных для доступа к Firebase, которые лежали в открытом доступе и принадлежали одному из сотен недавно появившихся ИИ‑стартапов.Скрипт шёл по&nbs...

Запуск идеи стоит 5 млн, и это дорого. Как сэкономить на проекте? Спойлер: откажитесь от React К нам часто приходят от других разработчиков. Когда начинаем разбираться, понимаем: заказчику предлагали совершенно ненужные фичи. Эти самые фичи не только растягивают проект по времени, но и повышают его стоимость, а ощутимой пользы не при...

Онбординг аналитиков. Опыт Bimeister Я много слышу от новых коллег, что у нас в компании классный онбординг, что это им легко, комфортно входить в процесс, нет стресса. А ещё внутри компании и команды аналитиков он работает классно, поэтому решила поделиться им. Почти каждый а...

Что новые стабильные материалы GNoME означают для химии? В конце ноября Google DeepMind сообщила об открытии сотен тысяч новых стабильных материалов с помощью нейросети Graph Networks for Materials Exploration (GNoME) ― сервиса для предсказания неорганических кристаллических структур. Сами разработчики в статье в Nature говорят об...

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

[Перевод] Go развивается в неверном направлении Язык программирования Go известен своей простотой в использовании. Благодаря продуманному синтаксису, возможностям и инструментарию, Go позволяет писать легко читаемые и поддерживаемые программы произвольной сложности (см. этот список на GitHub). Некоторые инженеры-программ...

Названы самые «притягательные» для донатов тематики блогов Исследователи назвали самые популярные тематики блогов с точки зрения размеров донатов авторам

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

Приглашаем на Ozon Tech Community BI Meetup Всем привет!Меня зовут Дмитрий, я руководитель группы разработки инструментов BI. Стоит ли говорить, что данные вокруг нас и, если мы не умеем с ними работать, то мы не можем функционировать как бизнес вообще? Наша команда платформы данных старается обуздать десятки пет...

Павел Дуров анонсировал введение нового способа монетизации Telegram-каналов Павел Дуров представляет новаторский подход к монетизации для авторов Telegram-каналов

Как загружать классы в Java 8 и Java 9+? Привет, Хабр! Я разработчик в Институте Системного Программирования РАН, занимаюсь разработкой статического анализатора Svace. Недавно я столкнулся с задачей самостоятельной загрузки классов в JVM, что оказалось непросто, потому что в проекте мы используем модули Java.Модули...

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

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

Континент 4 Getting Started 2.0. Контроль доступа Если Вы рассматриваете Континент 4 NGFW как решение, на которое планируете мигрировать с иностранного решения, настоятельно рекомендуем ознакомиться с заключением к данной статье. Там вы найдете перечень полезных материалов.Все используемые вирт...

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

[Перевод] Я уже 14 лет в отрасли, но программировать по-прежнему сложно Много лет назад, учась computer science на старших курсах, я долго изучал различные вакансии онлайн, надеясь найти подходящую должность стажёра-программиста.Кроме вакансий для стажёров я иногда случайно нажимал на объявления о вакансиях «сеньор-разработчика». Помню, больше в...

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

Наноматериалы и нанотехнологии. Часть III В предлагаемой статье речь пойдет об электронной микроскопии. Рассматриваются различные типы электронных микроскопов (ЭМ), включая просвечивающие и зондирующие микроскопы с высоким разрешением, рентгеновская микроскопия и анализ, новейшие методы получения изоб...

[Перевод] 10 прорывных разработок 2024 года по версии MIT Technology Review Начиная с 2001 года журнал Массачусетского технологического института MIT Technology Review ежегодно публикует свой список из 10 многообещающих технологий, которые, по мнению редакции, способны изменить мир в ближайшее время. Журналисты рассматривают достижения во ...

Архитектурные нюансы OpenStack. Базы данных как сервис, реализация Trove Привет, Хабр. Это вторая статья в цикле, в котором мы рассматриваем архитектуру основных сервисов OpenStack. Первая, в которой я рассказывал о Nova и общих паттернах построения платформы, находится здесь. Сегодня погрузимся в детали реализации сервиса DBaaS, который в платфо...

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

2FA для 1С по протоколу OpenID Connect на базе Keycloak Очередной пост о том, что мы делаем. В этот раз расскажу вам о том, как мы обеспечили безопасность информационных баз 1С с использованием сервиса аутентификации Keycloak через протокол OpenID Connect и настройку двухфакторной аутентификации с&nb...

Смена профессии и мой первый опыт в IT: путешествие в мир фронтенда с Tauri, REST и Fetch API Привет, Хабр! Меня зовут Гармаев Энхэ. В течение длительного времени я работал в сфере розничной торговли, занимая должность менеджера. Это было увлекательное и насыщенное время, но, как говорится, в жизни всегда есть место переменам и новым вызовам....

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

Гайд по стандартным 5-звёздочным персонажам в Honkai Star Rail Можно много спорить какой персонаж лучше, или даже поругаться из-за этого с другом ведь его мнение не совпадает с твоим. Но отбросим эмоции и выберем персонажа без вайфу-фактора а только с точки зрения профита в твоем отряде.

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

Разработка через тестирование. Совместное использование JUnit 5 и Mockito Привет, Хабр! На связи участница профессионального сообщества NTA Александра Грушина. Поговорим о важности написания тестов к своему коду, о магии подхода test-driven development. Я расскажу о своём пути: от первого знакомства с концепцией TDD до умелого использования и...

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

Как «Умные» холодильники Cooler Screens меняют мерчендайзинг Пользователи больше не удивляются, что их «рекомендуемые товары» на любой e-commerce платформе совпадают с реальностью - покупками, запросами, избранным. А может это просто комплиментарный товар к только что купленному. Независимо от того кто вы, где вы и каков ваш доход,&nb...

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

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

YandexGPT API быстро и без труда с Python SDK. Делимся опытом интеграции YandexGPT API — сервис для доступа к генеративным языковым моделям, хоть и является мощным инструментом во многих задачах, однако может озадачить разработчика, решившего внедрить его в свои проекты отсутствием официального SDK, разнообразием способов...

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

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

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

[Перевод] Сколько строк на C нужно, чтобы выполнить a + b в Python? В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсбер...

[Перевод] Что нужно знать, чтобы успешно пройти System Design Interview Для любого разработчика глубокое понимание основных принципов системного проектирования является необходимым условием для создания стабильных и масштабируемых программных систем, способных обеспечивать высокую производительность. Системное проектирование (System Design) вклю...

Фишки и «грабли» использования машинного обучения от спикеров ML2Business В среду 29 мая мы провели ML2Business — первую конференцию от Yandex Cloud, посвящённую кейсам применения GenAI, NLP, CV и других технологий ML в бизнесе. Реальный опыт внедрения машинного обучения был представлен в двух треках: GenAI&N...

Миссия Polaris Dawn совместно со SpaceX всё ближе и ближе к запуску Polaris Dawn – это амбициозная частная космическая миссия, организованная и финансируемая известным предпринимателем и генеральным директором Shift4, Джаредом Иссакманом. Иссакман уже оставил свой след в космосе, приняв участие в миссии Inspiration4 в 20...

Релиз Ruby 3.3.0: что появилось нового в языке программирования и что изменилось  На днях появился новый релиз динамического объектно ориентированного языка программирования Ruby 3.3.0. Он вобрал в себя лучшие возможности многих других ЯП, включая Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Что касается кода проекта, то он распространяется по...

[recovery mode] Где изучать Linux в 2024. Бесплатные курсы, книги и ресурсы В настоящее время существует множество бесплатных ресурсов, которые предлагают уроки по Linux, от курсов до университетских программ, что делает эту ОС доступной для широкого круга людей. Знание Linux может открыть двери к различным IT‑профессиям, таким к...

Алгоритмы не важны Прошу простить заранее за несколько кликбейтный заголовок )Не так давно писал в соцсетях хейт‑пост по поводу «алгоритмических секций» при приёме на работу в Яндекс.Да и многие другие софтверные компании это практикуют и считают навыки ...

Маркировка рекламы в ОРД ВК для digital-агентства по доходному договору Пошаговая инструкция как маркировать рекламу для digital-агентства (посредника) с использованием платформы ОРД ВК (ОРД Вконтакте | ORD VK) с получением токенов (erid), оформлением актов и статистики, решением вопроса по разаллокации насчет изначального договора и креативов (...

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

Интерпретатор Brainfuck на Brainfuck Когда-то давно, году в 2013-м, на глаза мне попался следующий код:>>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[&...

Как заставить модуль Wemos D1 эффективно спать Сравнительно давно написал на хабре несколько статей Особенности создания программ в NODEMCU ESP8266 для «интернета вещей» / ХабрУменьшаем потребление ESP8266 при автономной работе с датчикамиКак уменьшить потребление wifi модулей в десять и более разо ESP8266 и способах уме...

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

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

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

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

Как стать Delphi-программистом за час «для самых маленьких» Принято считать, что программирование это сложно, но это миф (все проще чем кажется), и все что нужно чтобы стать программистом это немного упорства и изобретательности.В этой статье мы получим все базовые навыки, которые нужны Delphi программисту (включая базовые знания Run...

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

Я мыслю MOV EAX, 1 Чем больше усилий ты прикладываешь, тем лучше это у тебя получается. Программирование не исключение, и чтобы с уверенностью сказать: "Я могу написать это" нужно много работать. Эта статья о том с какого языка начать путь в программировании и о том как понять принципы работы ...

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

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

AMD предлагает свою бесплатную технологию улучшения видео Реализация от NVIDIA носит название RTX Video Super Resolution (как её активировать?), в данный момент уже версии 1.5. Кроме того, вспоминается вариант от Opera (как его использовать?), который тоже может дать положительный результат для некоторых видео. Читать полную ст...

[recovery mode] Делаем JavaScript компилируемым с помощью llvm.js В данной статье мы рассмотрим мощный проект - llvm.js и расскажем, что он представляет из себя. Также мы научимся создавать компилируемый язык программирования на основе JavaScript. Хотя в этой статье мы сфокусируемся именно на JavaScript, ознакомившись с процессом, вы сможе...

Найм и HR 2024 — чего нового Я инженер на сотню рублей,И больше я не получу.Мне двадцать пять,И я до сих пор не знаю, чего хочу.(На хабре же положено маркировать что автор текста — шпион и агент польский, японский, и иностранный? Или хабр не про политику и можно не мар...

Как в ЛАНИТ прошёл IT-мит​ап, посвященный искусственному интеллекту В этом материале мы хотим поделиться подробностями о нашем первом открытом IT‑митапе проекта «Своя Среда», который был посвящен искусственному интеллекту. На мероприятии эксперты ЛАНИТ и приглашенный спикер представили технические обзоры, кейсы, практичес...

Обзор инструмента DefectDojo: почему его выбирают? Практика ASOC (Application Security Orchestration and Correlation, оркестрация и корреляция безопасности приложений), интегрирующая инструменты анализа защищенности со стеком разработки ПО, сегодня широко известна в сфере безопасной разработки. О ней много писали мы и другие...

ESP32 снимает показания водяных счетчиков и сам передает их «куда надо» В сети сотни статей про использование ESP32 для съема показаний приборов учета, но практически все из них про интеграцию с «умным домом». Мой вариант реализации решает практическую задачу - просто сам передает показания, снимая с меня ...

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

LLaMA 2, RWKV, Santacoder и другие LLM на iOS Однажды я решил изучить язык Swift и разработать свое первое приложение для iOS. Для этого я решил создать реальный проект, который заключался в оптимизации нашумевшего LLaMA.cpp под iOS. Я поставил перед собой задачу обеспечить запуск 3B и 7B моделей на&...

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

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

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

Цветы в технологиях: инновационные способы использования цветов в производстве и инжиниринге Цветы, помимо своего эстетического значения, находят применение в различных областях, включая технологии и инжиниринг. Инновационные способы использования цветов в производстве и инжиниринге открывают перед нами новые перспективы и возможности. Они помогают не только создава...

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

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

Квиз со звёздочкой для С++ программистов от Сергея Кушниренко Привет всем любителям побрейнштормить и хорошенько развлечься! Команда PVS-Studio на связи. Новый крутой квиз с интересными вопросами из мира программирования уже у нас на сайте. Да не простой квиз, а задачки от Сергея Кушниренко — разработчика игр в 4A Games! Если устали от...

Зачем программисту микроконтроллеров тригонометрия? (или Обзор Усилителя Звука из Apple AirTag) На 12ом году опыта программирования микроконтроллеров мне наконец-то пригодилась школьная тригонометрия (6-класс). Это настолько специфический случай, что я решил накропать про это заметку.Когда Вам надо добавить в устройство звук, то можно воспользоваться микросхемой MAX98...

Как мы вели переговоры с хакерами или сколько стоит беспечность для компании Сегодня мы расскажем реальную историю из жизни собственников бизнеса. И хотя ее сюжет напоминает какой‑то голливудский фильм, произойти она может с каждым, кто заявляет: «Да у нас маленькая компания! Кому мы нужны?»Есть у нас заказчик — выполняем раб...

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

Системный подход к учёту расходов за 2023 год Ушедший 2023 год был непростым во многих отношениях. Как минимум, для меня. Это заметно хотя бы по тому, что за весь год тут не было опубликовано мной ни единого поста. Но теперь пора исправляться, и для начала, я бы тоже хотел подвести финансовый итог 2023 года. С чего я н...

Топ-10 качеств идеального ментора в IT. Мы опросили сто аналитиков Всем привет! Меня зовут Артём Полуян, я руководитель системных аналитиков в SM Lab. В этой статье хочу поделиться одной любопытной статистикой, которую мне удалось собрать за два года. Что за статистика и откуда она у меня взялась? Дело в том, что у меня есть своего род...

[Перевод] PL/I — многогранный язык Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь иде...

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

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

[recovery mode] Легко архивируем 1С на холодное хранилище SELECTEL v2 в 2024 году В прошлой версии не было выработано однозначно хорошего способа архивации на SELECTEL. Если не ограничивать хранилища, то они могли приводить к большим расходам, да и архивация через FTP показала себя не очень надежной, часто сбоила.Поэтому проведу работу над ...

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

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

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

[Перевод] Реализация Graceful Shutdown в Go Изящное завершение работы (Graceful Shutdown) важно для любого длительного процесса, особенно для того, который обрабатывает состояние. Например, что если вы хотите завершить работу базы данных, поддерживающей ваше приложение, а процесс db не сбрасывает текущее состояние на ...

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

Топовые материнские платы на чипсетах AMD X870E и X870 не нужны? Производители не собираются запускать продажи таких моделей в июле одновременно с CPU AMD Ryzen 9000 AMD представила на этой неделе процессоры Ryzen 9000 для настольных ПК и чипсеты для них — X870E и X870. CPU поступят в продажу июле, но на этот раз поддержки в виде системных плат на базе новых чипсетов не будет: производители материнских плат попросту не собираю...

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

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

Путевые заметки: как люди находили путь домой. Часть 1 В эпоху новейших технологий найти дорогу из точки А в точку Б можно, просто введя адрес в GPS-навигатор или смартфон. Однако люди всегда стремились к ориентированию и прекрасно определяли свое местоположение и до появления GPS-навигаторов и смартфонов. В этой серии статей мы...

[Перевод] 10 самых распространенных проблем при линтинге Dockerfile'ов Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.В этой статье они делятся десятью наиболее распространенными проблемами при линтинге Dockerfile'ов, разбирают каждую проблему и объясняют, почему она возникает и к...

Выделят 30 млн рублей: VK открыла приём заявок на гранты для блогеров Компания VK (бывшая Mail.ru Group) объявила о запуске приема заявок на цифровые гранты для блогеров и культурных учреждений. Прием заявок продлится до 29 июля. Участники могут претендовать на цифровые гранты размером до 1 млн рублей. Полученные средства можно напра...

Electronic Arts ищет программиста для новой мобильной игры На сайте hitmaker.net появилась вакансия от Electronic Arts на позицию бэкенд разработчика. Работать нужно удалённо, но находиться в Канаде — офис подразделения EA расположен в Ванкувере. Программист будет трудиться над новой мобильной игрой. В ней будет мультиплеер, рассчит...

[Перевод] Как реализован SRE подход в Power BI Команда Power BI рассказала, как она обеспечивает надёжную, производительную и масштабируемую работу своего сервиса. В этой статье вы узнаете, как в Power BI устроен мониторинг состояния сервиса, как SRE команды устраняют инциденты и принимают меры по улучшению сервисов. Чит...

[Перевод] Pinterest: разработка всеобъемлющей JSON-системы логирования для клиентских приложений В начале 2020 года у приложения Pinterest для iOS часто возникала серьёзная проблема, связанная с нехваткой памяти (у нас есть материал об этом). Тогда мы поняли, что у нас нет ни достаточно подробных сведений о работе приложений,...

Знакомьтесь, WOPI! Как настроить работу с документами в браузере Всем привет! Меня зовут Алексей Симонов. Я — разработчик в компании ELMA. Сегодня мы поговорим про протокол под названием WOPI. Он позволяет работать с файлами документов с использованием облачного сервера. Вы выбираете файл который хотите посмотреть или отредактировать...

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

asynpg-lite: Простой асинхронный менеджер для PostgreSQL на Python Друзья, в прошлых своих публикациях я рассказывал о том, что почти в каждом своем проекте использую свой класс для работы с базой данных PostgreSQL. На днях этот класс перерос в полноценную библиотеку asynpg-lite на базе asyncpg, которую каждый из вас может прямо сейчас уста...

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество ...

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

35+ бесплатных ресурсов для начинающих разработчиков С++ Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разрабо...

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

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

Unreal Engine vs Unity vs GoDot. Что нужно знать, если ты не программист Доброго времени суток, дорогие хабражители. Продолжаем разбор строения игр, игровых движков и их особенностей с точки зрения человека, которому никогда в жизни не говорили «тыжпрограммист». Сегодня на повестке дня выбор игрового движка из двух гигантов игростроя: Unity и U...

[Перевод] Ад Рендера 2.0. Книга вторая. Пайплайн Статья взята отсюда и переведена на русский язык. В статье автор подробно разбирает принцип работы графического пайплайна в GPU , используя простые и понятные иллюстрации.Пайплайн в ДетатяхБольшинство конструктивных отзывов, которые я ...

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

Реализации Microkernel архитектуры с помощью Java OSGI Я хотел бы поделиться опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative). Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение межд...

Картографический фотопроект «По местам съёмок фильма «Брат 2» Проект начал делать в 2022 году, параллельно с проектом по первой части фильма. Во второй части многие локации пришлось искать вооружившись Яндекс и Гугл панорамами. Около полугода искал человека, который сделает фото в Чикаго. С технической точки зрения ничего не поменялос...

[recovery mode] Где изучать Golang в 2024 2024 году изучение языка программирования Go (Golang) остается одним из наиболее перспективных и востребованных направлений для разработчиков. Одним из главных преимуществ изучения Golang в 2024 году является его широкое применение в различных областях разработки програ...

Samsung хочет возглавить рынок объемом 100 млрд долларов. Чипы 3D DRAM могут иметь ёмкость до 100 ГБ Компания Samsung Electronics нацелилась на то, чтобы стать лидером на рынке памяти 3D DRAM. Это объявление было сделано на конференции Memcon 2024, где компания представила ряд новинок. Поскольку ожидается, что во второй половине этого производство DRAM будет вестись по...

Почему инфраструктура big tech обычно состоит из самописных решений Привет! Предлагаю поговорить о том, почему крупные IT‑компании так любят создавать в своей инфраструктуре собственные решения. Казалось бы, напрашивается ответ: NIH‑синдром и ничего более. Но такой ответ вряд ли может считаться сколько-нибудь полным,...

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

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

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