Как стать автором
Обновить
4
0
Michael @danzalux

Development Consultant (SAP, Web, Mobile)

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

Как я писал свой первый проект на Python

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

Кто-то в качестве своего первого серьезного проекта пишет калькулятор, другие веб-сайт и в принципе идея ограничивается только скилами и вашей собственной фантазией (или фантазией преподавателя, если у вас такой есть). Калькулятор мне писать не хотелось (как минимум из-за наличия прекрасной функции eval частично заменяющей его), а для веба на тот момент я был слишком зелен и ничего не понимал в протоколах, html, фреймворках и т.д.

Но месяцы за изучением Python были пройдены, сотни задач на Stepik, Leetcode и подобных ресурсах решены, десятки часов Хирьянова и других святил на Youtube с упоением просмотрены и руки невероятно чесались написать что-то «своё, масштабное и нужное».

Чтитать далее
Всего голосов 31: ↑28 и ↓3+27
Комментарии18

Как я нашёл 55-летний баг в первой игре о приземлении на Луну

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

Спустя всего несколько месяцев после исторической прогулки по Луне Нила Армстронга, ученик массачусетской школы Lexington High School Джим Сторер написал первую версию игры Lunar Landing. К 1973 году она стала самой популярной компьютерной игрой с большим отрывом от остальных. В этой простой текстовой игре вы управляете аппаратом для посадки на Луну, стремясь максимально плавно приземлиться. Всё движение происходит вертикально, каждые десять симулируемых секунд игрок решает, сколько топлива нужно сжечь.

Недавно я исследовал график оптимального сжигания топлива для наиболее мягкого приземления с максимумом оставшегося топлива. К моему удивлению, теоретически наилучшая стратегия не сработала. Игра ошибочно думает, что аппарат не коснулся поверхности, хотя на самом деле это так. Углубившись в анализ, я был потрясён сложной физикой и вычислениями в игре. В конечном итоге я обнаружил баг: отсутствующее деление пополам; похоже, почти за 55 лет никто не заметил этого.
Читать дальше →
Всего голосов 77: ↑77 и ↓0+104
Комментарии27

Как выбрать быстрый виртуальный сервер

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

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

Для одного небольшого проекта нам понадобилось выбрать быстрый VPS, в статье расскажем, как мы его искали.

Читать далее
Всего голосов 10: ↑4 и ↓60
Комментарии7

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

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

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

Читать далее
Всего голосов 95: ↑84 и ↓11+93
Комментарии57

Как найти баланс между интересами покупателей и продавцов: опыт разработчиков Яндекс Маркета

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

Привет, Хабр! Меня зовут Илья Ненахов, я руковожу разработкой платформы для продвижения товаров на Яндекс Маркете. Предлагаю взглянуть на площадку немного с другой стороны, а именно — как на механизм, который пытается найти оптимальную точку в пространстве с тремя измерениями:  интересы пользователя, интересы магазинов и интересы самого сервиса.

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

Читать далее
Всего голосов 18: ↑16 и ↓2+16
Комментарии27

Как нашли бэкдор в радиосвязи TETRA — подробный разбор

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

Неприступных крепостей не бывает. Опасную брешь, то есть бэкдор, недавно обнаружили в шифрованном стандарте радиосвязи TETRA. А ведь он вот уже 25 лет используется военными, экстренными службами и объектами критической инфраструктуры по всему миру. Самое интересное, что на технические детали и контекст этой истории почти никто не обратил внимания.

Мы изучили статьи и доклады исследователей и собрали всю суть. Перед вами — подробная история взлома TETRA.

Читать далее
Всего голосов 176: ↑175 и ↓1+219
Комментарии35

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

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

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

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

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →
Всего голосов 35: ↑32 и ↓3+40
Комментарии13

6 развлекательных проектов на Python: от шаверма-бота до игры в слова

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

Все, кто кодят на Python, знают, что это далеко не скучный и серьезный язык. При определенной доле фантазии на нем можно написать логику работы любого приложения, даже совершенно гиковского. И есть немало примеров, когда такие пет-проекты становились не только полем развития навыков разработчика, но и коммерческой идеей. Под катом собрали шесть подобных задач от Selectel — для вдохновения и прокачки навыков. Сохраняйте статью в закладки: пригодится всем, кто разрабатывает на Python.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии3

Когда старый софт лучше нового

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

У каждого из нас наверняка есть подборка старого проверенного софта, который много лет работает без сбоев. В такой ситуации возникает вопрос: а зачем его обновлять?

Практика показывает, что новые версии утилит часто изменяются к худшему, раздуваются, обрастают ненужными функциями, начинают тормозить или вовсе перестают запускаться. Ухудшение программного продукта со временем — известный процесс, для которого есть специальный термин: дерьмофикация (enshittification, слово придумал Кори Доктороу). Она происходит не только с десктопным или мобильным софтом, но и с платформами. Все мы за последние годы наблюдали дерьмофикацию Google, Reddit, Amazon, Twitter и Facebook (два последних вообще признаны экстремистами и запрещены в РФ). Аналогично с десктопным софтом и мобильными приложениями.

В то же время старый софт многолетней давности фантастически быстро работает. Программы в несколько мегабайт, которые запускаются мгновенно, потребляют минимум памяти и просто летают. По сути, ресурсы современных CPU для них избыточны. Пользоваться такими инструментами одно удовольствие. Такое чувство, что работаешь на суперкомпьютере, а не обычном ПК.
Читать дальше →
Всего голосов 185: ↑144 и ↓41+149
Комментарии512

Публикация локального сервера из дома в интернет

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

Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.

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

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Всего голосов 57: ↑55 и ↓2+62
Комментарии97

Разрабатываем Telegram-бота для отслеживания фильмов на NodeJS и TypeScript

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


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

Я достаточно часто сталкивался с такой проблемой и решил ее созданием Eve — Telegram-бота, который помогает мне не забывать про релизы моих любимых фильмов. Что это, как оно работает и как разрабатывалось вы можете почитать под катом!
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии18

Следим за качественными цифровыми релизами фильмов без суеты

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


В большинстве случаев качественные нелегальные раздачи какого-то фильма начинают появляться только после цифрового релиза (не путайте цифровые релизы с премьерами в кинотеатрах), т.е. в VOD-сервисах или на Blu-ray. Под качественными подразумеваются BDRip 1080p, BDRemux и UHD BDRemux, самый минимум — это WEB-DL 1080p (чаще всего из iTunes), с русскоязычными звуковыми дорожками от лицензионного издания Blu-ray или из iTunes. А до этого с раздачами фильма творится чехарда с комбинацией мха и опилок, которая может ввести в заблуждение зрителя, желающего смотреть новинки с хорошим качеством.
Читать дальше →
Всего голосов 89: ↑82 и ↓7+75
Комментарии161

Как изменилась Amnezia за 2023 год

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

Первые наши пользователи помнят Amnezia как приложение созданное одним человеком, в светлом дизайне и на английском языке. Сегодня AmneziaVPN - это проект, над которым работает целая команда людей из разных стран. Мы стали больше,  приобрели много опыта и теперь имеем возможность делать более сложный функционал . Этот год был, пожалуй, самым продуктивным для нас. Расскажем здесь о самых существенных изменениях, которые произошли с Amnezia за это время.

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

Графические оболочки FFmpeg

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


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

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

FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Читать дальше →
Всего голосов 107: ↑107 и ↓0+107
Комментарии76

Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома

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

В свете широкого внедрения систем домашней автоматизации возникает потребность в более естественном взаимодействии с «умным домом». Как средство натурального взаимодействия между человеком и машиной, голосовой интерфейс заслуженно занимает высокую популярность. В данной статье я поделюсь своим опытом создания бюджетного автономного голосового ассистента для систем умного дома.
Читать дальше →
Всего голосов 87: ↑87 и ↓0+87
Комментарии34

Минималистичный YouTube. Расширения для браузера и альтернативные клиенты

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

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

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

Непрошеные и неуместные рекомендации видео — общая проблема, на которую часто жалуются. К счастью, их легко заблокировать, как и весь остальной мусор. Можно ходить на серверы YouTube через кастомный фронтенд, через сторонние клиенты или вообще из консоли. Некоторые альтернативные способы просмотра особенно актуальны в свете потенциальной блокировки YouTube на территории РФ.
Читать дальше →
Всего голосов 109: ↑106 и ↓3+127
Комментарии80

Двухтрубные системы отопления тупикового и попутного типа. Мнимая магия «петли Тихельмана»

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

Двухтрубные системы отопления тупикового и попутного типа. В чём разница и что об этом говорят современные строительные нормы.

Ранее в одной из статей я уже рассказывал об однотрубных системах отопления.

Теперь настала очередь рассмотреть особенности проектирования и эксплуатации двухтрубных систем, которые крайне популярны у частных домовладельцев в ИЖС.

Так же двухтрубные вертикально-стояковые системы отопления пытаются применять и в многоквартирных домах.

Далее мы рассмотрим гидравлический расчёт систем для одного этажа частного дома с периметром в те же 50м для дом 10х15м по внутренним стенам (150м.кв на этаж).

А позже попытаемся применить те же подходы для максимальной высоты 50м в стояковой системе высотного дома.

Тупиковая система

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

Читать далее
Всего голосов 65: ↑61 и ↓4+66
Комментарии173

FAQ по Shadowsocks/XRay/XTLS/Reality/Nekobox/etc. для обхода блокировок

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

Эта статья - сборник разных вопросов и ответов на них, которые звучали в комментариях к моим предыдущим статьям (Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-всеBleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто и других из той же серии) и в личных сообщениях.

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

Куда девать 300 багов: автоматизация бэклога и RICE для багов

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

POV: Вы только что начали работать над новым проектом и встретились с небольшой проблемой — в бэклоге багов обнаружилось 300+ открытых тасок. Первая реакция — недоумение, отчаяние и боль от увиденного. «Ну ничего, – думаете вы, – это же как раз то, зачем я нужен этой компании, сейчас я им всё пофикшу!».

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

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

Ностальгические игры: Serious Sam

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

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

Именно там, помимо постоянных заруб в Red Alert 2, Half-Life, Warcraft 3 (когда Dota была всего лишь картой для «Варика»), всегда можно было запустить какую-нибудь игру, о который ты или только читал в журнале, или вовсе ничего не слышал. В своё время, именно так я познакомился с The Chronicles of Riddick: Escape from Butcher Bay. Таким же образом произошло и моё знакомство с Serious Sam – игрой, которая в те годы буквально взрывала мой мозг своими зарубами с сотнями врагов на огромных картах! Уверен, если вы в то время попробовали её, то вряд ли когда-либо забудете, настолько она яркая и цепляющая!
Читать дальше →
Всего голосов 59: ↑57 и ↓2+71
Комментарии18
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Stuttgart, Baden-Württemberg, Германия
Зарегистрирован
Активность