«Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг Kafka, etcd и Vault. В этой статье я расскажу о том, как мы строили линейно масштабируемую gRPC-прокси перед Kafka, способную обслуживать миллионы запросов в секунду, используя Go»
Как построить систему, способную выдерживать нагрузку в 5 млн rps
Как построить систему, способную выдерживать нагрузку в 5 млн rps
👍31👎5🔥3😁3
«За последние несколько лет, при работе и разговорах со многими разработчиками, я заметила один повторяющийся шаблон поведения. Он начал меня сильно беспокоить, и я продолжаю постоянно говорить и думать о нём, пытаюсь его понять или даже оправдать.
— Почему мы использовали данный подход?
— Не знаю. Это было в какой-то статье.
— Не знаю. Я это скопировал из Х (источника).
— Не знаю. Я использовал этот подход на предыдущем проекте.
— Не знаю. Мне кто‑то сказал использовать его.
Данный шаблон поведения — это потребление, а не созидание. Потребление без каких‑либо вопросов. Потребление, прикрывающееся мнением авторитетов»
Бóльшая часть технического контента — дерьмо
— Почему мы использовали данный подход?
— Не знаю. Это было в какой-то статье.
— Не знаю. Я это скопировал из Х (источника).
— Не знаю. Я использовал этот подход на предыдущем проекте.
— Не знаю. Мне кто‑то сказал использовать его.
Данный шаблон поведения — это потребление, а не созидание. Потребление без каких‑либо вопросов. Потребление, прикрывающееся мнением авторитетов»
Бóльшая часть технического контента — дерьмо
👍46👎21😁5❤1
Релаксационные генераторы и ШИМ-регулятор на операционных усилителях
Вы когда-нибудь задумывались, насколько прекрасны операционные усилители? Сегодня мы изучим и соберём несколько схем, которые иллюстрируют их замечательные свойства. Мы познакомимся с основными свойствами и режимами работы операционных усилителей и сможем убедиться, что использовать их гораздо проще, чем кажется на первый взгляд.
Вы когда-нибудь задумывались, насколько прекрасны операционные усилители? Сегодня мы изучим и соберём несколько схем, которые иллюстрируют их замечательные свойства. Мы познакомимся с основными свойствами и режимами работы операционных усилителей и сможем убедиться, что использовать их гораздо проще, чем кажется на первый взгляд.
👍12👎3😁1
KeyDB и Redis: в поисках серебряной пули. In-memory replicated DB (Replicated IMDB)
Если посмотреть в сторону KeyDB, то можно увидеть, что там есть киллер-фича — и даже две: режимы Active Replica и Multi-Master. Использование этих режимов позволяет получить распределённый отказоустойчивый KeyDB, совместимый с Redis, писать в любую ноду, читать из любой ноды. И всё это с точки зрения приложения выглядит как один экземпляр Redis без всяких Sentinel — то есть в коде приложения ничего менять не придётся.
Звучит как фантастика? Давайте посмотрим, как это работает.
Если посмотреть в сторону KeyDB, то можно увидеть, что там есть киллер-фича — и даже две: режимы Active Replica и Multi-Master. Использование этих режимов позволяет получить распределённый отказоустойчивый KeyDB, совместимый с Redis, писать в любую ноду, читать из любой ноды. И всё это с точки зрения приложения выглядит как один экземпляр Redis без всяких Sentinel — то есть в коде приложения ничего менять не придётся.
Звучит как фантастика? Давайте посмотрим, как это работает.
👎5🔥5👍4❤2😁2
Как писать про свой DIY-проект, чтобы его полюбили тысячи?
Что относится к DIY? Любой завершённый проект, при создании которого использованы лучшие ресурсы человека: руки и мозг, фантазия и изобретательность, инженерная мысль и рабочий дизайн. Это может быть что угодно: от бумажной настолки с необычной логикой до самодельного автомобиля. Проект может реализовать самоучка или топовый инженер, программист или просто очень хороший родитель — важно, что такие проекты реализуются для целей обучения, развлечения, реализации своих способностей и для пользы людей.
Но, к сожалению, не каждый изобретатель готов рассказать о своём проекте — нередко причина кроется в страхе сесть и начать писать, непонимании, как это — говорить буквами о технике. Мы подготовили для вас крошечный гайд, почти план — как писать о DIY-проекте на Хабр.
Что относится к DIY? Любой завершённый проект, при создании которого использованы лучшие ресурсы человека: руки и мозг, фантазия и изобретательность, инженерная мысль и рабочий дизайн. Это может быть что угодно: от бумажной настолки с необычной логикой до самодельного автомобиля. Проект может реализовать самоучка или топовый инженер, программист или просто очень хороший родитель — важно, что такие проекты реализуются для целей обучения, развлечения, реализации своих способностей и для пользы людей.
Но, к сожалению, не каждый изобретатель готов рассказать о своём проекте — нередко причина кроется в страхе сесть и начать писать, непонимании, как это — говорить буквами о технике. Мы подготовили для вас крошечный гайд, почти план — как писать о DIY-проекте на Хабр.
👎16👍8❤5
Двенадцать способов понять, что находишься в виртуальной реальности
Станислав Лем как-то заметил, что находящийся в виртуальной реальности человек может установить её иллюзорность только путём сравнения с действительностью. Не вступая в полемику с мэтром, уточним, что всё далеко не так безнадёжно. Очень часто для осознания факта нахождения в виртуальной реальности достаточно банальной логики и наблюдательности, способной выявить общие черты между данной вам в ощущениях реальностью и рукотворными виртуальными мирами.
В этой статье предпринята попытка систематизировать «врождённые пороки» создаваемых людьми миров для поиска похожих паттернов в той реальности, которая считается настоящей
#хабраархив
Станислав Лем как-то заметил, что находящийся в виртуальной реальности человек может установить её иллюзорность только путём сравнения с действительностью. Не вступая в полемику с мэтром, уточним, что всё далеко не так безнадёжно. Очень часто для осознания факта нахождения в виртуальной реальности достаточно банальной логики и наблюдательности, способной выявить общие черты между данной вам в ощущениях реальностью и рукотворными виртуальными мирами.
В этой статье предпринята попытка систематизировать «врождённые пороки» создаваемых людьми миров для поиска похожих паттернов в той реальности, которая считается настоящей
#хабраархив
👎25👍21❤4
«На Хабре есть две статьи, автор которых пишет виртуальную машину для исполнения простого байткода, а потом применяет различные оптимизации для ускорения этой виртуальной машины. Кроме того, есть и компилятор простого С‑подобного языка в этот самый байткод. Ознакомившись со статьями и этим компилятором, я подумал, что будет интересно изучить, как написать виртуальную машину этого языка, которая сможет делать JIT‑компиляцию байткода с помощью библиотеки libjit»
Пишем виртуальную машину (интерпретатор) простого байткода + JIT-компиляция
Пишем виртуальную машину (интерпретатор) простого байткода + JIT-компиляция
👍15👎8❤4😁1
«Хотелось бы для разнообразия сделать что-то простое, что не затянется на месяцы и годы. И тут я вспомнил один незакрытый гештальт из середины 2000-х годов. Так родился этот маленький проект выходного дня с очень низким порогом вхождения, который может повторить почти любой желающий»
Новая жизнь советского джойстика
Новая жизнь советского джойстика
👍30👎10
«Привет, Хабр! Я Андрей Коваленко, в МойОфис возглавляю группу прикладной лингвистики и поисковых решений. Мы создаём корпоративную поисковую систему, извлекаем информацию, обобщаем, конкретизируем, анализируем и синтезируем тексты.
Но сегодня хочу поговорить не про сам поиск, а про его, без преувеличения, самый важный компонент — морфологический анализатор»
Зализняк: основа русской прикладной лингвистики
Но сегодня хочу поговорить не про сам поиск, а про его, без преувеличения, самый важный компонент — морфологический анализатор»
Зализняк: основа русской прикладной лингвистики
👎41👍20
Спинномозговые имплантаты: новая эра нейротехнологий
Допустим, человека удалось спасти. Его жизнедеятельности ничто не угрожает, но он остаётся прикованным к кровати. Можно ли вернуть спинальному пациенту возможность активных движений? Сейчас мы способны утвердительно ответить на этот вопрос. Путь к реабилитации предлагает индустрия нейропротезирования.
Допустим, человека удалось спасти. Его жизнедеятельности ничто не угрожает, но он остаётся прикованным к кровати. Можно ли вернуть спинальному пациенту возможность активных движений? Сейчас мы способны утвердительно ответить на этот вопрос. Путь к реабилитации предлагает индустрия нейропротезирования.
👍45👎5🔥1
На уходящей неделе мы взламывали спутник RUVDS, тестировали российские литиевые батарейки, исследовали пределы файлового формата модулей .NET и симулировали дестяки тысяч частиц на чистом Python с GPU-ускорением.
Лучшие публикации недели (17-23 июля)
Лучшие публикации недели (17-23 июля)
👍12👎11❤1
«Привет, меня зовут Костя Кислейко. Я отвечаю за дизайн в AGIMA. Клиенты часто приходят к нам за редизайном своих сервисов. И довольно часто, когда мы объясняем заказчикам, чем отличаются разные подходы и методологии, я использую метафору строительства. Кажется, это хорошее и понятное сравнение, и я решил его записать. Надеюсь, кому-то это поможет понять все риски и возможности при использовании разных подходов к редизайну»
Как сделать редизайн сервиса: на примере средневекового замка
Как сделать редизайн сервиса: на примере средневекового замка
👎22👍8
Йо-хо-хо, пиратство снова в тренде
Цифровое пиратство возникло вместе с Интернетом. И всё это время оно никуда не девалось. Какое-то время казалось, что мы победили цифровое пиратство. По крайней мере, статистика пиратства выглядела более позитивно. Многие думали, что рост популярности стриминг-сервисов решил проблему пиратства, но статистика доказывает обратное. Например, вместе с увеличением спроса на загрузку музыки возросло и нелегальное скачивание, несмотря на рост потоковых сервисов, таких как Spotify.
Сегодня вопреки доступности легальных вариантов потоковой передачи, статистика пиратства показывает, что нарушения авторских прав снова набирают обороты. А всё потому, что для многих бесплатно скачивать снова стало удобнее и проще.
Цифровое пиратство возникло вместе с Интернетом. И всё это время оно никуда не девалось. Какое-то время казалось, что мы победили цифровое пиратство. По крайней мере, статистика пиратства выглядела более позитивно. Многие думали, что рост популярности стриминг-сервисов решил проблему пиратства, но статистика доказывает обратное. Например, вместе с увеличением спроса на загрузку музыки возросло и нелегальное скачивание, несмотря на рост потоковых сервисов, таких как Spotify.
Сегодня вопреки доступности легальных вариантов потоковой передачи, статистика пиратства показывает, что нарушения авторских прав снова набирают обороты. А всё потому, что для многих бесплатно скачивать снова стало удобнее и проще.
👍54👎15😁12
⚡️ Новости к этому часу
🎮 В Сети появились фотографии и видео портативной консоли Sony Project Q под управлением Android (ФОТО)
⚙️ AMD намерена существенно увеличить размер микрокода будущих процессоров
🛰 Индийская станция «Чандраян-3» завершила четвёртый манёвр по подъёму орбиты
👨💻 Amazon заставляет сотрудников переезжать поближе для возвращения в офисы
🌐 Между США и Европой заработал трансатлантический кабель Amitiéс пропускной способностью 400 Тбит/с
✅ OpenAI, Google и ещё пять крупных IT-компаний согласились ввести водяные знаки для контента, созданного ИИ
📛 Ubisoft приостанавливает доступ к неактивным аккаунтам и закрывает им доступ к игровым библиотекам
🔭 «Джеймс Уэбб» нашёл углеродную пыль в молодых галактиках
#новости
🎮 В Сети появились фотографии и видео портативной консоли Sony Project Q под управлением Android (ФОТО)
⚙️ AMD намерена существенно увеличить размер микрокода будущих процессоров
🛰 Индийская станция «Чандраян-3» завершила четвёртый манёвр по подъёму орбиты
👨💻 Amazon заставляет сотрудников переезжать поближе для возвращения в офисы
🌐 Между США и Европой заработал трансатлантический кабель Amitiéс пропускной способностью 400 Тбит/с
✅ OpenAI, Google и ещё пять крупных IT-компаний согласились ввести водяные знаки для контента, созданного ИИ
📛 Ubisoft приостанавливает доступ к неактивным аккаунтам и закрывает им доступ к игровым библиотекам
🔭 «Джеймс Уэбб» нашёл углеродную пыль в молодых галактиках
#новости
👍11👎3🔥3
«В голову пришла идея сделать из старой электронной книжки на кухню что-то типа рамки, которая будет показывать прогноз погоды, температуру дома, на улице и в гараже. Питание хотелось бы иметь батарейное, поэтому обычные дисплеи отпадали. Нужен был именно e-ink-дисплей, и старая читалка была извлечена из забвения и немедленно разобрана»
Развлекаемся с электрофоретическими дисплеями
Развлекаемся с электрофоретическими дисплеями
👍47❤5👎4😁2
Энтузиаст под ником Geekerwan разогнал Nintendo Switch и запустил на консоли компьютерные игры из Steam, включая GTA V, Titanfall 2 и God of War.
Модер разблокировал загрузчик Nintendo Switch и сначала установил ОС Android, но интересных ему тайтлов на этой платформе оказалась не так много. После этого эксперт развернул на игровой консоли ОС Ubuntu, а также box64 и Wine, обновил графический драйвер для поддержки Vulkan 1.2 и библиотеки DXVK для полноценного запуска ПК-игр в Steam.
Geekerwan разогнал процессор и графику консоли на базе SoC Nvidia Tegra X1 со штатных 1 ГГц и 768 МГц до уровня 2,3 ГГц и 1,267 ГГц соответственно. Также энтузиастом была разогнана подсистема памяти консоли с 1600 МГц до 2500 МГц. Производительность Nintendo Switch увеличилась почти вдвое и приблизилась в тестах к устройствам на базе Snapdragon 865.
Тестирование некоторых игр показало, что на разогнанной Nintendo Switch на низких настройках графики можно запустить GTA V (5-10 FPS), God of War (10-15 FPS) и Titanfall 2 (15-30 FPS). В итоге оказалось, что у консоли с аппаратной платформой от 2017 года всё ещё есть потенциал для запуска различных даже современных игр, хотя и с низким показателем FPS, а также 2D или изометрических игр, не требующих мощного оборудования.
Модер разблокировал загрузчик Nintendo Switch и сначала установил ОС Android, но интересных ему тайтлов на этой платформе оказалась не так много. После этого эксперт развернул на игровой консоли ОС Ubuntu, а также box64 и Wine, обновил графический драйвер для поддержки Vulkan 1.2 и библиотеки DXVK для полноценного запуска ПК-игр в Steam.
Geekerwan разогнал процессор и графику консоли на базе SoC Nvidia Tegra X1 со штатных 1 ГГц и 768 МГц до уровня 2,3 ГГц и 1,267 ГГц соответственно. Также энтузиастом была разогнана подсистема памяти консоли с 1600 МГц до 2500 МГц. Производительность Nintendo Switch увеличилась почти вдвое и приблизилась в тестах к устройствам на базе Snapdragon 865.
Тестирование некоторых игр показало, что на разогнанной Nintendo Switch на низких настройках графики можно запустить GTA V (5-10 FPS), God of War (10-15 FPS) и Titanfall 2 (15-30 FPS). В итоге оказалось, что у консоли с аппаратной платформой от 2017 года всё ещё есть потенциал для запуска различных даже современных игр, хотя и с низким показателем FPS, а также 2D или изометрических игр, не требующих мощного оборудования.
👍47👎12🔥9❤2
Самые убедительные свидетельства существования Вселенной до Большого взрыва
В начале прошлого века благодаря работам Хаббла и других астрономов стало понятно, что Вселенная, во-первых, не ограничивается Млечным путём, а во-вторых, все галактики разлетаются друг от друга, как точки на поверхности надуваемого воздушного шарика. Но если шарик надувается, значит в прошлом он был меньше.
В случае со Вселенной это означает, что в прошлом она была меньше, а следовательно, горячее и плотнее. Чем дальше в прошлое, тем всё это сильнее проявляется, и в какой-то момент нашей мысленной экстраполяции назад по шкале времени мы доходим до единой точки — так называемой сингулярности.
В итоге у нас выстраивается логичная цепочка: сингулярность — Большой взрыв — Вселенная началась.
Но с последней трети XX века наблюдения начали выдавать нам больше вопросов, чем ответов. В результате в 1980-х космологи разработали теорию космической инфляции, согласно которой никакой сингулярности не было, а Большому взрыву предшествовало другое, особое состояние Вселенной — инфляционное. В XXI веке мы постепенно начинаем получать доказательства существования Вселенной до Большого взрыва.
В начале прошлого века благодаря работам Хаббла и других астрономов стало понятно, что Вселенная, во-первых, не ограничивается Млечным путём, а во-вторых, все галактики разлетаются друг от друга, как точки на поверхности надуваемого воздушного шарика. Но если шарик надувается, значит в прошлом он был меньше.
В случае со Вселенной это означает, что в прошлом она была меньше, а следовательно, горячее и плотнее. Чем дальше в прошлое, тем всё это сильнее проявляется, и в какой-то момент нашей мысленной экстраполяции назад по шкале времени мы доходим до единой точки — так называемой сингулярности.
В итоге у нас выстраивается логичная цепочка: сингулярность — Большой взрыв — Вселенная началась.
Но с последней трети XX века наблюдения начали выдавать нам больше вопросов, чем ответов. В результате в 1980-х космологи разработали теорию космической инфляции, согласно которой никакой сингулярности не было, а Большому взрыву предшествовало другое, особое состояние Вселенной — инфляционное. В XXI веке мы постепенно начинаем получать доказательства существования Вселенной до Большого взрыва.
👍23👎8❤3😁1
Энтузиаст Торбьерн Джемандер использовал Raspberry Pi Zero 2 W, чтобы запустить плеер YouTube на ретро-компьютере Commodore PET 600.
Он подсоединил BlixTerm к пользовательскому порту расширения PET 600. Обычно этот порт использовался для подключения электроники (например, GPIO Raspberry Pi).
Raspberry Pi Zero 2 W подключается к YouTube через Wi-Fi. Оттуда он загружает видео, а затем преобразует его в поток 640x200. Он обрабатывается для создания сетки символов 80x25 с использованием символьного ПЗУ для преобразования кода ASCII в точечный матричный шаблон, который можно отобразить на экране.
BlixTerm управляет пользовательский программный файл, который, похоже, запускается с BASIC. Запуск программы вызовет меню, в котором нужно выбрать программу просмотра YouTube, а затем ввести URL-адрес видео. Pi подключается к YouTube и буферизует видео, а затем оно передаётся в виде символов ASCII/PETSCII на экран.
Чтобы достичь скорости 30 кадров в секунду, Джемандер использовал специальную интерфейсную карту для быстрой загрузки кадров из Raspberry Pi Zero 2 W в видеопамять PET 600. Узким местом в этом процессе выступил ЦП с частотой 1 МГц, который может выполнять только несколько инструкций машинного кода в каждом шестнадцатимикросекундном окне.
Commodore Джемандера оснащён процессором MOS 6502, работающим на частоте 1 МГц, и 32 КБ ОЗУ в стандартной комплектации. При этом Raspberry Pi Pico имеет двухъядерный процессор, 284 КБ ОЗУ и может легко эмулировать 8-битные машины 1970-х и 80-х годов.
Он подсоединил BlixTerm к пользовательскому порту расширения PET 600. Обычно этот порт использовался для подключения электроники (например, GPIO Raspberry Pi).
Raspberry Pi Zero 2 W подключается к YouTube через Wi-Fi. Оттуда он загружает видео, а затем преобразует его в поток 640x200. Он обрабатывается для создания сетки символов 80x25 с использованием символьного ПЗУ для преобразования кода ASCII в точечный матричный шаблон, который можно отобразить на экране.
BlixTerm управляет пользовательский программный файл, который, похоже, запускается с BASIC. Запуск программы вызовет меню, в котором нужно выбрать программу просмотра YouTube, а затем ввести URL-адрес видео. Pi подключается к YouTube и буферизует видео, а затем оно передаётся в виде символов ASCII/PETSCII на экран.
Чтобы достичь скорости 30 кадров в секунду, Джемандер использовал специальную интерфейсную карту для быстрой загрузки кадров из Raspberry Pi Zero 2 W в видеопамять PET 600. Узким местом в этом процессе выступил ЦП с частотой 1 МГц, который может выполнять только несколько инструкций машинного кода в каждом шестнадцатимикросекундном окне.
Commodore Джемандера оснащён процессором MOS 6502, работающим на частоте 1 МГц, и 32 КБ ОЗУ в стандартной комплектации. При этом Raspberry Pi Pico имеет двухъядерный процессор, 284 КБ ОЗУ и может легко эмулировать 8-битные машины 1970-х и 80-х годов.
👍48🔥10👎7❤2
История компьютерных стратегий. Часть пятая. Теленовости на игровом экране, или Как появился Command & Conquer
В прошлой части мы вспоминали о рождении «Warcraft: Orcs & Humans» от Blizzard: «незаконнорождённого», но прямого и явного потомка Dune II. Но у «Дюны» был и прямой наследник — почти сразу после её выпуска в Westwood Studios стали думать о том, как можно развить заложенные в ней идеи и механики на новом уровне. Именно из этой работы напрямую выросла франшиза Command & Conquer — включая и более популярную в России по понятным причинам её подсерию Red Alert. Если Warcraft был фэнтезиен до мозга костей, то в первой Command & Conquer, в отличие от последующих частей, отчётливо отразился реальный мир начала 90-х годов. Точнее, то, как он выглядел для американского телезрителя.
В прошлой части мы вспоминали о рождении «Warcraft: Orcs & Humans» от Blizzard: «незаконнорождённого», но прямого и явного потомка Dune II. Но у «Дюны» был и прямой наследник — почти сразу после её выпуска в Westwood Studios стали думать о том, как можно развить заложенные в ней идеи и механики на новом уровне. Именно из этой работы напрямую выросла франшиза Command & Conquer — включая и более популярную в России по понятным причинам её подсерию Red Alert. Если Warcraft был фэнтезиен до мозга костей, то в первой Command & Conquer, в отличие от последующих частей, отчётливо отразился реальный мир начала 90-х годов. Точнее, то, как он выглядел для американского телезрителя.
👍29👎6❤3
«Давно хотел написать что-нибудь для Хабра, и вот этот момент настал. Статья о том, как я сделал электронное переключение для планетарной втулки Rohloff и запитал его, а также свет и USB-зарядку от динамо-втулки»
Электрификация туристического велосипеда
Электрификация туристического велосипеда
👍33👎6🔥2😁2❤1