habrahabr
Неизвестно полезный CSS

CSS не отстаёт от JavaScript. Постоянно развивается. Классно же. Мне особенно радостно видеть, как старые задачи, которые я решал при помощи костылей, теперь можно сделать при помощи одного свойства. Только многие фишки неизвестны широкому кругу разработчиков. Честно говоря, некоторые я сам узнал недавно. В любом случае так дальше нельзя. Надо исправлять ситуацию! Я собрал фишки, которые могут быть полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте …

  • суббота, 9 декабря 2023 г. в 00:00:22
habrahabr
Видеокарта VGA для микроконтроллера. Часть 2. От идеи до мелкой серии

В первой части была описана идея видеокарты VGA для простого микроконтроллера (или ардуины), с помощью которой можно выводить информацию на стандартный монитор с интерфейсом VGA даже с самых слабых и медленных ядер. Карта, сердцем которой является высокоскоростная ПЛИС, берет на себя все скоростные и критичные к таймингам операции. Идея была обкатана на макете и показала свою жизнеспособность. Однако для ее реализации «в железе», а тем более в серии, необходимо пересмотреть несколько момен…

  • суббота, 9 декабря 2023 г. в 00:00:21
habrahabr
Совершенные числа. Удивительная история поисков сверкающих звёзд в бесконечном числовом мире

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

  • суббота, 9 декабря 2023 г. в 00:00:20
habrahabr
Марсоход и моя ошибка на 500 миллионов долларов

Кажется, что некоторые ошибки хуже, чем смерть. Февральским вечером 2003 года я начал процедуру в Лаборатории реактивного движения НАСА в Пасадене, штат Калифорния. Я натянул костюм для чистой комнаты и прошёл в воздушный шлюз High Bay 1 здания 179, где создавались почти все межпланетные космические аппараты НАСА, начиная с программы «Рейнджер», делавшей снимки Луны в 1960-х. Спустя годы труда тысяч инженеров, техников и учёных оставалось всего две недели до того, как марсоход «Спирит» будет…

  • суббота, 9 декабря 2023 г. в 00:00:20
habrahabr
Как я сделал игру на ChatGPT

По профессии я продакт в IT. Но в душе я ИИ-энтузиаст и геймер. Мне интересно всё, связанное с ИИ и нейросетями. Я ни в коем случае не профессиональный геймдизайнер, но иногда делаю небольшие игры. Так что игра в ChatGPT была вопросом времени.Немного дисклеймеровЧто значит «Игра на ChatGPT»В интернете много статей и видосов, о том как ChatGPT помогает делать игры: придумывает идею, рисует концепт-арт, пишет диалоги. Иногда даже пишет код игры на каком-то языке. Так вот у меня тут вообще не об …

  • суббота, 9 декабря 2023 г. в 00:00:19
golang
Python лёгкий. Go простой. Простой != лёгкий

Python и Go отличаются по свойствам, и поэтому могут дополнять друг друга.Существует распространённое заблуждение, будто простой и лёгкий — это одно и то же. В конце концов, если некий инструмент легко использовать, то и его внутреннее устройство должно быть просто понять, разве не так? И обратное тоже верно, да? На самом деле, всё как раз наоборот. В то время, как по духу оба понятия указывают на одно и то же (итог со стороны кажется лёгким), на практике такая поверхностная лёгкость достигает…

  • суббота, 9 декабря 2023 г. в 00:00:17
golang
Как настроить gRPC на примере микросервисов на Ruby и Go

В этой статье мы хотим поделиться личным опытом, как у нас получилось организовать взаимодействие микросервисов на Ruby и Go на основе gRPC. Мы расскажем:о преимуществах gRPC;об особенностях работы с протоколом;о трудностях, с которыми может столкнуться начинающий разработчик.СодержаниеЧто же такое gRPC?gRPC на практикеБиблиотеки gRPC для Ruby и GoНастройка proto-файлаРеализация методовЗапуск клиента и сервераОсобенности gRPCПодведем итогиЧто же такое gRPC?gRPC - это система удалённого вызова …

  • суббота, 9 декабря 2023 г. в 00:00:17
golang
Своё кастомное межсервисное взаимодействие с блекджеком и gRPC

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

  • суббота, 9 декабря 2023 г. в 00:00:16
javascript
Browsing Context, WindowProxy, Window

Каждый Frontend-разработчик знает, что такое объект Window. С самими объектом, вроде бы, все понятно. Но при детальном рассмотрении оказывается, что браузер никогда не отдает этот важнейший глобальный объект напрямую. В этой статье я предлагаю разобраться в спецификации HTML и в том, как именно ведет себя браузер в части глобального контекста.Начать стоит с того, что в документе может быть несколько глобальных объектов Window (например, iframe на странице). Более того, самих документов тоже мо…

  • суббота, 9 декабря 2023 г. в 00:00:14