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

Системный инженер

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

Как я искала у себя все болезни мира, а нашла выгорание

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

Полгода назад градусник показал 37,2 — с тех пор температура не опускалась. Я сдала несколько литров крови и других жидкостей, потратила огромные деньги на врачей и готовилась умирать молодой. 

Читать далее
Всего голосов 39: ↑29 и ↓10+19
Комментарии48

Как мы проводим миграцию оборудования, пока наши клиенты спят

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

Привет, Хабр! Меня зовут Василий, я инженер по диагностике оборудования в Selectel. Мы постоянно работаем над шерингом знаний в командах, чтобы ускорять процессы установки и замены оборудования. Сегодня хочу рассказать, как устроена миграция серверов в контуре провайдера, и что при этом чувствует клиент.

Миграция серверов необходима для утилизации мощностей, оптимизации охлаждения и упорядочивания конфигураций, поскольку мы стремимся размещать новые стойки рядом с парком, который уже арендован клиентом. Наша главная цель при переезде — повысить качество сервиса, минимизировать риски и даунтаймы. Положения о качестве предоставляемых услуг фиксируются в SLA, поэтому мы также делаем процессы прозрачнее для всех. За историей о том, как это работает, — приглашаю под кат.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии7

S3-FIFO: новый эффективный алгоритм вытеснения из кэша на основе очередей FIFO

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров7.6K
В этой статье я расскажу о простом и масштабируемом (Simple, Scalable) алгоритме вытеснения данных из кэша на основе трёх статических (Static) очередей FIFO (S3-FIFO). После проверки на 6594 трассировках кэшей 14 компаний мы показали, что S3-FIFO имеет меньшую частоту промахов, чем 12 лучших алгоритмов, разработанных в прошлые десятилетия. Более того, эффективность S3-FIFO устойчива — он имеет наименьший средний показатель промахов для 10 из 14 датасетов. Использование очередей FIFO позволяет S3-FIFO достичь хорошей масштабируемости с пропускной способностью в шесть раз больше по сравнению с оптимизированным LRU в cachelib на 16 потоках.

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

Иллюстрация работы S3-FIFO (с использованием порогового значения перехода из маленького в основной кэш, равного 1)
Читать дальше →
Всего голосов 69: ↑69 и ↓0+69
Комментарии5

DNSTT. DNS туннель для обхода блокировок

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

dnstt — это DNS-туннель (VPN over DNS), который может использовать резолверы DNS через HTTPS (DoH) и DNS через TLS (DoT). Проект написан на языке Go.

Руководство будет включать:

1. Описание работы DNSTT

2. Настройку DNS для домена

3. Настройку туннеля dnstt на сервере

4. Настройку клиента dnstt на OpenWRT

5. Настройку автозапуска сервера, клиента и tun2socks

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

Анализ временных рядов, или как предсказать погоду на завтра

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

Прочитав статью, вы узнаете, как можно прогнозировать погоду с точностью до двух градусов на 3 месяца вперед, причем здесь преобразование Фурье и машинное обучение

Читать далее
Всего голосов 21: ↑17 и ↓4+13
Комментарии33

Типичная задача на собеседовании: URL Shortener

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

Один из моих знакомых недавно сходил на собеседование, на котором его попросили спроектировать укорачиватель ссылок. Он растерялся и задачу — как хотел интервьюер — не осилил, а потом нашел в интернете популярное решение и попросил меня прокомментировать. Полная формулировка поставленной проблемы: «Как бы вы разработали службу сокращения URL-адресов, подобную TinyURL

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

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

Shellinabox — если вдруг заблокируют SSH

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

Сейчас мы живём в период, когда блокировки непредсказуемым образом усложняют нам жизнь. Одной из возможных угроз, которые стоит учесть, является блокировка протокола SSH (по причине того, что он позволяет организовывать туннели), и, хотя мы наверняка найдём способ достучаться до своих VPS, возможно стоит подстелить соломки и рассмотреть такой вариант, как SSH-клиент в браузере, что позволяет сделать программа Shellinabox.

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии13

Все айтишники делают это, или почему у вас скорее всего отваливается спина

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

Рассказываю, что нужно делать айтишникам, чтобы сохранить здоровье на работе.

Читать далее
Всего голосов 69: ↑53 и ↓16+37
Комментарии98

Аппаратный взлом

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

Эта статья предназначается для всех, кто имеет опыт в разработке *nix/ПО/эксплойтов, но не обладает или почти не обладает знаниями оборудования/электроники! Хоть мы и не будем рассматривать все подробности простых схем (для этого есть множество отличных онлайн-ресурсов), информация изложена так, что не требует предыдущего опыта работы.

Основная задача статьи — помочь тем, кто пытается заниматься исследованием уязвимостей и/или разработкой эксплойтов физического устройства без системы отладки, оболочки и прошивки. Иными словами, мы попробуем добраться до root shell без сложностей поиска уязвимостей нулевого дня!
Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии16

Consistent против Rendezvous — чем отличаются подходы для хэширования данных на сервере

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

Всем привет, меня зовут Михаил Алексеев, я работаю программистом в студии ITT, пишу бэкенд на Java. Перформанс — это моя страсть, как и распределенные системы. Но еще больше я люблю, когда математика встраивается в перформансные цели и задумки.

В этом тексте я расскажу про разницу между Consistent и Rendezvous хэшированием, а также на примерах покажу, с какими проблемами мы сталкиваемся в работе.

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

Во что вам обойдется конкурентная обработка. Иерархия проблем

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

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

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

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

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

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

Неожиданная находка, которая освобождает 20 GB неиспользованного индексного пространства

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

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

Начнем с конца: в итоге нам удалось освободить более чем 70 GB не оптимизированного и неиспользуемого пространства без удаления индексов и данных. 

Читать далее
Всего голосов 60: ↑57 и ↓3+54
Комментарии9

Хостинг размером с монетку. Самые маленькие компьютеры 2022 года

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

Раньше компьютер занимал комнату, потом шкаф, потом коробку на столе. Сегодня не проблема взять одноплатник с кредитки и собрать ПК произвольной конфигурации: это будет маршрутизатор или NAS, сервер для управления IoT или хранения файлов.

Несколько лет назад на рынке появились сантиметровые «кубики» типа NanoPi и VoCore. Миниатюрный компьютер под Linux (c WiFi, Ethernet и карточкой microSD) можно установить в любом месте дома или офиса — его почти никто не заметит.
Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии51

Как я Markdown парсер выбирал

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

Недавно я решил создать свой сайт, и мне понадобилось выбрать парсер Markdown для отрисовки статей в блоге.

То, что начиналось как: «Окей, гугл, какой парсер выбрать?», – вылилось в полноценное исследование существующих реализаций парсеров.

О том, какие открытия меня ждали на этом пути, и будет данная статья.

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

Тихоходки. И как их поймать?

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

Тем, кто с детства смотрел «Клуб телепутешественников» с Сенкевичем и «В мире животных» с Дроздовым (а по моим ощущениям, этим людям уже лет под сто), а также «Диалоги о животных» и путешествия Команды Кусто, могло казаться, что животный мир средней полосы России, чудовищно беден, по сравнению, с бурлящими жизнью, джунглями Юго-Восточной Азии, амазонской сельвы или экваториальной Африки. Справедливости ради стоит сказать, что к таким людям относился и автор этого очерка. Однако его мнение изменилось, с тех пор как в возрасте шести лет ему в руки попал микроскоп
Читать дальше →
Всего голосов 148: ↑134 и ↓14+120
Комментарии53

17 убойных репозиториев GitHub, которые нужно сохранить

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

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

Читать далее
Всего голосов 174: ↑144 и ↓30+114
Комментарии44

Могут ли компьютеры изобретать? Создаем аналог ТРИЗ на нейронных сетях архитектуры Трансформер

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

Современные языковые модели достигли впечатляющих результатов в некоторых задачах, которые раньше были под силу только человеческому разуму. Так, например, некоторые модели могут без затруднений искать ответы на вопросы, сформулированные на естественном языке в огромных массивах текстовой информации, при этом они не "подсматривают" во внешние источники, а хранят все знания в своей памяти (например, некоторые модели архитектуры T5). Можно пойти дальше и задаться целью создать языковую модель для решения специфичной изобретательской задачи, которая может стоять перед техническим экспертом. В рамках данной публикации попробуем ответить на вопрос могут ли современные нейронные сети генерировать решения изобретательских задач по описанию текущего состояния технической системы и проблемы, которую необходимо устранить.

Читать далее
Всего голосов 21: ↑15 и ↓6+9
Комментарии56

Технология обмана. Что такое Deception и как теперь обманывают хакеров

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

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

Читать далее
Всего голосов 48: ↑46 и ↓2+44
Комментарии10

Проверяем, есть ли у нативной JavaScript‑функции манкипатч

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

Как можно понять, была ли переопределена нативная JavaScriptфункция? Никак — или не совсем надежно. Способы есть, но полностью доверять им нельзя.

Узнать способы
Всего голосов 20: ↑19 и ↓1+18
Комментарии1

Как построена DDoS защита пользователей на хостинге. С какими атаками мы сталкиваемся и как с ними справляемся

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

Лето 2022 года по-настоящему жаркое, и речь не только о погоде: в последнее время в нас, как и в других хостеров, летят DDoS-атаки в сотни Гбит/c практически каждый день. Зачастую отбить атаку на свой личный сайт не составляет большого труда. Но что делать, если ты хостер и надо одновременно защищать сотни тысяч сайтов?

Сегодня мы хотим рассказать как раз об этом :) 

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

Информация

В рейтинге
Не участвует
Откуда
Nordrhein-Westfalen, Германия
Зарегистрирован
Активность