Pull to refresh
27
0
hopheilalalei @m0sk1t

hahacker

Send message

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

Level of difficultyEasy
Reading time3 min
Views86K

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

Читать далее

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

Reading time7 min
Views16K

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Views53K

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

Читать далее

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

Level of difficultyHard
Reading time14 min
Views13K

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

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

Читать далее

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

Reading time11 min
Views14K

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

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

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

Level of difficultyMedium
Reading time8 min
Views5.5K

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


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


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


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

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

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

Level of difficultyMedium
Reading time15 min
Views2.6K

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

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

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

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

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

Reading time7 min
Views4.9K

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

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

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

Читать далее

Почему COUNT(*) быстрее, чем COUNT(col) — и когда это не так

Level of difficultyEasy
Reading time4 min
Views23K

Привет, Хабр!

Сегодня поговорим про одну из тех тем, что вроде бы тривиальна, но до последней капли грязи тащит за собой внушительный пласт вопросов. Речь пойдёт про COUNT(*) и COUNT(col) в PostgreSQL.

Читать далее

Какие они — лучшие программисты?

Level of difficultyMedium
Reading time7 min
Views27K

За свою жизнь я повстречал немало разработчиков и недавно задался вопросом: «А что делает разработчика одним из лучших? Что у таких людей есть общего?»

В надежде, что эти мои рассуждения послужат для кого-то вдохновением, я описал черты, которые встречал у большинства исключительных людей в нашей сфере. Лично я бы хотел, чтобы у меня был такой список, когда я только начинал. Следуя этому пути, я бы сэкономил уйму времени.
Читать дальше →

Жгём-шьём контроллеры и кормим ядерную подсветку

Level of difficultyEasy
Reading time37 min
Views13K

Четыре сгоревших STM32, три блока питания, 90 ампер, синяя сосиска, 16 бубенчиков и электродиффузия — в этой части кормим подсветку для трёх теликов, пишем с нуля протокол адресных светодиодных лент WS2812b и обматываемся коаксиальными проводами.

Осторожно, трафик!

GRASP: почему настоящая архитектура начинается не с SOLID

Level of difficultyMedium
Reading time12 min
Views49K

Хочу начать с личной предыстории. Давным‑давно, как и многие из вас, я читал умные книжки: «Чистый код» и «Чистая архитектура» Роберта Мартина, «Совершенный код» Стива Макконнелла и другие.

Также не обошли меня и классические принципы проектирования — SOLID, KISS, DRY — и, думаю, каждый читатель добавит сюда свои.

Безусловно, это всё важные и фундаментальные вещи.

Но однажды на горизонте появилось DDD — предметно‑ориентированное проектирование в изложении Эрика Эванса. Именно его «синяя книга» стала культовой и задала язык для архитектурного мышления.

Позже я открыл и «красную книгу» Вона Вернона, где DDD уже рассматривался с точки зрения практической имплементации: архитектура, код, реальные подходы в проектах.

Читая Эванса, рассматривая его диаграммы классов и примеры кода, я всё думал: как он это делает?

Самым большим открытием для меня стало то, что книга DDD хоть и показывает стратегические и тактические приёмы — агрегаты, объекты‑значения, спецификации, фабрики и т. д. — но не учит проектировать саму предметную область.

Складывалось ощущение, что мы это уже откуда‑то должны были знать. А откуда — остаётся загадкой.

Читать далее

«Это база», — сказал тимлид и украл мою идею

Level of difficultyEasy
Reading time6 min
Views75K

Год назад я сменил работу и попал в настоящий ад. Я пишу это не для жалоб, а чтобы помочь тем, кто оказался в похожей ситуации. Спойлер: однозначного решения нет, но есть способы минимизировать ущерб.

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

Читать далее

Главный секрет успеха языков программирования

Level of difficultyEasy
Reading time11 min
Views57K

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

Исходную статью найти я не смог, но захотелось перепроверить факты из той статьи и я был удивлен тем, что я обнаружил! Не могу держать это в тайне, нельзя допустить, чтобы такое важное знание было утеряно!

Узнать секрет

Базовый набор тимлида: от каких убеждений стоит отказаться, чтобы команда тебя не возненавидела

Reading time5 min
Views37K

Привет! Меня зовут Артем Валевич, последние три года я тимлид в AGIMA. За это время я составил для себя что-то вроде тимлидского кодекса — список небольших правил и принципов, которые помогают мне в работе. Правила эти я вывел разными способами: что-то установил опытным путем, что-то подсказали старшие коллеги, что-то вычитал в статьях и книгах.

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

Читать далее

ООП: худшее, что случалось с программированием

Level of difficultyHard
Reading time20 min
Views106K

В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.

Читать далее

Математика, нужна ли ты программисту?

Reading time11 min
Views5K

Недавно тут была опубликована пятничная статья о математике. Автор правильно сделал, что не поставил у неё тег «математика» потому что она не про математику. Хотелось бы исправить этот недостаток, написав дополняющую статью о программировании без тега «программирование».

Интересно, насколько строгая тут модерация

Книги по базам данных, которые стоит прочитать в 2025 году

Reading time5 min
Views35K

Всем привет! Это Миша Степнов, руководитель центра R&D Big Data в МТС Диджитал.

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

Чтобы модели не «предвзято учились» и не «выдавали мусор», нужно обеспечивать непрерывные R&D-процессы по управлению данными: от сбора и очистки до хранения и быстрых итераций над ними. И тут возникает важное понятие AI Ready Data: все, что касается доступности данных, их формата и актуальности, должно быть продумано заранее и поддерживаться на высоком уровне качества.

Умение грамотно управлять данными — это уже не «хороший тон», а конкурентное преимущество.  Но как прокачивать навыки работы с ними? Один из способов — читать правильную литературу. Так что в этом посте поделюсь списком книг о базовых принципах реляционных баз данных и SQL, продвинутых инструментах и языках программирования и многом другом. Забирайте в закладки, а при желании дополняйте подборку в комментариях.

Читать далее

Мы все должны уходить с работы вовремя. Вот почему

Level of difficultyEasy
Reading time12 min
Views111K

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

Читать далее

Автопилот на Raspberry Pi для тракториста за 300$

Reading time7 min
Views15K


Автопилот больше не прерогатива крупных агрохолдингов с многомиллионными бюджетами. Мы разрабатываем доступную по цене и простую в сборке систему, которую может собрать и установить любой фермер. Всё, что нужно — Raspberry Pi 4 или 5, электромотор, несколько датчиков и немного инженерной смекалки.
Мы делаем технологии доступнее и теперь каждый фермер может превратить свой трактор или комбайн в умного помощника без переплаты — компоненты для сборки автопилота TractorPilot будут стоить от 300$ (программное обеспечение бесплатное), вместо 5000-10000$ за готовую систему, которая при этом ещё и будет уступать TractorPilot по функциональным возможностям.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity