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

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

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

Какой роутер для OpenWrt купить в 2025 году?

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

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

Роутер, как и любой другой девайс, нужно покупать под запрос. Например, линуксоиды привыкли покупать ноутбуки именно под Linux, а не первый попавшийся. Также и тут: если нужен OpenWrt, то роутер тоже надо выбирать с умом, а не надеяться на то, что кастомная прошивка сделает конфетку из роутера за 700 р.

В 2023 и 2024 появились интересные роутеры, которые уже поддерживаются проектом OpenWrt. Эти роутеры сделаны на базе ARM-процессоров. Такие роутеры появились у нескольких компаний, и дальше их количество будет только увеличиваться.

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

Kotlin Coroutines. От А до Я

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

Полный разбор корутинного мира с нуля, который может послужить отличной шпаргалкой на собеседовании!
Разберем разницу между многопоточностью и асинхронностью; раскроем все основные понятия корутин, параллельно ссылаясь на исходники kotlinx.coroutines; посмотрим их применение на практике и в конце напишем свой собственный CoroutineScope.

Let's go
Всего голосов 25: ↑25 и ↓0+29
Комментарии12

Отладка PHP сценариев в Docker-контейнере с помощью PhpStorm и Xdebug. Глубокое погружение

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

Одним из ключевых аспектов успешной разработки является эффективная отладка кода.

Статья посвящена настройке и использованию PhpStorm, Xdebug и Docker для отладки PHP-скриптов в Docker-контейнере. Статья предлагает актуальную информацию (на момент написания) и оформлена в виде подробнейшего пошагового туториала. Информация действительна для ОС Windows. В других ОС возможны варианты.

Цель статьи — не просто создать пошаговой конспект настроек, а объяснить, как всё это взаимодействует. Это поможет избежать затруднений при изменении интерфейса IDE в будущем. Возможно, статья выглядит слишком педантичной. Но гуру всегда смогут прочесть её по диагонали, зато новички в этой теме найдут для себя много полезного.

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

Чиним замедление YouTube на уровне роутера

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

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 360: ↑357 и ↓3+412
Комментарии1054

Свой VPN за 5 минут (Outline)

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

Каждый, кто сталкивался с вопросом обхода блокировок таких сайтов, как Instagram, Facebook, OpenAI и других, к которым закрыт доступ в РФ, знает, что бесплатные VPN не всегда надежны. Платные VPN-сервисы тоже не всегда быстро работают, да и порой стоят не мало.

На мой взгляд, лучшее решение — это свой собственный VPN с возможностью создания неограниченного количества ключей (один ключ — одно устройство) и, как вы догадались, делать такой VPN я сегодня вас научу.

Создавать VPN мы будем через сервис Outline. Я использую его сам. Эта штука очень удобная и легко настраивается даже для новичка. Обо всем подробнее далее.

Читать далее
Всего голосов 25: ↑19 и ↓6+15
Комментарии89

Compiler Explorer — уникальный проект для исследования компилируемого кода

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров13K
Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer, который я в дальнейшем будут называть CE.

CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и перейдите на веб-сайт CE, где вы увидите примерно такой экран:

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


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

CE поддерживает 69 языков, более двух тысяч компиляторов и широкий спектр архитектур, включая x86, arm, risc-v, avr, mips, vax, tensa, 68k, PowerPC, SPARC и даже древний 6502.

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

Это само по себе удивительно, но у CE есть гораздо больше возможностей. Это инструмент, который должны знать все интересующиеся компиляторами и архитектурами компьютеров. В статье мы сможем лишь поверхностно рассмотреть функции CE. Вам стоит самим перейти на сайт CE и попробовать всё самостоятельно.
Читать дальше →
Всего голосов 65: ↑63 и ↓2+80
Комментарии13

Создаем изометрические уровни игры с помощью Stable Diffusion

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

Всем привет. Сегодня я покажу вам, как можно создавать 2.5D уровни в изометрии с помощью быстрого прототипирования техникой grayboxing, и генеративного искусственного интеллекта, а именно Stable Diffusion. Практически весь процесс, описываемый в статье, довольно легко автоматизируется.

Если интересно, добро пожаловать под кат.

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

Перехват трафика мобильных приложений

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

Часто случается так что на необходимом сайте установлена защита от ботов. Например: QRATOR, Cloudflare, Akamai Bot Manager и пр. Можно потратить множество ресурсов на обход этих систем, но если у вашего ресурса есть мобильное приложение, то можно пойти другим путём. В подавляющем большинстве случаев мобильное приложение остается без защиты т.к. методы актуальные в браузерной разработке в мобильной не актуальны. В этой статье мы совершим атаку MITM на приложение [скрыто], узнаем эндпоинты по которым приложение получает данные и получим данные сами.

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

SimulIDE: открытый симулятор цифровых схем и микроконтроллеров

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

В этой заметке я решил рассказать о SimulIDE. Это относительно новое программное средство с открытым исходном кодом, предназначенное для моделирования 8-битных микроконтроллеров семейств AVR и PIC, а также прочих электронных схем. По интерфейсу SimulIDE напоминает Proteus. SimulIDE кроссплатформенный и работает под Linux, Windows и Mac. Далее будут рассмотрены основные возможности этого симулятора и рассказано о моих личных впечатлениях от работы с данной программой.

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

Пара способов отправить уведомления на смартфон со своего сервера

Время на прочтение9 мин
Количество просмотров91K
В этом туториале я рассмотрю пошагово, как отправлять со своего сервера уведомления на свой (или не свой) смартфон, какие средства для этого понадобятся. Эти способы универсальны и подойдут для любого языка программирования, т.к. напрямую используют API гугла, без использования библиотек. Отправить можно на смартфоны с Android, iOS и в браузеры с поддержкой Push API (на сегодня это Chrome, Firefox и их производные).

В общем всем тем, кто давно хотел отправлять уведомления со своего домашнего сервера на свой смартфон, но не знал с чего начать, посвящается.
Хочу отправлять свои уведомления!
Всего голосов 49: ↑43 и ↓6+37
Комментарии81

«Психология влияния». Книга за 15 минут

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


Делимся с вами очередным саммари (кратким изложением) на ставшую уже классической книгу «Психология влияния» Роберта Чалдини. Наверняка некоторые выводы покажутся вам знакомыми, но это из-за огромной популярности самой книги, идеи и примеры из которой любят заимствовать авторы бизнес-литературы. Интересно, что Роберт Чалдини написал свою книгу с целью научить читателей распознавать манипуляции и не поддаваться на них, но ее стали использовать с обратной целью — как набор действенных методик для убеждения и «запудриваемая мозгов».

Итак…
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии22

Nginx: шпаргалка

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

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

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

Как привлечь внимание аудитории: 10 шагов к созданию вирусного контента

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

Это Бренды на коне. Контент, который продвигает себя сам — мечта любого маркетолога. А ведь это вполне реально. Такого эффекта можно добиться благодаря так называемому «вирусному» контенту. Это такой контент, который разлетается по сети с бешеной скоростью благодаря тому, что пользователи сами хотят им делиться с другими. Иногда это случается неожиданно для самих создателей. А иногда, такой контент является творением грамотных пиарщиков. Предлагаем не ждать воли случая, а брать дело в свои руки. В данной статье мы собрали для тебя несколько советов для освоения этого бомбического инструмента.

Читать далее
Всего голосов 10: ↑2 и ↓8-4
Комментарии0

Пишем Telegram бота для распознавания голосовых сообщений и их обработки с помощью AI

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

Всем привет. Меня зовут Игорь Филиппов и я веб-разработчик. Вы, вероятнее всего, знаете, как прочно ChatGPT закрепился в медийном пространстве. Ежедневно выходит сотни статей и видео на эту тему, предлагая разнообразные варианты применения.

Мне в голову пришла идея создать бота, который автоматически под каждым голосовым сообщением оставляет свой реплай с полной расшифровкой аудио. Но в процессе разработки я подумал, что можно дополнительно проинтегрировать бота с ChatGPT - для получения краткого пересказа самого сообщения. Тем более, к тому моменту, когда я делал бота, Open AI только выпустила доступ к API.

С какими сложностями столкнулся, как решил и что получилось в итоге описал в этой статье.

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

Petite-vue

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

Привет, эта статья - "перевод документации и часто используемых примеров" для petite-vue + ещё немного приколов и одна интересная практика (с которой не всё так очевидно, как могло бы казаться).

Зачем нужен petite-vue?

Petite-vue это 6-ти килобайтное подмножество Vue, основной задачей которого, по словам Эвана, является Progressive Enchancement.

Выучить очередной фреймворк
Всего голосов 7: ↑6 и ↓1+9
Комментарии7

Ликбез по корутинам Kotlin

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

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

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

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

В этой статье мы с вами разберемся, как использовать корутины в Kotlin.

Читать далее
Всего голосов 12: ↑10 и ↓2+9
Комментарии1

Пэйволлы: прокачиваем насмотренность

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

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

3000+ просмотренных мной пэйволлов превратились в статью с 200+ гайдлайнами и идеями по их улучшению. Всё во благо прокачки вашей насмотренности.

P.S. Материал доступен без пэйволла😊

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии6

Осознанная оптимизация Compose

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

Привет, меня зовут Андрей Богомолов, я Android-разработчик в команде "Платформа" приложения Ozon Seller.

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

Наша команда Ozon Seller также столкнулась с этой проблемой. Мы решили собрать воедино все советы и наработки по написанию оптимизированного Compose-кода. Активное применение этих советов при оптимизации существующих экранов и написании новых существенно улучшило наши метрики: длительность лага по отношению к длительности скролла (hitch rate; чем меньше, тем лучше) экранов со списками упала в среднем с 15-19 % до 5-7 % (на 90-м перцентиле). Все эти советы и наработки мы описали в этой статье. Она будет полезна и начинающим, и опытным разработчикам, в ней подробно описаны оптимизации и механизмы Compose, а также рассказано про слабо задокументированных особенности и исправления ошибок, которые есть в других статьях. Давайте же начнём.

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

Подписываем Android-приложение внутренним ключом Google Play для публикации в сторонних магазинах (RuStore, Huawei..?)

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

В процессе публикации своего приложения в RuStore, я столкнулся с проблемой обновления сборки, первоначально-установленной из Google Play. Дело в том, что несколько лет назад, когда я размещал приложение в Google Play, я доверил управление ключами подписи Google App Signing. Это значит, что мой локальный ключ используется в качестве "загрузочного", а пользователи на устройства получают уже сборки, подписанные внутренним ключом Google. Прямого доступа к этому ключу нет, и, соответственно, я не могу подписать им сборку для RuStore для бесшовного обновления приложения.

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

MusicGen — генерируем музыку на своём ПК. Новая локальная нейросеть — знакомство и установка

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

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

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

* организация запрещена в РФ

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

Информация

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

Специализация

Fullstack Developer