Социальные сети Рунета
Суббота, 20 апреля 2024

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

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

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

[Из песочницы] Автономизация Unit-тестов в PHPUnit Всем привет! Меня зовут Антон и сейчас (не так долго, около года) я разрабатываю на PHP в одном большом и старом проекте. Для обеспечения качества проекта мы применяем автотесты на фреймворке PHPUnit. Но, к сожалению, так получилось, что большая часть наших автотестов функц...

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

Беспроводной DIY датчик тепрературы и влажности с e-paper дисплеем Всем привет! Сегодня хочу рассказать читателям о своем DIY проекте датчика температуры и влажности с e-ink дисплеем. Это будет некая обзорная статья об этапах создания устройства, будет много картинок. Идея этого проекта родилась около двух лет назад, примерно тогда я увлекс...

Безопасная загрузка в i.MX6 Безопасная загрузка в i.MX6 Разрабатывая любой проект для встроенных систем разработчик должен решать два дополнительных вопроса: Как защитить прошивку от подмены в изделии; Как защитить ПО от копирования. В данной статье описано как защитить процессор i.MX6 от подмены за...

TDD для микроконтроллеров. Часть 3: Запуск на железе TDD для микроконтроллеров. Часть 1: Первый полет TDD для микроконтроллеров. Часть 2: Как шпионы избавляют от зависимостей TDD для микроконтроллеров. Часть 3: Запуск на железе В первой части нашего цикла статей мы начали освещать тему эффективности применения методологии TDD...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

Накопитель Kingston DC1000B с поддержкой NVMe предназначен для дата-центров Компания Kingston Technology объявила о выпуске твердотельного накопителя DC1000B, оптимизированного для работы в качестве загрузочного диска в серверах центров обработки данных. Накопитель Kingston DC1000B типоразмера M.2 2280 оснащен интерфейсом PCIe Gen 3.0 x 4 и под...

Floppy Bird. Пишем на ассемблере клон игры Flappy Bird, который уместится в бутсектор Для подписчиковХочешь попрактиковаться в кодинге на ассемблере? Давай вместе шаг за шагом создадим игру и запустим ее прямо из загрузочного сектора твоего компьютера. Если ты думаешь, что 512 байт маловато для полноценной игры, не спеши с выводами. К концу статьи ты сможешь ...

Пишем шеллкод под Windows на ассемблере В этой статье я хочу показать и подробно объяснить пример создания шеллкода на ассемблере в ОС Windows 7 x86. Не смотря на солидный возраст данной темы, она остаётся актуальной и по сей день: это стартовая точка в написании своих шеллкодов, эксплуатации переполнений буферо...

[Из песочницы] Настройка динамической маршрутизации (в частности BGP) поверх туннеля OpenVPN на Linux (и вероятно *BSD) Зачем и о чём эта статья? Если погуглить на тему «openvpn bgp», то можно найти несколько интересных и полезных с практической точки зрения статей (например раз или два). Но начиная решать задачку вынесенную в заголовок, я по многим причинам даже не удосужился погуглить. Идея...

МикроБ. Пишем Бейсик на ассемблере и умещаем в 512 байт Для подписчиковХочешь попрактиковаться в кодинге на ассемблере? Давай создадим интерпретатор бейсика и запустим его прямо из загрузочного сектора твоего компьютера, уместив его в 512 байт. Скорее всего, это будет самая сложная программа в твоей жизни, и когда ты создашь ее с...

[Из песочницы] 3D картинка на питоне с (почти) нормальной производительностью Можно считать эту статью ответом на вот эту, где речь идет о написании подобной вещи на C++, с прицелом на новичков, то есть с упором на простой читаемый код вместо высокой производительности. После прочтения статьи у меня возникла идея повторить написанную автором программ...

И снова про Компас 3D Home (64 bit) и смешанную среду приложений (32+64 bit) Помните анекдот?Лето, жара, на полигоне грязные, потные танкисты ремонтируют гусеницу танка. И вдруг возле них появляется сказочная фея с волшебной палочкой. "Ребята, а что это вы тут делаете?" — спрашивает фея. "Еб...мся" — зло отвечают танкисты. "Да? — удивляется фея, — А ...

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

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

Практическое руководство по разработке бэкенд-сервиса на Python Привет, меня зовут Александр Васин, я бэкенд-разработчик. Идея этого материала началась с того, что я хотел разобрать вступительное задание (Я.Диск) в Школу бэкенд-разработки Яндекса. Я начал описывать все тонкости выбора тех или иных технологий, методику тестирования… Получ...

Почему я ушёл с React Native и перешёл во Flutter: Часть 2 Всем привет. Меня зовут Дмитрий Андриянов. Два года я писал на React Native, сейчас работаю в Surf во Flutter отделе и уже более полутора лет пишу на Flutter. В первой части статьи я рассказал про основные различия между React Native и Flutter. В этой части расскажу про раз...

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

Что такое Immutable Infrastructure Меня зовут Никита, я системный инженер в компании SEMrush. И в этой статье я расскажу вам, что такое Immutable Infrastructure, какие у этого подхода есть преимущества и недостатки и как мы его используем в компании. Если вы ни разу не слышали такое словосочетание, то усажив...

Nvidia представила видеокарты RTX A5000, RTX A4000, RTX A3000 и RTX A2000 для мобильных рабочих станций Вместе с видеокартами RTX A5000 и RTX A4000 для настольных компьютеров компания Nvidia сегодня представила четыре модели для мобильных рабочих станций – RTX A5000, RTX A4000, RTX A3000 и RTX A2000. Старшая модель построена на GPU GA102, получила 6144 ядра CUDA, 1...

Стоит ли жаловаться на собеседования? Как мне кажется, на Хабре есть две вечные темы, на которые статьи появляются с завидной регулярностью и собирают массу комментариев и плюсов. Первая тема — "мне слили карму, систему кармы надо изменить/отменить". Вторая тема — "меня не взяли на работу, процесс...

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

Тестирование загрузчиков STEP формата для VR Мы, компания ООО «ВР Концепт», уже 5 лет ведем разработку программного обеспечения VR Concept для организации коллективной работы с любой 3D моделью, в том числе САПР, в шлемах виртуальной реальности. В данной статье мы хотели бы поделиться опытом интеграции нескольких загр...

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

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

[Перевод] Почему на Raspberry Pi4 стоит поставить 64-битную ОС Одно из преимуществ работы на компанию, занимающуюся производством программ, заключается в том, что вам часто представляется возможность протестировать прототипы нового железа. Однако не в данном случае – я купил себе Raspberry Pi4 потому, что она очень дешёвая! На Raspbe...

Debian: простое превращение i386 в amd64 Это краткая статья о том, как без переустановки организовать 64-x битную архитектуру на вашем 32-х битном Debian/Deabian-based дистрибутиве (который вы могли по-невнимательности загрузить вместо 64bit). * Ваше железо должно изначально поддерживать amd64, магию творить никто...

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

[Из песочницы] Разбор UI/UX на примере прототипа в Figma и основные принципы Кому адресована статья В данной публикации я хочу помочь начинающим и «не очень» бизнес-аналитикам, менеджерам проектов, владельцам продуктов, желающим сделать свой первый сайт и всем-всем, кому надо сделать макет сайта или приложения, а он не знает с какой стороны подступит...

RE: Страх и ненависть в IT Писать ответы на статьи легко и приятно. Не надо часами корпеть над структурой статьи, достаточно следовать чужому плану и лишь внятно изложить мысли на бумаге. Тем не менее, рискну предположить, что критический взгляд «с другой стороны» на проблемы, поднятые в статье "Страх...

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

[Из песочницы] Создание упаковщика x86_64 ELF файлов под linux Введение В данном посте будет описано создание простого упаковщика исполняемых файлов под linux x86_64. Предполагается, что читатель знаком с языком программирования си, языком ассемблера для архитектуры x86_64 и с устройством ELF файлов. В целях обеспечения ясности из приве...

[Перевод] Браузер и числа с плавающей запятой Изображение — www.freepik.com Несколько лет назад я много думал и писал о математике с плавающей запятой. Это было очень интересно, и в процессе исследований я многое узнал, но иногда я долгое время не использую на практике все эти полученные тяжким трудом знания. Поэтому ...

Улучшенная MIUI 12.5 вызвала проблемы у пользователей Poco F3: смартфон начал часто перезагружаться Xiaomi обещала начать распространять улучшенную MIUI 12.5 за пределами Китая лишь в четвёртом квартале текущего года, но по факту процесс уже запущен: новую оболочку получил Xiaomi Mi 11X в Индии и глобальный Poco F3. Однако в случае с последним все пошло не очень гладк...

Размещение кучи FreeRTOS в разделе CCMRAM для STM32 При разработке одного девайса на базе STM32F407 столкнулся с проблемой нехватки оперативной памяти. Назначение самого девайса не принципиально, но важно, что изначальный код писался для десктопной системы и его нужно было просто портировать на микроконтроллер под управлением...

Создание зашифрованного диска с «двойным» дном с помощью Veracrypt VeraCrypt — свободный форк TrueCrypt используемый для сквозного шифрования в Windows, Mac OSX и Linux, и позволяет шифровать системный диск, отдельный внутренний или внешний диск или создавать виртуальные диски с использованием файлов-контейнеров. В этой статье мы рассмот...

[Перевод] Вставка реальных объектов в Unity с помощью Meshroom Из этой статьи вы узнаете, как использовать фотограмметрию для фотосканирования и вставки объектов реального мира в проекты Unity при помощи Meshroom. В контексте 3d-моделей фотограмметрия — это процесс создания 3D-моделей из отсканированных объектов. Вам нужны реалистичн...

[Перевод] Какую кибердеку я бы хотел сделать для себя Перевод статьи из блога AbcLinuxu В 2016 году я создал сабреддит /r/cyberDeck. Отчасти потому, что меня вдохновила статья о создании кибердеки, а отчасти из-за нескольких обсуждений в IRC, в которых я принимал участие, и поскольку мне кажется, что эта идея – нечто большее, ...

Тёмная Вселенная. Часть 1 Доброго времени суток, уважаемое хабрасообщество! Как я и обещал после прошлой статьи по теории струн, сегодня мы попробуем приоткрыть завесу тайн и пробежаться по костылям новым веяниям в космологии — попробуем взглянуть на тернистый путь, который прошли ученые, и разобрать...

Уродливый API В этой статье хочу рассказать о проблемах, с которыми столкнулся в процессе интеграции с API по HTTP протоколу, и поделиться опытом их решения.При разработке фронтенд приложений (mobile/web), часто сталкиваешься с тем, что API на бэкенде еще не реализован. Приходится ждать р...

Нам мало CAP. Да здравствует PACELC Если вы когда-нибудь сталкивались с распределёнными СУБД или системами обработки данных, то слышали о двух теоремах CAP и PACELC, определяющих грани возможных конфигураций этих систем. Споры об их универсальности не утихают до сих пор, однако, альтернативы, способные полнос...

[Перевод] Самодельный ноутбук ZedRipper на 16-и Z80 Статья с сайта безумного инженера-самодельщика Криса Фентона Встречайте ZedRipper – 16-ядерный зверюга, работающий на частоте 83 МГц на базе процессоров Z80 – настолько же портативный, насколько непрактичный. Это моя самая свежая на сегодня попытка собрать компьютер ради ...

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

Observable сервисы в Angular Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru. В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS. Ангуляр в сочета...

Crucial представила SSD-накопитель P2 Crucial представила новый твердотельный SSD-накопитель P2 формата M.2, доступного емкостью 250 Гб и 500 Гб. Идеальный вариант для использования его в качестве загрузочного диска или добавления в ноутбук. Накопитель использует технологию NVMe, 500 Гб диск достигает скорость...

Сыграем в DOOM на серверах У меня возникла безумная идея – это сыграть в классический DOOM по сети установленный на VPS под управлением Windows. В целом, это задумывалось как тестирование новых фич, которые мы внедряем: клонирование серверов и разворачивание локальной сети. Да, и на самом деле, это ...

Бесполезный REPL. Доклад Яндекса REPL (read-eval-print loop) бесполезен в Python, даже если это волшебный IPython. Сегодня я предложу одно из возможных решений этой проблемы. В первую очередь доклад и мое расширение TheREPL будет полезны тем, кого интересует более быстрая и эффективная разработка, а также т...

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

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

Скоро PGConf.Russia 2020 PGConf.Russia 2020 в этом году, как и в прошлом, пройдет в начале февраля, а именно – 3 февраля – мастер-классы, 4го и 5го – доклады. Это первый раз, когда нам не пришлось отодвигать дедлайн по приему заявок на доклады — то ли люди стали более самоорганизованными, то ли появ...

Создайте ваш первый тест на Cypress Всем привет! Меня зовут Роман Мостафин. Я тестировщик-автоматизатор в компании Clover, и обычно пишу автотесты на pytest + selenium. Недавно для написания тестов на UI на проекте «Умный Локомотив» для автоматизации регрессионного тестирования наша команда фронтенд-разработчи...

SLAE — Security Linux Assembly Expert Exam Security Linux Assembly Expert — онлайн-курс и экзамен по основам 32-битного языка ассемблера процессоров семейства Intel в Linux-системах в контексте информационной безопасности. Курс будет полезен пентестерам, инженерам по информационной безопасности и всем, кто желает ра...

[Перевод] Аппаратный взлом жёсткого диска Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Ad...

Открытие портов 4321 и 9898 на шлюзе Xiaomi Gateway 2 Введение Отдыхая на новогодних праздниках, я загорелся идеей создания «Умного дома». Среди «народных» экосистем наиболее популярным в силу дешевизны и обилия всевозможных подключаемых устройств мне сразу показалось решение от Xiaomi. Сразу отказавшись от управления своим дом...

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

Как защищать процессы и расширения ядра в macOS Привет, Хабр! Сегодня мне хотелось бы поговорить о том, как можно защитить процессы от посягательств злоумышленников в macOS. Например, это полезно для антивируса или системы резервного копирования, особенно в свете того что под macOS существует сразу несколько способов “уби...

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

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

Dynamic Delivery в многомодульных проектах (часть 1) Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и занимаюсь внедрением Dynamic Features в наши проекты. Dynamic Delivery — технология, позволяющая устанавливать и удалять части приложения прямо во время работы для того, чтобы уменьшить место, занимаемо...

Нетривиальные анимации в SwiftUI Идея На WWDC 2019 была представлена SwiftUI — технология коренным образом влияющая на создание UI в приложениях для экосистемы Apple. Нам в Distillery стало интересно в ней разобраться чуть глубже, чем это подано в примерах от Apple. В идеале нужно было запилить какой-нибудь...

3д принтер Two Trees Sapphire S Всем привет. Выкроилась свободное время, для написания этого поста о 3Д принтере Two Trees Sapphire S.Возможно кому-то мой пост покажется запоздалым, прошу извинить, но я с другой стороны с момента получения принтера прошло уже семь месяцев, отчасти такое количество времени ...

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

Управление LCD и OLED дисплеями на AVR-ассемблере Сразу предупреждаю, что не собираюсь разводить холивары насчет преимуществ AVR-ассемблера перед С/Arduino, или даже перед BASCOM-AVR и MikroPascal for AVR — каждый инструмент уместен в своей области. У ассемблерного подхода в ряде случаев имеются свои преимущества — в основн...

Новый фронтенд Одноклассников: запуск React в Java. Часть I Многие слышали название GraalVM, но опробовать эту технологию в продакшене пока довелось не всем. Для Однокласснииков эта технология уже стала «священным Граалем», меняющим фронтенд. В этой статье я хочу рассказать о том, как нам удалось подружить Java и JavaScript, и нач...

[Из песочницы] Как начать писать микросервис на Spring Boot, чтобы потом не болела голова Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot....

Настройка GUI WSL Kali Linux & Ubuntu. Выход в графическую оболочку Здравствуйте. Установив WSL и скачав из Microsoft Store Kali Linux & Ubuntu я столкнулся с тем, что передо мной терминал, а я абсолютно ничего не понимая в Linux, хотел бы хоть как-то ориентироваться в системе через графическую оболочку. Я неделями гуглил команды и в и...

Как весь мир пытался создать альтернативу Android, но не смог Были ли альтернативы Андроиду? Android-смартфоны сегодня доминируют на рынке телефонов. Многие даже не знают, что когда-либо существовали альтернативы не в виде iOS, которой уж очень тяжело тягаться с Android за счет того, что это закрытая операционная система, привязанная к...

PHP и регулярные выражения: азы для новичков В преддверии старта нового потока по курсу «Backend-разработчик на PHP», а также смежного с ним курса «Framework Laravel», хотим поделиться статьей, которую подготовил наш внештатный автор. Внимание! данная статья не имеет отношения к программе курса и будет полезна только ...

[Из песочницы] Некоторые тонкости injection'а коллекций в Spring'е Всем привет! Меня зовут Владислав Родин. В настоящее время я преподаю на портале OTUS курсы, посвященные архитектуре ПО и архитектуре ПО, подверженного высокой нагрузке. Сейчас в OTUS'е открыт набор на новый поток курса Разработчик на Spring Framework. В преддверии старта к...

Huawei может поддержать инициативу Windows 10 ARM, опираясь на свои чипы В то время как Microsoft и Qualcomm на протяжении последних нескольких лет активно продвигают инициативу Windows 10 для ARM (например, на днях были представлены чипы Snapdragon 7c и 8c), тонкие, лёгкие и автономные ноутбуки на базе однокристальных систем с архитектурой ARM в...

«Убийца подлодок»: что известно о секретном российском вертолете «Минога» Вертолет проекта «Минога», скорее всего, получит обозначение Ка-65 и сменит в российском ВМФ противолодочный вертолет Ка-27. #45: ...

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

[Перевод] EOF — это не символ Недавно я читал книгу «Компьютерные системы: архитектура и программирование. Взгляд программиста». Там, в главе про систему ввода-вывода Unix, авторы упомянули о том, что в конце файла нет особого символа EOF. Если вы читали о системе ввода-вывода Unix/Linux, или эксперим...

Робот-попрошайка на ROS и нейросетках Обычно к таким поделкам возникает два вопроса: «как?» и «для чего?» Первому вопросу посвящена сама публикация, а на второй я отвечу сразу: Этот проект я затеял для того, чтобы освоить робототехнику, начиная с Raspberry Pi и камеры. Как известно, один из лучших способов чему...

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

[Перевод] Open Source Guides: Запуск проекта с открытым исходником Предисловие переводчика Пару месяцев назад на Гитхабе случайно наткнулся на ссылку «Open source guides» и не мог оторваться. Где-то за неделю я внимательно прочитал все 10 разделов. Конечно, я и раньше знал про open source: читал разные статьи (например, «Понять Open Sourc...

Как проанализировать рынок фотостудий с помощью Python (1/3). Парсинг данных В интернете огромное количество открытых данных. При правильном сборе и анализе информации можно решить важные бизнес-задачи. Например, стоит ли открыть свой бизнес? С таким вопросом ко мне обратились клиенты, желающие получить аналитику рынка услуг фотостудий. Для них было...

Настройка CI/CD в Plesk+Github Actions для проекта на Flask+Angular В этой статье я поделюсь своим опытом настройки CI/CD с использованием панели управления Plesk и Github Actions. Сегодня будем учиться деплоить простенький проект с незамысловатым названием «Helloworld». Он написан на Python-фреймворке Flask, с воркерами на Celery и фронтен...

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

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

[Из песочницы] IT в системе школьного образования Приветствую, хабравчане и гости сайта! Начну с благодарности за Хабр. Благодарю. О Хабре узнал в 2007-м. Почитывал. Собрался даже написать свои соображения по какому-то животрепещущему вопросу, а попал в то время, когда «просто так» это сделать было нельзя (возможно и скор...

Linux Kernel Library: ядро Linux в форм-факторе so или dll Когда-то читал статью о выборе файловых систем «чтоб везде-везде работало». В ней в очередной раз увидел жалобы, что Ext4 замечательная файловая система, но на Windows есть только кривые неточные проприетарные драйверы. Но отмотаем ленту ещё на пару лет назад: тогда на Хабре...

[Инструкция] Создание гугл-тестов (гугл-форм) Спасибо пользователям Exosphere и Yuriy_krd за помощь и конструктивную критику Иногда кажется, что создать что-то по конструктору весьма быстро и просто: хоть сайт, хоть опрос, хоть таблицы. Однако часто упускаешь из внимания какие-то обидные мелочи, из-за которых время уход...

[Из песочницы] Переосмысление DTO в Java Привет, Хабр! Представляю вашему вниманию любительский перевод статьи “Rethinking the Java DTO” Стивена Уотермана, где автор рассматривает интересный и нестандартный подход к использованию DTO в Java. Я провел 12 недель в рамках программы подготовки выпускников Scott Logic,...

Сниппет, расширение для VSCode и CLI. Часть 1 Доброго времени суток, друзья! В процессе разработки Современного стартового HTML-шаблона я задумался о расширении возможностей его использования. На тот момент варианты его применения ограничивались клонированием репозитория и скачиванием архива. Так появились HTML-снипп...

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17 Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я про...

ABBYY NeoML: как мы делали библиотеку машинного обучения и зачем она нужна Привет, Хабр! Меня зовут Стас, и я отвечаю за направление Common Libraries в компании ABBYY. Недавно мы выложили на GitHub созданную нами библиотеку для машинного обучения NeoML. NeoML — это кроссплатформенная C++ библиотека, позволяющая организовать полный цикл разработки ...

Можно ли писать скрипты на C++? Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гугл...

100 плагинов для Revit или как мы оптимизировали проектирование систем электроснабжения Привет, Хабр! Меня зовут Алексей Новиков, уже 5 лет я занимаюсь информационным моделированием систем электроснабжения в компании STEP LOGIC.  Раньше основной ценностью работы проектировщика был комплект чертежей, сейчас – это информационная модель, которая является прод...

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

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

Создание дизайн-системы для игры: детальный разбор подхода Меня зовут Максим Полстяной, я UI/UX Designer в Plarium Kharkiv. В этой статье я поделюсь опытом создания дизайн-системы для нашей браузерной стратегии «Войны Престолов», расскажу с чего все начиналось и какие этапы мы проходили. Читать дальше →

[Перевод] Пентест Active Directory. Часть 1 Перевод статьи подготовлен специально для студентов курса «Пентест. Практика тестирования на проникновение». У меня было несколько клиентов, пришедших ко мне перед пентестом с уверенностью в том, что они были в хорошей форме, потому что их анализ уязвимостей не показал кр...

[Перевод] Телепортируем процесс на другой компьютер!  Однажды коллега поделился размышлениями об API для распределённых вычислительных кластеров, а я в шутку ответил: «Очевидно, что идеальным API был бы простой вызов telefork(), чтобы твой процесс очнулся на каждой машине кластера, возвращая значение ID инстанса». Но в итоге эт...

[Из песочницы] Первые шаги в Spring, Rest API, акцент на PUT в связке с фронтендом Немного о себе: На данный момент я студент Skillbox и прохожу курс “Java-разработчик”. Не в коем случае не реклама, рассказываю немного о себе. Начал учить джаву с мая 2019 года, до этого немного самостоятельно изучал HTML, CSS и JS. Собственно, подтолкнуло меня на написани...

Вертолётный спорт Примерно за 30 тысяч рублей в час вы можете покатать ведро с водой на верёвке на вертолёте. Ведро будет брыкаться и выливаться, но ваша задача — пронести его заданным маршрутом через систему ворот и поставить в круг диаметром 22 сантиметра. Диаметр самого ведра 20 сантимет...

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

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

[Перевод] useSWR – моя новая любимая библиотека React Перевод статьи подготовлен в преддверии старта курса «React.js разработчик». Последние несколько месяцев я работаю над приложением на NextJS. С каждой неделей оно становится все больше и больше. В приложении используется axios для вызовов API и unstated-next для управлени...

Прошивка для фотополимерного LCD 3D-принтера своими руками. Часть 2 Продолжение статьи о написании своей прошивки для фотополимерного LCD 3D-принтера. Первая часть лежит тут. В ней было описан первый этап — создание графического пользовательского интерфейса для дисплея с сенсорной панелью. В этой части продолжу описывать этапы своего проек...

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

[Из песочницы] Написание графического приложения на Electron JS (начало: Создание окна) Приветствую! Если вы зашли на эту статью, значит скорее всего вам крайне неохота лезть в официальную документацию (а очень зря. Она и написана подробно, и имеет перевод на русский язык) и вы пришли за простым решением вашей проблемы — написание кросс-платформенного приложени...

[Из песочницы] MVVM и выбор элементов в адаптере Уже примерно после 3-его самописного адаптера, в котором надо было реализовывать логику запоминания выбранного элемента, у меня появились мысли, что должно же быть какое-то решение, которое уже включит в себя всё необходимое. Особенно, если в процессе разработки приходилось ...

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

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

20 систем управления проектами, обзор 100 фишек – Рынок систем управления давно насыщен! Это была хорошая идея 30 лет назад. – Ха-ха еще одна система управления проектами. Их же уже сотни? – Команда вроде опытная, а занялись давно просроченной идеей. Вам бы что-то на Блокчейн сделать… Примерно так говорят 9 из 10 инвест...

Исследуем баг iOS с помощью Hopper Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 1...

Navigation Component-дзюцу, vol. 1 — BottomNavigationView Два года назад на Google I/O Android-разработчикам представили новое решение для навигации в приложениях — библиотеку Jetpack Navigation Component. Про маленькие приложения уже было сказано достаточно, а вот о том, с какими проблемами можно столкнуться при переводе большого...

BlazingPizza: приложение на Blazor от начала и до конца. Часть 1. Настройка среды Всем привет! Если вы слышали о Blazor, но до сих пор не понимаете, что это такое. То вы по адресу. Это первая статья из цикла 12 статей, которая проведет вас через все круги ада весь процесс создания приложения на Blazor. В конце у нас будет готовый сайт небольшой пиццерии, ...

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

[Перевод] Эндрю Ын «Страсть к машинному обучению». Перевод глав 36-46 Три года прошло с момента публикации первых глав книги Эндрю Ына (Andrew Ng) «Machine Learning Yearning». Если вы подписаны на хаб «Машинное обучение», то нет никакой нужды представлять вам её автора и скорее всего саму книгу вы уже давно прочитали на языке первоисточника. П...

Figmiro. Делаем плагин для Figma (и немножечко для Miro) Третьего дня по совету проверенных камрадов решили заняться созданием плагина, который будет экспортировать макеты из Figma в Miro в виде PNG изображений. Наша команда с энтузиазмом принялась воплощать эту идею в жизнь, особенно подогревала интерес возможность получить з...

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

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

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

WSL эксперименты. Часть 1 Привет, хабр! В октябре OTUS запускает новый поток курса «Безопасность Linux». В преддверии старта курса делимся с вами статьёй, которую написал один из наших преподавателей — Александр Колесников. В 2016 году компания Microsoft представила IT сообществу новую технологи...

[recovery mode] Итоги десятилетия До конца десятилетия остается две недели, а это значит пришло время подведения итогов. Я очень хотел сам написать весь материал, но боялся, что он получится слишком однобоким, поэтому долго откладывал. Признаюсь, для написания статьи, я вдохновлялся шикарнейшим выпуском The ...

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

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

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

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

Печать маски Корво Атано из Dishonored Надо для разнообразия написать о чём-нибудь хорошем, а то как правило приходится обращаться за помощью вместо того чтобы делится результатами работы и творчества. Итак, у меня оставалась ровно одна катушка пластика от Bestfilamenta, и я решил напечатать что-нибудь для себя л...

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

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

Линус Торвальдс остался недоволен рядом моментов в использовании Rust для Linux В прошлом году разработчики ядра Linux предложили использовать Rust для нового встроенного кода. В марте 2021 года эта идея была частично реализована — в состав ветки linux-next, на которой будет базироваться Linux 5.13, включили начальный набор компонентов для разработки д...

MKS TFT 32 порт прошивки BigTreetech Touchscreen загрузка через стоковый загрузчик MKS Уже писал про этот порт прошивки BigTreetech Touchscreen. На днях появилась возможность, грузить эту прошивку стандартным загрузчиком MKS TFT V4.0, программатор больше не нужен. Наконец появилась полноценная альтернатива стоковой прошивке, которая давно не обновлялась и для ...

Разработка кроссплатформенного приложения на Avalonia для Raspberry Pi с использованием Github Action ВступлениеВ связи с желанием апгрейдить свое рабочее место, появилась потребность в мониторе, на котором будут отображаться информативные виджеты, например: погода, календарь, показатели датчиков в доме -, и, так как готовые решения меня не устраивают, я решил, что сделаю св...

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

Создание собственного пакета для Laravel Nova: OptimalImage Работая над новым проектом, для администрирования которого используется Laravel Nova, я его проверил в инструментах для веб-мастеров от Google. Оказалось что некоторые фотографии на ресурсе были не оптимизированными — размер их можно было существенно сократить. Те, что идут ...

Ampere Altra — первый в мире 80-ядерный ARM-процессор Калифорнийская компания Ampere представила первый в отрасли 80-ядерный серверный ARM-процессор на 64-битной архитектуре Ampere Altra. Уже несколько лет специалисты прогнозируют, что платформа ARM составит конкуренцию x86 в дата-центрах, но этого никак не происходит. По ит...

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

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

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

Знакомимся с Needle, системой внедрения зависимостей на Swift Привет! Меня зовут Антон, я iOS-разработчик в Joom. Из этой статьи вы узнаете, как мы работаем с DI-фреймворком Needle, и реально ли он чем-то выгодно отличается от аналогичных решений и готов для использования в production-коде. Это всё — с замерами производительности, есте...

Создание Discord – бота на .NET Core с деплоем на VPS-сервер Привет, Хабровчане! Сегодня вы ознакомитесь со статьей, в которой будет рассказано, как создать бота, используя C# на .NET Core, и о том, как его завести на удаленном сервере. Статья будет состоять из предыстории, подготовительного этапа, написания логики и переноса бот...

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

[Из песочницы] «Взломать» за 60 секунд или карантинное безумие Небольшая история о неадекватном заказчике и нахождении уязвимости на сайте за 1 минуту. Не ожидал, что именно эта история станет моей первой статьей на Хабре. Пишу пока горячо! Все что Вы прочитаете далее — это не призыв к действию или попытка кого — либо скомпрометиров...

Как передать ссылку с iPhone на любое устройство с браузером Нам пишет разработчик приложения LinkBridge На AppleInsider.ru довольно давно существует рубрика Dev Story. В ней разработчики рассказывают про опыт создания своих приложений. Но что-то в последнее время их почти не стало. С тех ламповых времен, когда игры имели Lite и полн...

Ender 3 pro. Замена SKR E3-DIP на SKR v1.4 Turbo Как я уже писал ранее, у меня почти с самого начала стояла плата BTT SKR E3-DIP с TMC2208. Она очень удобна тем, что в принтере ничего переделывать не надо, сама она устанавливается на штатное место, все разъёмы точно такие же как на родной плате, и расположены в тех же мест...

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

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

Как установить Хакинтош на AMD Ryzen. Впечатления от использования Как установить хакинтош на компьютер с AMD Ryzen? Ранее я писал материал о том, как себя показывает Magic Trackpad 2 на Windows 10. Теперь пришло время поделиться своими впечатлениями от использования трекпада на Mac OS Mojave. Около недели мне понадобилось для поверхностног...

Active Restore: С чего начать разработку в UEFI Всем привет. В рамках проекта от компании Acronis со студентами Университета Иннополис (подробнее о проекте мы уже описали это тут и тут) мы изучали последовательность загрузки операционной системы Windows. Появилась идея исполнять логику даже до загрузки самой ОС. Следовате...

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

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

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Война с тормозами. Оптимизация количества рендеров компонентов в React Native Привет, Хабр! Меня зовут Камо Сперцян, я занимаюсь React Native разработкой в Profi.ru. Если вы решили воспользоваться технологией React Native для быстрой доставки продуктовых фич и сосредоточились на скорости разработки, то, скорее всего, столкнётесь с проблемами производи...

jsqry — лучше, чем jq В своей прошлой статье на Хабре я писал про библиотеку Jsqry, которая предоставляет простой и удобный язык запросов (DSL) к объектам JSON. С тех пор прошло много времени и библиотека тоже получила свое развитие. Отдельный повод для гордости — библиотека имеет 98% покрытие ко...

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

Опубликован первый макет iPhone 12. Что изменилось по сравнению с iPhone 11 iPhone 12 будет не сильно отличаться от iPhone 11. Именно на это указывает новый макет новинки Не успела Apple выпустить в продажу iPhone 11, как пользователи уже заговорили об iPhone 12. Несмотря на то что модель актуального поколения оказалась весьма привлекательной как с ...

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

[recovery mode] PM2: подходим к вопросу процесс-менеджмента с умом Буквально пару часов назад у меня завязался спор на тему того, что Node.JS слишком медленная для крупных проектов и ей стоит предпочесть Golang, Rust, PHP, etc. Основным аргументом противоположной стороны в этом споре был факт однопоточности JavaScript. Якобы при разработке ...

[Из песочницы] sMock — Swift mocking framework для Unit-tests (спасибо gMock за идеи) Проблема Переходя в мир Swift из ObjC/C++, я столкнулся с проблемой при написании юнит-тестов: отсутствием инструментов для создания Mock-объектов. При написании декомпозированного кода мы часто скрываем детали реализации за интерфейсами (протоколами). А также проверять функ...

Замена дисков меньшего объёма на диски большего объёма в Linux Всем привет. В преддверии старта новой группы курса «Администратор Linux» публикуем полезный материал, написанный нашим студентом, а также наставником на курсах, специалистом технической поддержки корпоративных продуктов REG.RU — Романом Травиным. В данной статье будет расс...

[Перевод] Создание зомби-шутера от третьего лица с помощью DOTS Салют, хабровчане. Как мы уже писали январь богат на новые запуски и сегодня мы анонсируем набор на новый курс от OTUS — «Разработчик игр на Unity». В преддверии старта курса делимся с вами переводом интересного материала. Мы пересобираем ядро Unity с помощью нашего стек...

Пишем свой capped expirationd модуль для tarantool Какое-то время назад перед нами встала проблема чистки кортежей в спейсах tarantool. Чистку нужно было запускать не тогда, когда у tarantool уже заканчивалась память, а заранее и с определенной периодичностью. Для этой задачи в tarantool есть модуль, написанный на Lua, под ...

Что скрывается за VestaCP Вряд ли сейчас кому-то может прийти в голову мысль написать свою панель управления сервером: интернет давно прикипел к ISP, cPanel, Plesk и десятку их аналогов. Все «взрослые» панели умеют примерно одно и то же, различаясь лишь интерфейсом, уровнем поддержки и специфически...

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

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

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

[Перевод] Создание небольшого API на Deno В этом посте я хотел бы рассказать и показать процесс создания небольшого API с помощью Deno. Deno — новейшая среда для запуска Javascript и Typescript, разработанная создателем Node.js — Райаном Далем. Читать дальше →

[Перевод] Создание микросервиса на Quarkus, Kotlin и Gradle Введение В предыдущей статье было приведено краткое описание процесса создания микросервиса на современных JVM фреймворках, а также их сравнение. В этой статье будет более детально рассмотрен недавно вышедший Quarkus на примере создания микросервиса с использованием упомяну...

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

Принцип единственной ответственности: глубокое погружение Про принцип единственной ответственности (The Single Responsibility Principle, SRP) уже было написано множество статей. В большинстве из них даётся лишь поверхностное его описание мало чем отличающееся от информации в википедии. А те немногие статьи что затрагивают ключевые ...

Что общего между LVM и матрешкой? Доброго времени суток. Хочу поделиться с сообществом практическим опытом построения системы хранения данных для KVM с использованием md RAID + LVM. В программе будет: Сборка md RAID 1 из NVMe SSD. Сборка md RAID 6 из SATA SSD и обычных дисков. Особенности работы TRIM/DI...

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

[Перевод] Python в Visual Studio Code – январский релиз 2020 Мы рады представить январский релиз 2020 расширения Python для Visual Studio Code. Вы можете скачать расширение из маркетплейса, или установить его напрямую из галереи расширений в Visual Studio Code. Если расширение Python у вас уже установлено, вы можете получить последнее...

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

Игры с Wifi на ESP32 На мысль сделать карманный инструмент для анализа WiFi сетей меня подтолкнула статья https://habr.com/ru/post/477440/. Спасибо им за идею. Мне как раз было нечем заняться. Вся работа была выполнена в рамках хобби с целью получения удовольствия и расширения своих знаний в об...

[Перевод] Это норма — 2: как запекаются карты нормалей Это вторая часть серии туториалов о картах нормалей. Первая часть находится здесь, но для понимания второй части читать её не обязательно. Общий принцип запекания карты нормалей относительно прост: у нас есть lowpoly-модель с UV-координатами и highpoly-модель; мы переносим...

MKS TFT 32 порт прошивки BigTreetech Touchscreen Не так давно я писал про восстановление слетевшего загрузчика MKS TFT 32 V4.0 и вот почти случайно наткнулся на очень интересный проект на гитхабе. Там я нашел и оригинальный загрузчик и вполне рабочую (заработала с правками которые вносил вручную, но скоро я думаю поправят ...

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

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

[Из песочницы] Кодовая база. Расширяем RecyclerView Всем привет! Меня зовут Антон Князев, senior Android-разработчик компании Omega-R. В течение последних семи лет я профессионально занимаюсь разработкой мобильных приложений и решаю сложные проблемы нативной разработки. Хочу поделиться способами расширения RecyclerView, на...

[Перевод] Как создать свой первый open source проект на Python (17 шагов) Каждый разработчик ПО должен знать как создать библиотеку с нуля. В процессе работы Вы можете многому научиться. Только не забудьте запастись временем и терпением. Может показаться, что создать библиотеку с открытым исходным кодом сложно, но Вам не нужно быть потрепанным ж...

Экспресс UV лампа своими руками 400-405 нм для полимеризации 3D фотополимерных моделей Доброго дня! Речь пойдет о решении такой проблемы, как полимеризация готовых 3D моделей после печати на LCD 3D принтерах, например как на нашем — Anycubic Photon S. Этот принтер печатает на базе фотополимерной смолы — после распечатки модели моются в изопропиловом спирте, но...

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

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

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

Пользователи Redmi Note 9 недовольны производительностью после обновления до MIUI 12 Второй этап графика распространения обновлений MIUI 12 уже запущен. Redmi Note 9 также был во второй группе устройств, и несколько его вариантов получили новейший пользовательский скин. Это глобальный, европейский и индийский варианты Redmi Note 9. Ранее сообщалось, что Redm...

[Из песочницы] Ethercat для начинающих Некоторое время назад у нас появился объект, где в техническом задании стояло требование: «Протокол Ethercat». В процессе поиска информации я полез на хабр и с удивлением обнаружил, что там разбора этого протокола нет. Да и вообще информация о нем довольно фрагментирована (з...

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

Пишем бизнес-процесс в Битрикс24 с задатком на будущее На работе я занимаюсь поддержкой пользователей и обслуживанием коробочной версии CRM Битрикс24, в том числе и написанием бизнес-процессов. Нужно отметить, что на самом деле я не «чисто» специалист по Битриксу, а это одна из моих обязанностей. На самом деле обязанностей у мен...

И еще раз по аппаратные ключи GPG за копейки Началось все с того что я почитав статью Аппаратный ключ шифрования за 3$ — возможно ли это? решил запилить такую штуку. В итоге stlink приехал со второго раза. Первый потерялся в недрах почты. После приезда я выяснил что там стоит чип cks и по второй статье залил прошивку. ...

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

Microsoft сертификация Online — записки с полей Microsoft Russia перевела статью о процессе сдачи экзамена онлайн. Через меня за последний год, так или иначе, прошли уже сотни, если не тысячи людей, готовившихся, сдавших экзамены. Многие из них сдавали онлайн, еще до Covid-19, а уже после закрытия сертификационных центр...

Запуск тестов JMeter в OpenShift, используя Jenkins Pipeline Всем привет! В этой статье хочу поделиться одним из способов запуска тестов производительности JMeter в OpenShift'e с использованием Jenkins'a в качестве автоматизации. Сначала мы проделаем все необходимые действия (создание ImageStreams, BuildConfig, Job и проч) в ручном р...

Активация discard (TRIM) на Linux для SSD диска Современные SSD диски нуждаются в команде TRIM интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем: discard — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправл...

Вайпер ZeroCleare атакует цели на Ближнем Востоке Специалисты IBM X-Force обнаружили ранее неизвестный зловред, используемый в целевых атаках на Ближнем Востоке. Программа, получившая название ZeroCleare, доставляется на устройство при помощи вредоносного инструмента для обхода механизма проверки подписи драйверов. Вредонос...

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

Дополняем чек-лист тестирования при обновлении иконки и сплеша в мобильных приложениях Алоха! Меня зовут Даша, я тестирую мобильные приложения. Скоро Хэллоуин, а FunCorp традиционно обновляет к некоторым праздникам иконку и сплеш. Сейчас именно такой случай, потому что большинство наших пользователей находятся в США. Задача показалась тривиальной, я быстро со...

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

AMD отказалась от одной модели Ryzen Threadripper 3000, потому что вы бы её не купили Неделю назад компания AMD представила топовый 64-ядерный процессор Ryzen Threadripper 3990X стоимостью 3990 долларов. Напомним, изначально компания анонсировала лишь модели Threadripper 3960X и 3970X с 24 и 36 ядрами соответственно. Уже тогда были слухи и утечки о Threa...

Эльза для дочки Дочка попросила сделать ей Эльзу из мультфильма холодное сердце. Год назад я уже печатал одну Эльзу для неё. Но что бы ее покрасить надо немного больше Скила чем у меня есть сейчас. Так как она достаточно маленькая. А тут попалась модель с очень хорошей детализацией. Думаю е...

[Перевод] Product Discovery 101 для Product-менеджера Перевод статьи подготовлен в преддверии старта новой группы по курсу "Product Manager IT-проектов". Так что же такое Product Discovery? Product Discovery – это процесс выяснения того, что же в конечном итоге предстоит создать. Он отражает ваше видение, дает бол...

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

[Перевод] Статический анализ в GCC 10 Я работаю в Red Hat над GCC, GNU Compiler Collection. Для следующего основного релиза GCC, GCC 10, я реализовывал новую опцию -fanalyzer: проход статического анализа для выявления различных проблем во время компиляции, а не во время исполнения. Я думаю, что лучше выявлять ...

Hack The Box. Прохождение Registry. Docker, RCE в CMS Bolt и Restic Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье повозимся с docker regisrty, эксплуатируем RCE в CMS Bolt, а повышаем привилегии с помощью программы для рез...

Как установить публичную бету macOS Big Sur На этой неделе Apple открыла публичное бета-тестирование macOS Big Sur. Многие этого ждали, поскольку устанавливать операционную систему на первых порах было очень рискованно. Впрочем, сейчас риски все равно остаются, но теперь вы можете установить macOS Big Sur beta официа...

[Перевод] Python Gateway в InterSystems IRIS Эта статья посвящена Python Gateway — комьюнити-проекту с открытым исходным кодом для платформы данных InterSystems IRIS. Этот проект позволяет оркестрировать любые алгоритмы машинного обучения, созданные на языке Python (основная среда для многих Data Scientists), использов...

[Перевод] Как в Python реализованы очень длинные числа типа integer? Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Когда вы пишете на низкоуровневом языке, таком как С, вы беспокоитесь о выборе правильного типа данных и спецификаторах для ваших целых чисел, на каждом шаге анализируете достаточно ли будет ис...

Nothing At Stake: компромиссы с совестью Очень коротко о себе. Как-то давно на Хабре обо мне писали в этой статье, однако часть аудитории, интересующаяся блокчейн технологиями, почти наверняка знакома с моей работой через проект Monero, у которого оригинальная кодовая база(CryptoNote) была разработана в основном м...

Настройка Gmail API для замены расширения PHP IMAP и работы по протоколу OAuth2 Оказавшись одним из счастливчиков, совершенно не готовым к тому, что с 15 февраля 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth, я прочитал статью "Google хоронит расширение PHP IMAP" и загрустил начал предпринимать действия по ...

WSL эксперименты. Часть 2 Привет, Хабр. В преддверии старта курса «Administrator Linux. Professional» публикуем продолжение статьи про WSL эксперименты, которую написал наш эксперт — Александр Колесников. Настало время для продолжения экспериментов с подсистемой WSL; первую часть статьи можно посм...

Как устроен Sporth — ЯП для музыкальных live-сессий Один из предыдущих материалов мы посвятили OpenMusic — инструменту для написания музыки на ООП. Мы также говорили о языках программирования, заточенных под создание аудиокомпозиций. Сегодня мы решили продолжить тему и рассказать о языке Sporth. Его разработали специально, ч...

Гениальный алгоритм создания лабиринтов в игре Entombed, который до сих пор не могут разгадать В 2017 двое ученых, канадец John Aycock и британка Tara Copplestone, опубликовали анализ классической игры Entombed для игровой приставки Atari 2600. Механика этой игры, выпущенной в 1982, крайне проста: археолог, управляемый игроком, должен пробраться по прокручивающимся ...

[Перевод] DevOps vs Agile: В чем разница Разница в том, что происходит после разработки Когда ПО только начали разрабатывать, процесс разработки не подходил ни под один вид управления. Затем появился водопад, который ввел идею о том, что разработка ПО может быть определена временем создания или сборки приложения....

Android. Surface Дисклеймер Данная статья предназначена для начинающих андроид разработчиков с небольшим опытом работы с видео и/или камерой, особенно тех кто начал разбирать примеры grafika и кому они показались сложными — здесь будет рассмотрен похожий код с упрощенным описанием основных ш...

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

[Перевод] Охота за ошибками в Kubernetes официально открыта Прим. перев.: Две недели назад стартовала программа Bug Bounty у Kubernetes — долгожданный и важный шаг для столь масштабного Open Source-проекта. В рамках этой инициативы любой энтузиаст, обнаруживший проблему в безопасности K8s, может получить награду в объёме от 100 USD (...

Шабаш шаблонов. Превращаем GCC в макетную плату с помощью шаблонов С++ Для подписчиковЯ люблю собирать логические схемы. Однако обычно для этого требуется либо симулятор, либо макетная плата. Как-то в дороге у меня был с собой ноутбук с компилятором, но не было интернета. Задача написать небольшую программу с библиотекой цифровых вентилей показ...

«ТехноТекст-2019»: кто в итоге победил и что им за это было Мы успешно завершили второй конкурс IT-статей «ТехноТекст». В этот раз у нас было 253 заявки, 97 финалистов и 10 дней до мероприятия, на котором мы обещали назвать победителей. Длинные бессонные ночи, многочасовые дискуссии с партнерами и экспертами жюри… Как итог — 13 лау...

[Из песочницы] StegoPy — Инструмент LSB-стеганографии на Python Предисловие В последнее время я заметил, что людям на моем форуме стала интересна тема стеганографии различных текстов в изображениях, mp3-файлах и видео. И тут у меня возникла идея написать свой скрипт для стеганографии текста в изображениях. Скажу сразу прежде я ни разу не...

Как я делал коронаигру на Corona SDK $google = "We don't allow apps that lack reasonable sensitivity towards or capitalize on a natural disaster, atrocity, conflict, death, or other tragic event"; mysql_query("UPDATE cvirus_users SET winners = winners+19, message='$google' WHERE imea='$imea' &q...

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

Насколько много маркетинга в ACID? Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО. Помимо преподавания, как вы могли заметить, я занимаюсь написанием авторского материала для б...

Сеть в DOS с помощью стека mTCP Некоторое время назад меня попросили сделать видео-инструкцию по настройки сети в операционной системе DOS. К сожалению в съёмке видео я не силен, поэтому постараюсь максимально подробно письменно (и с картинками) изложить сей процесс. Однажды мне самому пришлось столкнутьс...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

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

MMORPG больше не в Telegram — Swift и Kotlin — Первый большой проект — Часть 1 Прошло полгода с выпуска пробной статьи про создание MMORPG в телеграме. Изменился мир, изменились и планы по игре.Почему больше не в TelegramПосле выпуска первой статьи, энтузиазма писать игру хватило еще на неделю. Прилетели проблемы по работе, поиски новой, да и вообще ле...

Исправление ошибки Microsoft Visual C++ с кодом 0x80070666 при запуске игр на Windows 10 Сегодня мы разберем довольно частую ошибку, которая раздражает пользователей Windows при запуске некоторых игр. Она связана с пакетом Microsoft Visual C++ — вы увидите сообщение «Настройка не завершена» с информацией о том, что уже установлена другая версия этого продукта и ...

[Из песочницы] 1С-Битрикс и попытка его внедрения Привет, друзья! Меня зовут Петр, я представитель малого белорусского бизнеса со штатом чуть более 20 сотрудников. В данной статье хочу поделиться негативным опытом покупки 1С-Битрикс. Читать дальше →

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

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

Прозрачные процессы тестирования на удалёнке Публикуем статью Анастасии Шариковой — QA Lead в Bookmate и преподавателя профессионального курса «QA Lead», с программой которого мы приглашаем вас ознакомиться! Также приглашаем на бесплатный пробный открытый урок «Тестовое покрытие по Бейзеру», где Анастасия Асеева-Нгуе...

VORON Design Mobius 3.1. Закупка и сборка. Введение:Собрав свой ultimaker по инструкции от @plastmaska сразу же столкнулся с тем, что экструдер не хотел работать, как надо. Не знаю, в чём было дело - неправильная пружина, проблемы с центровкой, что-то ещё, но шестерня, которая должна была проталкивать пруток, скользи...

Системный подход к переменным в Ansible ansible devops codestyle Hey! Меня зовут Денис Калюжный я работаю инженером в отделе автоматизации процессов разработки. Каждый день новые сборки приложений раскатываются на сотнях серверов кампании. И в этой статье я делюсь опытом использования Ansible для этих целей. Этот ...

[recovery mode] Использование faiss для поиска по многомерным пространствам Привет! Меня зовут Владимир Олохтонов, я старший разработчик в команде автоматической модерации Авито. Осенью 2019 мы запустили сервис поиска похожих изображений на основе библиотеки faiss. Он помогает нам понимать, что фотографии уже встречались в другом объя...

Microsoft показала загрузочный экран Xbox Series X Ближайший анонс, посвященный приставке Xbox Series X, состоится уже через два дня – 7 мая. Но, как оказалось, это лишь первое событие в череде, которая продлится до момента старта продаж новинки. Microsoft назвала эту инициативу Xbox 20/20, в соответствии с ней, е...

Зоны в Dart: большой брат следит за тобой Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставля...

[Перевод] Устранение бага в Factorio: не ошибается тот, кто ничего не делает В недавних примечаниях к патчам была строка «Исправлена ошибка создания земли под игроком при создании земли в другом месте». Подробнее об этом можно прочитать здесь. Некоторых пользователей Reddit заинтересовало, как вообще мог возникнуть такой баг, они попросили объяснить ...

Как вести технический блог? Я работаю в коммерческой разработке с 2011 года. С конца 2012 занимаюсь разработкой под iOS. Свою первую техническую статью я написал на Хабре в начале 2017 года про подход к локализации мобильных приложений. Потом выпустил ещё несколько статей по iOS-разработке на Хабре и...

Обзор работы «Learnability Can Be Undecidable» Эта статья является моим вольным пересказом работы Learnability can be undecidable, Shai Ben-David, et al. Недавно на Хабре вышла статья Машинное обучение столкнулось с нерешенной математической проблемой, которая является переводом одноименного обзора в Nature News статьи Ш...

Смартфоны Samsung, Razer и Asus теперь поддерживают Google Stadia Производители смартфонов стремятся использовать в своих гаджетах самые производительные чипсеты. И эти времена, когда кому-то будет важна модель процессора, уже совсем скоро уйдут в прошлое. А всё дело в развитии 5G и стриминговых сервисов. В настоящее время самым популярны...

[Перевод] Машинное обучение столкнулось с нерешенной математической проблемой Салют, хабровчане! В преддверии запуска новых потоков по продвинутому и базовому курсам «Математика для Data Science» хотим поделиться с вами достаточно интересным переводом. В этой статье не будет практики, но материал интересен для общего развития и обсуждения. Группа ис...

[Перевод] Пишем приложение на Flutter в связке с Redux Привет всем! В этой статье я хотел бы показать вам, как создать Flutter приложение, используя Redux. Если вы не знаете, что такое Flutter, то это — SDK с открытым исходным кодом для создания мобильных приложений от компании Google. Он используется для разработки приложений...

[Перевод] Анализ скорости распространения COVID-19 и публикация результатов на dstack.ai Предисловие переводчика Всем привет, давно ничего не писал на Хабр, но тут появился повод. Я довольно много лет проработал в области анализа данных и самая важная вещь, которую я понял за это время — в анализе данных очень не хватает инструментов, самых разных инструментов...

[Перевод] Лучшие практики Kubernetes. Настройка запросов и лимитов ресурсов Лучшие практики Kubernetes. Создание небольших контейнеров Лучшие практики Kubernetes. Организация Kubernetes с пространством имен Лучшие практики Kubernetes. Проверка жизнеспособности Kubernetes с помощью тестов Readiness и Liveness Для каждого ресурса Kubernetes имеется в...

[Перевод] Запускаем игру на C# в MS-DOS Меня всегда раздражало, что я не могу запустить 64-битную игру на C# под MS-DOS. Сегодня я это исправил. Читать дальше →

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

Наша с девушкой первая видеоигра. Разработка на Unity. Часть 2 У-у-у… Кто обитает на дне океана? Cubicity — квадратная игра. Привет всем, кто ждал продолжения первой части нашей статьи. Настало время подвести итоги релиза Cubicity. Это был долгий путь с довольно полезным хоть и местами болезненным опытом, которым хотим с вами поделитьс...

[Перевод] Расширьте возможности машинного обучения Azure с помощью расширения VS Code Привет сообществу Python! Прошло много времени с тех пор, как мы последний раз писали об этом, но мы рады представить новые возможности, добавленные в расширение VS Code Azure Machine Learning (AML). Начиная с версии 0.6.12, мы представили изменения в пользовательском интерф...

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

Симуляционное моделирование механической системы средствами визуального программирования Scilab\Xcos Вместо предисловия. Эта небольшая по объему работа была экстренно выполнена с учебными и демонстрационными целями около года назад на базе уже разработанной ранее модели струны. Как водится, потом полежав энное время без дела, недавно она попалась мне на глаза. Что такое S...

[Перевод] Использование Grid для макетов страниц, а Flexbox — для макетов компонентов Мой брат недавно отучился на компьютерщика и сейчас завершает стажировку в области фронтенд-разработки. Он узнал и о CSS Grid, и о CSS Flexbox, но в том, как он пользуется этими механизмами создания макетов, я отметил одну особенность, с которой я уже сталкивался. А именно, ...

Никогда такого не было и вот опять. Почему нужно использовать self-hosted VPN. Релиз Amnezia Вот и пришло время для релиза VPN-клиента, родившегося благодаря хакатону DemHack, и выращенного при поддержке РосКомСвободы, PrivacyAccelerator и Теплицы социальных технологий. Спустя полгода с того момента, как идея была впервые озвучена, мы презентуем готовый продукт — б...

Весна, маньяков пропёрло... Robox можно сказать помер, ну или находиться в коматозном состоянии... Запчасть в виде "ГОЛОВЫ", вроде, что с Британии, что с Китая, ждать особенно не приходиться...  На распродаже прикупил ещё одного Wanhao D-7, который "красый"… Старого из за воблинга решил не реанимироват...

Aerotex - практикум 2: победа будет за нами! После написания предыдущей статьи у меня и, как я потом понял, у комментаторов осталось некоторое минорное впечатление от результатов печати. И как же ему не возникнуть, если первоначально поставленная задача выполнена не была. И хоть положительные результаты и были достигну...

Дополняя SQL. Часть 1. Сложности парсинга. Истории о доработке ANTLR напильником Публикую на Хабр оригинал статьи, перевод которой размещен в блоге Codingsight. Что будет в этой статье? Более пяти лет работаю в компании, что занимается разработкой линейки IDE для работы с базами данных. Начиная работу над этой статьей я и не представлял как много интере...

Как я на спор развернул двусвязный список за O(1) Как-то раз я случайно увидел, как мой коллега решает джуниорскую задачку разворачивания двусвязного списка на C++. И в тот момент странным мне показалось не то, что он лид и давно перерос подобное, а само решение. Вернее, не так. Решение было стандартным: тот же линейны...

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

[Из песочницы] О проблемах транслятора Python и переосмысление языка — Сколько нужно архитекторов, чтобы реализовать язык программирования? — Сто. Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. В этой статье я хочу затронуть не столько сам язык, сколько детали реализации CPython и его стандартной библиотеки, которые г...

72% всех вредоносных программ для Android — рекламные приложения Мобильное рекламное ПО (Mobile adware) - программное обеспечение, которое навязчиво показывает рекламу пользователю. Подобные программы - растущая проблема, их доля среди всех типов вредоносных программ для Android увеличилась на 38% только за последний год.Рекламные приложе...

Опыт использования gRPC в Почте Mail.ru Привет, Хабр! Я работаю в команде Антиспама Почты Mail.ru. В этой статье я бы хотел рассказать про наш опыт запуска сервиса с пропускной способностью около 3 миллионов запросов в минуту на базе технологии gRPC. Это современная технология передачи данных по сети, которая реа...

«Новые Былины». Для dev, ops и любознательных людей В этой статье я буду настраивать рабочее окружение для разработки игры "Былины", а также выполню разбиение самой игры на части, пригодные для использования в OpenFaaS. Все манипуляции буду делать на Linux, Kubernetes буду разворачивать в minikube с использованием VirtualBox...

Intel выпустила первые мобильные CPU с отключенным GPU, но нужны ли они пользователям? Процессоры Intel с отключенным графическим ядром для нас уже привычны. Однако ранее они были представлены лишь в настольном сегменте. Теперь же без лишнего шума Intel добавила в свой ассортимент и парочку подобных мобильных CPU. Core i5-9300HF и Core i7-9750HF, как и в ...

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

Представлена 3D-карта MSI GeForce GTX 1650 D6 Aero ITX OCV1 Компания MSI пополнила ассортимент компактных видеокарт моделью GeForce GTX 1650 D6 Aero ITX OCV1, которая подойдет для работы в составе домашнего мультимедийного центра. Новинка характеризуется архитектурой NVIDIA Turing, 896 ядрами CUDA, 4 ГБ памяти GDDR6 со 128-битной шин...

Как получить 20 ГБ на Яндекс.Диске бесплатно и навсегда Отношение Google к своим пользователям всегда было чуть более лояльным, чем у Apple. Поэтому, когда поисковый гигант запустил собственный облачный сервис хранения данных, он предоставил пользователям бесплатное хранилище объёмом 15 ГБ. Немного, но втрое больше, чем Apple да...

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

Масштабирование андроид-тестирования в Одноклассниках Привет! Меня зовут Роман Иваницкий, я работаю в команде автоматизации тестирования Одноклассников. OK — огромный сервис с более чем 70 миллионами пользователей. Если говорить про мобильные устройства, то большинство пользуется OK.RU на смартфонах под управлением Android. П...

Taiga UI — библиотека компонентов под Angular, которую вам стоит попробовать Привет!Саша Инкин и я регулярно пишем на Хабр статьи по Angular. Почти все они основаны на нашем опыте разработки большой библиотеки компонентов.Эту библиотеку мы развиваем, перерабатываем и дополняем уже несколько лет, а свои идеи проверяем на нескольких десятках проектов Т...

Гибкие процессы в IT команде Всем привет, меня зовут Алексей Федоров, я тимлид команды финансов в Ситимобил. В этой статье я хочу поделиться тем, как устроен процесс гибкой разработки в нашей команде. Читать дальше →

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

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

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

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

Отечественный DSP процессор 1967ВН028 от фирмы Milandr. Небольшой мануал по арифметике на языке assembler В своем первом пробном цикле статей я хочу немного обозреть некоторые особенности упомянутого выше российского DSP процессора. Про этот процессор уже были упоминания и не одно, в том числе и на хабре, например, здесь. По этому не буду разбирать его общий функционал, откуда ...

[Из песочницы] Unity — Enable Multidex или слишком много методов С чего все началось Всем привет. На определенном этапе разработки игры под Android на движке Unity я столкнулся с одной проблемой при билде. После добавления в проект таких плагинов как Appodeal и Google Play Games количество используемых методов превысило 65K и во время бил...

[Перевод] Сертификация Microsoft в онлайн — вы, ваше пространство и ваш компьютер На момент написания этой статьи (апрель 2020 года) большая часть мира находится дома для сдерживания распространения COVID-19. В связи с этим было закрыто большинство центров тестирования, что нарушило планы многих людей по прохождению сертификации Microsoft. К счастью, у ва...

Это машина или смартфон? Volkswagen столкнулась с серьёзной проблемой в ПО электромобиля ID.3 Volkswagen ID.3 — новая надежда немецкого автогиганта. Во-первых, это первый электромобиль компании, созданный на новой платформе, предназначенной именно для электрических авто. Во-вторых, это фактически электрический «Гольф». В-третьих, это первый ав...

[Перевод] Расширяемые расширения в JavaScript Привет, Хабр! Обращаем ваше внимание на долгожданную допечатку книги "Выразительный JavaScript", которая только-только пришла из типографии. Тем, кто еще не знаком с творчеством автора книги (при всей энциклопедичности она понравится и начинающим разработчикам) ...

[Перевод] Низкоуровневое программирование STM32: от включения питания до «Hello, World» В этом материале я хочу рассказать о том, как писать программы для микроконтроллеров (Microcontroller Unit, MCU) Cortex-M, вроде STM32, используя лишь набор инструментов ARM и документацию, подготовленную STMicroelectronics. У некоторых читателей может появиться вопрос о том...

Эксперимент VTrade. Часть 1: Биржи и современные технологии Цикл статей освещает попытку создания реактивной системы силами одного человека с минимальным бюджетом и в кратчайшие сроки. Цели эксперимента: Более глубокое понимание предметной области и улучшение технической экспертизы Выявление сильных и слабых сторон использования фу...

[Из песочницы] Unity3D: Автоматический агрегатор скриптов-менеджеров Вступление В этой статье речь пойдет об одном виде организации взаимодействия между скриптами-менеджерами (синглтонами именуемыми), а конкретно — использование отдельного класса-агрегатора, в котором содержаться ссылки на все instance менеджеров. Идея создать класс-агрегатор...

Какой аккумулятор будет установлен в iPhone 12 Такой аккумулятор будет гораздо сложнее заменить 10 января Apple признала, что проблемы чехлов Smart Battery Case для iPhone XS/XS Max/XR хоть и не опасны, но достаточно серьезны для объявления программы их замены. 15 января СМИ сообщили, что батареи из графена уже не будуще...

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

Hack The Box — прохождение Smasher2. Flask, WAF и LPE через pwn драйвера Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье мы пореверсим библиотеку для python, обойдем WAF и проэксплуатируем уязвимость mmap. Подключе...

Camunda external tasks — мощный инструмент для создания приложений с отказоустойчивой и масштабируемой архитектурой В Тинькофф для разработки систем автоматизации бизнес-процессов мы используем фреймворк Camunda + Spring. Сами бизнес-процессы описываем с помощью BPMN (Business Process Management Notation) в виде блок-схем. Наиболее часто используемый элемент на наших схемах — service ta...

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

Создание дополнительного kube-scheduler’a с кастомным набором правил планирования Kube-scheduler является неотъемлемым компонентом Kubernetes, который отвечает за планирование подов по нодам в соответствии с заданными политиками. Зачастую, в процессе эксплуатации Kubernetes-кластера нам не приходится задумываться о том, по каким именно политикам происход...

[Из песочницы] Отладка и программирование микроконтроллеров stm32f303, atmega328 через любой интерфейс, как через jtag Данная статья посвящена моему первому open source проекту “repl”(ссылка на репозиторий внизу). Идея данного проекта заключается в том, чтоб позволить программисту микроконтроллеров отлаживать программу в микроконтроллере через любой его интерфейс, при этом чтобы отладка не с...

Я пользуюсь Mac уже год. Что изменилось после перехода с Windows Я долго не мог решиться на написание этого материала, просто потому что банально не мог сформулировать, чем компьютеры Mac отличаются от ПК на Windows. Нет, разница была, и довольно ощутимая. Однако на первых порах я занимался тем, что осваивал macOS, но писать об отличиях ...

Как бесплатно перенести свои любимые треки в Spotify, используя Javascript Все любители музыки в России с нетерпением ждали выхода Spotify на наш рынок. Когда наконец это случилось, перед пользователями встала проблема переноса музыки из других сервисов. Лично у меня за годы накопилась огромная коллекция музыки на разных платформах: Яндекс.Музыка, ...

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

Kivy. Сборка пакетов под Android и никакой магии Во вчерашней статье Python в Mobile development, в которой речь шла о библиотеке KivyMD (коллекции виджетов в стиле Material Design для использования их в кроссплатформенном фреймворке Kivy), в комментариях меня попросили рассказать о процессе сборки пакета для платформы A...

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

Мидульная Мини Циркулярка (На 3D принтере) Всем доброго времени суток!Наконец то я закончил самый большой и продолжительный проект в моей практике. От идеи до воплощения в жизнь у меня ушло больше трех недель, учитывая что я целыми днями только этим и занимался. Но хотя постоянно возникали разные трудности, я остался...

Бокс-непросыпайка для SMD и прочей мелочевки Написанием данной околотематической статьи побудили меня затянувшиеся изоляционные меры и сопутствующие им скука и желание себя чем-то занять. Прошу отнестись как к «пятничной развлекательной» статье. Но, может быть кому то будет и полезно! Никаких ардуин, только фанера и с...

Полнодисковое шифрование Windows Linux установленных систем. Зашифрованная мультизагрузка Обновленное свое же руководство по полнодисковому шифрованию в рунете V0.2. Ковбойская стратегия: [A] блочное системное шифрование Windows 7 установленной системы; [B] блочное системное шифрование GNU/Linux (Debian) установленной системы (включая /boot); [C] настройка GR...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

[Из песочницы] Особенности применения языков программирования С и С++ при разработке ПО, связанного с функциональной безопасностью Крис Хоббс (Chris Hobbs) в своей фундаментальной работе «Embedded Software Development for Safety-Critical Systems» [1] приводит распространенное среди программистов мнение о том, что накладывать ограничения на языки программирования, это как заказывать Пикассо создание ка...

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

[Перевод] Vulkan-tutorial. Урок 1.1 — Вступление В связи с тем, что у меня не так много времени для ресерча каких-то новых штук и написания статей о них, я решил перевести серию уроков по Vulkan. Надеюсь, что мои переводы будут кому-то полезны и не очень плохого качества. Для начала обучения — прошу под кат. Автор ориги...

Развертывание Java приложения в OpenShift Казалось бы что здесь такого? подключаем к проекту fabric8-maven-plugin и вперед: сборка, запуск приложения в OpenShift. Но когда изучал хотелось большего понимания этого процесса, а затем хотелось большего контроля и свободы над процессом сборки и развертывания приложения в...

Пора на свалку Никогда не думал, что это случится со мной, но, похоже, я выгорел. А ещё мне стрёмно. Да, это ещё одна статья про выгорание. Я тут на днях смотрел на свою RSS-читалку и заметил, что под тегом «C++» у меня где-то три сотни непрочитанных статей. Я не прочитал ни одной статьи ...

Программа «Цифровая экономика»: за четыре месяца в дело пошли менее 6% годового объёма выделенных средств По данным Счётной палаты, опубликованным на прошлой неделе, это самый низкий показатель среди всех национальных проектов.Как писал D-Russia.ru, в конце апреля стало известно, что Минкомсвязь направила в правительство предложения сократить бюджет национальной программы "...

[Перевод] Полигоны Another World: Sega Genesis Перевод пятой статьи из серии от Fabien Sanglard, в этот раз про порт Another World на Sega Genesis. Разработка MegaDrive/Genesis началась сразу после того, как Sega выпустила свою Master System ​​в 1987 году. В то время целью Sega было создание чего-то, что превосходит PC E...

Начало кастома мотоцикла, проба пера. Решил для начала немного поменять стандартные поворотники на хвосте мотоцикла на что-то  своё. В итоге спустя несколько попыток и перепроектирования получились первые образцы. Сначала конечно получилось громоздко и не очень село на штатное место (не очень удачно перенёс форм...

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

Хабр Q&A 2019: итоги года Подводим итоги на Хабр Q&A: за год вы успели задать более 100 000 вопросов и дать почти 200 000 ответов! В статье вспоминаем самые большие запуски и делимся статистикой. Читать дальше →

[Из песочницы] Koin – это Dependency Injection или Service Locator? Введение В Android-разработке для DI традиционно используют Dagger 2, очень мощный фреймворк с кодогенерацией. Но есть проблема: новичкам сложно его использовать. Сами принципы DI просты и понятны, но Dagger усложняет их. Можно жаловаться на поголовное падение грамотности пр...

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

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

Creality LD-002H. Монохром в цельнофрезерованной оболочке. TL;DR Сказ о том, как в свежем принтере порвать две пленки об угол криво приклееного дисплея, залить жижей половину принтера и все это починить до работающего состояния.После моих попыток печати фотополимером дома и борьбы моей супругой с моим фотополимерным хобби из-за алле...

FOSS News №2 — обзор новостей свободного и открытого ПО за 3-9 февраля 2020 года Всем привет! Продолжаю обзор новостей свободного и открытого ПО (и немного железа). В этот раз постарался брать не только российские источники, но и англоязычные, надеюсь получилось интереснее. Кроме того, кроме собственно новостей, добавлено немного ссылок на вышедшие за...

Возвращение на вершину: почему капитализация Amazon скоро вновь превысит $1 трлн Изображение: Unsplash В сентябре 2018 года компания Amazon впервые вошла в «клуб девяти нулей», но позднее ее капитализация снизилась до $955 млрд. Причина в массивных инвестициях в улучшение доставки товаров, продуктов, а также разработку контента для стриминговой платфо...

Опыт создания web-приложения с Pony ORM Привет, Хабр! Недавно передо мной встала задача написать на Python web-приложение для разделения счёта в ресторане между участниками трапезы. Так как нужна DB для хранения данных о заказах и пользователях, встал вопрос выбора ORM для работы с базой. Разработка велась на Flas...

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

Принимаем платежи по Системе быстрых платежей (СБП) Всем привет! Меня зовут Тамара, я работаю в Тинькофф и отвечаю за торговый эквайринг и онлайн-кассы. Недавно на рынке появился новый способ оплаты покупок — по QR-коду через Систему быстрых платежей (СБП). Однако пока в сети мало информации о том, как все работает. В этой ст...

[Из песочницы] Телефонный эфир v2.0. Возрождение легенды в telegram боте Это первая статья из будущей серии статей о том, как я возродил однажды ушедшую в историю идею в коде. В этой статье я опишу реализацию регистрации в части места жительства. Читать дальше →

[Перевод] Руководство Google по стилю в C++. Часть 2 Часть 1. Вступление Часть 2. Заголовочные файлы … Все мы при написании кода пользуемся правилами оформления кода. Иногда изобретаются свои правила, в других случаях используются готовые стайлгайды. Хотя все C++ программисты читают на английском легче, чем на родном, приятн...

Хабр Фриланс 2019: итоги года Подводим итоги и коротко рассказываем о том, что происходило на Хабр Фрилансе в 2019 году. Кого искали чаще всего и кого находили? На какой заказ больше всего откликались? Сколько откликов оставил самый активный заказчик? Читать дальше →

Три года в Латинской Америке: как я уехал за мечтой и вернулся после тотальной «перезагрузки» Привет, Хабр, меня зовут Саша. После 10 лет работы инженером в Москве я решился круто изменить жизнь — взял билет в один конец и уехал в Латинскую Америку. Я не знал, что меня ждет, но, признаюсь, это стало одним из моих лучших решений. Сегодня я хочу рассказать, с чем я сто...

[Перевод] Мой ответ тем, кто полагает, что значение TDD преувеличено Однажды я разговорился с разработчиком из компании-клиента о программном обеспечении. Мне стоило бы понять то, что разговор пошёл куда-то не туда, когда собеседник сказал о том, как нам, разработчикам ПО, повезло: «Мы обманом заставляем организации платить нам за, как кажетс...

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

Author.today — пираты под флагом копирайта? Так получилось, что у меня хобби - перевод текстов. И когда-то давным-давно я попал в команду перевода “Червя” - веб-сериала о мире, где люди обрели суперсилы, но остались людьми. Подробнее об этой работе вы можете узнать в этой  статье на хабре. У нас сформировалась ко...

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

Автоматизация тестов на Go + Allure Привет всем. Меня зовут Таня. Я автоматизирую тесты на Go уже около года, до этого занималась 4 года автоматизацией на Java.В этой статье расскажу:- Как писала интеграционные тесты на Go + Allure- С какими проблемами столкнулась- С какими библиотеками и инструментами работа...

В Redmi K20 Pro можно программно изменить частоту обновления экрана Еще в 2017 году появился некий игровой смартфон Razer, одной из фишек которого была повышенная частота обновления экрана с 90 до 120 Гц. К сожалению, его попытка выйти на рынок мобильных устройств была не очень удачной, но эта идея не осталась незамеченной. Теперь в игровых ...

Tesla Model 3 готова занять место самого массового электромобиля в мире Tesla Model 3 поступила в продажу только в 2016 году, но спрос на эту модель настолько велик, что он авто уже готовиться примерить корону самого массового электромобиля планеты. Но пока еще самым массовым остается Nissan Leaf, выпускаемый с 2010 года. Tesla Model 3 все...

Смартфоны Huawei и Honor, которые получат EMUI 11 на базе Android 11 Прошивка EMUI 10 разработана на базе Android 10 и была анонсирована на конференции разработчиков Huawei 2019 (HDC 19). После этого релиза Huawei анонсировала бета-программу EMUI 10 для устройств серии Huawei P30. Позднее бета-версия была расширена до других ведущих устройств...

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

«Тудурант» — менеджер задач, который заставляет примитивный мозг работать Буду краток: системы продуктивности типа GTD никогда не работают в долгосрочной перспективе. Я взял все самые сочные части разных методологий, соединил их, упростил — и теперь им пользуется более 5000 пользователей. В этой статье я описал весь процесс развития продукта от ид...

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

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

Boot manager для 486-го компьютера Введение Всё началось с того, что меня несколько расстраивало отсутствие возможности загружаться с дисковода на старой плате Socket 3. CD-приводы в то время ещё не были распространены и разработчики BIOS даже не задумывались о предоставлении такой опции. Да и операционные си...

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

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

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

Ждать осталось недолго: Comet Lake-H готовы покорять рынок Компания Intel готовит сейчас сразу два семейства процессоров Comet Lake: настольные Comet Lake-S и производительные мобильные Comet Lake-H. И если со временем выхода первых пока что определённости нет совсем, то для мобильных чипов стали известны конкретные сроки анонса. Ра...

NASA удалось наладить связь с зондом Вояджер 2 после загадочного сбоя Роботизированные аппараты Вояджер, возможно, являются величайшим достижением человечества Запущенные с мыса Канаверал в 1977 году зонды Voyager 1 и Voyager 2 провели в космосе вот уже 42 года. Вместе эти роботизированные аппараты изменили наше понимание Солнечной системы, а ...

[Из песочницы] DLL & Python DLL & Python Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что примене...

Google выпустила аналог TikTok для iOS Tangi — аналог TikTok от Google По правде говоря, я возмущён как владелец Android-аппарата. Мне приходится смириться с той мыслью, что Google выпустила приложение первым делом для iOS, а не для Android. Мне до сих пор кажется это крайне странным, что компания, которая ...

Xamarin.Forms. Личный опыт использования В статье речь пойдет о Xamarin.Forms на примере живого проекта. Кратко поговорим о том, что такое Xamarin.Forms, сравним с похожей технологией WPF, увидим, как достигается кроссплатформенность. Также разберём узкие места, с которыми мы столкнулись в процессе разработки, и до...

Мониторинг как процесс управления событиями Привет, Хабр! Сегодня мы хотим поделиться с вами статьей по выступлению руководителя технической поддержки ИТ-ГРАД Алика Фахрутдинова, в которой расскажем о том, как мы строили новую систему мониторинга в рамках коллаборации с ПАО «МТС». На сей раз опустим технические детали...

Принтер "Нумбер Ту" Несколько лет назад, насмотревшись Ютубиков, загорелся идеей собрать себе 3Д-принтер. В итоге на свет родился Монструозный дрыгостол, способный печтать на скоростях до 200мм/сек. Кинематика позволяет и быстрее, но Хотенд не успевал греть такой обьём пластика. Недостатки дрыг...

Как украсть Macbook У меня несколько раз воровали макбуки и ни разу антикражные средства Apple вроде Find My Mac не помогли мне вернуть компьютер. Действительно ли они бесполезны? Можно ли доверять встроенному шифрованию FileVault? Как повысить шансы вернуть компьютер? Эта статья результат мо...

Crypt, XOR, взлом нешифрованного ZIP и ГПСЧ. Решение задач с r0от-мi Crypto. Часть 2 В данной статье узнаем про функцию crypt, узнаем как подбирать пароли к ZIP архиву с незашифрованными именами файлов, познакомимся с утилитой xortool, а так же разберемся с генератором псевдослучайных чисел. Предыдущие статьи на эту тему: Часть 1 — Кодировки, шифр сдвига,...

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

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

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

В США будет рассмотрена коллективная жалоба на внезапное ускорение электромобилей Tesla Национальное управление безопасностью дорожного движения США (NHTSA) объявило о намерении рассмотреть коллективную петицию, в рамках которой ведомство просят изучить ситуацию, связанную с жалобами на внезапное непреднамеренное ускорение электромобилей Tesla. В сообщении гово...

[Из песочницы] Кроссплатформенный многопоточный TCP/IP сервер на C++ Как-то раз встала задача по написанию простого и быстрого многопоточного TCP/IP сервера на C++ и при этом, чтобы работал из под Windows и Linux без требования как-либо изменять код за пределами класса самого сервера. Ранее, на чистом C++ без библиотек вроде Qt, Tcp-сервер не...

LG Display надеется запустить производство OLED в Китае со второй попытки Компания LG Display вынуждена была отложить массовое производство OLED в Китае на целых шесть месяцев. Новый завод должен был начать работу в сентябре 2019 года, но фактически предприятие начнёт работать только в конце января 2020 года. Компьютерное изображение завода LG Dis...

[Из песочницы] GSM IoT-провайдер в ЖКХ (Часть 1) Прочитал статьи автора Interfer о трудностях в Iot и решил рассказать о своём опыте IoT-провайдера. Статья первая не рекламная, большая часть материала без моделей оборудования. Постараюсь написать детали в следующих статьях. Не вижу проблем применения GSM модемов для сбо...

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

Готовый шаблон для тестирования с использованием Spring Представляю вам — готовый шаблон для тестирования с использованием Spring. Введение Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java. Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам. Для кого эта ...

[Из песочницы] Игровая консоль stm32 Немного шутеров для stm32; как, зачем, что получилось. Предисловие Будучи поклонником «старой» школы шутеров с одной стороны и embedded-разработчиком с другой, я всегда испытывал интерес, как и почему авторам той эпохи удавалось воплощать новый жанр, требующий совершенно ...

Как форматировать SSD в формат APFS на Mac, если «этот диск не использует схему таблицы разделов GUID (GPT)» В 2016 году Apple представила собственную файловую систему APFS для использования на всех накопителях flash-типа, однако при работе с данным форматом у многих пользователей возникают проблемы. Например, при попытке установить на новый внешний SSD-накопитель последнюю версию ...

Как и почему мы переехали с собственного npm-репозитория на Verdaccio Всем привет. Меня зовут Андрей Фримучков, я работаю в команде инфраструктуры разработки интерфейсов Яндекса. Последние два месяца участвовал в запуске нового хранилища пакетов. Около года назад мы упёрлись в ограничения собственного решения и после череды экспериментов пришл...

[Перевод] Как превратить скрипт на Python в «настоящую» программу при помощи Docker Никого не интересует, умеете ли вы разворачивать связанный список — всем нужно, чтобы можно было легко запускать ваши программы на их машине. Это становится возможным благодаря Docker. Для кого предназначена эта статья? Вам когда-нибудь передавали код или программу, дерево...

Яндекс.Диск запретил использование open source утилиты rclone Предыстория Привет, Хабр! К написанию этого поста привела довольно странная ошибка, которую вчера вечером на ноутбуке с Linux (да, я их тех странных людей, кто использует GNU/Linux на ноутбуке) я получил вместо содержимого своего Яндекс.Диска: $ ls -l /mnt/yadisk ls: reading...

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

Красим Трейсер "Overwatch" Всем привет! Пишет вам женская самка с аккаунта мужа, которой доверили попробовать покрасить Трейсер)) Дано: Фигурка не самого лучшего качества см в 15 (но это не важно, ведь мы тренируемся), краски Tamiya и Citadel и даже Mr.Hobby, кисточки разного калибра и фирм, любимая -...

[Из песочницы] Опыт поступления в магистратуру в Германии (детальный разбор) Я программист из Минска, и в этом году я успешно поступил в магистратуру в Германии. В данной статье я бы хотел поделиться своим опытом поступления, включая выбор подходящей программы, сдачу всех тестов, подачу заявок, коммуникацию с германскими вузами, получение студенческо...

[Из песочницы] Можно ли взломать самолёт — 2 В недавней переведенной статье “Можно ли взломать самолёт” меня возмутили выводы в конце: В заключение, взлом самолёта через GPS, радиоканалы и т.п. теоретически возможен, но потребует невероятного объёма работы, много планирования, координирования действий, много оборудова...

WireGuard заработал в режиме ядра WindowsNT Разработчик WireGuard VPN Джейсон Доненфельд выпустил новую версию WireGuardNT, которая работает в режиме ядра WindowsNT (7, 8.1, 10, 11, 2012, 2016, 2019, 2022). Перенос всего кода в ядро значительно повышает пропускную способность туннеля практически на любых соединениях...

[Перевод] До и после: визуальная эволюция известных видеоигр В 90-х 8-битные Super Mario Bros. и Battle City — «Марио» и «танчики» — вызывали дикий восторг. Только недавно запускал их в браузере, чтобы поностальгировать. Сейчас геймеры, конечно, «избалованы» графикой и геймплеем (я в том числе), но что-то в тех играх еще осталось. Д...

[Из песочницы] OData + RxJava + Retrofit 2 для android приложения Столкнулся на проекте с проблемой доселе не виданной. Пришлось покурить документацию и в этой статье я расскажу как с помощью RxJava и Retrofit 2 — можно решить задачу по созданию клиента Odata для android приложения. Спасибо огромное Jake Wharton за создание таких комфортн...

Hack The Box — прохождение Bitlab. Слабая JS обфускация, GIT и реверс Windows приложения Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье разберемся с легенькой JavaScript обфускацией, загрузим бэкдор через репозиторий Git, и отладим...

Go. FakeDb. Эмуляция работы БД в тестах На днях писал тесты для модуля, который взаимодействует с базой данных. Привязывать модуль тестов к настоящей базе данных не хотелось — это создаёт дополнительные требования к окружению, где будет выполняться тестирование. Создавать сразу экземпляры типа sql.Rows, с нужными ...

Nvidia представила монструозную платформу с 17 млрд транзисторов, GPU нового поколения и CPU с ядрами Cortex-A78 Компания Nvidia сегодня представила одну весьма любопытную новинку. Называется она Drive AGX Orin. Это программно-определяемая платформа для автономных транспортных средств и роботов. В частности, Drive AGX Orin разработана для обеспечения архитектурно-совместимых платф...

Полный разбор экзамена ШАД-2019 Привет! Меня зовут Азат, я студент 3 курса Факультета Компьютерных Наук ВШЭ. На днях ко мне обратился знакомый с Экономики ВШЭ и попросил помочь с решением задач вступительного экзамена в ШАД. Мы с однокурсником Даниилом посмотрели на задания, они показались нам довольно сло...

Внедрение CI/CD & DevOps в Enterprise (Ростелеком) — часть 2 Платформа Цифровых Продуктов Ростелеком. Как это устроеноДатой создания Платформы Цифровых Продуктов (ПЦП) можно считать лето 2017. Старое название - Digital Sandbox, или просто Песочница.В основе инфраструктуры лежат два тенанта на базе виртуализации OpenStack-KVM, размещен...

Пишем прошивку под TI cc2530 на Z-Stack 3.0 для Zigbee реле Sonoff BASICZBR3 с датчиком ds18b20 Предполагается, что читатель уже имеет начальные знания языка C, что-то знает о Zigbee, чипе cc2530, методах его прошивания и использования, а также знаком с такими проектами, как zigbee2mqtt. Если нет — подготовьтесь или сходите почитать на https://myzigbee.ru и https://w...

Почему я полюбил увеличение экрана iPhone Увеличение дисплея делает использование компактного iPhone комфортнее Я владею смартфонами Apple на протяжении нескольких лет. В 2013 году приобрел свой первый iPhone, им оказался 5s. Уже тогда экран 5s казался не таким большим, но всё еще удобным. К слову, до сих пор габари...

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

Security Week 32: уязвимость в GRUB2 29 июля компания Eclypsium опубликовала исследование новой уязвимости в загрузчике Grub2, массово используемом в системах на базе Linux — от ноутбуков и IoT-устройств до серверов. Суть уязвимости довольно простая: ошибки при обработке текстового конфигурационного файла grub....

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

Новый загрузчик Silence Silence — группировка, которая специализируется на краже средств у клиентов банков и атаках на банковские системы. В отличие от других группировок (RTM, Carbanak, Buhtrap) Silence наиболее избирательно подходит к выбору жертвы, а также имеет богатый арсенал инструментов, кот...

В софте всё восхитительно, но все недовольны Есть типичная позиция, которую можно встретить на Хабре и не только: «хотя железо с годами всё лучше, человечество свело эффект на нет тем, что пишет софт всё хуже». Мол, ядер в процессорах стало больше, но тормозит всё пуще прежнего. Electron и Slack — порождения тьмы, п...

Оптимизация интерфейса в Unity без кода В этой статье ведущий UI/UX художник Никита Кандыбин и технический UI художник Ольга Кинчак поделятся эффективными базовыми практиками по оптимизации Unity UI, которые используются в компании Banzai Games при создании игровых интерфейсов, а также укажут на подводные камни ...

Зачем нам 170 разработчиков Привет, Хабр! Меня зовут Андрей Евсюков, я заместитель CTO в Delivery Club. Наша компания устроена сложнее, чем может показаться, когда представляешь себе сервис по доставке еды. Даже когда примерно знаешь, что там может быть под капотом. В этой серии статей я расскажу о ...

[Из песочницы] Как не платить за Java хостинг или быстрый старт с Google App Engine Все мы хоть когда-нибудь писали приложения, облегчающие жизнь. Не на заказ, а просто для себя. Записные книжки, программки учета финансов, набор карточек для изучения иностранного языка — да мало ли в жизни хороших идей? И вот было бы здорово, иметь доступ к этой программке ...

Варианты загрузки Windows 10 May 2020 Update Ещё в декабре прошлого года Microsoft завершила основной этап разработки нового функционального обновления для Windows 10 под названием May 2020 Update, и теперь, после длительного тестирования на инсайдерах, готова начать распространение новой версии операционной системы с...

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

FLEX от Hardlight – мягкий флекс. Добрый день, коллеги!Я уже писал о FLEX от GL и Harzlab. Теперь дошла очередь и до FLEX от Hardlight.Первое, что отличает его от вышеуказанных флексов – его мягкость.Если флексы от GL и Harzlab по своим характеристикам, как полиуретан, из диск 35мм толщиной 2,3 мм можно было...

[Перевод] Основы работы с Shader Graph в Unity Шейдер — это небольшая программа, содержащая инструкции для GPU. Она описывает способ вычисления экранного цвета для определённого материала. Хотя у Unity есть Standard Shader, иногда требуется реализовать эффект, на который не способен стандартный шейдер. Раньше для этог...

Мелкая деталька - моделирование и печать (триллер с элементами детектива) :) Моя первая коммерческая печать с моделированием :)Обратились ко мне  люди с вопросом можно ли смоделировать и напечатать некую мелкую деталь. Сначала общались в переписке и по телефону. По названию детали, которое они дали, я нашел вот такое фото:Информации оно почти не дало...

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

[Перевод] Разбираемся с launchMode Android Activity: standard, singleTop, singleTask и singleInstance Перевод статьи подготовлен специально для студентов продвинутого курса по Android разработке. Activity — это одна из самых ярких концепций в Android (самой популярной мобильной операционной системе с хорошо продуманной архитектурой управления памятью, которая отлично реал...

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

[Перевод] Что такое Waypoint и какие возможности дает его использование Пару недель назад я посмотрела демонстрацию Waypoint— нового инструмента, который представила 15 октября 2020 года компания Hashicorp. Инструмента, который предназначен для создания легкого, интуитивного и настраиваемого под пользователя рабочего процесса сборки, развертыва...

Tableau в рознице, реально? Время отчётности в Excel стремительно уходит — тренд на удобные инструменты представления и анализа информации виден во всех сферах. Мы давно обсуждали внутри цифровизацию построения отчётности и выбрали систему визуализации и self-service аналитики Tableau. Александр Безугл...

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

Проект Factom объявил о начале ликвидации после неудачной попытки привлечь финансирование Известный блокчейн-стартап Factom, который одним из первых провел токенсейл, объявил о начале процедуры собственной ликвидации, сообщает CoinDesk. В адресованном Лондонской фондовой бирже документе крупнейший инвестор Factom компания FastForward пишет следующее: «Совет дирек...

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

[Из песочницы] Пишем автотест с использованием Selenium Webdriver, Java 8 и паттерна Page Object В этой статье рассматривается создание достаточного простого автотеста. Статья будет полезна начинающим автоматизаторам. Материал изложен максимально доступно, однако, будет значительно проще понять о чем здесь идет речь, если Вы будете иметь хотя бы минимальные представлени...

График Sony по переводу смартфонов на Android 11 разочаровывает: масса моделей осталась за бортом Компания Sony пока не представила общественности своих планов по выпуску свежей операционной системы Android 11. Тем временем японский ресурс AndroidNext сумел получить документ с графиком выпуска обновлений.  По данным источника, Sony планирует следующее: Androi...

Устройство расширений для браузера Firefox (WebExtensions) Для людей, работа которых связана с использованием сети Интернет, расширения браузера могут быть очень полезными инструментами. С помощью них можно избавить пользователя от повторения одних и тех же действий и лучше организовать рабочий процесс. Можно составить набор инструм...

Новые версии процессоров AMD Dali замечены в коде Google Chrome OS В январе компания AMD представила гибридные 14-нм процессоры Dali, которые призваны отстаивать позиции компании в сегменте недорогих ноутбуков. На CES 2019 было заявлено о сотрудничестве с Google в сфере создания ноутбуков с Chrome OS, теперь появились признаки расширения эт...

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

[Из песочницы] Создание арт-объекта для Burning Man Здравствуйте. Меня зовут Сергей, и в этой статье я расскажу о том, как мы сделали арт-объект для мероприятия Burning Man. Я расскажу о технической стороне, не касаясь самого мероприятия. Ну, почти не касаясь. Читать дальше →

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

Автомобили в Голландии: статистика и информация за 2019 год Привет Хабр. Эта статья является продолжением цикла про Велоинфраструктуру в Голландии. В этот раз речь пойдет про автомобили. Недавно в одном из проектов довелось получить доступ к данным с камеры, распознающей автомобильные номера. Зная номер, можно получить довольно м...

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

Представлена 3D-карта Inno3D GeForce GTX 1650 Single Slot Компания Inno3D пополнила ассортимент видеокарт моделью GeForce GTX 1650 Single Slot, которая подойдет для работы в небольших компьютерных корпусах. Новинка характеризуется длиной всего в 211 мм (один слот расширения), процессором с архитектурой NVIDIA Turing, включающей 896...

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

[Перевод] Смотри, куда едешь (периферийное зрение vs когнитивная нагрузка) Проблема не в когнитивной нагрузке из-за многозадачности, а в периферийном зрении. Согласно новому исследованию MIT, ключ к тому, чтобы не отвлекаться от вождения, прост: следите за дорогой и смотрите, куда едете. Это может показаться ужасно очевидным, учитывая, что «смо...

Как установить публичную бету iOS 13.5 на iPhone и iPad В настоящее время Apple проводит бета-тестирование iOS 13.5 как для разработчиков, так и для обычных пользователей, которые могут установить себе специальную версию операционной системы. Одним из главных нововведений iOS 13.5 стала встроенная система отслеживания контактов ...

Унифицируй это: как Lamoda делает единообразными свои Go сервисы Мы широко используем микросервисную архитектуру, хоть и не считаем ее панацеей, и чуть больше 2 лет назад начали переходить на язык Go. Он сравнительно прост и, на мой взгляд, очень хорошо подходит для создания простых, небольших и быстрых микросервисов. Эта простота имеет и...

[Перевод] Знакомимся с NestJS Перевод статьи подготовлен в преддверии старта курса «Разработчик Node.js». У современных разработчиков есть много альтернатив, когда речь заходит о создании веб-сервисов и других серверных приложений. Node стал крайне популярным выбором, однако многие программисты предп...

[Перевод] Если данные не помещаются в память. Простейшие методы Самка трубкозуба с детёнышем. Фото: Scotto Bear, CC BY-SA 2.0 Вы пишете программу для обработки данных, она отлично проходит тест на небольшом файле, но падает на реальной нагрузке. Проблема в нехватке памяти. Если у вас 16 гигабайт ОЗУ, вы не сможете туда загрузить стоги...

Подставка для филамента 2. Привет всем. Держатель филамента из прошлой статьи (https://3dtoday.ru/blogs/tratnikov-va/proba-petg-derzhatel-filamenta) вышел не очень. Конечно в целом устройство рабочее, но не лишено недостатков. Из-за того что филамент по мере расходования уменьшает радиус мотка, меняет...

iPhone быстро разряжается? Возможно дело в Apple Music Как пишет источник со ссылкой на Forbes, многие пользователи iPhone столкнулись в последнее время с проблемой быстрого разряда своих телефонов. Оказалось, к этому причастно приложение Apple Music. Как написал один из пользователей, его новенький iPhone 11 начал быстро ...

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

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

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

Импорт ЕГРЮЛ ФНС средствами Apache NiFi. Шаг 2 — преобразование XML в JSON В одном из проектов возникла необходимость перевести процессы импорта данных сторонних систем на микросервисную архитектуру. В качестве инструмента выбран Apache NiFi. В качестве первого подопытного выбран импорт ЕГРЮЛ ФНС. В предыдущей статье было описано, как получить файл...

Снижение скорости свободного перемещения для первого слоя      Доброго времени суток. Прошу строго не судить, это мой первый пост. Испытывал трудности при печати модели с большим количеством элементов в первом слое. Раньше использовал PLA и проблем не было, перешёл на ABS, узнал все его капризы с адгезией к столу. Если использовать...

oVirt за 2 часа. Часть 3. Дополнительные настройки В этой статье мы рассмотрим ряд необязательных, но полезных настроек: использование дополнительных имен для менеджера; подключение аутентификации через Active Directory; Mutlipathing; управление питанием; замена SSL сертификата; архивация; менеджмент-интерфейс хостов (cockp...

[Перевод] Полное визуальное руководство/шпаргалка по CSS Grid Сегодня мы с вами рассмотрим свойства CSS Grid (далее также — Грид), позволяющие создавать адаптивные или отзывчивые макеты веб-страниц. Я постараюсь кратко, но полно объяснить, как работает каждое свойство. Что такое CSS Grid? Грид — это макет для сайта (его схема, проект...

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

Решение задания с pwnable.kr 26 — ascii_easy. Разбираемся с ROP-гаджетами с нуля раз и навсегда В данной статье решим 26-е задание с сайта pwnable.kr и разберемся с тем, что же такое ROP, как это работает, почему это так опасно и составим ROP-цепочеку с дополнительными усложняющими файторами. Организационная информацияСпециально для тех, кто хочет узнавать что-то нов...

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

Оживляем гексапода. Часть первая В прошлой статье мы поделились опытом создания гексапода с использованием технологии 3D печати. Теперь речь пойдет о программной составляющей, которая позволила его оживить. Первоначально планировалось изложить всю информацию в одной статье, но в процессе написания стало по...

[Из песочницы] Вывод текста на OLED дисплей с контроллером SH1106 по шине SPI через библиотеку HAL Здравствуйте, уважаемые читатели. В своих разработках на микроконтроллерах STM32, для вывода осмысленной информации, я пользуюсь OLED дисплеями на чипе SSD1306. В последний раз пришел ко мне 1,3" SPI модель по демократичной цене — около 200руб. Первое, что бросилось в г...

[Из песочницы] Ваш C# уже «функциональный», просто позвольте ему это Привет, Хабр! Представляю вашему вниманию перевод оригинальной статьи «Your C# is already functional, but only if you let it» автора Igal Tabachnik. Несколько дней назад я написал в Твиттере фрагмент кода C#, реализующий FizzBuzz, используя некоторые из новых «фичи» в C# 8....

[Из песочницы] Laravel+Docker+Gitlab. С чего начать Я обычно всегда обходился без докера и думал, что докер нужен только для больших проектов в больших компаниях. Но однажды я увидел как работает докер в паре с гитлабом у моего товарища и понял, что мне все таки стоит его изучить. Однако, как обычно это бывает, одной подходящ...

[Перевод] Алан Кей: История SmallTalk (Аннотация и Введение) У меня есть цель — разобраться в том, что же происходило в 60-70-е годы в Xerox PARC и в окрестностях, как так вышло, что несколько коллективов инженеров, работая рука об руку, создали невероятные технологии, которые определили наше настоящее, а их идеи будут определять буду...

Boot or not to boot или ректальная реанимация MKS TFT32.  Так случилось что я владелец FLSUN QQ c MKS TFT32_L V4.0. Очень скоро функционала экраничка перестало хватать , все настройки и калибровки проще проводить с PC с отключенным экраном, я все делал в Pronterface. А вскоре и вовсе перешел на klipper, этим устранил недостатки то...

Почему Mac стали перезагружаться сами на macOS 10.15.4 Исторически так сложилось, что именно iOS испытывает всевозможные трудности после обновления. Разного рода баги буквально липнут к ней как мухи к мёду, или что там они обычно предпочитают. С остальными операционными системами Apple такое либо не происходит вообще, либо прои...

[Перевод] SageMath и CoCalc: как всё начиналось. Часть первая Публикуется с разрешения автора. От переводчика Текст, перевод которого я намерен представить вашему вниманию, — краткая автобиография (называющаяся в оригинале «Mathematical Software and Me: A Very Personal Recollection», то есть «Математическое ПО и я: очень личные размыш...

Деплоим проект на Kubernetes в Mail.ru Cloud Solutions. Часть 2: настройка и запуск приложения для транскрибации видео Это продолжение практикума по развертыванию Kubernetes-кластера на базе облака Mail.ru Cloud Solutions и созданию MVP для реального приложения, выполняющего транскрибацию видеофайлов из YouTube. Я Василий Озеров, основатель агентства Fevlake и действующий DevOps-инженер...

[Из песочницы] Unit тесты для RxSwift кода Привет, Хабр! Представляю вашему вниманию перевод статьи "Testing Your RxSwift Code" автора Shai Mishali с сайта raywenderlich.com. Написание реактивных приложений с помощью RxSwift концептуально отличается от написания приложений "обычным путем". Оно отл...

Python (+numba) быстрее си — серьёзно?! Часть 2. Практика Это вторая часть статьи про numba. В первой было историческое введение и краткая инструкция по эксплуатации numba. Здесь я привожу слегка модифицированный код задачи из статьи про хаскелл «Быстрее, чем C++; медленнее, чем PHP» с более детальными бенчмарками, графиками и пояс...

В 26 лет Яна Харлан руководит разработкой космического двигателя. В следующем году его планируют запустить Яна Харлан с макетом двигателя (1:1) В 2017 году российские ученые из команды Avant Space занялись разработкой уникального геликонного сеточного двигателя для космических спутников. С ним бы они могли поддерживать орбиту и выполнять межорбитальные переходы. «Это простое н...

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

AvitoTech On Tour: митапы по Go и фронтенду в Казани Уже четыре года мы поддерживаем IT-комьюнити в России. Мы провели кучу митапов в московском офисе Авито, а потом подумали, что отсутствие офиса в городе — не повод не проводить там митап. Мы хотим, чтобы независимые сообщества разработчиков развивались по всей стр...

Прямой VPN между компьютерами за NAT провайдеров без VPS Продолжение статьи о том, как мне удалось организовать прямой VPN-туннель между двумя компьютерами находящимися за NAT'ами провайдеров. В прошлой статье описывался процесс организации соединения с помощью третьей стороны — посредника (арендованный VPS выполняющий роль, что-т...

Анимация в Android: плавные переходы фрагментов внутри Bottom Sheet Написано огромное количество документации и статей о важной визуальной составляющей приложений — анимации. Несмотря на это мы смогли вляпаться в проблемы столкнулись с загвоздками при её реализации. Данная статья о проблеме и анализе вариантов её решения. Я не дам вам сере...

ESP32 и файловая система SPIFFS SPIFFS – (Serial Peripheral Interface Flash File System) файловая система флеш-памяти, подключаемой по последовательному периферийному интерфейсу. Простыми словами: есть микроконтроллер ESP32 (рисунок 1), у него есть встроенная перезаписываемая энергонезависимая NOR-память,...

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

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

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

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

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

[Перевод] Почему нам нужен DevOps в сфере ML-данных Развертывание машинного обучения (machine learning, ML) в продакшн – задача нелегкая, а по факту, на порядок тяжелее развертывания обычного программного обеспечения. Как итог, большинство ML проектов так никогда и не увидят света — и продакшена — так как большинство органи...

Бинарная совместимость Reaktive: как мы её обеспечиваем Привет! Меня зовут Юрий Влад, я Android-разработчик в компании Badoo и принимаю участие в создании библиотеки Reaktive — Reactive Extensions на чистом Kotlin. Любая библиотека должна по возможности соблюдать бинарную совместимость. Если разные версии библиотеки в зависимостя...

Клиентоориентированный Data Lake в игровой компании Источник Привет, Хабр! Меня зовут Максим Пчелин, и я руковожу разработкой BI-DWH в MyGames (игровое подразделение Mail.ru Group). В этой статье я расскажу о том, как и зачем мы строили клиентоориентированное DataLake-хранилище. Статья состоит из трех частей. Сперва я расс...

Как бесплатно увеличить размер Яндекс Диска на 20 ГБ (для хранения фото, видео и файлов) Компания «Яндекс» проводит акцию, в рамках которой каждый пользователь облачного сервиса «Яндекс.Диск» может бесплатно и навсегда получить дополнительные 20 ГБ в хранилище (по умолчанию каждому пользователю предоставляется 10 ГБ).  ♥ ПО ТЕМЕ: Как очистить (удалить) кэш в Tel...

[Из песочницы] Немного о частном случае реализации алгоритмов поиска открытых дверей Привет, Хабр! Время от времени на любимом мною ресурсе проскакивают темы а-ля "Как я выгорел на своей первой работе", "Жизнь — боль" и т.п., зачастую преисполненные разочарования и юношеского максимализма. На написание этого материала меня в частности под...

VxLAN фабрика. Часть 2.5 Всем привет. Проходил тут собеседование и появилась мысль следующую часть из цикла статей, посвященных запуску курса "Сетевой инженер" от OTUS, сделать более теоретической, дабы ответить на некоторые вопросы с которыми столкнулся во время интервью. Читать дальше &...

[Перевод] Юнит-тесты на Python: Быстрый старт Перевод статьи подготовлен специально для студентов курса «Python QA Engineer». Юнит-тестирование кода является неотъемлемой частью жизненного цикла разработки программного обеспечения. Юнит-тесты также формируют основу для проведения регрессионного тестирования, то есть о...

[Из песочницы] Получение разрешения на полёт дрона (БВС, БПЛА) в Российской Федерации Данная статья написана мной с целью облегчить прохождение по пути официального оформления своего вылета тем моделистам-любителям, кто сомневается в выполнимости для себя данной процедуры и не знает с чего начать. В первую очередь хочу выразить благодарность автору статьи «...

[Перевод] Устанавливаем рабочий стол Linux на Android Привет, Хабр! Представляю вашему вниманию перевод статьи из журнала APC. В данной статье рассматривается полная установка операционной среды Linux вместе с графическим окружением рабочего стола на Android-устройствах. Одной из ключевых технологий, которую применяют многи...

Ловим соточки - Ender-3 Pro, Балка оси Y Апгрейды можно ставить просто исходя из рекомендаций мировой общественности и наличия готовых элементов на али-барахолке. Мне же всегда было интересно увидеть результат изменений. Один из вариантов – печать. Но она не всегда может показать этот самый результат. К тому же, ещ...

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

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

Масштабирование базы данных. Microsoft AlwaysOn Привет. Меня зовут Тигран Петросян, я ведущий инженер по технической поддержке Docsvision, и сегодня расскажу о применении технологии MS SQL AlwaysOn. Это вторая статья из мини-серии «Масштабируемость системы ECM на предприятии», в которой первая статья моего коллеги была по...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

Unity + git = дружба: часть 1 джентльменский набор Система контроля версий git уже давно стала стандартом де-факто в мире разработки, но для большинства разработчиков на Unity не секрет, что существует ряд трудностей связанных с особенностями Unity, которые мешают эффективно использовать ее совместно с git. Вот список типи...

[Из песочницы] Микросервисы или модульные системы? Как заказчику выбрать подход к IT-архитектуре продукта Микросервисная и модульная системы — это типы архитектуры IT-решений. При работе с модулями мы дорабатываем коробочную версию существующего IT-продукта. Под коробочной версией имеем в виду монолит, готовую систему с ядром, которая поставляется всем заказчикам одинаково, «ка...

ClickHouse + Graphite: как значительно уменьшить потребляемое место на дисках Приветствую, habr. Если кто-то эксплуатирует систему graphite-web и столкнулся с проблемой производительности хранилища whisper (IO, потребляемое дисковое пространство), то шанс того, что был брошен взгляд на ClickHouse в качестве замены, должен стремиться к единице. Данное...

V&V не значит вендетта На протяжении последних шести лет я занимаюсь разработкой и приёмочным тестированием самых разных по сложности и размеру приложений для проведения и сопровождения клинических исследований. Big data, огромное количество визуализаций и представлений, хранилища данных, ETL и ...

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

[Перевод] Flutter. Упрощаем компоновку виджетов с помощью Dart расширений В версии Dart 2.7 нам представили расширения, позволяющие разработчикам добавлять новые функциональные возможности в уже существующие типы. Расширения могут быть отличным помощником не только, когда мы пишем бизнес-логику, но и когда у нас есть другие задачи! Примером такой...

Роботика — 3D-печатная кукла ростом с человека Источник всех фотографий в статье Wanhao3dprinter.comСтатья с сайта Wanhao3dprinter.com переведена для вас Top 3D Shop.Компания CAD House изготовила 3D-печатную куклу в человеческий рост и с полностью подвижными суставамиКогда программы для 3D-моделирования и 3D-принтеры ста...

Компания F-Secure представила компьютер размеров с флэш-диск Компания F-Secure выпустила компьютер с операционной системой Linux размером с флэш-диск. Он был разработан с основными требованиями информационной безопасности. Стоимость устройства составляет 149 долларов. Компьютер USB Armory Mk II имеет размеры 66 x 19 x 8 мм без ко...

[Из песочницы] Двухфакторая аутентификация VPN/Mikrotik – просто и масштабируемо Здравствуйте! На написание данной статьи меня побудило прочтение аналогичного содержания статьи пользователя nkusnetsov. По количеству просмотров видно, что сообществу интересна данная тема. Поэтому я решил поделиться с вами собственным решением, которое было ранее реализо...

Первый взгляд: как устроена новая корпоративная почтовая система Mailion от МойОфис Почти четыре года назад мы начали проектировать принципиально новую распределенную почтовую систему Mailion, которая предназначена для корпоративных коммуникаций. Наше решение построено на Cloud Native микросервисной архитектуре, способно работать с более чем 1 000 000 поль...

Как вырастить веб-разработчика от стажера до архитектора. Матрица компетенций Вместо эпиграфа Когда в 2004 году я окончил университет, в нашем городе почти не было команд разработчиков. Где работать, у кого набираться практического опыта? Выбор был прост: “админом” или “в Москву”. Или уйти из профессии. Сейчас я преподаю веб-разработку в местных ВУЗ...

[Перевод] Как я хакнул контроллер Nintendo Joy-Con Хирургическая имплантация ёмкостного трекпада с технологией 3D-Touch на место оригинального аналогового джойстика В 2020-м году во время пандемии бывает скучно, и отсутствие возможностей творческого развития усложняет жизнь. Однако когда у вас есть набор инструментов с бол...

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

Здоровье индексов в PostgreSQL глазами Java-разработчика Привет. Меня зовут Ваня, и я Java-разработчик. Так получилось, что я много работаю с PostgreSQL – занимаюсь настройкой БД, оптимизацией структуры, производительностью и немного играю в DBA по выходным. За последнее время я привёл в порядок несколько баз данных в наших микрос...

Почему я ушел с React Native и перешёл во Flutter: Часть 1 Всем привет. Меня зовут Дмитрий Андриянов. Два года писал на React Native, сейчас я разработчик в Surf и уже полтора года пишу на Flutter. Когда я только решил серьёзно взяться за Flutter, я бы очень хотел найти статью от разработчика, который перешёл с React Native на Flutt...

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

Apple удалось создать первый iPod за 1 год. Сколько она разрабатывает iPhone? Команда разработки первого iPod. Тони Фаделл слева Мы часто слышим истории о том, что Apple годами разрабатывает новые устройства, и многочисленные патенты компании зачастую это подтверждают. Но раньше Apple не всегда требовалось столько времени: так, на разработку плеера iP...

Рожденный в муках Всем привет! Меня зовут Александр и я собрал 3д принтер =)Первые шаги к 3д печати я начал лет 5 назад. В начале это была просто идея, потом она превратилась в манию. И лишь отсутствие свободных финансов и времени не давали мне уйти во все тяжкие. В тайне ото всех, я начал из...

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

TelegramBot инструкция по созданию базового функционала для бота. (Часть 1) Не так давно я предложил вам воспользоваться моим ботом для телеграмма. Telegram Bot — помощник в планировании мероприятий Получив много вопросов в личку, я понял, что вопрос создания ботов для Телеграм довольно популярен. У меня спрашивали исходный код бота, просили по...

[recovery mode] TOP12 междисциплинарных научных открытий 2019 года Спойлер! В статье возможно самое интересное из мира науки за 2019 год. Но это не точно. Коротко о нас — мы белоруские научные скауты, молодость которых еще только разбивается о гранит реальности. Мы проводим те научные мероприятия, которые считаем нужными и потому что можем...

$mol: 4 года спустя Здравствуйте, я люблю плевать против ветра. Утираться и снова плевать. Хобби у меня такое. И всё, что я создаю, делаю я без оглядки на тенденции, стараясь решать проблемы системно, а не как привычно. Зачастую бывает, что основная сложность даже не в том, чтобы придумать реш...

[Из песочницы] Ещё раз про аппаратные ключи GPG за копейки В февралe 2020 года на Хабре появилась увлекательная статья про преобразованию программатора ST-Link v2 в аппаратный ключ шифрования. Уже тогда в комментариях появились жалобы на то, что результат не удаётся повторить, но они остались без ответа. За прошедшее время до меня ...

[Перевод] Знакомимся с методом обратного распространения ошибки Всем привет! Новогодние праздники подошли к концу, а это значит, что мы вновь готовы делиться с вами полезным материалом. Перевод данной статьи подготовлен в преддверии запуска нового потока по курсу «Алгоритмы для разработчиков». Поехали! Метод обратного распространени...

[Перевод] Чему меня, как разработчика, научили аварии в космосе Исследования космоса интересовали меня, сколько я себя помню. Люди, знавшие меня лично, слышали рассказов о космосе больше, чем им хотелось бы. Я администрировал русскоязычную версию Википедии, и одним из моих любимых увлечений была редактура связанных с космосом статей. Я ...

Макет Газпром Арена для спортивного клуба “Зенит” Совсем недавно занимался изготовлением модели известного питерского стадиона, расположенного на Крестовском острове. Сегодня Газпром Арена является самым дорогим стадионом в России.Печать макета производилась на бельгийском принтере с 7-ми мм соплом. Стадион печатался в режи...

[Перевод] wc на D: 712 символов без единого ветвления После прочтения "Побиваем С программой в 80 строк на Хаскеле", которую я нашел на ХакерНьюс, я решил, что D может и лучше. И я написал wc на D. Прим.пер. Я предложил вышеупомянутую статью перевести 0xd34df00d, но он предпочел сделать по мотивам свою «Побеждая C дв...

4. Fortinet Getting Started v6.0. Firewall Policies Приветствую! Добро пожаловать на четвертый урок курса Fortinet Getting Started. На прошлом уроке мы развернули макет для будущих лабораторных работ. Пришло время его использовать! На данном уроке мы разберем основы работы политик безопасности, которые разграничивают досту...

Выручка Netflix выросла на 31% (до $5,47 млрд), чистая прибыль — почти в 4,5 раза (до $587 млн), а число подписчиков превысило 167 млн человек Компания Netflix отчиталась за четвертый квартал 2019 года и мы уже узнали самое интересное — статистику просмотров «Ведьмака», крупнейшего шоу главного онлайн-кинотеатра. В этой же заметке коротко суммируем главные достижения и посмотрим на финансовые показатели по итогам з...

Почему стоит купить Google Pixel 2 XL вместо Pixel 4 XL Зачем платить больше? Каждый год производители выпускают флагманские устройства. И каждый год некоторые потребители готовы приобретать аппараты лишь потому, что это новое поколение. Однако всё не так просто, как кажется на первый взгляд, ведь купив, например, Pixel 2 XL вмес...

[recovery mode] Proxmox VE обновился до 6.4: теперь с Single File Restore и Live Restore Proxmox Virtual Environment (в просторечии - Promxox VE, PVE, или даже "прокс") обновился до версии 6.4, и список изменений в очередной раз радует. Эта версия включает весьма интересные новые функции, такие, как восстановление в реальном времени (Live Restore) и восстановлен...

Смартфон OnePlus с 12 Гбайт ОЗУ показался в бенчмарке В базе данных популярного бенчмарка Geekbench появилась информация о флагманском смартфоне OnePlus 8, официальный анонс которого ожидается в ближайшее время. В тесте Geekbench появился смартфон семейства OnePlus 8 с кодовым обозначением IN2011. Говорится, что аппарат будет ф...

[Из песочницы] BPF для самых маленьких, часть нулевая: classic BPF Berkeley Packet Filters (BPF) — это технология ядра Linux, которая не сходит с первых полос англоязычных технических изданий вот уже несколько лет подряд. Конференции забиты докладами про использование и разработку BPF. David Miller, мантейнер сетевой подсистемы Linux, назыв...

Property-based тестирование для JavaScript и UI: необычный подход к автоматизированным тестам Falcon Heavy Demo Mission Писать тесты скучно. А то, что скучно делать, постоянно откладывается. Меня зовут Назим Гафаров, я разработчик интерфейсов в Mail.ru Cloud Solutions, и в этой статье покажу вам другой, немного странный подход к автоматизированному тестированию. Чи...

Как будет выглядеть вспышка сверхновой с Земли? Любимая многими звезда Бетельгейзе, возможно, станет сверхновой. Такое мнение ранее высказали многие исследователи. Дело в том, что яркость Бетельгейзе — красного сверхгиганта — начала меняться в 2019 году. Это значит, что рано или поздно она станет сверхновой &...

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

[Из песочницы] Flask-DJ: Django (mvc) структура для проекта на flask Всем привет! Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта. Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сде...

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

Тестирование android приложений с использованием selenoid. Поиск location в мобильном приложении с помощью Appium Предисловие из поста: Selenoid — это программа, которая позволяет управлять браузерами и Android-эмуляторами с помощью специальных драйверов. Умеет запускать каждый из них изолированно в Docker-контейнере. Основная идея Selenoid состоит в том, чтобы запускать новый контейнер...

Microsoft работает над исправлением уязвимости в Internet Explorer В веб-браузере Internet Explorer была обнаружена уязвимость (CVE-2020-0674), которая связана с обработкой объектов в оперативной памяти скриптовым движком. Злоумышленники могут эксплуатировать уязвимость для удалённого запуска вредоносного кода на компьютере жертвы. Для это...

Не плачь, девчонка! Ответ автору с vc.ru на письмо о Хабре Я давний участник Хабра — обычный читатель и корпоративный автор. Для меня Хабр — это хорошо знакомая, изученная, родная и не враждебная среда, поэтому каждый раз я удивлённо читаю доводы участников «кармасрачей» и обхожу их стороной, потому что писать комментарии на 5000 зн...

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

Kotlin Multiplatform. Работаем с многопоточностью на практике. Ч.1 Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» Я давно занимаюсь не только нативной разработкой (как iOS, так и Android), но и кросс-платформенной. В свое время я очень плотно писала на Xamarin (iOS, Android, так и Forms...

Процессор Intel Core i5-L15G7 Lakefield замечен в тесте GeekBench 5 Как известно, Intel экспериментирует с объединением в одном процессоре двух разных ядер. Процессор Intel Core i5-L15G7, являющийся представителем нового семейства под кодовым названием Lakefield, замечен в тесте GeekBench 5. В корпусе размерами 12 х 12 х 1 мм находится...

Маленькие Python для маленьких embedded-программистов: CircuitPython и MicroPython для MeowBit На Хабре уже немало писали про обучающий микрокомпьютер BBC micro:bit, который в 2016 раздали всем британским школьникам, и сейчас он продаётся по $15. С прошлого года появились в продаже и micro:bit v2, в которых ОЗУ расширена с 16 КБ до 128 КБ. Неизменным остался форм-факт...

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