Социальные сети Рунета
Четверг, 28 марта 2024

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

Идеальный каталог, пример использования Я разрабатываю библиотеку для работы с Entity Attribute Value (репозиторий), сокращенно EAV (структура базы данных для хранения произвольных данных). В конце прошлой статьи я спросил у вас о чём мне ещё надо написать, вы попросили показать пример использования и сделать заме...

Разделяй и Властвуй. Разбор задач Решение задач с помощью метода "Разделяй и Властвуй" или по-английски "Divide and Conquer" является одним из базовых методов по ускорению алгоритмов. Примером тому служит переход от квадратичной сложности пузырьковой сортировки или сортировки вставками ...

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

Ускоряем hugo на 20% простым изменением в пакете reflect Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость. Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на первой позиции находился метод reflect.Type.MethodByName(). flat flat% ...

[Перевод] C++20 Ranges — Полное руководство C++20 Ranges, также известная как STL v2, представляет из себя более эффективную замену существующих алгоритмов и технических средств STL. В этой статье мы пройдемся по изменениям, введенным Ranges (диапазоны/интервалы), обсудим представления (views), которые представляют со...

Альтернативный подход к динамическим окружениям: использование Octopod Как Octopod помогает сделать динамические окружения доступными для всехПривет, Хабр! В этой статье я хочу рассказать как мы в Typeable используем динамические окружения (review- или preview-окружения) в нашей работе, какие проблемы нам удалось решить, почему и как мы применя...

Как устроен счетчик ссылок в Swift Мы в iOS команде Vivid Money стремимся глубже понимать инструменты, которыми пользуемся каждый день. Один из таких – это язык программирования Swift. Он состоит из нескольких частей: компилятора, стандартной библиотеки и рантайма. Компилятор преобразует код понятный для чело...

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

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

oneTBB: интеграция и сборка через CMake Threading Building Blocks (TBB) — популярная библиотека для параллельного программирования на C++ с открытым исходным кодом, опубликована на GitHub. Пару лет назад команда разработки решилась на глобальный рефакторинг библиотеки (проект TBB revamp), в который удалось вписать...

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

Библиотека как продукт: от папки в проекте до международного опенсорса Работа над общей библиотекой сильно отличается от работы в продуктовой команде. Но разработчики библиотек тоже проходят длинный путь становления своего продукта, причем, в отличие от приложений, часто без помощи менеджеров или бизнес-аналитиков.Давайте посмотрим, из чего мож...

Delphi+OpenCV Сначала была мечта…Что-то похожее на робототехническую систему, с двумя подвижными камерами, способностью отслеживать (направлять «взгляд» на) заданный объект и определять расстояние до объекта. И это был 2012 год. Но так как я больше программист нежели железячник, то все на...

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

[Перевод] Находим более качественные решения при помощи boost Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комит...

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

Модификатор первого iPhone с USB-C добавил порт Lightning в Android смартфон В прошлом году Кен Пиллонел сделал то, что Apple отказывалась делать — выпустил iPhone с портом USB-C. Кен также модифицировал некоторые AirPods с портом USB-C. Для своего следующего творения Кен переоборудовал телефон Android с портом Lightning. На этот раз Кен Пиллонел...

Как работает FaceSwap. Часть 2. Разработка от Sber AI Привет, Хабр! В прошлой статье мы обсудили, что такое faceswap и довольно подробно разобрали существующие подходы. В этой статье мы хотим остановиться на том, как именно мы в Sber AI решаем эту задачу, а также погрузить вас в детали реализации нашего решения. Любое обучение ...

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

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

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

Arbitrary Precision — удобная C++ библиотека для работы с длинными целыми числами Вопреки тому, что авторских C++ библиотек для длинных целых очень много, мне было трудно найти решение, которое было бы простым в использовании на всех этапах (интеграция зависимости, разработка, релиз с зависимостями). Авторские библиотеки имеют одну или несколько проблем р...

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

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

[Перевод] Go: рендеринг изображений в 2D-играх на примере Ebiten В статье речь идет о Ebiten 1.10.Ebiten — это хорошо продуманная библиотека для создания 2D-игр, написанная Хадзиме Хошем на языке Go. С ее помощью созданы движки ряда мобильных и десктопных игр, как например зарелиженная в Apple Store Bear's Restaurant, или OpenDiablo2 — ре...

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

Динамичный экран с быстрыми обновлениями: разбираем плюсы и минусы Server driven view на примерах Всем привет, я Дима Авдеев, работаю в Туту и хочу рассказать про один из подходов, благодаря которому мы можем быстро добавлять в приложение важный для пользователей контент и обновлять его, не проходя повторные ревью в сторах. Например, если хотим быстро доносить до людей н...

Как мы подключили третью зону доступности в облаке и наконец-то стали деплоить сервисы в виртуалках Третью зону доступности в облаке мы развёртывали изначально для решения собственных задач — чтобы обеспечить «честный» кворум для наших внутренних распределённых сервисов. У нас было три собственных дата-центра, но лишь в двух из них были выделены зоны доступн...

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

Как правильно верстать в 2022 году. Часть 1 Меня зовут Николай, я Frontend-разработчик IT-компании Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.Дело в том, что лишь малая часть современных фронтендеров обращает внимание на работу с HTML и CSS, предпочитая готовые решения, врод...

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

Добавляем дополнительные особенности реализации на C++ с помощью «умных» оберток Представляю сообществу библиотеку feature из состава, разрабатываемых мной библиотек под общим названием ScL. Сам набор библиотенк ScL систематизирует достаточно скромный набор реализаций и подходов, которые на мой взгляд могут упростить процесс разработки программного обесп...

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

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

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

Личный опыт: стоит ли переезжать в Иннополис? В этом году мы — дизайн-центр электроники Promwad — открыли новый офис в Иннополисе, чтобы разрабатывать софт и железо для электромобилей, FPGA, AI-решений и других проектов. Так что сегодня вместо очередной инженерной статьи из серии «как это сделано» мы решили поделиться л...

«Магнитофон» для ZX Spectrum на базе Arduino Есть у меня аналог Спекки — персональный компьютер «Мастер». Он прошел несколько модернизаций, так что сейчас работает от обычного USB и с любым телевизором по SCART. Но вот с загрузкой программ есть небольшие сложности: магнитофона у меня уже нет, ноут для этих целей развор...

Log4HELL! Разбираем Log4Shell во всех подробностях Для подписчиковЕще недавно про средство логирования Log4j помимо специалистов мало кто слышал. Найденная в этой библиотеке уязвимость сделала ее центром внимания на последние месяцы. Мы в «Хакере» уже обсуждали ее импакт и рассказывали о том, как разные компании сражаются с ...

Обзор стремительно развивающейся среды разработки microStudio Здравствуйте дорогие читатели сайта! На написание этой статьи меня подтолкнул тот факт, что я не смог найти на необъятных просторах русскоязычного интернета, какой-либо подробной информации о microStudio. Можно найти небольшие заметки, на нескольких сайтах. Где совсем скромн...

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

DI.kt: одна из первых DI библиотек для Kotlin Multiplatform Прошу приветствовать одну из первых DI библиотек для Kotlin multiplatform — DI.kt. Вы можете спросить: «А зачем нам ещё DI либы?». Долгое время полноценного DI для Kotlin Multiplatform не было. Существующие библиотеки — это сервис-локаторы (Koin, Kodein, Popkorn), котор...

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

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

Какой JS-фреймворк выбрать новичку — мнения шести экспертов Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете. В первой статье о JS-фреймворках я рассказал о самых популярных из них: Angular, React, Vue и других. В комментариях опытные разработчики спорили о том, какой ...

Тестируем быстродействие трех библиотек Python Передо мной стояла задача выбрать библиотеку для расчета на Python, использующего операции над матрицами. Я выбрал и протестировал несколько вариантов, как использующих видеокарту (GPU), так и работающие только на процессоре.Использовал три библиотеки: Numpy, Pytorch и Numba...

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

VS Code. Компиляция прошивки. Marlin 2.0. PlatformiO. Очень много раз сталкивался с тем, что люди не могут настроить VS Code, вылезают всякие баги и вообще непонятно что к чему. Чтож, Эта статья расскажет как быстро (за 5-10мин) установить VS Code и настроить его для сборки Вашей первой прошивки.Ссылка на диск со всеми файлами....

Градиентный бустинг с CatBoost (часть 2/3) В первой части статьи я рассказал про понятие градиентного бустинга, библиотеки, с помощью которых можно реализовать данный алгоритм и углубились в одну из этих библиотек. Сегодня продолжим разговор о CatBoost и рассмотрим Cross Validation, Overfitting Detector, ROC-AUC, Sna...

Встречаем ровер третьего поколения: история создания робота-курьера Яндекса Встречайте! Мы выпустили на улицу роботов третьего поколения — модель R3 уже можно встретить в Москве, Иннополисе и США. До конца года мы планируем произвести больше сотни таких роботов, и в дальнейшем будем расширять флот за счёт них. Меня зовут Алексей, я работаю в Yan...

От LiveData к Flow… Мы Дима и Настя, Android-разработчики в компании СберЗдоровье. В этой статье мы хотим рассказать о том, как мы перевели весь наш проект с LiveData на Flow, с какими трудностями столкнулись и что полезного узнали. Эта статья будет полезна тем, кто работает с LiveData, уже про...

Флоптика (LS-120) Этот пост навеян отличной статьей про трискеты, которая в первые минуты чтения и меня заставила задуматься, а не пропустил ли я чего в истории средств хранения данных? Поэтому расскажу про необычные дискеты с треугольной шторкой (много фото). Читать далее

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

Сказ о том, как я погряз в Матрице Всем привет! С вами Станислав, и это моя вторая по счёту статья на Хабре. Как вы возможно помните из моей первой статьи, я увлекаюсь программированием, и операционной системой ReactOS. Но мои увлечения вовсе не ограничиваются этим. Сегодня я расскажу вам, как я буквально по...

Обновление данных в ClickHouse Всем привет! Эта статья продолжает первую часть, где я рассказывал о том, как мы в Just AI переводили пользовательскую аналитику на новую СУБД ClickHouse. В ней я на примерах показывал, как менялась схема данных и sql запросы, какие возникали сложности и удалось ли добиться ...

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation» Этой небольшой заметкой я хочу начать цикл статей посвященных алгоритмам компьютерной графики. Причем, не аппаратным тонкостям реализации этой самой графики, а именно алгоритмической составляющей.Действовать буду по следующему принципу: беру какой-либо графический эффект (из...

Поездка в Sonerezh. Поднимаем сервер для стриминга музыки Для подписчиковСегодня почти никто не скачивает музыку для прослушивания — на смену MP3-библиотекам пришли стриминговые сервисы. Они очень удобные, но платные. Что если запустить свой собственный, персональный стриминговый сервис с блек-джеком и блек-металом? В этой статье я...

Яндекс выложил YaLM 100B — сейчас это крупнейшая GPT-подобная нейросеть в свободном доступе. Вот как удалось её обучить Больше примеров — в конце поста В последние годы большие языковые модели на архитектуре трансформеров стали вершиной развития нейросетей в задачах NLP. С каждым месяцем они становятся всё больше и сложнее. Чтобы обучить подобные модели уже сейчас требуются миллионы долларо...

А ты используешь VAD? Что это такое и зачем он нужен Очень часто при работе мы обращаем внимание на то, что все люди знают, что такое распознавание речи, но не знают, что такое Voice Activity Detector (VAD) или детектор речи. А ведь именно VAD на самом деле самый важный алгоритм при работе с речью людей в естественной среде...

Как работает React: подробное руководство Привет, друзья! В этой статье я покажу вам, с чего начинается React. Что это означает? Это означает, что мы разработаем мини-версию React, которая сможет выполнять следующий код: import '../style.scss' import MyReact from './my-react' const buttonStyles = { border: 'none...

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

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

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

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

Angular Libs как монорепозиторий 2: tree shaking и сборка клонов Всем привет! В прошлом посте мы с вами разобрали механизмы создания библиотек с помощью Angular libs, а также научились настраивать их работу в приложении и друг с другом и даже вынесли наши ассеты в одну из таких библиотек.В этом посте хочу продолжить тему разделения функци...

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

Используем SQLite в KPHP и PHP через FFI Сегодня я расскажу о новой библиотеке, которая позволяет использовать SQLite сразу из PHP и KPHP. Создавать FFI пакеты — не просто. Под катом будут ответы на следующие вопросы: Как упростить установку и сделать библиотеку кроссплатформенной? Как не допустить утечек ресурсо...

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

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

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

Тестирование СУБД: 10 лет опыта Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть ин...

Причинно-следственный анализ в машинном обучении Что появилось первым: курица или яйцо? Статистики давно уже нашли ответ на этот вопрос. Причем несколько раз. И каждый раз ответ был разным.А если серьезно, то для машинного обучения становятся все более актуальными вопросы причинно-следственного анализа (causal inference) -...

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

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8 В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использов...

SQL HowTo: генерируем лабиринты (алгоритм Прима и геометрические типы) SQL является мощным инструментом для обработки множеств, а функционал PostgreSQL позволяет делать многие вещи еще проще, поэтому идеально подходит для реализации некоторых алгоритмов на графах.Причем работа с графами - это не просто разминка для ума, а вполне себе прикладная...

Автоматическая многоязычная модерация сообщений для миллионов пользователей Как мы все знаем, слова обладают силой. Ими можно вдохновить людей, но можно и навредить. Мы в Badoo и Bumble стараемся оградить пользователей от неприятных ситуаций, поэтому внедрили инструмент Rude Message Detector. Это многоязычный детектор грубых высказываний, работающий...

[Перевод] Как в PayPal разработали Dione — Open-source-библиотеку индексирования данных для HDFS и Spark Maksym Kaharlytsky on Unsplash Команда VK Cloud Solutions перевела историю о том, как инженеры PayPal столкнулись с проблемой обработки данных. Если пользователю требовалось получить определенную строку или выполнить многострочный запрос, данные нужно было дублировать, а д...

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

[Перевод] Как я написал алгоритм сортировки, который быстрее std::sort. Часть 2 Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)Публикуем вторую часть перевода материала об очень быстром алгоритме сортировки — «Ska Sort». В первой части&nb...

Рождение Albumentations В этом посте я расскажу историю появления Open Source библиотеки Albumentations как я ее запомнил. Я не буду углубляться в технические детали. Основная задача текста - логирование, то есть надо написать историю, которую мне будет интересно прочитать через 20 лет. История буд...

Respect Validation на Python Всем привет! Сегодня мы поговорим о валидации данных, а точнее о том как я перенёс библиотеку с PHP на Python. Библиотека настолько крутая (по мнению автора), что рекомендую вам с ней ознакомиться, особенно, если вы пишите API с библиотекой flask (ссылка на интеграцию в ста...

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

Публикация Android библиотеки Недавно у меня появилось желание попробовать создать свою собственную Android библиотеку и выложить ее на Maven Central репозиторий. Это оказалось не так просто, как я думал. В интернете полно непонятных статей на эту тему, в которых легко запутаться.Я решил поделиться проце...

Как мы меняем Anti-spoofing модель с вендорских решений на собственные Привет! Меня зовут Ренат Алимбеков, я занимаюсь задачами, связанными с Computer Vision в Beeline Казахстан. Сейчас моя работа направлена на Anti-spoofing. Моя основная задача сейчас — заменить вендорские решения в продуктах Beeline Казахстан на собственные. В этой стать...

Первый хакатон ВСК — от идеи до реализации В конце 21-го года состоялся первый хакатон в истории ВСК! Точнее - это был не совсем хакатон. А почему - читайте далее!Что еще вы найдете в этой статье:• все подробности организации;• цифры и сложности;• как создать почву для решения бизнес-задач;• как повысить лояльн...

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

Заднее число против обратной силы, или Миграции в BPM-решениях Мы в «ЛАНИТ — Би Пи Эм» занимаемся построением BPM-решений и автоматизацией бизнес-процессов. Обычно после выпуска первой версии развитие процессов не останавливается и заказчик хочет их улучшать: заменять ручные расчеты на автоматические, убирать ненужные шаги и обращения к...

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

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

[Перевод] Знакомство с трансформерами. Часть 2 Публикуем вторую часть материала о трансформерах. В первой части речь шла о теоретических основах трансформеров, были показаны примеры их реализации с использованием PyTorch. Здесь поговорим о том, какое место слои внутреннего внимания занимают в нейросетевых архитектурах, и...

[Перевод] Первая шариковая мышь Первая шариковая мышь была выпущена в 1968 году компанией Telefunken, которая нарекла своё детище RKS 100-86 “Rollkugel-Steuerung”. Это была, пожалуй, первая мышь, которая попала на коммерческий рынок, несколькими годами опередив компьютер Xerox Alto. В этой статье я покажу...

[Перевод] Авторизация в PostgreSQL. Часть 2. Безопасность на уровне строк Приветствую вас в очередном разборе инструментов авторизации PostgreSQL. В первых двух разделах предыдущей статьи мы обсуждали, чем интересна авторизация в PostgreSQL. Вот содержание этой серии материалов: Роли и привилегии; Безопасность на уровне строк (мы сейчас здесь);...

Становление IT-шника Эта статья и не статья вовсе. А рассказ о жизни. Я такое обычно не пишу, потому что сложно рассказать о жизни так, чтобы не свалиться к нытью или в преукрашивание. Честный байопик создать сложно.Но после прочтения этой статьи и предыдущей статьи автора захотелось как-то отве...

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

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

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

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

[Перевод] Что такое MLOps и различные MLOps-инструменты  (часть 2) По сравнению с прикладным программированием общего назначения машинное обучение (ML) является относительно недавней областью исследования. Крупные инициативы в области ML сегодня поддерживаются как аппаратным, так и программным обеспечением, позволяя предприятиям принимать б...

Netflix запустил свой аналог Apple Arcade Популярный стриминговый видео сервис Netflix запустил новые раздел. В нем собраны различные игры. Новый раздел доступен во многих регионах, включая Россию и Украину. Правда, пока в игровой библиотеке доступно не так много проектов. Хитов там также пока нет. Однако у Netflix ...

DevOps Cookbook: как построить процессы с нуля Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проек...

Хи Водолея Загадочная, неправильная, непредсказуемая Друзья, сразу сообщу: в конце статьи прикреплена её видео-версия. Если кому-то легче слушать, чем читать, можете этим воспользоваться. Плюс ко всему, в видео-версии существенно больше иллюстраций и есть несколько анимаций. Неяр...

[Перевод] Эмбеддинги признаков и повышение точности ML-моделей Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.Создание эмбеддингов признаков (fe...

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

Как CrowdSec помогает справиться с  уязвимостью в Log4j Привет, Хабр! Обнаружение уязвимости нулевого дня в Log4j (CVE-2021-44228) привело к резкому росту числа атак на различные сервисы, использующие эту популярную библиотеку Java. Это связано в первую очередь с простотой, с которой уязвимостью могут воспользоваться даже сравнит...

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

[Перевод] Блокчейн на Python Когда я читал статью про блокчейн на JavaScript, мне было интересно познакомиться с идеями о блокчейн-разработке, которые отличаются от тех, что мне уже известны. А как только я начал читать код, мне захотелось сопоставить его с аналогичным Python-кодом, чтобы ещё и разобрат...

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

Vivaldi 5.2 для ПК — Из количества в качество Одна песчинка - это очень маленький и безобидный объект. Мы её даже не заметим в большинстве случаев. Но если этими песчинками покрыты сотни квадратных километров поверхности Земли, то мы называем такое место пустыней и прекрасно понимаем, какие опасности нас могут подстерег...

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

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

"Arbalest" Prototype-00. Стройка боевого робота с нуля (почти). Цели этой статьи.Популяризация 3d печати и попытка вдохновить людей на творчество.Показать создание робота, используя копеечные ресурсы.Если лениво читать стену текста, то пролистывайте до конца и просто смотрите последнее фото готового робота)Вместо вступленияЭто вторая ста...

Сам себе РКН или родительский контроль с MikroTik (ч.3) В конце 2021 года был опубликован цикл статей, посвящённый родительскому контролю на оборудовании MikroTik. Ранее были подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control, возможности маркировки трафика посредством Firewall Mangle для решения указ...

Парсинг FIT файлов c данными тренировок Мне стало интересно проанализировать данные о своих тренировках за последние несколько лет, и я понял, что обычного функционала приложений типа Garmin Connect или бесплатной версии Strava будет недостаточно. В этой статье я расскажу как получить свои персональные данные о тр...

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

Комментарий к статье «Почему СтарЛинк от Илона Маска это Скам» Раз меня упомянул @Arnak в его большой статье "Почему СтарЛинк от Илона Маска это Скам", то нужно написать ответ. (точнее повторить и немного расширить, тот что я написал там в комментах)1) Я не знаю, что точно обозначает "скам". Поэтому не могу тут ответить ни да, ни нет....

DIY Zigbee датчик температуры Приветствую читателей Habr! В этой статье расскажу вам о своём очередном zigbee проекте беспроводного датчика. Проект называется Efekta THP_LR \ THP, это небольшой датчик измерения температуры и влажности воздуха на чипе СС2530. Есть несколько модификаций датчика, в одном и...

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

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

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

[Перевод] Самый простой (и неожиданный) алгоритм сортировки? Представляем вашему вниманию чрезвычайно простой алгоритм сортировки. Может показаться, что он очевидно ошибочен, но мы докажем, что на самом деле он корректен. Мы сравним его с другими простыми алгоритмами сортировки и проанализируем некоторые его любопытные свойства. 1. ...

Как мы используем фича-флаги в мобильном приложении QIWI Кошелек Привет, Хабр! Меня зовут Василий Материкин, я — Android-разработчик в QIWI. В этом посте я расскажу о применении фича-флагов в QIWI Кошельке.Внедрение Trunk-Based Development и Feature FlagsВ процессе работы над большими приложениями, в которых много фич и над которыми ...

[Перевод] Как я провалил 5 хобби-проектов за 6 лет и заработал 0 долларов Это история о том, как я мечтал создать генерирующий прибыль онлайн-проект, стремясь к финансовой независимости и творческой свободе. Спустя пять лет ни один из моих проектов не достиг успеха и это по-прежнему остаётся мечтой. Позвольте мне подробно рассказать о своих прова...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

[Перевод] Рендеринг DOOM с помощью чекбоксов Дисклеймер: перевод статьи публикуется с одобрения оригинального автораПоиграть можно тут (Chrome/Edge), исходный код здесь, текст статьи ниже.На этой неделе я прочитал статью Брайана Брауна — "Я всё ещё продолжаю экспериментировать с чекбоксами". Там он рассказывал про свою...

[Перевод] Как я написал алгоритм сортировки, который быстрее std::sort. Часть 1 Прим. Wunder Fund: ну, вы наверное, и сами догадываетесь, как мы любим быстрые алгоритмы и оптимизации. Если вы тоже такое любите — вы знаете, что делать)В наши дни сказать, что изобрёл алгоритм сортировки, который на 30% быстрее того, что считают эталонным, это значит ...

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

Оптимальный маршрут доставки, скидки от срока годности и подбор одежды онлайн: 3 примера машинного обучения в e-com Чем больше у компании клиентов, тем выше объем полезных данных, на которых аналитики могут обучить предсказательные модели. Поэтому для развития логистических алгоритмов особый интерес представляют научные публикации исследователей из крупных азиатских, европейских и амери...

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

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

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

[Перевод] Как простой баг повреждения памяти ядра Linux может привести к полной компрометации системы Введение В этом посте описывается простой в реализации баг блокировки ядра Linux и то, как я использовал его против ядра Debian Buster 4.19.0-13-amd64. В посте рассматриваются варианты устранения бага, препятствующие или усложняющие использование подобных проблем злоумышлен...

Почти 53 тысячи раз москвичи забронировали книги в библиотеках через mos.ru Чаще всего бронируют книги Джоан Роулинг, Евгения Водолазкина и Гузель Яхиной. Менее чем за год москвичи почти 53 тысячи раз забронировали книги в библиотеках с помощью портала mos.ru. Наталья Сергунина, заместитель Мэра Москвы, рассказала, что сегодня сервис «Библиотеки Мос...

Как мы «завели» десятки команд в один кластер OpenSearch и разделили доступы У OpenSearch неоднозначная репутация. Некоторые специалисты считают, что его развитие остановилось на версии Elasticsearch 7.10.2. Но это не сделало OpenSearch динозавром, обреченным на постепенный упадок. Продукт развивается и выдает аналогичный Elasticsearch функциона...

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

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 1: мутации Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.Этот материал открывает серию из трёх ста...

Angular Libs как монорепозиторий: начало, настройка, работа с assets Всем привет! Меня зовут Илья и я хочу рассказать вам как можно подробнее про Angular Libs. В частности, то, как можно использовать его в качестве монорепозитория для сборки нескольких приложений с tree-shaking и переиспользуемостью различных модулей в разных библиотеках и ча...

[Перевод] Хуки — это лучшее, что случилось с React React — это самая популярная фронтенд-библиотека из экосистемы JavaScript. Она известна простотой использования и читабельностью кода, создаваемого с её применением. Это позволяет организациям самых разных масштабов успешно внедрять данную библиотеку. Но компоненты, основанн...

Мощный бизнес-ноутбук в корпусе карманной консоли: подробные характеристики Steam Deck Компания Valve рассказала некоторые подробности об оборудовании портативной консоли Steam Deck. Это устройство позволит запускать любые игры из библиотеки Steam.

Apple поделился новыми функциями iMovie, которые появятся в апреле После завершения мероприятия «Peek Performance» Apple представила две новые функции для iMovie, которые называются Magic Movie и Storyboards. С помощью Magic Movie вы можете быстро создавать видео, выбирая медиафайлы или альбомы из своей библиотеки и позволять пакету автомат...

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

5 крутых фишек десктопнной версии Google Сhrome Пользователи по-разному относятся к Google Chrome. Одни холят и лелеют, другие тихо ненавидят. При этом обе категории Хромом пользуются, ибо едва ли хоть один из браузеров способен конкурировать с ним по функциональности. Оно и не удивительно: в разработке знаменитого движк...

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

ЭЛАР пополнил Электронную библиотеку Петербурга В рамках развития проекта ЦГПБ им. В. В. Маяковского корпорация ЭЛАР в сжатые сроки оцифровала свыше 61 тысячи страниц для пополнения электронной библиотеки Корпоративной сети общедоступных библиотек Санкт-Петербурга. Сложность ...

Что случилось с faker.js? При создании нового проекта я попытался использовать свою любимую библиотеку генерации случайных данных facker.js. Установилась версия [email protected].Однако при попытке использовать привычные методы библиотеки выскакивала ошибка. Начав разбираться в проблеме, я перешел на gith...

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

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

JET BI. Новый релиз платформы. Быстрее, умнее, продуктивнее Привет. Меня завут Альберт Нурутдинов, я архитектор в "Инфосистемы Джет". В этой статье я рассказывал, как и почему мы создали свою Business Intelligence платформу. Но время не стоит на месте, и мы стараемся не отставать. В конце 2021 года мы сделали новый релиз JET BI ...

MergeQueue и зелёный Master: часть 1-я В работе над проектом Образовательной Платформы Сбера мы столкнулись с ситуацией, когда интенсивность влития изменений в центральную ветку репозитория git существенно превысила время прохождения Quality Gate (статический анализ, сборка, автотесты) внесённых изменений. В стат...

Оптимизация рендеринга React-компонентов: как не навредить Всем привет! Если вы используете React для создания UI, то уверена, что вы слышали о таких понятиях, как PureComponent, memo, useCallback и прочих возможностях, которые нам предоставляют создатели библиотеки для оптимизации наших приложений. Разработчики React уже позаботил...

От чего PET-G теряет свои свойства со временем? В предыдущей статье я рассказывал о воздействии вибраций на PET-G пластик и считал, что тема будет на этом исчерпана. Но через некоторое время после публикации со мной связался Юнах Анатолий - автор youtube-канала Prozhektor8kvt и поделился интересующей его проблемой изменен...

[Перевод] 5 возможностей JavaScript ES12, которыми стоит воспользоваться уже сегодня Стандарт ECMAScript 2021 (12 редакция) выпущен 22 июня 2021 года. Вместе с ним появились новые возможности и новые синтаксические конструкции. Все эти улучшения направлены на то, чтобы сделать JavaScript надёжнее и стабильнее, чтобы разработчикам легче было делать своё дело....

Оспа. История болезни от ее возникновения до полного (нет) искоренения Одной из самых ужасных и мерзких вещей, с которой когда-либо может столкнуться человек – оспа. «Отвратительнейшая болезнь, унёсшая в могилу больше жертв, чем любая другая, чем война и порох» – такое определение даёт английский врач XVII века Томас Сиденгам. Слава Богу, что...

Охота на toggle: Как простую фичу сделать максимально сложно – Хей, Катя, у нас там багуля небольшая завелась. Посмотри, плиз.– Не вопрос, бро. В чем проблема?– Toggle сбрасывается при возврате на экран. Изи ваще!С этой безобидной фразы началось мое недельное приключение в мир безумной архитектуры, сумасшедших фиксов и красноглазия. И...

Создатель первого iPhone с USB-C добавил порт Lightning в Android-смартфон В прошлом году Кен Пиллонел сделал то, от чего упорно отказывается компания Apple — создал iPhone с портом USB-C, а также модифицировал некоторые AirPods.Для своего следующего франкенштейновского творения Кен переоборудовал Android-смартфон для использования Lightning порта....

Улучшаем процесс ведения проекта в Git Привет! Я давно заметил, что процесс добавления нового кода в проект в большинстве команд может быть не всегда стандартизирован. Из-за этого могут возникнуть сложности с коммуникациями разработчиков как на уровне описания добавленного кода, так и понимания, какое влияние нес...

[Перевод] Как выбрать подходящий Go-роутер? (с блок-схемой) Когда вы начинаете разрабатывать веб-приложение с применением Go, один из первых вопросов, которым вы, вероятно, зададитесь, — “Какой роутер мне следует использовать?”.И это не такой простой вопрос, как может показаться сначала. Доступно более 100 различных роутеров с разным...

Как мы перестали плодить шаблонный код при работе с табличными представлениями в iOS Девять из десяти экранов любого iOS-приложения имеют табличный вид. Неважно, как реализовано это представление — на UITableView или UICollectionView, но для его реализации необходимо каждый раз писать шаблонный код:1) реализация табличного источника данных (UITableViewDataSo...

Golang для Embedded Linux При разработке очередной платформы перед командой АТОЛ встал вопрос выбора языка программирования/стека технологий/железа/фреймворка для создания решений. Железо было выбрано на базе относительно недорогой Linux-платформы STM32MP153/512MB DDR3/8GB eMMC. Эта платформа имеет н...

Знакомимся с Javassist Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.Конечно, получив доступ к байткоду, ...

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

Из медицины в машинное обучение и не только: как люди приходят в IT Так сложилось, что если мы пишем о людях, то почти всегда — о сделавших некий прорывной проект. Сегодня в определённом смысле не исключение. Мы расскажем о ребятах, которые реализовали крупные проекты в своей жизни — сменили сферу деятельности и пришли в IT через «Школу 21»....

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

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

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

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

Суперкомпьютеры Яндекса: взгляд изнутри Недавно три наших новых GPU-кластера заняли 19, 36 и 40 места в рейтинге суперкомпьютеров Top500. Это лучшие результаты среди всех участвующих в нём суперкомпьютеров России. Но сегодня мы поговорим не о местах в рейтинге, а о том, чем полезно на практике участие в подобных...

Уменьшение трафика за счёт сжатия изображений. На примере Laravel Как уменьшить трафик к вашему сайту в 200 раз? Возможно ли это? В этой статье рассмотрено динамическое создание превьюшек для графических файлов и последующее сохранение результатов такого преобразования для последующего более быстрого доступа к ним.Пример реализации на Lara...

Postgresso #3 (40) ИТ-инфраструктура — это как водопровод, без неё жизнь уже почти невозможна. И в эти безрадостные дни мы продолжаем выпускать Postgresso. Feature Freeze 7 апреля произошла Заморозка функциональности. Вошедших новшеств много. Традиционный обзор Павла Лузанова выйдет немного...

[Перевод] Гайдлайны и бритвы компании Bungie по кодингу на C++ Для создания игры наподобие Destiny требуется много командной работы и мастерства. У нас есть талантливые люди во всех областях знаний, однако было непросто достичь уровня координации, необходимого для создания игры масштаба Destiny. Это похоже на то, как если бы группе лю...

Маленькие «малинки» в крупном дата-центре (часть 3 — Kea DHCP) Мы двигаемся к финалу нашей саги об интеграции Raspberry Pi 4 в выделенные серверы. В первом тексте я рассказал об отличиях процесса загрузки «малинок» от «классических» серверов. Во втором — собрал образ, способный после загрузки файлов по TFTP-протоколу запускаться и рабо...

5 знаковых автомобилей с паровым двигателем: с чего все начиналось Автомобили Другое 14.01.2022, 09:30 5 знаковых автомобилей с паровым двигателем: с чего все начиналось Первый полноразмерный паромобиль построил великий французский инженер Жозеф Кюньо в 1770 году. Его паровая телега стала предшественн...

Как в декабре я устроился в $βΣ₱*, а в марте меня уволили одним днем Привет, Хабр. Сегодня хочу рассказать свою очень свежую и актуальную историю о том, как в конце декабря устроился на работу в одну известную российскую компанию (в направление создания гаджетов), проработал там с искренним удовлетворением и почти без отрицательных сторон 2 м...

[Перевод] Корутины в C++20 — что это и как с ними работать Прим. Wunder Fund: В статьи описаны базовые подходы к работе с корутинами в 20м стандарте С++, на паре практических примеров разбораны шаблоны классов для промисов и фьючеров. По нашему скромному мнению, можно было бы реализовать и поизящнее. Приходите к нам работать, если и...

Настройка LEMP сервера для простых проектов. Инструкция для самых маленьких. Часть третья Приветствую читателей! В рамках текущей серии статей я рассказываю о том, как настроить сервер для простых проектов. Имеется ввиду сервер для работы нескольих сайтов, с небольшой нагрузкой под наиболее популярной CMS такой например как Bitrix. Основная цель статьи указать н...

Создаем и тестируем свой plugin для Gradle 7.0+ Система сборки проектов Gradle стала значительной вехой в эволюции инструментов подготовки артефактов и заменила во многих проектах ранее популярный Maven (который ранее стал заменой для make и ant). Де-факто Gradle является стандартом для сборки проектов для Android, но в д...

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.Исследуя большое пространство, нужно соб...

Волшебный чемодан История о закрытии гештальта. В старшие школьные годы, в библиотеке мне попалась книга «Простейшая микро-ЭВМ», где для школьников подробно объяснялось, как спаять свою вычислительную машину на микропроцессоре КР580ИК80А. Помню, что книгу зачитал просто до дыр, и в целом он...

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

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

Основные тренды ЦОД в 2022 году и примеры проектов Привет, Хабр! Компания Acer снова с вами! Мы планируем рассказывать об интересных продуктах: как своих, так и других участников рынка. В первую очередь речь пойдет о серверах и соответствующих корпоративных решениях.Сегодня же публикуем первый свой пост – это аналитика наиб...

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

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

ElasticSearch: отказоустойчивый сервер отказал Всем привет, меня зовут Илья, я работаю в компании DINS на должности инженера отдела мониторинга. В этой статье расскажу о нашей боли при работе с ElasticSearch. Мне не удалось найти решение этой проблемы где-либо ещё, поэтому, думаю, этот туториал будет интересен всем, кто...

[Перевод] Три ужасные фичи программирования из прошлого Я верю в программистское клише о том, что большинство плохих фич имеет причины для существования. Ненавидимый многими оператор goto позволяет быстро и удобно выбраться из глубоко вложенной структуры, если пользоваться им с умом. Определённая степень нестрогости типов позвол...

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

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

Что вы делали прошлым летом: на лыжах по городу Прошлым летом я тестировал батарейку. Я уже здесь писал о своей шайтан-арбе, которую я сделал весной. Но батарейки, которые у меня были, позволяли проехать чуть больше 25 км — маловато будет. Захотелось мне разжиться новой. О том и история, но будьте готовы к тому, что в ...

Археология: IT в изучении материального прошлого Археология — наука, которая изучает материальный мир прошлого. Как и многие другие науки, она возникла в далёком прошлом и вскоре подверглась внедрению информационных технологий. И в этой статье вы узнаете, что это за технологии, и почему они так полезны для археологии. Чи...

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

Управление распределенными транзакциями с помощью Camunda "Всякое решение плодит новые проблемы" (закон Мерфи)В этой статье я собираюсь поговорить о подходе к решению задачи обеспечения консистентности данных в микросервисной архитектуре, т.н. распределенных транзакциях. Почти два года назад я впервые познакомился с инструментом Ca...

Техническая разведка Привет, Хабр. Я знаю, что вы любите статьи «Чему я научился…». Обычно в них рассматривается либо личный опыт работы, либо различные книги с полезными советами. Сегодня я предлагаю вам посмотреть какой полезный опыт можно извлечь из методичек ЦРУ на примере материала Robert M...

Camunda: тестируем модели процессов Привет! Продолжаем делиться опытом о том, как можно автоматизировать бизнес-процессы в банке с помощью Camunda. В прошлой статье мы рассказали об одном из проектов, который создали на базе Spring Boot с подключенной Camunda в качестве библиотеки. В этом материале расскажем о...

Как мы переходили на Node.JS v16, или История о сломанном GC 26 октября 2021 года вышел новый релиз Node.JS 16.13.0 который стал Active LTS. Как мы переводили на него наш сервис мониторинга и анализа логов PostgreSQL и с какими проблемами столкнулись — в статье ниже. Читать дальше →

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

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

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

Bluetooth для андроида. Портируем с Linux на Android драйвер USB-адаптера Для подписчиковНе все USB-устройства начинают работать на Android сразу после подключения. В этой статье я покажу, как решить проблему, на примере широко распространенного Bluetooth-адаптера CSR 4.0. Нам понадобится собрать из исходников ядро Linux и покопаться в интерфейсно...

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

Круче кучи! Разбираем в подробностях проблемы heap allocation Для подписчиковНекоторые уязвимости возникают из-за ошибок с управлением памятью, выделенной на куче. Механизм эксплуатации этих уязвимостей сложнее, чем обычное переполнение на стеке, поэтому не все умеют с ними работать. Даже курс Cracking the perimeter (OSCE) не заходил д...

Моделирование и 3Д-печать в школе (личный опыт) В комментариях к одной из моих предыдущих заметок просили рассказать, что именно мы моделируем и печатаем в школе, в рамках занятий по моделированию «Точки роста». Что же, под конец года накопилось некоторое количество материала, завершаются несколько интересных проектов, и ...

«Flyingbear мёд» в полёте за мечтой В данной статье расскажу подробно как самому с помощью 3д принтера можно создавать красивые светильники для дома. Этот проект я сделал максимально простым и не сложным для повторения.Каждое участие в конкурсе для меня – это испытание, которое, с одной стороны, организует и з...

Сто раз сломай, один раз поправь или как мы улучшали тестирование отказоустойчивости и восстановления API Привет, хабровчане!Меня зовут Нурыев Асхат, я ведущий инженер по автоматизации в DINS. За время работы в компании я участвовал в решении множества сложных задач. В этой статье я поделюсь историей улучшения процесса и автоматизации тестирования высокой доступности и восстанов...

Как сделать стрим в Postgres? На одной конференции мне задали вопрос (спасибо Александру!): как сделать стрим в PostgreSQL? Представьте, что имеется bytea и вы к нему хотите что-то дописать. Люди столкнулись с тем, что на это в PostgreSQL  тратится гигантское время  и растет WAL-трафик. Ра...

Как работает цикл заказа такси в Яндекс Go. История вопроса Меня зовут Илья, я отвечаю за инфраструктуру пользовательских продуктов в Яндекс Go. Мы строим цикл заказа такси — процессы, происходящие под капотом после того, как пользователь нажимает «Заказать». Поиск машины, назначение водителя, изменение адреса, оплата поездки — всё э...

Яндекс.Практикум: самый подробный отзыв Хочу поделиться личным опытом (об/м)учения в Яндекс.Практикуме на курсе "Веб-разработчик", и почему, вернувшись на год назад в прошлое, я бы никогда не стал там учиться даже за бесплатно.Для начала расскажу о причинах, по которым я решил войти в IT (спойлер: и в итоге всё-та...

Почему я перешёл с Python на Go: choose your fighter Привет, Хабр! Меня зовут Саша, я бэкенд-разработчик в Ozon. Пишу платформу для контента, который генерят пользователи: отзывов, комментов, вопросов, ответов. Раньше я писал на Python. Выбрал его изначально из-за лёгкого синтаксиса и большого количества вакансий для Python-ра...

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

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

Пять историй про командное лидерство Привет, Хабр! Я работаю в сфере IT около 15 лет. За свою карьеру успел побывать support-агентом, QA-специалистом, техническим писателем, Linux-админом, DevOps-инженером и DevOps- тимлидом. Именно опытом работы в роли последнего я хотел бы поделиться. Я расскажу про методики,...

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

«Технотекст»: FAQ, интриги и немного внутряка Всем привет! «Технотекст» должен был завершиться сегодня. Но раз история хорошая, почему бы и не растянуть удовольствие? Раскрою первую интригу: приём работ продлён до 20 апреля. Раскрою вторую — внутри статьи есть прототип «кубка» конкурса. В остальном — ответы на популярны...

Как протащить верблюда сквозь игольное ушко, или обновление компилятора С++ на проекте старше 10 лет Привет! Меня зовут Колосов Денис, я являюсь разработчиком клиентской части проекта «Allods Online» в студии IT Territory. Сегодня я расскажу о том, как мы решились обновить среду разработки и заодно компилятор на нашем проекте с Visual C++ 2010 на 2019. О чем пойдет реч...

Как работать с Makefile-проектами в среде CLion За последние несколько лет мне пришлось столкнуться с множеством вопросов, которые были сформулированы примерно так: "мой проект не открывается в среде CLion". В свою очередь, это приводило к необходимости из раза в раз объяснять разным людям примерно одно и то же....

WEKA. Руководство по использованию Начав изучать библиотеку Weka я обнаружила, что в Интернете очень мало информации о ней на русском языке – как с ней работать и как ее использовать. Эта статья будет вводной для знакомства с библиотекой. Читать далее

Про NFT и деньги Завершаю серию материалов про NFT. В первой части я подробно разобрал, что такое NFT. Вторая статья посвящена хронологии большого взрыва NFT-вселенной. На этот раз мы обсудим денежки. ▍ Является ли NFT обманом? Начнём с непременно всплывающей темы мошенничества. Сам по себ...

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

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

Как работать с Tanzu — опыт Sportmaster Lab Tanzu от VMware — это набор полезных продуктов для тех, кто работает с микросервисами. В Sportmaster Lab мы тоже начали его использовать, и в этом посте расскажем, как именно. Помогут нам в этом Павел Бацев, старший администратор сервисов Спортмастера, и Алексей Гришутин, ко...

Автореконнекты к RabbitMQ в Go Брокер сообщений RabbitMQ уже давно активно используется в микросервисах. Он используется, когда требуется асинхронная обработка сообщений от клиентов или при аналогичном межсервисном взаимодействии.Практически нет языка, под который не была бы сделана соответствующая клиент...

Добавление функции передачи в SDR# с HackRF Эта библиотека добавляет возможность использования HackRF One, совместно с приложением SDR#, в качестве трансивера. Это реализовано внедрением промежуточного слоя между SDR# и библиотекой HackRF.DLL, который подготовлен с таким же интерфейсом, что и стандартная библиотека H...

Репликация с нуля за 5 простых шагов (невозможна) Меня зовут Сергей Петренко, я работаю в команде кластерных технологий Tarantool. В прошлом году я рассказывал о том, как в Tarantool появилась синхронная репликация и поддержка автоматических выборов лидера на основе Raft. Теперь предлагаю погрузиться во «внутренности» репли...

OverScript — язык программирования, написанный на C# Привет! Меня зовут Дмитрий, я написал на C# свой интерпретируемый язык программирования, который назвал — OverScript. Это си-подобный язык со статической типизацией. Сразу скажу, что это не прототип, а готовый проект. Весь код на 100% мой. Я подробно не интересовался, как на...

Руководство по NestJS. Часть 1 Привет, друзья! В этой серии из 3 статей я расскажу вам о Nest (NestJS) — фреймворке для разработки эффективных и масштабируемых серверных приложений на Node.js. Данный фреймворк использует прогрессивный (что означает текущую версию ECMAScript) JavaScript с полной поддержкой...

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

Потратил 1 000 000 $, чтобы сделать свой переводчик. Продолжение истории Начало этой истории тут:https://habr.com/ru/post/492524/ ВступлениеЯ занимаюсь переводчиками с 2012 года, и эта тема выбрана не случайно. Еще тогда было замечено, насколько сильно переводы могут влиять на показатели бизнеса. В нашем случае поддержка всего 15 языков вмес...

2021 год в разработке технологий ABBYY – и не только. Подводим итоги года С наступающим новым годом, Хабр! Чтобы не быть занудами, постараемся подвести короткие итоги 2021 года, потому что без них никуда :) Вот несколько главных событий, которыми гордится вся наша команда:•     Создали low-code/no-code платформу, которая позвол...

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

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

Анализ теней: 5 примеров использования SunCalc для OSINT расследований SunCalc — это инструмент, который помогает толковым людям по теням на фотографии или видео вычислить местоположение. SunCalc создан из готовых элементов с минимальным программированием. Выглядит как гугл-карты на стероидах. На сайте вы задаете точку на карте и в результат...

Как летает космическая ракета (на примере РН Союз)? Добрый день, дорогие Хабровчане! Давно хотел разобраться и понять, хотя бы примерно, на качественном уровне, что есть траектория космической ракеты? Какую траекторию закладывают для того, чтобы точно попасть в заданную орбиту? Какая должна быть траектория для оптимального ис...

Эволюция рекомендаций в Delivery Club. Часть 2 Всем привет! Это вторая часть статьи об изменении подхода к рекомендациям в Delivery Club. В первой части я подробно описал текущие проблемы нашей рекомендательной системы: локально оптимальный баланс exploitation и cold start, а также недостаточно развитый механизм explorat...

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

Двигаем биты — или как реализовать свой стандарт UUID Я работаю над открытой реализацией предложенного стандарта идентификаторов UUIDv7. На данный момент спецификация существует в виде IETF черновика. Черновик уже пережил два переиздания, и мы постоянно обновляем спецификации. Но сам документ — это дело простое. Для того чтобы...

Новая игра серии The Witcher не будет страдать от множества багов на старте? Разработчики объяснили переход на Unreal Engine 5 В прошлом месяце польская студия CD Projekt RED анонсировала новую игру во вселенной «Ведьмака», заявив, что проект будет создаваться на движке Unreal Engine 5.  Спустя две недели компания объяснила, почему решила отказаться от собственного движка REDen...

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

Что нового в react-router v6 Совсем недавно состоялся релиз 6-ой версии react-router. Вообще создатели react-router часто меняют подходы, используемые в библиотеке, но в этот раз они объединили лучшее, что было в прошлых версиях.В статье приведен краткий обзор того, что поменялось. Читать далее

Какие тесты выбрать для облака? Сравниваем варианты Привет, Хабр! Меня зовут Илья Казначеев, я техлид в MTS Cloud, это облачный провайдер МТС. Моя команда занимается сервисом Kubernetes Managed, а еще мы проводим тесты облачных платформ. В этой статье я расскажу о нашем опыте: какие виды тестов мы пробовали, как боролись с пр...

«Право на забвение» или как просто удалять персональные данные по запросу пользователя Удалять персональные данные пользователя по его запросу, чтобы продукт соответствовал законам CCPA или GDPR, можно по-разному. Хоть вручную каждую заявку на почте разбирать. Главное — сделать процесс максимально простым и понятным для пользователя. А это уже хороший повод за...

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

Как выложить свою первую библиотеку в open source Привет. Меня зовут Роман Аймалетдинов, я разрабатываю под Android в inDriver. Сегодня я решил поделиться своим небольшим знанием о том, как выложить в open source свой проект. Приятного чтения! Читать далее

Путь в ИТ: разработчик с 30-летним опытом о карьере, олдскульном программировании, переписывании чужого кода и правилах  В нашем первом посте для Habr мы рассказывали про сотрудника, который в один момент радикально изменил карьеру – ушел из пилотов вертолетов в тестировщики. Отклик был очень хорошим, мы продолжили искать интересные истории внутри компании. В прошлом году к нашей команде...

Чтобы Arduino «запел» — поможет библиотека Mozzi Arduino может не только пищать, как какой-нибудь бытовой прибор. Расширить репертуар устройства позволяет библиотека Mozzi. Расскажем подробнее. Читать далее

Работа с квалифицированными сертификатами в свете новой редакции Приказа №795 ФСБ РФ от 29 января 2021 года 7 сентября 2021 года мне пришло электронное письмо: fsb795 Добрый день. не планируете библиотеку подправить под свежие изменения в приказе 795 ?Было понятно, что речь идет о пакете fsb795, написанном на Python для разбора квалифицированных сертификатов. Требования к составу...

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

Как детей учат эмоциональному интеллекту Очевидная первая мысль была такая: EQ в России? Детям? Серьёзно? У нас тут по стране ходит очень дофига взрослых без понимания, как вообще разговаривать ртом — а тут курс для детей. Пока мы с делали сервис для назначения встреч-консультаций, к нам вдруг пришла детская школ...

[Перевод] Работа сети в пошаговой игре Три года назад я приступил к разработке Swords & Ravens — многопользовательской онлайн-адаптации в open source моей любимой стратегической игры A Game of Thrones: The Board Game (Second Edition), разработанной Кристианом Питерсеном и изданной Fantasy Flight Games. На фев...

Подведены итоги работы проекта «Азбука интернета» в 2021 году В 2021 году курс компьютерной грамотности по "Азбуке интернета" прошли 43 106 пенсионера и инвалида, в том числе:28 100 человек - на 630 площадках в отделениях ПФР. Всего в 2021 году ПФР организовал 43 200 уроков в разных форматах;4 689 человек - в региональных фил...

Solar appScreener выявляет уязвимости и НДВ в Open Source-проектах Статический анализатор кода Solar appScreener компании «Ростелеком-Солар» выявляет уязвимости и недекларированные возможности (НДВ) в Open Source-проектах — свободно распространяемых программах, а также компонентах и библиотеках ...

Какими бывают дисплеи в ноутбуках? Разбор У нас уже было много роликов про дисплеи: мы разбирали все типы LCD-матриц в телевизорах. Сделали один из самых подробных материалов про все виды OLED в смартфонах и ТВ. Также мы рассказывали вам про mini-LED и microLED-дисплеи будущего. Но мы еще ни разу не рассказывали про...

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

Репликация Oracle с Quest Shareplex вместо Oracle GoldenGate в Oracle, PostgreSQL, Kafka и другие приёмники Любопытное наблюдение: когда говоришь о репликации Oracle, тебе сразу говорят «да знаем мы про этот GoldenGate!». Конечно, знаете, ведь это решение предлагает непосредственный вендор объекта репликации. При этом за кадром остаются не менее интересные решения. Вендор Quest на...

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

Добавляем ботов в мультиплеерный шутер на Unity С ростом проекта в него приходит постоянно приходит новая аудитория: как матерые игроки, так и новички в жанре. Закинуть всех в один матч можно, но первым будет скучно, а вторым — сложно. В итоге всех можно потерять уже на старте.Боты — не только хороший способ восполнить не...

Кошелек с нуля в 2020 году: технологии, вызовы, решения Большую часть своей рабочей биографии я занимаюсь различными финтех продуктами – Яндекс.Деньги, 1ЦУПИС и так далее. Последние два года я разрабатываю очередное платежное решение и хочу рассказать о некоторых задачах, с которыми мы встретились. Но мне интересно рассказать не ...

Реализация алгоритма Краскала на С# В данной статье для реализации алгоритма будут рассмотрены:1. Система хранения графа на основе List<>2. Сортировка рёбер графа по весу3. Система непересекающихся множествНа просторах интернета есть множество ресурсов, посвященных данному алгоритму, однако все варианты ...

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

[Перевод] Запись Extended Events в таблицу Опубликовано 23 февраля 2022 годаАвтор статьи Gianluca SartoriВ этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии рас...

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

Использование Jetpack Compose в продакшне: первые впечатления Мы в МТС Банке давно ждали релиза Jetpack Compose, чтобы использовать его в продакшне. В прошлом месяце такая возможность наконец появилась — мы решили обновить дизайн одного из экранов нашего приложения «МТС Банк для бизнеса» для Android. В статье я хотел бы поделиться н...

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

Состоялся официальный релиз Visual Studio 2022 и .NET 6 Microsoft объявила о выходе стабильных версий Visual Studio 2022 и .NET 6, а значит уже сейчас разработчики могут скачать инструменты с официального сайта и начать их применять в своих проектах. Visual Studio 2022 стала 64-разрядной версией, благодаря чему среда разработки ...

Сам себе РКН или родительский контроль с MikroTik (ч.2) Вторая и заключительная статья в цикле организации родительского контроля на оборудовании MikroTik. Ранее подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control. В текущей части поговорим о прикладном применении маркировки трафика посредством Firewall...

Альтернативное использование инструмента для нагрузочного тестирование Apache JMeter Всем привет! Меня зовут Андрей Попов, я Middle QA Engineer Auto-test в Утконос Онлайн. В этой статье хочу поделиться, почему мы выбрали Apache JMeter для нагрузочного тестирования, как выглядит этот инструмент, для чего он был нам нужен, и как мы используем его для нестандар...

Мой опыт проведения курса по Android Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS. В 2019 году я вместе с платформой для онлайн-обучения Skillbox начал делать курс для начинающих мобильных разработчиков. На создание курса у меня ушло полтора года. Надеюсь, мой опыт поможет спец...

[Перевод] Как сделать игру 2048 на React Автор этого туториала сосредоточился на анимации. Он использовал хуки библиотеки React, её Context API, а также TypeScript и LESS. В конце вы найдёте ссылки на игру, её код и демо анимаций. Подробности рассказываем под катом, пока у нас начинается курс по Frontend-разработке...

Сжатые атласы в Unity Runtime Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.Речь пойдет про получение сжатых атласов в рантайме. Для...

Honor 60 показали на «живых» снимках и рассказали о ... Несмотря на тот прессинг, с которым столкнулась Huawei, она все же не стала тянуть с собой на дно Honor, а нашла способ отпустить «дочку» в свободное плавание. 1 декабря она будет держать очередной экзамен в ранге независимой, представит серию Honor 60. Незадолго до анонса в...

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

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 3: результаты Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.В первой части э...

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

UIKit ты вообще про UI? Спойлер - нет! Ну, не совсем. Мы привыкли воспринимать UI как визуальную составляющую, но ведь UI – это User Interface. Так вот, интерфейс – это то, с помощью чего пользователь взаимодействует с нашим приложением. В случае с графическим интерфейсом пользователь его видел и в...

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

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

Аналог Moodle или как преподаватель-юрист создавал собственную систему дистанционного обучения. Часть 1. Начало Дисклеймер: система дистанционного обучения (СДО) в настоящее время введена в эксплуатацию (продакшн), апробирована, протестирована и успешно работает. Система бесплатна, имеет открытый исходный код и выложена в репозитории GitHub. С точки зрения стека технологий она построе...

[Перевод] Многомодульность в Android и Dagger: пошаговый пример Наше мобильное направление продолжает делиться собственным опытом, а также переводить те статьи, которые могут сослужить разработчику хорошую службу. Эту статью по Android, написанную в 2020 году, мы выбрали, изучая вопросы оптимизации внедрения зависимостей на проекте, и пе...

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

«Разделённые Альтераком»: Для Hearthstone вышло новое дополнение Издатель Blizzard выпустил новое дополнение для Hearthstone. В нём придётся выбрать, на чьей вы стороне — Орды или Альянса. Две фракции из мира Warcraft сражаются за осколки наару. Они взывают к новым героям, которые должны переломить исход битвы. Вместе с дополнением «Разд...

Знакомство с p-адическими числами. Часть 1 Изображение с сайта Mathematical Art Galleries В этой серии из двух статей я приглашаю вас заглянуть в один любопытный и не самый популярный уголок математики, в котором обитают необычные создания — p-адические числа, а попутно хочу рассказать о написанной мной Haskell-библ...

WireGuard клиент для Windows на основе BoringTun В начале 2019 года компания Cloudflare представила BoringTun, реализацию WireGuard протокола, написанную на языке Rust. Код проекта распространяется под лицензией BSD-3-Clause и включает в себя библиотеку, которая может использоваться для интеграции функц...

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

Как правильно внедрять изменения, которые никто не хочет Типичная история тимлида. Съездил на конференцию, узнал новые вдохновляющие идеи и загорелся ими. Начал сходу внедрять то, что (по его мнению) точно сработает, и получил закономерный отпор команды: «Зачем нам вообще что-то менять?» «Но доклад был классный! Это точно рабочи...

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

[Перевод] Шаблоны C++: как итерировать по std::tuple — основы Для большинства стандартных контейнеров перебор элементов можно осуществлять просто с помощью цикла for с диапазоном прямо во время выполнения. Но что насчет кортежей (std::tuple)? В этом случае мы не можем использовать обычный цикл, так как он не «понимает» список аргументо...

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

Microsoft: Игры без сенсорного управления теряют до 30% аудитории Подразделение Xbox отчиталось о том, сколько геймеров и в каких играх библиотеки Xbox Game Pass используют сенсорное управление. Каждый месяц Microsoft добавляет больше проектов в подписку Game Pass Ultimate. Многие из них поддерживают облачное решение xCloud, которое позв...

[Перевод] TDD: Что пошло не так? Эта статья является переводом материала «TDD: What went wrong or did it?».В сфере разработки программного обеспечения уже давно хвалят Test Driven Development (TDD, разработка через тестирование). Однако в последнее время было сказано много резких слов в адрес TDD, поскольку...

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

Взлом мозгов. Сбор данных из социальных сетей Взлом компьютера, телефона, электроподстанции, беспилотника или даже целого города – кого этим удивишь?Взлом мозгов сотен миллионов людей – вот это впечатляет! США, Великобритания и граждане стран третьего мира попали под влияние компании SCL Group и ее дочерних организ...

Просто о шаблонах C++ Статья для тех, кто боится слова template в C++. Вводная информация с примерами и их подробным разбором. Читать далее

[Перевод] Алгоритм генерации тайловых карт Model Synthesis Я много писал об алгоритме коллапса волновой функции (Wave Function Collapse). Этот алгоритм, разработанный Максимом Гуминым в 2016 году, генерирует тайловые карты и пиксельные текстуры на основании удовлетворения ограничениям с дополнительной рандомизацией [перевод на Хабр...

Что делать, если не получается удалить приложение с Айфона Удаление приложения — самый простой способ освободить немного памяти в iPhone. Это более эффективно, чем сгружать его, а еще помогает навести порядок в системе, если домашний экран завален ярлыками. С недавних пор вы можете удалить из iPhone любые приложения, даже App...

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 1 — теория) В статье рассмотрено понятие «соединение» для TCP и UDP протоколов в ядре операционной системы Linux на примере работы оборудования MikroTik. Дополнительно рассматриваются особенности работы технологии NAT в указанном контексте. Материалы носят в основном теоретический хара...

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

Сериал Halo расскажет более мрачную историю и выйдет раньше ожидаемого Как стало известно, Paramount+, новый потоковый сервис, который включает в себя оригинальные сериалы, такие как Star Trek: Discovery, скоро выпустит новый сериал Halo по мотивам одноимённой игровой вселенной. Премьера сериала состоится 24 марта 2022 года, при этом многи...

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

Международная почта, налоги, IOSS, ITMATT и другие страшные слова из мира почты с необычной стороны — Часть 1 Введение За последнее время произошло несколько мощных перемен в мире пересылки международной почты, многие из которых неслабо потрясли мир электронной коммерции. «Требование электронного декларирования», «отмена Евросоюзом беспошлинного лимита» и куча других страшных заголо...

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

Ошибки и подозрительные места в исходниках .NET 6 Релиз .NET 6 вышел достаточно громким – если вы пишете под эту платформу, то навряд ли могли пропустить такое событие. Мы тоже не смогли пройти мимо и решили проверить, что интересного удастся найти в исходном коде библиотек .NET. Читать дальше →

Новый язык обычного и параллельного программирования Planning C 2.0 Здравствуйте, уважаемые читатели.Хочу написать здесь об одном из своих проектов -- языке Planning C (v2.0). Он является расширением C++, дополняющим базовый язык рядом новых конструкций. В настоящее время проект доступен в репозитории (исходный код прототипного транслятора-п...

Обзор решений для навигации в iOS Всем привет! Меня зовут Тимур, я – iOS разработчик в hh.ru. В этой статье поговорим о фреймворкинге навигации в iOS. Я расскажу кулстори о популярных и не очень решениях и их преимуществах, а еще о том, как мы искали фреймворк мечты среди этой смертной любви. Поехали! Читать...

[Перевод] Развёртывание в Kubernetes из GitLab Развёртывание в Kubernetes из GitLab Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим дейст...

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

35 реальных рисков, убивающих data- и machine learning проекты Всем привет! Эта статья - обобщение моего опыта 30+ проектов, связанных с обработкой данных и машинным обучением. Здесь не будет теории про управление рисками и общего перечня проектных рисков. Я перечислил только наиболее частые “грабли” именно из data-специфики, с которыми...

Основы языка microScript Привет Хабр!Под предыдущей статьей собралось много вопросов и рассуждений относительно microStudio, в частности языка microScript, которому я не уделил внимания в предыдущей статье. Да я и не ставил цель затронуть все вопросы в одной статье.В этой статье я расскажу подробнее...

На чем будем летать на МКС: Транспортные корабли следующего поколения Dream Chaser, вид с хвоста. Источник: SNC Нам попалась на глаза интересная табличка от Payload (выпускают информационный дайджест совместно с Firefly Airspace). В ней представлены хорошо известные «Союзы» и «Прогрессы», а также четыре американских космических корабля. Это у...

Что там в «Мире Hi-Fi»: DAW, ремастеры из игр и ПО по радио В прошлый раз мы обсудили ЯП и библиотеки для работы со звуком. Сегодня продложим тему и поговорим о специальной ОС, открытых решениях и не только. Читать далее

Большому художнику – большой критик: новые версии модели ruCLIP для ранжирования результатов ruDALL-E (и не только) В ​2021 году особенно активно развивались языковые и визуальные трансформеры, что привело к появлению новых разработок в сфере мультимодального анализа данных. Ярким примером стала модель синтеза изображений по текстовым описаниям DALL-E от OpenAI. Команды Сбера - Sber AI и ...

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

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

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

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

А что с хостингом? В свете последних двух недель IT-сфера в России претерпевает серьезные изменения: уход IT-гигантов с российского рынка, приостановка поставок и так далее, далее, далее… Первое, что хочется сделать — взять и заплакать. Второе — успокоиться, попытаться хоть как-то проанализиро...

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

Какую СУБД выбрать и почему? (Статья 2) После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объект...

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

Как я разблокировал Upwork профиль и заработал более $250k за год Мне было страшно писать об этом до недавнего времени. Upwork стал одним из основных источников дохода для меня лично и для моего агентства, поэтому после восстановления аккаунтов я боялся, что если я опубликую это - меня снова заблокируют.Но в этой статье я поделюсь историей...

Как мы тестируем Rest API в SM 2.0 с помощью Postman: сценарии, запросы, переменные окружения и немного автотестов Всем привет! Сегодня я расскажу о том, как мы тестируем Rest API в SM 2.0 с помощью инструмента Postman. И сделаю это на примере реальной задачи — посмотрим сценарий пользователя (как оформляется заказ у нас на сайте), посмотрим, как это работает все изнутри, пару слов ...

Взлом мозгов. Работа с источниками данных Взлом компьютера, телефона, электроподстанции, беспилотника или даже целого города – кого этим удивишь?Взлом мозгов сотен миллионов людей – вот это впечатляет! США, Великобритания и граждане стран третьего мира попали под влияние компании SCL Group и ее дочерних организ...

До 11 ноября в библиотеку Xbox Game Pass войдут: Forza Horizon 5, Minecraft (Bedrock и Java) и другие игры Команда Xbox в своём блоге опубликовала список игр, которые появятся в библиотеке Xbox Game Pass до 11 ноября этого года. Новинки Xbox Game Pass на ближайшие недели: Minecraft: Java и Bedrock Editions (ПК) — 2 ноября Unpacking (Xbox и ПК) ID@Xbox — 2 ноября It Takes Two (X...

Британский и американский английский – какой язык учить? Увлекательные истории из жизни слов Какой английский учить – британский или американский? Если назвать брюки trousers, поймут ли американцы, что я имею в виду? Елена Рабинович преподает английский язык разработчикам в ЕРАМ уже 5 лет и часто слышит подобные вопросы. В этой статье она ответила на них, а еще расс...

Как ManyChat на PHP8 переезжал Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. П...

Установка Windows 10 с работающим звуком на старые MacBook и iMac Столкнувшись с проблемой не работающего звука при установке Windows на свой MacBook 11го года обнаружил, что материала по данной теме в русскоязычном сегменте интернета крайне мало, можно сказать что его нет вообще. Эта статья написана в помощь всем столкнувшимся с такой же ...

[recovery mode] Gitlab CI «Smart» Pipeline: родители и дети За более 3х летний срок существования продукта у нас собралось более чем 20 репозиториев со spark проектами. Процесс CICD был реализован на Jenkins. С определенного момента у GitLab CI появилась возможность создавать собственные CICD. Но долгое время я совершенно не восп...

Как сменить карту в Apple Pay на iPhone и Apple Watch Не так давно Центральный банк России сообщил, что Apple отключает 5 российских банков от Apple Pay. Чтобы бесконтактная оплата работала, у многих владельцев карт подсанкционных банков появилась необходимость сменить карту в платежной системе Apple. В этой статье поговорим о...

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

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

Apple MacBook Pro 16” на базе M1 Max: тестируем один из самых дорогих ноутбуков в мире В этой статье мы подробно расскажем вам о MacBook Pro 16″ на базе M1 Max c 10 ядрами CPU и 32 ядрами GPU, а также с 64 ГБ объединенной памяти; такая конфигурация стоит от 375 тысяч рублей. Это, кажется, идеальный ноутбук для преимущественно стационарного профессионального ис...

[Перевод] Как миграция с Oracle на PostgreSQL в облако влияет на сторадж? Вы когда-нибудь задумывались о том, чтобы перенести крупномасштабное программное решение с Oracle на PostgreSQL, а затем развернуть его в общедоступном облаке? Если Вы планируете реализовать подобное, возможно, Вам поможет наш опыт. Данная статья подробно рассказывает о наше...

Как устроена система игровых событий в проектах Playrix В продолжение темы нашего движка VSO, которую затронули ребята в статьях про разработку нашей «маленькой Unity» и про улучшение редактора, расскажу об одной из систем, относящихся к игровой логике. Это кросс-проектная система игровых событий GameEvents. Читать далее

Руководство по Supabase. Часть 1 Привет, друзья! В этом цикле из 2 статей я хочу рассказать вам о Supabase — открытой (open source), т.е. бесплатной альтернативе Firebase. Первая статья будет посвящена теории, во второй — мы вместе с вами разработаем полноценное social app с аутентификацией, базой данных...

Ментор в беде не бросит: как онбордить новичка, чтобы он тестил в свое удовольствие Всем привет. Меня зовут Ильмир, я QA Manual Engineer в inDriver. В статье расскажу о своем опыте менторства. Я занимаюсь этим уже больше 2 лет и хочу поговорить про этапы, которые могу выделить как основные. В статье будут затронуты не проблемы методик и инструментов дл...

Clickhouse & Grafana: история успеха одних алертов Меня зовут Елизавета Добрянская и я Frontend-разработчица в компании Домклик. В этой статье я хочу рассказать, как мы танцевали с бубном при настройке алертов на клиентские метрики. Как, зачем и с чем мы столкнулись в этой задаче - читайте далее

Agile скрам-разработка Эта статья не рассчитана на бывалых скрам-мастеров, опытных проект-менеджеров… А скорее для начинающих, тех, кто хотят открыть для себя эту нишу в ИТ.Agile методы - это альтернатива поэтапному управлению проектами. Поэтапная методика управления проектами завязана на менеджер...

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

Мультивибратор на компараторе Занимаясь электроникой, я столкнулся с проблемой организации разрозненных знаний в "разумное целое".Стандартный вузовский путь: читай высокоумный учебник, делай лабораторку, проходи контрольный тест — слишком долог, «лишняя» информация быстро забывается. Бессистемные опыты ...

[Перевод] Разработка настоящих компонентов: блок сообщения Facebook Messenger Смесь любопытства и тяги к исследованиям снова привели меня к системе обмена сообщениями Facebook. Я уже изучал компоненты Facebook и писал об этом. Сейчас я обратил внимание на то, что в одни только блоки для вывода сообщений чата вложена огромная работа. На первый взгляд м...

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

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

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких...

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

JavaScript: работа с датой и временем с помощью Temporal Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal Источником вдохновения для меня послужила эта замечательная статья. Обратите внимани...

[Перевод] Почему в Android графические драйверы нельзя обновлять так же просто, как на PC Если вы PC-геймер, то, вероятно, постоянно обновляете драйверы GPU устройств AMD или NVIDIA. Обновление графических драйверов может повысить производительность и совместимость с новыми играми, поэтому нет никаких причин их не обновлять. Кроме того, обновление графических др...

Игры на советском калькуляторе МК-90 В этой статье я хочу рассказать о своём опыте работы с микрокалькулятором «Электроника МК-90». Будет рассмотрено несколько вариантов работы с модулем памяти калькулятора, а также несколько игр на нём. Читать дальше →

Искуственный интеллект Apple A15 Bionic рвёт чипсет Google Tensor Google создавала чипсет Google Tensor с оглядкой на алгоритмы искусственного интеллекта. Жаль, что Apple A15 Bionic оказался лучше. Google Tensor оказался хуже, чем топовые чипсеты от других производителей. Это касается производительности Tensor в ЦПУ-бенчмарках, этот чипсе...

Для атак на библиотеку Log4j доступ в интернет не требуется Эксплоиты для уязвимостей в этой библиотеке тревожат мир всё сильнее

Ученые определили слабые места приложений при использовании машинного обучения Результаты исследования опубликованы в International Journal of Open Information Technologies.На сегодняшний день машинное обучение - практически синоним термина "искусственный интеллект", программы развития которого уже являются национальными во многих странах. До...

Из Java в Kotlin: туда и обратно В статье рассмотрены проблемы и решения, которые возникли при добавлении Kotlin в небольшой существующий микросервис на Spring Boot, написанный на Java. В рамках статьи не будут рассматриваться плюсы и минусы того или иного языка - здесь и так сломано много копий. В рамках п...

[recovery mode] Сравнение API Management платформ: результаты теста В прошлый раз мы выложили в открытый доступ систему критериев, по которым решили оценивать API Management платформы. Сегодня поделимся результатом сравнения 10 решений, по которым нам удалось собрать подробную информацию и даже немного потестить.Платформ на рынке значительно...

Это не стекло и не пластик. Задняя панель Samsung Galaxy S22 Ultra может быть выполнена из нового материала Проверенный сетевой инсайдер под ником Ice Universe, который часто публикует эксклюзивные материалы, выложил новую информацию о смартфоне Samsung Galaxy S22 Ultra, а точнее материале его задней панели. Его информаторы, которые видели Samsung Galaxy S22 Ultra, утверждают...

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

Библиотека PHP для поиска видео по скриншоту Перед всеми нами ежедневно встаёт задача поиска информации. Требуется найти текст, изображения, аудио или видео информацию. Чаще всего для поискового запроса используется текст. Реже - изображения. Есть сервисы вроде "Shazam", которые ищут музыку используя запись звука. Мы с...

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

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 2 В предыдущей статье я рассказал о подготовке данных для тестирования, что данные лучше генерировать, а не клонировать. Теперь стоит подробно разобрать, как их генерировать. Есть несколько подходов к генерации данных: c SQL, Python, сериализацией. У всех из них есть свои плюс...

Страх и ненависть в RouterOS: что такое сетевое соединение в ядре Linux (часть 2 — практика) Ранее в первой (теоретической) части статьи была подробно описана сущность сетевого соединения глазами ядра маршрутизатора. В текущей части мы закрепим информацию в результате рассмотрения работы прикладного протокола DNS через подсистемы RouterOS. В заключительной части...

Ряд способов для передачи голоса на расстояние, с помощью ESP32/Arduino Источник картинки: silenthollywood.com Использование микроконтроллеров ESP32/Arduino позволяет создавать достаточно любопытные проекты, среди которых особняком стоят проекты для передачи голоса. Например, создать собственную рацию, которая может быть весьма тонко настроена...

Чем хороший программист отличается от плохого, или почему нужно выходить за рамки Это будет моя самая короткая статья.Когда-то я был молод и зелен и решал проблемы именно так, как их решают джуны. Алгоритм такой:1. Узнать о проблеме2. Локализовать проблему3. Загуглить проблему и решение4. Пофиксить проблемуНапример: эксель-файл содержит ошибку, и поэтому ...

Спасибо, Марио, но код стоит поправить – проверка TheXTech Здорово, когда энтузиастам-разработчикам удаётся сделать работающий клон известной игры. Ещё лучше, когда находятся люди, готовые продолжить развитие таких проектов! В этой статье с помощью PVS-Studio мы проверим TheXTech – открытую реализацию игры по вселенной Super Mario. ...

Асинхронное программирование в однопоточных средах JavaScript Асинхронное программирование в однопоточных средах JavaScript Моя прошлая обучающая статья Введение в Redux & React-redux набрала больше 100к просмотров. Что же это не может не радовать меня. И поэтому я решил порадовать и вас написав очередную статью по JavaScript. Хотя...

О том, как мы с сочувствием смотрим на вопрос на StackOverflow, но молчим Иногда на сайте stackoverflow.com мы видим очередной вопрос, как искать баги определённого типа. И знаем, что решением проблемы может стать использование PVS-Studio. К сожалению, мы вынуждены молчать, иначе ответ будет интерпретирован как неприкрытая реклама. Это статья про...

[Перевод] Метаклассы в Python Привет, Хабр! У нас продолжается распродажа в честь черной пятницы. Там вы найдете много занимательных книг.Возможен вопрос: а что такое метакласс? Если коротко, метакласс относится к  классу точно как класс к объекту.Метаклассы – не с...

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

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

Чем заменить YouTube на Android TV YouTube — уникальная платформа, на которой собрано множество интересных видео. Наверное, на все случаи жизни. В официальном приложении YouTube есть, в общем-то, все необходимые функции. Правда, YouTube для Android TV — не самое гибкое приложение и подвисает даже...

Бесплатная учёба в Европе… как?! Без папы олигарха и начиная с нуля Вначале я расскажу о своём опыте самостоятельной учебы в университете в Англии, а потом расскажу о том, как бы я подошел к этому если бы планировал уехать учиться в Европу из России сейчас. Подробнее обо мне в другой статье тут. Читать далее

Нейросеть, способная объяснить себе задачу: P-tuning для YaLM Мы уже рассказывали о том, как применили семейство генеративных нейросетей YaLM для подготовки ответов в Поиске, Алисе или даже в Балабобе. Главная особенность наших моделей — метод few-shot learning, который позволяет без дополнительного обучения решать большинство задач в...

[Перевод] Ренессанс Quake: краткая история 25 лет моддинга игры Представьте спрятанный высоко в горах древний монастырь, где стареющие монахи и монахини вырезают из песчаника маленькие китчевые демонические замки, до которых никому, кроме них, нет дела. С каждым годом их число сокращается. Мир забыл о них. Неужели так и умрёт древняя тр...

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

Машинное обучение для астронома: random forest для науки Здравствуйте, меня зовут Александра и я астрофизик. В прошлом году я закончила курс «Аналитик данных» в Нетологии. На диплом решила не брать никаких бизнесовых кейсов, только наука. Так родилась работа, посвящённая классификации галактик с помощью одного из методов машинного...

ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России 2021 год в машинном обучении ознаменовался мультимодальностью — активно развиваются нейросети, работающие одновременно с изображениями, текстами, речью, музыкой. Правит балом, как обычно, OpenAI, но, несмотря на слово «open» в своём названии, не спешит выкладывать модели в о...

Непростая линковка Swift и C И ман по линковке swift и Си библиотек и история одной проблемы - два в одном - чуть не дотягивает до кофе от нескафе! Читать далее

Загрузочный диск Windows PE своими руками Сисадмину или мастеру сервисного центра, да и просто в хозяйстве на всякий случай помогает в работе загрузочная флешка с набором полезных программ, и в интернете можно найти полно готовых решений с «кучей» софта на все случаи в жизни. Но каждый кто пользовался чужими готовым...

Девять избранных статей с конференции NeurIPS 2021. Часть 1 В Одноклассниках мы регулярно проводим разборы научных конференций и делимся  результатами этих разборов. В этот раз хотим поделиться статьями с NeurIPS 2021. NeurIPS – крупнейшая конференция по машинному обучению: в этом году было подано 9000 статей, 2300 из которых по...

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

[Перевод] Создание игр для NES на ассемблере 6502: движение спрайтов Оглавление Оглавление Часть I: подготовка Введение 1. Краткая история NES 2. Фундаментальные понятия 3. Приступаем к разработке 4. Оборудование NES 5. Знакомство с языком ассемблера 6502 6. Заголовки и векторы прерываний 7. ...

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

Новая документация Docsvision ч. 2 — Antora Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision и я здесь, чтобы опубликовать вторую часть статьи и надрать задницу всем, кто ставил дизлайки к первой части. Статью вы можете найти ниже.В первой статье я рассказал, как мы выбирали SS...

Индекс Лепрекона Всем привет! Меня зовут Оюна Любимова, я занимаюсь продуктовой аналитикой в Юле и Объявлениях ВКонтакте. Я отвечаю за сбор и интерпретацию данных, чтобы наша команда могла принимать уверенные решения о развитии продукта. В статье я расскажу об аналитике безопасности взаимоде...

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

Зачем NVIDIA создаст двойника Земли на самом мощном суперкомпьютере Глава NVIDIA Дженсен Хуанг подробно рассказал о проекте Earth-2, в рамках которого компания создаёт самый мощный в мире суперкомпьютер с искусственным интеллектом для прогнозирования изменения климата. NVIDIA даже сделает цифрового двойника Земли в Omniverse.

Вышла Log4j версии 2.17.1, в библиотеке исправили еще одну RCE-уязвимость Вышло еще одно обновление для библиотеки Log4j, в которой недавно обнаружили множество опасных проблем. В свежей версии 2.17.1 исправлена новая RCE-уязвимость CVE-2021-44832.

[Перевод] Звёздный рейтинг: решение с использованием SVG Для некоторых веб-сайтов и платформ в интернете важно предоставлять пользователям звёздный рейтинг для возможности выставить оценку материалу. Недавно мне довелось реализовать для одного проекта компонент звёздного рейтинга. Я решил использовать SVG и не пожалел об этом. В д...

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

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

Лучшие приложения для занятий фитнесом дома: вердикт Роскачества Эксперты Роскачества исследовали самые популярные мобильные приложения для для занятия фитнесом дома и составили рейтинги лучших из них.  Рейтинги приложений для спорта для Android и iOS получились в итоге практически одинаковыми. Как отмечают эксперты, все вошедш...

Clipchamp — новое приложение Microsoft для редактирования видео на Windows 11 После приобретения Clipchamp, Microsoft теперь внедряет приложение в Windows 11. Это приложение на основе браузера, которое поддерживает обрезку, разделение, переходы и даже имеет функцию записи экрана. Clipchamp включает временную шкалу, как и профессиональные приложения...

Bloomberg: Apple запланировала весеннюю презентацию на 8 марта Авторитетный инсайдер и журналист Bloomberg Марк Гурман рассказал о том, что первая в этом году презентация Apple может состояться уже 8 марта. Ожидается, что в рамках этого мероприятия купертиновцы покажут iPhone SE третьего поколения и обновленный iPad Air.Читать дальше......

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

Разбираемся с библиотекой лексического анализа ANTLR4 У нас в SberDevices разрабатывается платформа по управлению рекомендациями, которая взаимодействует с разными ML-движками. Со временем их станет много, и, когда пользователь умных устройств Sber будет запрашивать контент – искать фильмы, музыку, спрашивать о чём-то виртуальн...

Работа с аудио в Unity — трассировка и облачные вычисления Всем привет! В этой статье мы рассмотрим пример работы с объемным аудио в Unity для консольных и ПК проектов. На данном примере будет описан пайплайн работы с аудио на крупном проекте с множеством источников звука, HRTF и др. Читать далее

Как мы создавали курс по C# и боролись за секунды У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть...

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

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

Otaku's Adventure расскажет историю о «типичном» фанате аниме Студия Spacelight перенесёт Otaku's Adventure на смартфоны. 12-го апреля ожидается бесплатная демоверсия. Otaku's Adventure — необычная новелла про мальчика, который увлекается аниме и мангой. Он годами жил без девушки и вдруг оказался в эпицентре приключения с разнообразны...

Проект под кодовым названием: «Бульболёт». Часть 1. Погружение в MPU6050 (или нет) Всем привет! Сегодня, а именно с этой статьи, я бы хотел начать свою историю разработки летательного средства на радио управление. В интернете я натыкался на множество статей где так или иначе собирали Р.У модели, и в основном это делалась на основе каких-то модулей или уже ...

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

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

Видео: новый трейлер симулятора университета Two Point Campus посвятили курсу археологии Издательство Sega и разработчики из Two Point Studios (Two Point Hospital), представили новый геймплейный трейлер симулятора Two Point Campus. Видеоролик посвящён курсу археологии, на который смогут записаться будущие студенты университета. Источник изображения: Steam Посети...

В Индии найдены загадочные кувшины из камня, сделанные древними людьми Загадочные кувшины неподалеку от индийской деревни Геракило По данным ООН, на данный момент в мире насчитывается около 476 миллионов представителей коренных народов, которые проживают в 90 странах. Они являются носителями 5000 различных культур и большинства существующих язы...

Моя история удаления 7 зубов включая 2 сверхкомплектных В 16 лет я увидел панорамный снимок на фото выше и, уже успев натерпеться стоматологии и врачей, я загрустил. Я спросил врача в Красноярске, который анализировал снимок, мол что же делать с лишними зубами (а тогда они еще не особо мешали и только слегка прощупывались)? Я по...

Node.js: документирование и визуализация API с помощью Swagger Привет, друзья! В этой небольшой заметке я расскажу вам о том, как генерировать и визуализировать документацию к API с помощью Swagger. Мы разработаем простой Express-сервер, способный обрабатывать стандартные CRUD-запросы, с фиктивной базой данных, реализованной с помощь...

Особенности проекта Debezium для решения задачи миграции баз данных С 2014 года в России реализуется программа импортозамещения, которая распространяется в том числе на программное обеспечение и системы управления базами данных, поднимая вопросы оптимальной миграции. В этой статье мы, специалисты департамента разработки «Консист Бизнес Групп...

Какая камера стоит в Google Pixel 6 и чем она действительно хороша В Pixel 6 и 6 Pro есть много новых интересных технологий, в том числе дисплей LTPO с частотой 120 Гц и специальный процессор Tensor. В них есть еще и новая камера, о которой как-то мало говорят. Телефоны Google всегда делали хорошие фотографии, но новые модели всегда уступа...

RabbitMQ Streams для сбора и обработки телеметрии умного дома Традиционно для сценариев поточной обработки с использованием Map-Reduce рассматриваются такие решения как Hadoop/Spark, либо используются конвейерные системы (например Kafka), для которых есть возможность реализовать концепцию потоков (streams) с помощью дополнительных инст...

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

[Перевод] Пишем Python-расширение на Ассемблере (зачем?) Прим. Wunder Fund: в жизни каждого человека случается момент, когда ему приходиться позаниматься реверс-инжинирингом. В статье вы найдёте базовые особенности работы с ассемблером, а также прочитаете увлекательную историю господина, который решил написать Питон-библиотеку на ...

[Перевод] Магазины приложений до эпохи AppStore Как-то так сложилось, что Apple и её продукцию или хвалят, или ругают. В этой статье мы не будем поддерживать ни одну из сторон, а просто расскажем о том, как выглядели магазины приложений до появления «яблочной» экосистемы, а также Google Play и прочих. Читать далее

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

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

FOSS News №104 — дайджест материалов о свободном и открытом ПО за 27 декабря 2021 — 16 января 2022 года Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Главные темы нового выпуска: Новости о распространении и борьбе с катастрофической уязвимостью в Log4...

Релиз KDE Plasma 5.24: новое, полезное, интересное в новой версии оболочки Пользователи, которые работают с оболочкой KDE Plasma могут быть довольны — вышел новый релиз, KDE Plasma 5.24. Он создавался на базе платформы KDE Frameworks 5 и библиотеки Qt 5 с применением OpenGL/OpenGL ES для оптимизации отрисовки. О том, что появилось или изменилось в...

Введение в distributed tracing В один прекрасный момент вы можете переезжать из одного ДЦ в другой и понять, что не знаете свои системы: их поведение может стать неожиданным. В одной системе вы должны были работать гораздо быстрее, но теперь работаете медленно. В другой — не понимаете, куда приходит запро...

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

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

Оумуамуа — решение парадокса Ферми (2) Предыдущая статья Оумуамуа — решение парадокса Ферми вызвала довольно живой интерес несмотря на свою довольно узкую специализацию. Изначально она задумывалась довольно короткой, но оказалось, что довольно сложно лаконично описать. Это также отчасти является причиной критики ...

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

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

Применение exception при накате Python-скрипта на Huawei Обычно мы можем встретить три проблемы при попытке запустить Python-скрипт на сети Huawei (впрочем, и на любой другой): это отсутствие L3 связности с устройством, это неверные имя пользователя или пароль, и это SSH-неполадки. Можно заметить, что любая из этих проблем остано...

Spotify или Apple Music: что выбрать Музыкальные сервисы уже давно стали спутниками нашей жизни. Они свели почти к нулю количество потребляемого пиратского контента, который надо было еще где-то найти, скачать, потом загрузить в телефон или плеер… Теперь, когда можно заплатить 100-200 рублей в месяц и слушать ...

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

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

Российские компании переходят на отечественные авто. Они не так сильно подорожали, в сравнении с иномарками Представители бизнеса рассказали «Известиям» о переходе на отечественные авто, которые подорожали в нынешних условиях не так сильно, как зарубежные марки. Так, «Якитория» увеличит закупку российских авто вдвое, расширят парк за счет отечественных...

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

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

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

История одной случайной поделки Доброго всем дня!Хотелось рассказать еще про одну самоделку, которая родилась ну прям совершенно случайно. Так уж получилось, что работал я с одним очень весёлым и крайне креативным коллегой, который постоянно что-то мастерил для дома. Многое из того, что он делал я бы и бли...

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2) Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные. В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше:...

Математика и IT Джорджо де Кирико. Великий метафизик (The Grand Metaphysician), 1917. Если посмотреть список хабов Хабра, то увидим, что в IT можно выделить много направлений. Для этой статьи возьмем классификацию попроще. 1) CS — создание подходов, имеющих научную новизну. Разработка нов...

Телевизоры Samsung 2022 года будут совместимы с GeForce NOW и Stadia Samsung сделала смелый шаг в сторону постконсольного будущего, добавив сервисы потоковой передачи игр NVIDIA GeForce NOW и Google Stadia в качестве встроенных приложений в некоторые модели своей линейки смарт-телевизоров 2022 года. В телевизоры помимо USB встроены Bluetooth ...

Bottom Sheet, перейдём на «ты»? Bottom Sheet представлялся мне сложным и недосягаемым. Это был вызов! Я не понимал, с чего начать. Возникало много вопросов: использовать view или view controller? Auto или manual layout? Как анимировать? Как скрывать Bottom Sheet интерактивно?Но всё изменилось после работы ...

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

Как перенести все данные с Google Drive на «Яндекс.Диск» Сейчас однозначно имеет смысл подстраховаться и перенести все файлы и вообще всю информацию с Google Drive на облачный сервис «Яндекс.Диск». О том, как это сделать быстро, рассказывает автор статьи на iXBT.com.

Переделка Tewo Black Widow под водяное охлаждение на Lerge K В этой статье речь пойдёт о переделки 3D принтера Tewo Black Widow (Чёрная вдова) на водяное охлаждение с подключением платы Lerdge K. Почему именно Tewo? Да всё просто, принтер у меня давно, года 3, как показало время, он оказался очень живучий, поломок нет, только расходни...

Как упростить работу с базами данных в Node.js с помощью Objection.js Objection.js — сравнительно молодая и минималистичная ORM-библиотека для Node.js, которая сильно упрощает взаимодействие с базами данных и не перегружена дополнительными функциями, как Sequelize или TypeORM. Разбираемся, в чем ее специфика и как строить запросы с ее помощью....

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

iPhone 14 Pro может получить два выреза в дисплее вместо выемки Компания Apple уже работает над моделями iPhone следующего поколения. Недавно в Сети были сообщения о некоторых серьезных изменениях в будущих смартфонах, особенно с точки зрения дисплея и дизайна.До сих пор говорилось, что модели iPhone 14 Pro избавятся от «челки&raqu...

Что в глубинах Data Lake? Строим архитектуру, укладываем слои, распределяем ответственность Привет, Хабр! Меня зовут Григорий Коваль, я технический руководитель Core Data Lake центра Big Data МТС. Сегодня я расскажу о том, какие слои находятся внутри Data Lake, как построить архитектуру базы данных и чем распределенный Data Mesh-подход отличается от монолитного хра...

Создаём игру на KPHP с помощью FFI и SDL KPHP теперь поддерживает механизм Foreign Function Interface (FFI). Мы с Владом решили продемонстрировать его возможности и за сутки написали первую в мире графическую игру на KPHP. Игру делали с использованием библиотеки SDL: работали со звуком, обрабатывали события клавиа...

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

Теперь вы можете купить первый в мире iPhone с USB-C В прошлом месяце Кен Пиллонель - студент-робототехник из Швейцарии показал всему миру свой iPhone X с полностью работающим портом USB-C. Тот же самый телефон сейчас продается на аукционе eBay . На момент написания этой статьи цена достигла 3 950 долларов. Речь идет о бывш...

Psion 5MX против Planet Gemini: иногда КПК возвращаются Ох сколько раз было обсуждено в комментариях к моим статьям про ретрожелезо: какие же крутые штуки, ну почему так сейчас не делают? А дальше обязательно идет критика современных устройств: унылые, скучные, однообразные, всё исключительно ради денег. Но когда раз в сто лет кт...

Девочка, балансирующая на NVME-over-TCP 2.0 Привет всем! Рад вас снова видеть, и я счастлив, что вам так понравилась моя предыдущая статья под названием «А все ли врут? Продолжаем издеваться над NVME». Напомню, что в этой статье я объяснил, как правильно подключить ваш NVME диск удалённо по сети. Не «как расшарить п...

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

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

Орбитальный полёт Starship — новости с полей Начнем с трёх недавних запусков Falcon 9, которые произошли 7, 13 и 19 января соответственно. В первый и третий полёт отправились 49 спутников Starlink, а во второй, — сборная солянка из разных спутников со всего мира, включая украинский спутник Сiч-2. Первая ступень во всех...

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

Латунирование, это просто Эта статья - простая и подробная инструкция, как можно в домашних условиях покрыть латунью металлические детали, применяя только подручную химию. cut/ В ней, подробно описанны все ньюансы и "подводные камни". После прочтения этой статьи, у вас просто не может не получиться...

Бабушки, аудиты и брутфорс — истории о безопасности Wi-Fi-сетей Привет, Хабр! Мы в CTI 20 лет строим и тестируем беспроводные сети. Время от времени сталкиваемся с забавными ситуациями, которые показывают серьёзную уязвимость в клиентском Wi-Fi. Причём о некоторых вещах мы узнали только в процессе работы. Всё это совершенно неочевидные м...

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

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

Android-смартфон с Lightning и iPhone с USB-C. Я ничего не перепутал Для многих главной проблемой любого iPhone является то, что заряжается он от собственного разъема Lightning. В то время, как весь мир старается перевести свою технику на USB Type-C, Apple как всегда идет своим путем. При этом iPad Air и Pro уже перешли на универсальный разъ...

[Перевод] Камера для съемки метеоров на базе Raspberry Pi Снимок около 1,670 метеоров из потока Геминиды, сделанный одной станцией за одну ночь в 2020 году Проект по сборке простой станции наблюдения за метеорами, не требующий больших затрат и посильный рядовым любителям астрономии. На реализацию уйдет всего несколько часов труда ...

SQL HowTo: делаем из мухи слона (алгоритм Ли) Правила игры очень просты: надо построить цепочку слов от начального (МУХА) до конечного (СЛОН), на каждом шаге меняя только одну букву. При этом могут использоваться только русские 4-буквенные нарицательные существительные в начальной форме: например, сл...

[Перевод] Нетрадиционные подходы к использованию GraphQL Привет, Хаброжители! Стартовала весенняя распродажа от издательства «Питер». Эту статью также можно было бы назвать «Чего по науке нельзя делать с GraphQL».Читая различные посты в блогах и руководства, мы узнаем, что существует некий правильный способ работы с GraphQL. Но в...

Flutter: простыми словами про ассинхронность и параллельность Всем привет, читатели Хабра! В этой статье я хочу простыми словами рассказать про асинхронность и параллельность в Dart/Flutter. Многие новички сталкиваются с непонимаем того, что это и когда что использовать. Я сам столкнулся с этой проблемой в начале своего карьерного пути...

День рождения Тони Хоара, создателя Quicksort Сегодня 11 января исполняется 88 лет сэру Чарльзу Энтони Ричарду Хоару, разработчику алгоритма быстрой сортировки массивов. Тони Хоар — английский ученый в области информатики и вычислительной техники, он подарил миру не только алгоритмы Quicksort и Find, но и логику для док...

9 лучших расширений для Safari в iOS 15 Вы уже знаете, что Safari в iOS 15 получил множество новых функций, среди которых группирование вкладок, жесты для переключения между вкладками, но и расширения для браузера. В прошлый раз мы рассказывали вам о некоторых из них, но с того момента App Store стал заметно бога...

FullHD vs 4k и integer scaling: всегда ли 2 x 2 = 4? «Лучше быть богатым и здоровым, чем бедным и больным» © Аксиома В статье Простой способ получения ”Flicker-Off”: «отключение» ШИМ мерцания подсветки LCD мониторов и телевизоров я обозначил несколько смежных тем, заслуживающих на мой взгляд отдельного разговора, которы...

Мобильное приложение «Дорожный ассистент» для 1С Пример реализации мобильного приложения для водителей грузового транспорта. Frontend: React-Native. Backend: 1С. Первый опытДля первой попытки разработать мобильное приложение была выбрана мобильная платформа от 1С.  Спустя месяц был готов прототип и показан заказчику....

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

5 преимуществ чтения книг на iPad, о которых вы не задумывались В этом году Apple представила новый iPad mini и iPad 9: мы уже рассказывали о них и даже выбирали, какой iPad купить на данный момент. Мы рассматривали самые разные характеристики, начиная от процессора и заканчивая размерами устройств. Но есть то, что объединяет все модели...

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

Взятие Масады Пару дней назад в блоге уважаемого @LKamrad была интересная статья с расшифровкой зарплатной ведомости римского солдата Х легиона. Того самого легиона, который брал знаменитую Масаду. Поэтому первый же комментарий был просьбой рассказать про эту крепость. Что-ж, не могу удер...

Это была хорошая охота: 13 лет CTO от прихода до ухода У нас в Туту в марте уходит CTO Вадим Мельников, который за 13 лет успел перевезти компанию из подвала с дошираком в мир высоких технологий. Не один, конечно, но Вадим был очень крутым CTO, и я хочу рассказать, как он поменял всё за это время. В общем, никто не рассказыв...

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

Незаслуженно забытые герои Computer Science В IT все знают про Тьюринга, Страуструпа, Ритчи и Торвальдса. Эти люди много сделали для становления компьютерной науки. Но, как и везде, в IT-индустрии есть свои невоспетые герои. Поэтому в этой подборке мы решили рассказать об ученых и инженерах, которые внесли большой вкл...

Docker: заметки веб-разработчика. Итерация вторая Привет, друзья! Продолжаю делиться с вами заметками о Docker. Заметки состоят из 3 частей: первые две теоретические, третья практическая. Если быть более конкретным: первая часть посвящена самому Docker, Docker CLI и Dockerfile; вторая часть полностью о Docker Compose; в ...

Доводим распределённые действия до конца с использованием простейшего паттерна Saga Привет! Меня зовут Иван, я занимаюсь бэкенд-разработкой в Ozon: пишу микросервисы на Go для личного кабинета продавца. В прошлом году мы запустили новый процесс регистрации продавцов, в котором задействовано сразу несколько микросервисов. В нём стало больше шагов, при этом к...

Сервис «Библиотеки Москвы» запустил интерактивную карту для поиска книг и библиотек поблизости В сервисе «Библиотеки Москвы» появилась новая удобная функция — интерактивная карта для поиска библиотек и книг. Об этом сообщила пресс-служба ДИТ (Департамент информационных технологий города Москвы). Сервис «Библиотеки Москвы» позволяет ...

Уехать в Германию на финишной прямой до пенсии, отыскать там СССР Уехать в Германию на финишной прямой до пенсии, отыскать там СССР или как сбежать из тюрьмы, и чтобы тебе за это ничего не было Март 2022. События последних недель разделили нашу жизнь на ДО и ПОСЛЕ, а наше общество – на тех, кто ZА и ПРОТИВ. Воздержавшихся, кажется, уже не...

Расходы, сплетни и нервы: в январе 2022 три знака Зодиака ожидают трудности Январь 2022 года принесет Близнецам победы, а для Тельцов создаст недружественную среду. Об этом пишет Slovofraza. Овен Овнам январь принесет избавление от иллюзий и внезапные расходы. Астрологи рекомендуют начать борьбу с неверными установками, которые приводят к пораж...

В США по L-1: от первых собеседований до гринкарты Привет, Хабр. Texas in July January Периодически у тебя тут обсуждают иммиграцию в различные страны. Вспоминают и про Штаты: кто-то считает, что туда попасть очень легко, кто-то — что очень сложно. Я прошёл добрую часть этого пути (осталось только гражданство), так что, воз...

Настройка cервера с помощью docker для простых проектов. Часть вторая: docker-compose Настройка cервера с помощью docker для простых проектов. Инструкция для самых маленьких. Часть вторая: docker-compose.Мы продолжаем цикл обучающих статей для самых маленьких наших читателей. В данном обучении мы бы хотели разобрать docker-compose. Данная статья рассчитана на...

Основные приемы работы с Canvas [Part 1] Привет! Сегодня я хотел бы начать цикл статей на тему того, как работать с canvas в HTML5 и как применять знания в области матанализа для реализации необычных и интересных эффектов.Все навыки и умения, которые мы получим здесь, являются фундаментальными принципами и могут бы...

[Перевод] Архитектура первой PlayStation: центральный процессор Краткое введение Sony знала, что разработка для 3D-оборудования может становиться очень сложной. Поэтому в дизайне своей первой консоли она стремилась к простоте и практичности… Однако всё имеет свою цену! CPU В этом разделе мы проанализируем Sony CXD8530BQ — один из двух...

Астрофизики обнаружили «мосты» из темной материи. Что это такое? Ученые находят «мосты» темной материи, которые могут раскрыть будущее нашей галактики Ранее в этом году мы рассказывали о новой карте темной материи, создание которой во многом принадлежит искусственному интеллекту (ИИ). Эта подробная карта показывает ранее не обна...

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

[Перевод] Рисование закрашенных кругов и треугольников на Raspberry Pi Pico с помощью MicroPython Библиотека framebuf — это то, что, при разработке на MicroPython, даёт нам возможности по работе с основными графическими элементами. Например — с текстовыми символами, с прямоугольниками, да и с отдельными пикселями. Это позволяет создать множество интересных изображений. Н...

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

OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD Привет, Хабр! На связи Холодаев Алексей, младший системный администратор Cloud4Y. Сегодня хочу поделиться опытом использования OpenLDAP в качестве центра аутентификации для Nextcloud и ProFTPD.В ходе работы над одним из проектов возникла задача по созданию нескольких сотен п...

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

[Перевод] Как писать программы с математическим совершенством Имя Лесли Лэмпорта, возможно, не является узнаваемым, но он стоит за несколькими великими проектами: программой для набора текста LaTeX и работой, которая сделала возможной облачную инфраструктуру в Google и Amazon. Он также уделил много внимания нескольким проблемам, дав им...

Обнаружение препятствий на OpenCV Моя первая статья на Хабре, не судите строго, надеюсь содержание будет как минимум интересно, а если окажется кому-то полезным - буду просто счастлив!Не так давно, ко мне в руки попала модель радиоуправляемого катера с мощным бесколлекторным двигателем. Быстро наигравшись с ...

Реализация Smart Pointers в Delphi, и еще немного В последних версиях Delphi, появилось много новых, интересных возможностей. Сейчас попробуем сделать, с их помощью, что-нибудь полезное. Конкретно, создадим тип, который владеет объектом, ведет себя как этот объект, но при этом автоматически освобождается, когда на него боль...

Мирная Олбания. Казнить нельзя помиловать? Буду краток и без картинок. Мне нравится Хабр. Читателем являюсь давно. В 18 году решился оставить комментарий, а в 19 прилетело НЛО и присвоило медаль Автора. Теперь я «автор» 4х публикаций, так характерный для ресурса. Если хватит сил и смелости, то после этого поста будет...

Цифровизация позволит упростить процедуру уплаты налогов Впервые инициатива ввести систему единого налогового счета прозвучала в рамках третьего этапа XX съезда партии и была поддержана Президентом РФ Владимиром Путиным. Предложение внес Председатель Комитета по бюджету и налогам Андрей Макаров."Законопроект призван максималь...

Технический стек проекта из кейса-лайфхака про взаимоотношения IT-команды и «бизнеса» Сбера Как и обещали в первой части кейса, рассказываем о том, какой стек использовала IT-команда Сбера при работе над проектом с большими данными. Для тех, кто её не читал: благодаря этому проекту разработчики научились эффективно взаимодействовать с «бизнесом», пройдя через кризи...

Сохранение данных для ESP32/Arduino в удаленной базе MySQL и не только Любой любительский проект имеет дело с теми или иными данными, которые могут модифицироваться, генерироваться и, соответственно, требуют некоего хранения. В этой статье мы попробуем обзорно рассмотреть основные способы, с помощью которых можно организовать хранение данных ...

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

Apache выпустила уже третий патч для закрытия уязвимости в библиотеке Log4j — второй снова не справился Apache опубликовала версию 2.17.0 библиотеки Log4j, поскольку было обнаружено, что в предыдущей версии данный компонент так и не был полностью избавлен от уязвимости Log4Shell. Это уже третье обновление библиотеки после того, как впервые было заявлено о проблеме. Источник из...

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

В ГД внесли проект о штрафах для IT-гигантов за работу без филиала в России Комитет Государственной думы по информационной политике внес на рассмотрение законопроект, который предусматривает введение оборотных штрафов в отношении нарушителей закона о «приземлении», рассказывает телерам-канал «Мейстер». IT-гиганты, которые не следуют букве закона, мо...

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

В промышленную эксплуатацию введен первый виртуальный тренажер на АЭС Разработчиком программно-аппаратного комплекса выступила команда КРОК Иммерсивные технологии. Решение реализовано на базе импортозамещенной операционной системы Astra Linux в рамках программы цифровизации атомной отрасли."В Концерне мы всегда стремимся оптимизировать ра...

Онлайн-семинар «Визуальная аналитика 2022 — бей? замри? беги?» Изменения последних дней поставили перед бизнесом ряд вопросов, один из которых – быстрая корректировка стратегии в новых условиях. Но эта корректировка возможна только при наличии детальной и наглядной информации по всем направлениям деятельности компании. О том, какие и...

3 простые вещи, которые сделают вашу жизнь лучше Цель данной статьи довольно проста — принести пользу людям, дав им в руки несколько действительно рабочих инструментов, которые проверены на практике.Три простых вещи, о которых пойдёт речь в данной статье это:· Сон — как/сколько/почему нужно спать и какие есть лайфхаки для ...

История внедрения SRE в Dodo Engineering Татьяна Гребенюкова, продакт-оунер курса Слёрм «SRE: внедряем DevOps от Google», собирает интересные кейсы внедрения SRE в российских компаниях. Некоторые истории мы используем для развития курса, а другими рады поделиться со всеми.Сергей Бухаров, SRE из Dodo Engineering, ра...

Руководство разработкой: beginner's survival guide Привет! Меня зовут Наташа, я руковожу разработкой бэкенда страницы yandex.ru. Сейчас у нас в команде больше двадцати человек, которые входят в отдельные группы разработки. Три года назад я впервые стала «тимлидом» маленькой группы из четырёх человек, накопив к этому времени...

Создаем аналитическое хранилище данных командой из 2-3 спецов Всем привет! Сделать хорошее аналитическое хранилище (DWH), когда в команде десяток-другой крутых специалистов и пара лет времени — не сложно. Проекты по созданию DWH, Data Lake и BI обычно очень ресурсоёмки и под силу только большим компаниям. Мне интересно искать и применя...

Беззащитная Java. Ломаем Java bytecode encryption Для подписчиковКод на Java не так прост, как кажется. На первый взгляд взлом Java-приложения выглядит несложной задачей, благо подходящих декомпиляторов великое множество. Но если тебе доведется столкнуться с защитой Bytecode encryption, задача многократно усложняется. В это...

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

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