Обновить
26
0
hopheilalalei@m0sk1t

hahacker

Отправить сообщение

Понимая реактивные системы: асинхронные вычисления

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели2.2K

Сегодня мы продолжим разбирать базовые концепции реактивности, изложенные Райаном Карниато (Ryan Carniato), автором SolidJS. Если ранее мы затрагивали производные и их планирование, то сегодня разберём более сложную тему — асинхронность в контексте реактивного программирования. Эта концепция добавляет новый уровень сложности, поскольку требует учёта динамических процессов, выходящих за рамки синхронных операций.

Читать далее

Откуда берется седина? Мы наконец знаем ответ

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели90K

Мне лично это удивительно, но оказывается, что до последних пор мы не знали, как появляются седые волосы. Мы просто видели, что у некоторых людей седина появляется чаще и раньше. Почему? Что за это отвечает? Есть ли способы с этим бороться, кроме пересадки волос?

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

Мы успели слетать в космос, походить на Луне, и уже трижды побывали на самом дне Марианской впадины. А тайна седых волос, которые растут почти у каждого на голове, была разгадана только два года назад.

Объяснение тут довольно непростое (отсюда тег “Сложно” в этой статье, если что).

Читать далее

Ты решаешь LeetCode неправильно. Как пройти любое собеседование в BigTech?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели33K

Привет! Я ex. Разработчик из VK, сейчас принял оффер от Ozon'a, и за последний месяц я прошел собеседования в 4х бигтех компаниях: Ozon, Avito, Wildberries и T-Bank и везде дошел до финалов/офферов. Пообщавшись во многих группах, посвященных Go-разработке, я понял, что много умных ребят готовясь к собесам не имеют четкой системы подготовки, и из-за этого заваливают технические собесы в компании. Не претендуя на истину в последней инстанции, предлагаю свою методику подготовки к собесам, которая помогла мне и моим знакомым подготовиться к техническим собесам во все популярные ру-бигтехи.

Читать далее

Как превратить старый ноутбук в домашний сервер для хранения данных и удаленной работы

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели23K

Делюсь личным опытом превращения старенького ноутбука ASUS X552CL (Intel i5-5200U, 12 ГБ RAM, SSD + HDD), выпущенный 12 лет назад, в полноценный домашний сервер под Linux Ubuntu Server 24.04.5 LTS.

Получилось что-то вроде мини-датацентра на дому — он хранит файлы на жёстком диске с бэкапом в облаке, Docker-контейнеры крутит для дата-аналитики и даже имеет легковесный интерфейс XFCE, при этом есть потенциал к росту до терминала для управления умным домом. Расскажу, почему было решено отказаться от WSL на рабочем ноутбуке Huawei, как настроить удалённый доступ через xRDP (чтобы не было чёрного экрана), запустить там Docker, сборку Superset и JupyterLab с Anaconda (с разными версиями Python), прикрутить Samba-шару для домашнего использования и организовать бэкап в облачном хранилище. В этой статье будет немного технических деталей, щепотка шуток и парочка мемов с советскими плакатами.

Читать далее

Плеер для слабовидящих на ESP32

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели4K

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

Читать далее

Балансировка нагрузки серверов: уходим от Round Robin

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели3.5K

Финансы, ритейл, соцсети, облака – везде свои тараканы, но требования схожи: чтобы летало и не падало. Балансировка нагрузки – это как фундамент для небоскреба. Криво зальешь – все рухнет. И вот тут стандартный Round Robin, при всей его простоте, часто оказывается тем самым кривым фундаментом.

Читать далее

Быстрое приближённое умножение и деление чисел с плавающей точкой

Уровень сложностиСложный
Время на прочтение27 мин
Охват и читатели4.8K

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

Читать далее

Безумство миссии «Артемида» от НАСА

Уровень сложностиСредний
Время на прочтение29 мин
Охват и читатели7.7K

Чуть более 51 года назад с мыса Канаверал взлетела ракета с тремя астронавтами и космическим автомобилем. После трехдневного полёта на Луну двое астронавтов забрались в веретенообразный посадочный аппарат и совершили короткий спуск на поверхность, где ещё три дня собирали камни и дрифтовали на космическом автомобиле. Затем они вернулись в корабль, присоединились к своему коллеге на орбите и отбыли на Землю. Их капсула упала в южной части Тихого океана 19 декабря 1972 года. Эта миссия, «Аполлон-17», станет последней на сегодняшний момент, когда люди выходили за пределы низкой околоземной орбиты.

Если верить НАСА, в конце 2026 года американцы снова будут ходить по Луне. Эта миссия называется «Артемида-3», и её лунный сегмент очень похож на «Аполло-17» без космического корабля. Два астронавта высадятся на Луну, соберут камни, сделают сэлфи и примерно через неделю после посадки присоединятся к своим коллегам на орбите, чтобы вернуться на Землю.

Но если «Аполлон-17» стартовал на одной ракете и обошёлся в 3,3 миллиарда долларов (в пересчёте на доллары 2023 года), то первая посадка «Артемиды» предполагает десяток или два запусков тяжёлых ракет и стоит столько, что НАСА отказывается называть общее число (один ветеран бюджетирования НАСА оценивает её в 7-10 миллиардов долларов).[1] Одноразовый посадочный аппарат для этой миссии будет самым тяжёлым из когда-либо летавших космических аппаратов, и все же научный результат миссии — маленькая коробка камней — будет меньше, чем то, что прилетело домой на «Аполлоне-17». И весь план зависит от технологий, которые ещё не изобретены и станут надёжными и практичными в течение следующих восемнадцати месяцев.

Читать далее

Я сделал самую удобную либу для Go-конфига

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.4K

Рассказываю, какие недостатки традиционного подхода к конфигурации я увидел и как библиотека zerocfg может упростить жизнь разработчикам на Go.

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

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

Читать далее

Покажи свой стартап/пет-проект (май)

Время на прочтение1 мин
Охват и читатели4.1K

Делимся в комментах ссылками на свои проекты, получаем обратную связь, знакомимся и исследуем чужие продукты! 

Читать далее

Как специально написать чрезвычайно медленный код

Время на прочтение7 мин
Охват и читатели11K

Раз в несколько лет я устраиваю в нашей исследовательской группе челлендж «Напиши медленный код». Цель – написать код с минимально работоспособным количеством инструкций на цикл (IPC) с условием, чтобы этот код выполнялся на заранее подобранном сервере с архитектурой x86.

На первый взгляд, это абсурд В сущности, так и есть. Однако есть в этой безумной задаче и некоторая методическая ценность. Инженеры, проектирующие процессоры, прилагают все усилия ради достижения наивысшего возможного IPC… даже для очень неэффективного кода. Так и задумано, что писать код с очень высоким показателем IPC непросто. Следовательно, челлендж «Напиши медленный код» оказывается заковыристым упражнением, вынуждающим задумываться, как именно работает процессор, и как применить себе на пользу его острые углы.

Читать далее

ACID, BASE, CAP: Фундамент архитектуры распределенных систем

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.4K

Современная разработка ПО – это почти всегда про распределенные системы. Микросервисы, облака, глобальный охват – все это стало нормой. Но за красивыми диаграммами и модными словами скрывается фундаментальная сложность. Как заставить кучу разрозненных компонентов работать вместе надежно? Как гарантировать, что данные, размазанные по сети, останутся корректными и доступными? Эта головная боль знакома любому, кто проектировал системы сложнее калькулятора, будь то в требовательном финтехе, динамичном e-commerce или где-либо еще.

И вот тут на помощь (или, скорее, для обозначения поля боя) приходят три понятия: ACID, BASE и теорема CAP. Может показаться, что это сухая теория, но игнорировать их – все равно что выходить в море без компаса и карты. Эти концепции описывают фундаментальные компромиссы, с которыми приходится иметь дело каждому архитектору. Понимание их – не гарантия успеха, но его необходимое условие. Давайте погрузимся в их суть и посмотрим, как они влияют на реальные архитектурные решения.

Читать далее

Для защиты своего сервера я использую zip-бомбы

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели59K

Основной объём трафика в вебе возникает из-за ботов. По большей части, эти боты используются для обнаружения нового контента. Это читалки RSS-фидов, поисковые движки, выполняющие краулинг вашего контента, а сегодня и боты ИИ, собирающие контент, чтобы скармливать его LLM. Но есть и зловредные боты. Их создают спамеры, скрейперы контента и хакеры. На моём прежнем месте работы бот обнаружил уязвимость Wordpress и встроил в наш сервер зловредный скрипт, а затем превратил машину в ботнет, используемый для DDOS. Один из моих первых веб-сайтов был полностью выдавлен из поиска Google из-за ботов, генерирующих спам. Мне нужно было найти способ защиты от этих ботов, поэтому я начал пользоваться zip-бомбами.

Читать далее

Очень простая структура данных, с помощью которой решаются сложные задачи

Время на прочтение7 мин
Охват и читатели13K

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

Читать далее

Пиши простой код

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели34K

И это решит 95% проблем типичного стартапа. Как-то так повелось, что по всему СНГ и его окрестностям на работу набирают зумеров с колоссальным опытом в три года, и они начинают создавать идеальные архитектуры. Да, каждый из вас, как только получает возможность взять на себя хоть малейшую ответственность, сразу вспоминает все прочитанные и не прочитанные книги и пилит свою уникальную архитектуру, непохожую ни на что.

Читать далее

Релятивистская трассировка лучей

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели7.5K

В этой статье я покажу как можно самому, бесплатно и без смс, нарисовать черную дыру при помощи OpenGL, в полном соответствии с ОТО.

Для этого, мы сначала выведем уравнения движения лучей света, напишем интегратор Рунге-Кутты на GLSL, и наконец, объединив одно с другим, получим фрагментный шейдер, который вычисляет путь лучей, отправленных из камеры назад во времени.

Читать далее

Культура ремонта: как энтузиасты дают вторую жизнь электронике

Время на прочтение11 мин
Охват и читатели8.3K

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

Меня вдохновляют статьи на Хабре о том, как энтузиасты находят на барахолках старые гаджеты и ремонтируют их или дают новую жизнь поломанным устройствам. Они делают это ради собственного удовольствия, в первую очередь, но при этом дают хороший пример всем остальным. Люди по всему миру даже объединяются в сообщества, открывают мастерские, делятся знаниями и противостоят системе, в которой поломка — это повод купить новое, а не попытаться восстановить старое.
Читать дальше →

Вы не знаете CSS. Мои вопросы о CSS с ответами. Часть 3

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели3.6K

Хабр, привет! Я стабильно пишу здесь о CSS. Мне радостно, что моя работа вам полезна. Но хочется что-то нового. Вызывающего споры. В общем, я пришёл к формату статей в виде вопрос-ответ. Вопросы будут те, что я спрашиваю на интервью. Так что у вас будет повод сказать: «А зачем это надо?».


При составлении вопросов я хотел проверить понимание базовых моментов, которые есть в вёрстке любого проекта. Ещё будут вопросы на знание более редких аспектов и «новинок» в CSS. В общем, я хочу вас завалить, чтобы казаться супер умным! (здесь ирония).


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


Так, вы готовы? Давайте посмотрим, что я вам подготовил.

Читать дальше →

Как мы коня в пальто одевали. Neural Image Editing: Часть 1 — от инпейнтинга до DDIM Inversion

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели1.6K

Что делать, если хочешь отредактировать картинку?

На фотошоп не хватает знаний, времени или сил. Inpaint-модели подводят. Конструкторы вроде ComfyUI требуют столько всего, что проще уж фотошопу научиться. Как было бы здорово показать картинку нейросети и написать: «Пожалуйста, смени юбку на джинсы. И сзади ещё одну клумбу добавь… И погода пусть солнечной будет!»

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

Мастера фотошопа, оцените!

Dockerfile, только для LLM

Время на прочтение7 мин
Охват и читатели3.4K

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

Чаще всего я настраивал это все на уровне кода, но, некоторый период назад наткнулся на Modelfile и решил изучить и попробовать его, в ходе экспериментов наткнулся на реально большое число неожиданностей и решил таки написать о нем тут подробнее :)

Modelfile позволяет упаковывать модели и формировать готовых агентов. В нем оказалось много реально неожиданного поведения, и одновременно с этим есть сложности и странности. Однако с его помощью можно взять множество разных моделей из того же Hugging Face и запустить под Ollama, а самое важное, удобства в тюнинге (или же наоборот отупливании модели :D ).

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность