Как стать автором
Обновить
16
0.5
Тимур @TimsTims

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

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

Базовая гигиена серверов Linux (часть 1)

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

Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubuntu/Debian. Часть материала от автора я опускаю, так как публикация ориентированна на безопасность хостов Linux в инфраструктуре.

!!! Приведенные ниже рекомендации необходимо тестировать на совместимость с используемыми сервисами. Веред внедрением рекомендую провести тестирование на каждом отдельном типе сервера/приложения. !!!

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

Умный дом в панельной хрущёвке

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

Сразу признаюсь, что слово «хрущёвка» в этом тексте – скорее хук в заголовке. Правильнее было бы сказать, что я просто описываю свой опыт создания умного дома в обычной среднестатистической квартире городского жителя РФ, который я проживаю прямо сейчас.

Статья будет состоять из двух частей: первая – постановка задачи, ресерч, планы, выбор; вторая – реализация, опыт использования, ошибки и корректировки.

Читать далее
Всего голосов 87: ↑82 и ↓5 +77
Комментарии 252

От микросервисного монолита к оркестратору бизнес-сервисов

Время на прочтение 6 мин
Количество просмотров 37K
Когда компании решают разделить монолит на микросервисы, в большинстве случаев они последовательно проходят четыре этапа: монолит, микросервисный монолит, микросервисы, оркестратор бизнес-сервисов.


Если вы определите, на каком из этапов находитесь сейчас, это поможет вам понять плюсы и минусы текущего этапа, оценить стоит ли идти на следующий этап и, если стоит, увидеть шаги необходимые для перехода.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Комментарии 58

Как работает неточное сравнение строк

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

https://fakt309.github.io/thisisthewall/

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

Но вот что если мы хотим не просто получать дискретное значение (true / false), а дифференцированное, например в процентах. Ведь согласитесь строки test и testing гораздо ближе к друг другу, чем test и abcd. Для данной проблемы существует множество решений, мы поговорим о самый популярных алгоритмах (также об их модификациях):

Расстояние Хэмминга

Расстояние Левенштейна

Сходство Джаро — Винклера

Коэффициент Сёренсена

Читать далее
Всего голосов 50: ↑47 и ↓3 +44
Комментарии 43

Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 2. Устанавливаем карту для лобби сервера

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


Часть 1. Выбираем и устанавливаем сервер

Часть 3. Устанавливаем мини-игры

Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
По любым вопросам пишите в Discord.

После публикации первой части статьи по установке своего Minecraft сервера, ко мне обратился один читатель Хабра. В письме он написал, что по неосторожности показал мою статью своим детям и ему пришлось пообещать сделать все, как написано. Теперь я, как отец двух детей, просто не имею морального права не закончить серию этих статей. Поэтому поехали.
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 25

Математические основы биткойн-блокчейна

Время на прочтение 5 мин
Количество просмотров 59K
Сегодня биткойн продолжает набирать популярность, а индустрия разрабатывать все новые приложения для работы с криптовалютой. Одной из причин такой популярности является строгая математическая база, на которой строится биткойн.

Благодаря этому система функционирует в условиях полного отсутствия доверия между участниками сети, исключая воздействие человеческого фактора.

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

Читать дальше →
Всего голосов 26: ↑22 и ↓4 +18
Комментарии 23

Откуда пошло ГМО-мракобесие

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

Типичный пример ГМО-мракобесия

Тема того, что генномодифицированные продукты хуже или, того более, опасны для здоровья, активно культивируется на протяжении последних двух десятилетий. Истерию против ГМО подхватили СМИ по всему миру, и теперь мы имеем то, что имеем, а именно разговоры на уровне «если ты съешь яблоко модифицированное геном рыбы, то у тебя начнут расти жабры». Почему у нас не растут жабры, когда мы просто едим рыбу, в которой рыбного генного материала значительно больше, чем в модифицированной пшенице, противники ГМ-продукции стыдливо умалчивают.

ГМО-мракобесие привело к тому, что, например, в России выращивание ГМ-культур запрещают на законодательном уровне.

Всегда виноваты деньги, или убийца — садовник


Ко многим детективным историям часто применяют стандартную «кальку», что убийцей, с большей долей вероятности, будет либо садовник, либо жена убитого, с этим садовником водившая шашни. Так и в любой более-менее крупной анти-пиар компании чаще замешана не борьба за здоровье населения, а банальная выгода тех или иных производителей.
Читать дальше →
Всего голосов 126: ↑108 и ↓18 +90
Комментарии 1120

Микроник — электронный конструктор для детей. И для таких взрослых, как я

Время на прочтение 3 мин
Количество просмотров 24K
На этих выходных я раздобыл себе вещь, которая многим покажется очень простой, но я давно с таким детским азартом не проводил выходные. Речь идет об электронном конструкторе "Микроник", который придуман в «Амперке» Кириллом Коротковым и Василием Басалаевым.



Читать дальше →
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 8

Как распознать кракозябры?

Время на прочтение 1 мин
Количество просмотров 424K
В комментариях к предыдущему посту про иероглифы сказали, что хорошо бы иметь такую же блок-схему для кракозябр.

Итак, вуаля!


За источник информации была взята статья из вики. В блок-схеме «UTF-16 → CP 866» означает, что исходная кодировка была «UTF-16», а распозналась она как «CP 866».

Как всегда — кликабельно. Исходник в .docx: здесь.
Всего голосов 429: ↑418 и ↓11 +407
Комментарии 64

Проблемы согласованности данных в микросервисах и их решение

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

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

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

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

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

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 9

Как устроены сети: полезные материалы от сотрудников Selectel

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

Фрагмент из курса «Сети для самых маленьких».

Чтобы стать сетевиком, новичку нужно изучить много теории, разобраться в особенностях профессионального оборудования и других аспектах. Мы в Selectel попросили коллег порекомендовать полезные ресурсы по сетевым технологиям, которые пригодятся на старте. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Комментарии 8

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

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

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

Читать далее
Всего голосов 159: ↑157 и ↓2 +155
Комментарии 44

Безотказные очереди в RabbitMQ: Гарантированная доставка сообщений

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

RabbitMQ - это открытая реализация протокола AMQP (Advanced Message Queuing Protocol), является мощным и гибким брокером сообщений. Он обеспечивает надежное и эффективное взаимодействие между компонентами системы, предоставляя разработчикам инструменты для создания гибких и масштабируемых архитектур.

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

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

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

Создаем свой VPN с защищенным от блокировок протоколом AmneziaWG, или WireGuard на максималках

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


Всем привет! Возможно уже совсем скоро разные новостные и  IT-ресурсы будут подчищать информацию о способах обхода блокировок. А пока этого не случилось, запасаемся полезными гайдами и разворачиваем свои собственные VPN с защищенными от блокировок протоколами. Расскажу как это сделать, как изменилась Amnezia и как мы защитили WireGuard от блокировок.

Читать далее
Всего голосов 115: ↑113 и ↓2 +111
Комментарии 123

Как стать гуру или WiFi Cheat Sheet

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

А что мы знаем про пентест Wi-Fi?

Кажется, что уже всё, но вот на offzone 2023 была представлена атака WPA‑E (Надеюсь, в скором времени выложат запись и pdf) и я задумался, а так ли всё хорошо с моими знаниями... Нет, я всё с концами оставил на старых ЖД и где‑то далеко в памяти, пришлось восстанавливать по крупицам всю информацию. Заметки, время и старания — главное составляющее статьи.

Этот документ больше похож на чек‑лист для самопроверки и может содержать полезные советы и хитрости, за основу я взял структуру «WiFi Penetration Testing Cheat Sheet». Я очень благодарен автору, но он забросил вести данную шпаргалку и многие вещи устарели.

Все было протестировано на Kali Linux v2023.1 (64-битной версии), а также проработано на реальном опыте проведения тестирования на проникновение Wi‑Fi и в лабораторных условиях.

Пора ознакомиться
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 9

Windows — причина медленного интернета

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

Если вы столкнулись с «особой» проблемой медленного интернета и никакие танцы с бубном вам не помогают, то это статья для вас.

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

В этой статье я поделюсь своим «интересным» опытом, как я искал решение проблемы и о том, что Windows можно починить и не переустанавливать.

Читать далее
Всего голосов 167: ↑161 и ↓6 +155
Комментарии 316

Разбираем HTTP/2 по байтам

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

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

Читать дальше →
Всего голосов 115: ↑115 и ↓0 +115
Комментарии 45

Самые распространенные логические ошибки

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

Изучение логических ошибок помогает в развитии критического мышления, необходимого во всех сферах жизни. School of Thought проделала отличную работу, описав 24 наиболее распространенные логические ошибки.

Читать далее
Всего голосов 84: ↑79 и ↓5 +74
Комментарии 101

Как стать лучшим в мире в какой-то нише

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


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


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

Как вы можете себе представить, вероятность стать игроком НБА очень низкая: всего есть 30 команд по 15 игроков в каждой, что дает в общей сложности около 450 человек — не так уж много, особенно если учесть, что в молодежный баскетбол играет более полумиллиона ребят. Несложные подсчеты показывают, что меньше чем один из тысячи становится профессионалом.

image
Источник: Томас Пуэйо

Так что давайте будем реалистами: вы не попадете в НБА, не станете ни президентом, ни величайшим писателем в мире, ни лучшим шахматистом, ни самым искусным оратором. Вы никогда не станете лучшим в мире в каком-либо конкретном навыке: всегда найдется кто-то, кто выкладывается больше, у кого лучше генетические данные, кому больше везет (или всё сразу).

image
Большинство людей (в синей области) слабо владеют конкретным навыком. Если немного постараться, вы быстро попадете в 10% лучших (зеленая область). Но как только вы присоединились к этой элите, двигаться дальше становится всё сложнее, потому что ваши конкуренты всё чаще — люди, глубоко преданные этому делу.

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

Переведено в Alconost
Читать дальше →
Всего голосов 96: ↑89 и ↓7 +82
Комментарии 115

Алгоритмы балансировки нагрузок

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

Рано или поздно веб-приложения перерастают среду одного сервера. Компаниям требуется увеличить или их доступность, или масштабируемость, или и то, и другое. Чтобы сделать это, они развёртывают своё приложение на нескольких серверах и ставят перед ним балансировщик нагрузок для распределения входящих запросов. Чтобы справляться с нагрузками, большим компаниям могут потребоваться тысячи серверов, на которых запущено веб-приложение.

В этом посте мы рассмотрим способы, которыми один балансировщик нагрузок может распределять HTTP-запросы на множество серверов. Мы начнём снизу и проделаем весь путь вверх до современных алгоритмов балансировки нагрузок.
Читать дальше →
Всего голосов 107: ↑106 и ↓1 +105
Комментарии 16

Информация

В рейтинге
1 614-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность