Решил наконец погрузиться в электронику как хобби. Изначальной целью была самодельная игровая консоль, но из-за сложностей я начал с более простого проекта — светодиодного брелка на микроконтроллере CH32V003F4P6. Почему именно он? Это дешевая (около 20 рублей за штуку) и доступная микросхема с 20 выводами — достаточно, чтобы управлять матрицей 8x8 без драйверов вроде MAX7219.Возможно одним из первых на эту мысль меня натолкнула статья от Terrabyte про мини-консоль, в которой я узнал, что платы …
Итак четвёртая часть мучительной попытки покинуть прохладный офис и перейти в совершенно несвойственную АйТи специалистам профессию. Дауншифтинг на максималках от парня, который любит гонзо-журналистику, анализируя всё на своей шкуре. Сегодня мы завершим профосмотр и, на лакомое, попробуем ознакомиться с трудовым договором ДО его подписания. А также кодексом этики Завода, коллективным трудовым договором и прочими бумагами.Так надо... вольная интерпритация моего текста с помощью ИИКраткое содерж…
Самая жирная биткойн-головоломкаНачалоНачало этой истории напоминает сюжет фантастического детектива.27 декабря 2015 года пользователь Bulista с форума Bitcointalk (тот самый легендарный форум, где общался Сатоши Накамото) написал пост о том, что он создал сканер адресов биткойна.Суть работы сканера заключалась в том, что он перебирал все приватные ключи биткойна, которые по сути представляют из себя числа от 1 до 115792089237316195423570985008687907852837564279074904382605163141518161494336 (э…
ДИСКЛЕЙМЕР: Статья написана автором блога на основе интервью с О.Кивокурцевым, сооснователем робототехнической компании.Я всегда любил Терминатора. В детстве мы надевали чёрные очки и с чувством говорили: «Hasta la vista, baby» (с исп. — «До свидания, детка») Но в 2020 году любовь кончилась. Тогда на меня подал в суд Арнольд Шварценеггер. Всё потому, что мы сделали человекоподобного робота с лицом Шварца и повезли его на выставку в Нью-Йорк. Арни увидел, ему не понравилось, и его команда потреб…
Вполне логично предположить, что сократитель ссылок — довольно простой сервис как с точки зрения пользователя, так и под капотом. Но что, если, взяв за основу такую простую задачу, построить целую распределенную систему?Мой шортенер начинался как простая практика с Go и gRPC после всех ОГЭ :-), где должно было быть 3 простеньких сервиса: inline тг бот, API gateway и ядро. Но с каждым днем идей все больше, энтузиазм растёт, я стал делать упор на высокие нагрузки, и постепенно мини-практика начал…
go langВведениеВ данной статье будет рассмотрена практическая интеграция MongoDB с веб-приложением на Go, построенным на базе маршрутизатора Gorilla Mux. Цель — получить минимальный, но функциональный REST API с поддержкой CRUD-операций над сущностью Book, при этом соблюдая лучшие практики структурирования кода.Материал рассчитан на разработчиков, знакомых с Go, HTTP API и основами работы с базами данных.Выбор стекаGo — компилируемый язык с лаконичным синтаксисом, встроенной поддержкой параллел…
В этой серии статей мы отправимся в путешествие по миру пользовательских хуков React, открывая для себя их огромный потенциал для улучшения ваших проектов разработки. Сегодня мы сосредоточимся на хуке «useMediaQuery», одном из многих тщательно разработанных хуков, доступных в коллекции пользовательских хуков React. Github: https://github.com/sergeyleschev/react-custom-hooks import { useState, useEffect } from "react" import useEventListener from "../useEventListener/useEventListen…
Вы когда-нибудь оказывались по уши в JavaScript‑приложении, следуя за цепочкой вызовов require() как по хлебным крошкам, чтобы понять, как всё связано? Один модуль импортирует другой, тот тянет глобальную переменную, и вот вы уже гоняетесь за ссылками по всему коду, просто чтобы протестировать один компонент. Это как готовить блюдо, где каждый ингредиент спрятан в отдельном шкафу — вы тратите половину времени на поиски, а не на готовку. Именно эту проблему и решает dependency injection (внедрен…
Всем привет! Меня зовут Дмитрий, и я руководитель фронтенд-разработки в компании Интелси.Сегодня хочу рассказать о принципе единственной ответственности (Single Responsibility Principle) — первом из пяти принципов SOLID, сформулированных Робертом Мартином в его книге "Agile Software Development: Principles, Patterns, and Practices". Суть этого принципа звучит так: «Класс должен иметь только одну причину для изменения» (A class should have only one reason to change).Если вы скажете, что …