Search
Write a publication
Pull to refresh
-5
@cosmolevread⁠-⁠only

User

Send message

Чем отличается синтетическое событие клика от обычного в javascript фреймворках?

Level of difficultyHard
Reading time3 min
Views7.5K

Сегодня, стало более ли менее стандартом использование синтетических событий в современных js фреймворках, нежели обычный addEventListener. Но, как же работают эти события? В данной статье, я постараюсь на примере Cample.js версии 3.2.0-beta.1 рассказать об этом.

Читать далее

Поднимаем на OpenWrt клиент прокси VLESS, Shadowsocks, Shadowsocks2022. Настройка sing-box и tun2socks

Level of difficultyMedium
Reading time10 min
Views179K

Практическое руководство описывающее, как поднять на роутере Shadowsocks, VMess, VLESS, Trojan и даже SOCKS5 proxy.

Трафиком на роутере удобно управлять, когда у туннеля есть свой интерфейс. С одной стороны, есть Wireguard и OpenVPN, которые предоставляют сетевые интерфейсы. C другой стороны есть, например, SOCKS5 прокси и вытекший из него Shadowsocks, которые работают на другом уровне. Настраивая их мы получаем порт, а не интерфейс.

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

Читать далее

Точечная маршрутизация по доменам на роутере с OpenWrt

Level of difficultyMedium
Reading time13 min
Views224K

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

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

Настроить роутер можно с помощью скрипта. Если вдруг не заведётся сразу, то другим скриптом можно найти, что не работает. Настройка с помощью Ansible никуда не делась, только модифицировалась и стала лучше.

Помимо инструкций по настройке туннелей Wireguard и OpenVPN, написал инструкцию по использованию технологий, которые помогут в обходе блокировок по протоколу: Shadowsocks, VLESS и прочими.

Читать далее

Топ-10 артефактов Linux для расследования инцидентов

Reading time14 min
Views18K

Лада Антипова из команды киберкриминалистов Angara SOC подготовила новый материал о полезных инструментах при расследовании хакерских атак. Материал с удовольствием опубликовали коллеги из Positive Technologies на своих ресурсах, поэтому мы можем сделать его доступным и для нашей аудитории.

Несмотря на то, что Windows остается самой распространенной ОС, о чем знают в том числе атакующие, оставлять без внимания другие системы нельзя, а уж тем более Linux (ладно-ладно, GNU/Linux). Сегодня российские компании все чаще пользуются Linux из соображений импортозамещения, но эта ОС по-прежнему более распространена именно как серверное решение.

А теперь представьте ситуацию: вы работаете на Linux-машине, и вдруг что-то явно идет не так. Уровень нагрузки на процессор резко вырос, начались обращения на неизвестные ресурсы или пользователь www-data неожиданно оказался в группе wheel. Что делать?  

Составляем список команд

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

Итак, команды:

Помимо базовых команд на просмотр текстовых файлов (а все мы знаем, что в Linux, по сути, все есть файл) типа cat ~/.bash_history, можно использовать более продвинутые варианты:

tail -n 15 /var/log/<file> по умолчанию выводит 10 строк, но при помощи параметра n их количество можно изменять.

tail -f -s 5 /var/log/<file> используется для отслеживания появления новых строк. Это аналог команды watch для тех же журналов. Может быть полезна для отслеживания определенных событий в реальном времени.

Читать далее

Я заплатил сорок шесть тысяч долларов за редизайн и жалею об этом

Reading time15 min
Views84K
Два года назад я сделал вебсайт для своего бизнеса. Сочетание моих собственных нулевых навыков дизайна и приличного шаблона дало на выходе сайт, который выглядел более-менее. Я сказал себе, что если дело пойдет в гору, я найму настоящего дизайнера, чтобы всё смотрелось профессионально.



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

В результате редизайна я получил следующее:
Читать дальше →

Архитектура Android. Понятно и подробно

Level of difficultyMedium
Reading time15 min
Views34K

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

Читать правила

Учимся бесплатно деплоить Java (и не только) приложения (Docker, CircleCI, Google Cloud)

Level of difficultyMedium
Reading time9 min
Views14K

Всех приветствую. В последнее время все чаще задумывался о том какую бы еще полезную статью написать. Параллельно этому постоянно видел в интернетах рекламу о "крутых" курсах в IT, обещают сделать из вас Java, Python и какого угодно разработчика за полгода/год, и ладно с ним, допустим за год они чему-то вас обучат и, возможно, где-то вы попадете на бесплатную стажировку (что еще тоже под воросом, учитывая нынешний рынок). Но когда рекламируют "крутые курсы DevOps'ов", я уже начинаю задаваться вопросом, как можно стать ДевОпсом, не имея опыта программирования, не опробовав самому весь цикл разработки на хоть каком-то языке, не опробовав различные настройки сборки приложений, не опробовав Линукс, со всеми его утилитами, докер, кубер, git и т.д. в работе, а просто "обучиться" этому в обособленности от всего и ожидать, что тебя куда-то возьмут, а если и возьмут, то к чему-то серьезному подпустят? Ответа на этот вопрос я так и не нашел у себя в голове.

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

Задеплоить

Рождение и проверка временем Sid Meier's Civilization II

Level of difficultyEasy
Reading time11 min
Views7.6K
Сейчас пятилетний перерыв между играми одной серии не кажется слишком большим: почти с таким интервалом выходили, к примеру, Anno 2070, 2205 и 1800. Но в 90-е темп разработки был совсем иным, ведь создание игры с нуля занимало не больше года. Так почему же вторая часть «Цивилизации» увидела свет только в 1996-ом году?

image

После выхода в 1991-ом году Sid Meier's Civilization офис MicroProse был завален письмами фанатов с предложениями новых механик. Эксперимент Сида Мейера удался: Civilization высоко оценили как критики, так и простые игроки. Идея о продолжении витала в воздухе, но «Цивилизация» казалась идеальной игрой, которую нет смысла переделывать. Да и сам Сид Мейер хотел переключиться на новый проект C.P.U. Bach – интерактивную музыкальную игру, генерирующую композиции в стиле Иоганна Себастьяна Баха.
Читать дальше →

Делаем web сервер из старого Android смартфона, без root

Reading time4 min
Views37K

Главная идея была в том, чтобы проверить возможно ли из старого Android устройства сделать "полноценный" сервер с nginx, php-fpm, MariaDB и запустить на этом Wordpress. Оказывается можно и при этом с хорошим результатом.

Устройство: Xiaomi Mi 4c 2015 года, разблокирован разгрузчик, TWRP, Android 10 (Havoc OS 3.0), Gapps не устанавливались для экономии ресурсов, root отсутствует.

Читать далее

Я потратил на свое расширение для Chrome два года и заработал двести долларов. Что дальше?

Level of difficultyEasy
Reading time2 min
Views6K


Если вкратце: Два года назад я взялся за разработку расширения для Chrome, потерял на этом много денег и пока сумел на нем заработать только двести долларов. Соль здесь в том, что вся моя «прибыль» пришла на этой неделе в виде чаевых.

Моя история началась два с лишним года назад, когда я запустил первую версию Zecento. Zecento – это расширение для Chrome, которое помогает людям принимать выгодные решения о покупках и экономить деньги на Amazon. На сегодняшний день расширение работает только в Италии, но в скором времени я планирую запустить его в Канаде и США.

По сути, расширение подсказывает пользователю, удачный ли сейчас момент для совершения покупки, проводя анализ изменений в информации о продукте или продавце, а затем посылает ему оповещение, когда цена снижается (или другой продавец предлагает тот же товар по более выгодной цене).
Читать дальше →

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Level of difficultyEasy
Reading time6 min
Views25K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее

Самостоятельный робот-пылесос Dreame L10s Ultra. Пробуем подключать к водопроводу и канализации

Level of difficultyMedium
Reading time6 min
Views32K
Идея полностью самостоятельных домашних смарт-устройств была давно. Но только сейчас появились роботы-пылесосы, которые умеют не просто сбрасывать мусор после уборки, но и мыть салфетки, сушить мокрые салфетки, заливать чистую воду, а грязную воду сливать в отдельный контейнер. Такой робот наиболее автономен, так как обслуживать его нужно раз в месяц и реже. Что у меня вышло из подключения к канализации и к водопроводу — под катом.


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

JavaScript. WebRTC. Соединение браузеров напрямую без сервера, peer-to-peer

Level of difficultyEasy
Reading time2 min
Views11K

WebRTC позволяет браузерам обмениваться информацией напрямую без сервера. Можно передавать видео, звук и данные.

Читать далее

Clickhouse — непростая жизнь в продакшене

Level of difficultyHard
Reading time13 min
Views22K

Около двух лет назад вышла небольшая статья Kafka Streams — непростая жизнь в production, в которой я описывал сложности, с которыми наша команда столкнулась при попытке решить задачи проекта с помощью kafka-streams. Эксперимент вышел неудачным, и мы в итоге совсем отказались от этой технологии. Вместо нее решили попробовать Clickhouse (CH), и сейчас уже можно сказать, что эта база нам очень хорошо подошла и отлично решает почти все задачи, которые нам ставит бизнес. В этой статье я расскажу об особенностях использования CH.

Читать далее

Нагрузочный поединок между Tarantool 2.10 и Hazelcast 4.5.4

Level of difficultyMedium
Reading time13 min
Views2.5K

Привет! Меня зовут Денис Макаров, я бэкенд-тимлид в KTS.

В прошлый раз мы сравнили Tarantool с Redis, а в этой статье решили провести тесты с Hazelcast.

Так же, как в прошлой статье, мы рассматриваем вариант Tarantool как замены: берём типичные кейсы работы с Hazelcast и реализуем такие же механики на Tarantool, начиная от простых K-V операций и заканчивая вторичными ключами.

Читать далее

Джоэл (и снова) о программировании — моя любимая книга

Level of difficultyEasy
Reading time3 min
Views4.5K

Был отпуск и решил что-нибудь взять почитать. Наткнулся на книгу "Джоэл о программировании". Выбрал ее.

Изначально думал, что это самая обычная скучная книжка: написана на определенную тему, полно воды, много терминов и др. Спустя 2 главы свое мнение поменял. И вот почему.

Читать далее

«Подарил удочки и попрощался с друзьями на год»: как я стал Android-разработчиком, отказавшись даже от прогулок

Level of difficultyEasy
Reading time6 min
Views56K

Всем привет! Меня зовут Пётр Гнесный, я студент и стажёр на финишной прямой — вот-вот окончу курс «Android-разработчик» в Практикуме и стажировку в американском медтех-стартапе RE.DOCTOR. В этом тексте я расскажу, как написал первый фрагмент кода, занимаясь биржевой торговлей, какие три вещи на самом деле важны в обучении программированию и почему 1 октября случится кое-что важное — я впервые за год пойду на рыбалку.

Читать далее

Эволюция блокировщиков рекламы. Технологическое противостояние

Reading time3 min
Views19K


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

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

Парадокс Гранди. Как современные школьники повторяют ошибку Лейбница и Эйлера

Reading time4 min
Views95K

Было у отца два сына. И оставил он им наследство — камень драгоценный. А чтобы никого не обидеть, поставил он перед сыновьями условие: нельзя тот камень ни пилить, ни продавать. Можно только по очереди владеть им. И повелось так — каждый год камень переходил от одного брата к другому. Потом камнем по очереди владели их потомки, потом потомки их потомков… И длилось так вечно.

Этой притчей итальянский математик, монах и философ Гвидо Гранди пытался объяснить решение задачи, которую сам же и сформулировал. В 18 веке её считали парадоксом и предлагали разные варианты решения. Долгое время она не давала покоя математикам.

Задача Гранди формулируется очень просто: какой результат мы получим, если будем до бесконечности складывать 1 и -1?

Читать далее

Information

Rating
Does not participate
Registered
Activity