Самая жирная биткойн-головоломкаНачалоНачало этой истории напоминает сюжет фантастического детектива.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).Если вы скажете, что …
Привет! Я — Александр Дудукало, автор базового курса по JavaScript. Если вы читаете эту статью, значит, вероятно, уже знакомы с одной из основных логических конструкций в JavaScript — if-else. Если нет, рекомендую сначала прочитать предыдущий материал, где я подробно разобрал эту тему.В этой же статье мы поговорим о других способах управления логикой в коде — тернарном операторе и конструкции switch. Да, звучит сложно и, возможно, пугающе. Но я уверяю, все очень просто. В итоге вы узнаете, когд…
Сколько лет уже кто-то говорит: «А можно, чтобы оно работало без интернета и ставилось на домашний экран?» И каждый раз после этой фразы начинается медленный спуск в персональный ад — ты лезешь в документацию по PWA, где всё разваливается на ровном месте, service worker живёт своей жизнью, кеш то работает, то ломается, App Router рушит весь твой кастомный пайплайн, а пользователи сидят на старых версиях, потому что вручную обновлять им, конечно, влом.Словом, если ты когда-то пробовал прикрутить…