Как стать автором
Обновить
-2
0

Пользователь

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

Тюнинг старого тетриса

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

Недавно я прикупил себе старенький и оригинальный — «тот самый» тетрис, а дальше меня затянуло. Собственно, нормальная ситуация. Однако, мне пришлось столкнуться с одной неприятной проблемой: если во время игры — скорость (ака сложность) повышается выше двух пунктов, то играть становится совершенно невозможно, а скоростей-то много…

Понятно, что идёт какая-то ошибка в подборе частоты задающего генератора в контроллере тетриса, и это даже слышно на слух, так как мелодия играет уж больно быстро. Потому, мне пришла в голову мысль, а возможно ли как-то внести аппаратные изменения в устройство, так чтобы понизить частоту контроллера для корректной игры? Сам спросил — сам ответил.
Читать дальше →
Всего голосов 69: ↑86 и ↓-17+103
Комментарии51

Самые полезные библиотеки JS для красивых анимаций

Время на прочтение5 мин
Количество просмотров12K

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

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

Мы поговорим о библиотеках JavaScript упрощающих добавление этих анимаций для разработчиков, делая приложения более приятными.

Приятного прочтения :-)

Читать далее
Всего голосов 29: ↑29.5 и ↓-0.5+30
Комментарии6

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров17K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan, Bitmap Heap Scan, Index Scan и почему Index Only Scan бывает нехорош, чем отличается Materialize от Memoize, а Gather Merge от "просто" Gather.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2).

Читать далее
Всего голосов 33: ↑32.5 и ↓0.5+32
Комментарии4

Отопление мегаполиса от ТЭЦ — успешная реализация коммунистической утопии «общества всеобщего равенства»

Время на прочтение19 мин
Количество просмотров14K

Отопление мегаполиса Москва от ТЭЦ. Массовая застройка «спальных районов» - как успешная реализация коммунистической утопии «общества всеобщего равенства».

 

В предыдущей статье были рассмотрены вопросы  генерации и распределения электричества в большой стране.

https://habr.com/ru/articles/800317/

Теперь же рассмотрим вопрос теплоснабжения мегаполиса Москва в увязке с электрогенерацией на ТЭЦ.

Россия – это единственная страна в мире, где присутствует стабильное отопление в жилье, причём централизованное на весь город.

Центральное отопление в мегаполисе- это весьма яркое и важное достижение социализма в СССР, обеспечившее высокий стандарт качества  жизни широким слоям населения.

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

 

Как устроена городская система теплоснабжения в мегаполисе Москва.

В качестве основного источника тепла на отопление и нагрев ГВС в Москве используются городские ТЭЦ и в дополнение к ним отдельные районные или индивидуальные котельные.(см.рис.1)

 

Читать далее
Всего голосов 53: ↑44 и ↓9+35
Комментарии190

Внутри S3. Доклад Яндекса

Время на прочтение12 мин
Количество просмотров17K

Привет, я Паша, разработчик в Yandex Infrastructure, и я катаю гусей. С 2019 года я развиваю S3-хранилище как для внутренних пользователей Яндекса, так и для клиентов Yandex Cloud. А «гусём» называется наш бэкенд S3 API: он написан на Go, а из словосочетания Go + S3 получился goose. Возможно, вы также слышали про GeeseFS — это наш высокопроизводительный FUSE-клиент для S3. C его помощью вы можете на своём ноутбуке или виртуалке подмонтировать папку, которая будет работать с бакетом S3. 

Для чего нам «гуси» и прочая орнитология? Яндексовая инсталляция хранилища S3 хранит миллиарды файлов. Это огромные объёмы данных, а также метаданных. Для хранения метаданных мы научились использовать умное шардирование, и теперь сами управляем распределением занятого места и нагрузкой между шардами баз.

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

Читать далее
Всего голосов 82: ↑81 и ↓1+80
Комментарии52

C++26 — прогресс и новинки от ISO C++

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

Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26.

До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи:

  • запрет возврата из функции ссылок на временное значение,
  • [[indeterminate]] и уменьшение количества Undefined Behavior,
  • диагностика при =delete;,
  • арифметика насыщения,
  • линейная алгебра (да-да! BLAS и немного LAPACK),
  • индексирование variadic-параметров и шаблонов ...[42],
  • вменяемый assert(...),
  • и другие приятные мелочи.

Помимо этого, вас ждут планы и прогресс комитета по большим фичам и многое другое.
Рассмотрим новинки на примерах
Всего голосов 66: ↑64 и ↓2+62
Комментарии118

Эксплуатируем переполнение буфера в простом TCP-сервере

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

Привет всем бинарщикам и людям, которые хотят попрактиковаться с эксплуатацией уязвимости переполнения буфера. Мы для своего киберполигона придумываем различные сценарии атак и насыщаем его различными мисконфигурациями и многочисленным уязвимым ПО для тренировок «синих» и «красных». И рассматриваемое ПО в данной статье, как раз одно из таких. В этой статье мы разберем весь процесс от идентификации уязвимости до получения обратной оболочки со скомпрометированного хоста.

Специально для этого примера я скомпилировал уязвимый TCP‑сервер, который принимает подключения через порт 3301 (Цикада?).

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии5

Отвечаем на критику по IP-камерам НИЦ «Технологии»

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

Здравствуйте, друзья!

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

Читать далее
Всего голосов 129: ↑125 и ↓4+121
Комментарии86

Импульсный (Пере)Магничиватель для неодима

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

Импульсный (пере-)магничиватель для неодимовых магнитов (из HDD). Много конденсаторов, толстый тиристор, пыщ-пыдыщ, всё как мы любим.

Читать далее
Всего голосов 113: ↑113.5 и ↓-0.5+114
Комментарии116

SQL HowTo: один индекс на два диапазона

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.7K

В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru подскажет, как именно это сделать.

Но что делать, если неравенств у нас не два, а целых четыре, да еще и с разными типами участвующих полей? Например, для целей бизнеса это может быть задачей вроде "найди мне все продажи за декабрь на сумму 10-20K", что на SQL будет выглядеть примерно так:

dt >= '2023-12-01'::date AND dt <= '2023-12-31'::date AND

sum >= 10000::numeric AND sum <= 20000::numeric

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии7

Советский фрикинг. Были ли телефонные фрикеры в СССР?

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров18K

В жизни порой случаются удивительные совпадения. Прошлым летом я расслаблялся с коктейлем под пальмой на берегу тёплого моря, наслаждаясь книгой «Ghost in the Wires», когда в новостях сообщили о внезапной смерти её автора — Кевина Митника. И я задумался: а существовали ли во времена, о которых Кевин рассказывал в своей книге, телефонные фрикеры по другую сторону океана — в Советском Союзе?
Читать дальше →
Всего голосов 185: ↑184 и ↓1+183
Комментарии119

Взламываем головное устройство автомобиля Nissan

Время на прочтение22 мин
Количество просмотров16K

В комплекте с моим Nissan Xterra поставлялось современное (на то время) головное устройство с сенсорным экраном, встроенной навигацией, дисплеем камеры заднего вида, мультимедийными функциями и возможностью подключения смартфона. Некоторые из самых продвинутых функций доступны только через приложение NissanConnect, требующее регистрации и подписки. Я никогда не пользовался им и даже не уверен, поддерживается ли оно сейчас.

Разве не здорово было бы добиться выполнения кода на устройстве и даже разрабатывать собственные расширения и приложения?

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

В статье также представлен код, позволяющий воспроизвести эти действия на вашем автомобиле, а также пример приложения, выполняющего задачу логирования GPS-данных. Однако здесь вы не найдёте абсолютно никакой информации по обходу механизмов DRM/защиты от копирования, особенно связанных с навигационными картами и онлайн-сервисами. Весь представленный в статье код и инструкции не дают никаких гарантий, воспроизводите их на собственный риск.
Читать дальше →
Всего голосов 114: ↑112 и ↓2+110
Комментарии24

«Поздравляем с терабитом». Та самая статья про DDoS-2023 — без цензуры

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров30K

Дисклеймер ↓

Этот материал должен был выйти в декабре 2023, прямо перед Новым годом, — и это классический пример про «лучшее враг хорошего». Сначала нам не нравилось, что мало подробностей. Потом — что их излишне много. Была версия с цитатами, но без скринов. Со скринами, но без цитат. Мы записали столько интервью с сетевиками, что сами в них запутались.

Но в итоге сегодня наша статья наконец-то выходит в свет. Из цензуры — только внимательная рука корректора. Передаем слово Максу Яковлеву.
Читать дальше →
Всего голосов 106: ↑104 и ↓2+102
Комментарии46

Пишем REST-приложение на Delphi

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров4.4K

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

Я Ануар, работаю в GlowByte и профессионально играю на нервах (шутка 😂).

К написанию статьи подвигла ситуация отсутствия в Рунете информации, как с использованием Delphi реализовать классическое трехзвенное приложение без использования фреймворков и каких-то приближенных к Microsoft технологий. Ниже следует текст немного в шутливой форме о мини-квесте «Как быстро написать распределенное многозвенное приложение на Delphi, использующее REST API». 

Целью было написать статью, которая бы коротко и ясно показывала, как реализовать такой функционал, так как не нашел статей и примеров именно по этой тематике и проблематике. Может, кому-то пригодится при освоении и понимании азов REST API. Возможно, кому-то статья покажется «для самых маленьких», но я надеюсь, что она будет полезна как в практическом смысле, так и теоретическом и поможет понять, как все это работает.

Поехали!
Всего голосов 14: ↑13 и ↓1+12
Комментарии52

Как я склеил картон и продал на маркетплейсах на 50 млн в год

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров284K

В 2020-м мой работодатель начал прижимать меня по условиям, я забрал команду, снял склад и запустил свое производство когтеточек. Казалось бы, ничего сложного: закупаешь клей, картон, и находишь людей, которые 5 000 раз в день готовы повторять одни и ту же операцию. Но есть нюансы.

Читать далее
Всего голосов 290: ↑266 и ↓24+242
Комментарии288

CSS для печати на бумаге

Время на прочтение10 мин
Количество просмотров9.2K

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

В этой статье я объясню основы CSS, управляющие внешним видом веб-страниц при печати, и дам пару советов, которые могут вам помочь в этом.

Читать далее
Всего голосов 30: ↑29 и ↓1+28
Комментарии17

Создание своего UEFI приложения

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров39K

Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++

Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.

Читать далее
Всего голосов 86: ↑85 и ↓1+84
Комментарии80

Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров22K

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

Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go.

Этот челлендж был очень прост: обработать текстовый файл названий метеорологических станций и температур, и для каждой станции вывести минимальное, среднее и максимальное значение. Чтобы упростить задачу, было ещё несколько ограничений, однако я проигнорировал те, что относятся только к Java.

Читать далее
Всего голосов 66: ↑64 и ↓2+62
Комментарии20

Самое понятное объяснение Специальной теории относительности

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров97K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Всего голосов 386: ↑386 и ↓0+386
Комментарии388

Вопросы по DevOps. Часть 1

Уровень сложностиСредний
Время на прочтение75 мин
Количество просмотров22K


Hello world!


В первой части шпаргалки (вопросника, если угодно) на высоком уровне рассматриваются такие вещи, как сеть, HTTP, операционная система, виртуализация, хранилище etc., а также несколько технологий, используемых в сфере DevOps, таких как Prometheus, OpenStack, Puppet, Elastic etc. (вопросы с ответами из основного репозитория оригинала). Полагаю, шпаргалка будет интересна всем, кто связан с разработкой программного обеспечения, прежде всего, с разработкой веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий/терминов, а также в обнаружении очепяток.


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

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии9
1
23 ...

Информация

В рейтинге
3 889-й
Зарегистрирован
Активность