Pull to refresh
1
0
horsepower @horsepower

User

Send message

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

Level of difficultyMedium
Reading time33 min
Views102K

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

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Total votes 216: ↑214 and ↓2+212
Comments77

Как я Telegram ломал

Reading time4 min
Views71K
Как-то раз я взломал один из серверов telegram. Не то чтобы это было нечто интересное, да и сами уязвимости стандартные. Удивление скорее вызывает факт того, как телеграм относится к безопасности и почему на протяжении многих лет уязвимостями так никто и не воспользовался. Но, не ошибается тот, кто ничего не делает!


Читать дальше →
Total votes 217: ↑209 and ↓8+201
Comments55

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

Reading time52 min
Views60K

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

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

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...
Total votes 144: ↑139 and ↓5+134
Comments153

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time74 min
Views154K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 126: ↑123 and ↓3+120
Comments114

Мониторинг за изменениями файловой системы

Reading time4 min
Views41K
В поисках готового велосипеда для решения задачи мониторинга за изменениями в ФС с поддержкой linux+freebsd наткнулся на приятную python либу watchdog (github, packages.python.org). Которая помимо интересных мне ОС поддерживает также MacOS (есть своя специфика) и Windows.
Тем, кому данный вопрос интересен и кого не отпугнет индийское происхождение автора, прошу
под кат
Total votes 39: ↑38 and ↓1+37
Comments34

Алгоритм выбора location в Nginx

Reading time3 min
Views74K
image

Алгоритм выбора location обязателен к знанию при настройке nginx. Тем не менее, на официальном сайте nginx (на 2018 год) не сказано ни слова про алгоритм выбора в случаях, когда какие-то location'ы вложены друг в друга, а в статьях в интернете приводятся в корне неверные алгоритмы. В статье также будет дан пример уязвимого конфига.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments21

Нетипичный «ls» или как развлекаются линуксоиды

Reading time2 min
Views33K
Однажды в телеграм чат питерского сообщества линуксоидов SPbLUG я кинул забавную задачку:
Выведите список файлов в домашней директории максимально возможным количеством способов, без использования ls или его алиасов(1 способ — 1 балл)

Такое же задание чуть позже прилетело в ещё один чат, и вот что из этого получилось:
Читать дальше →
Total votes 77: ↑72 and ↓5+67
Comments136

Из-за чего Facebook стал глобально недоступен. Технический ликбез

Reading time6 min
Views128K

Прим. перев.: в этой статье инженеры онлайн-сервиса Cloudflare весьма популярно объясняют, что именно (технически) произошло с недоступностью Facebook минувшим вечером (4-го октября 2021), а также затрагивают тему того, как этот сбой повлиял на более глобальные процессы в интернете.

«Разве Facebook может упасть?» — задумались мы на секунду…

Сегодня в 16:51 UTC (в 19:51 MSK — прим. перев.) у нас был открыт внутренний инцидент под названием «Facebook DNS lookup returning SERVFAIL». Мы решили, что это с нашим DNS-ресолвером 1.1.1.1 что-то не так. Однако к моменту размещения соответствующего обновления на публичной статус-странице стало ясно, что здесь что-то серьёзное.

Социальные сети уже разрывались от сообщений о том, что быстро подтвердили и наши инженеры: Facebook и связанные с ним сервисы WhatsApp и Instagram действительно упали. Их DNS-имена больше не ресолвились, а IP-адреса инфраструктуры были недоступны. Выглядело так, как будто кто-то буквально выдернул кабели разом во всех их дата-центрах, отключив от интернета.

Как такое вообще возможно?

Читать далее
Total votes 160: ↑158 and ↓2+156
Comments160

Микропроцессор Эльбрус — потенциальные возможности для развития и применения

Reading time12 min
Views23K

После полученных на предыдущие статьи о микропроцессоре Эльбрус откликов мне стало понятно, что для полноты картины не хватает рассмотрения вопроса – а что же делать? Можно ли каким-либо образом улучшить Эльбрус в качестве general-purpose CPU (на что намекали представители МЦСТ) и насколько? Можно ли его применить в каких-то локальных нишах? Давайте попытаемся разобрать данные вопросы.

Читать далее
Total votes 64: ↑53 and ↓11+42
Comments214

Новый открытый VPN-протокол — на что обратить внимание

Reading time3 min
Views15K

Большинство VPN-провайдеров для построения сервисов использует стандартные решения вроде OpenVPN и IKEv2. Однако малая их часть выбирает другой путь и разрабатывает собственные протоколы — одним из них стал Lightway. В статье обсуждаем его возможности, достоинства, недостатки и безопасность.

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments38

Бразильские дальнобойщики и русские радиопираты: изучаем спутники SATCOM

Reading time4 min
Views78K

2009 год. В журнале «Хакер» выходит статья «Хакерское радио: спутники армии США на службе пиратов», повествующая о спутниковом радиопиратстве в Бразилии. Сегодня мы вновь поднимем эту тему и посмотрим, изменилось ли что-то за 11 лет?

Когда речь заходит о спутниках SATCOM, мы сразу оговоримся, что речь пойдет о спутниковой группировке ВМС США — Navy Fleet Satellite Communication (FLTSATCOM). Началось все с корпорации Thompson Ramo Wooldridge Inc., ныне известной как TRW.Inc, руководившей разработкой первой межконтинентальной баллистической ракеты США. Планировалось, что группировка будет состоять из 8 спутников, обеспечивающих связью самолеты, корабли, подводные лодки и наземные станции с военным командованием.
Total votes 52: ↑51 and ↓1+50
Comments36

Минкульт и ФАС ответили на запросы о ситуации с удалением с Ютюба советских мультиков

Reading time8 min
Views47K
В октябре 2020 с платформы Ютюб исчезло более тысячи мультфильмов т.н. золотой коллекции, снятых во времена Советского Союза на студии Союзмультфильм. В январе 2021 пользователи заметили, что коллекция стала вновь доступна на Ютюбе, но не для жителей России — канал Союзмультфильм выставил региональные ограничения на контент так, чтобы из России его нельзя было загрузить.

Теперь в ответ на запросы граждан ситуацию официально прокомментировали Минкульт, Союзмультфильм и ФАС.

Ответы коротко: «всё ок, это норма». Подробнее под катом, кому интересно.
Читать дальше →
Total votes 154: ↑152 and ↓2+150
Comments207

Как получить 9В/12В от зарядного с Quick Charge (на примере STM32)

Reading time3 min
Views52K

Чем может быть полезна быстрая зарядка


С увеличением ёмкости аккумуляторов телефонов потребовалось увеличить и мощность зарядных устройств, чтобы достичь маленького времени зарядки, для чего и нужно было увеличивать выходную мощность: напряжение, ток. Таким образом зарядные с Quick Charge 3.0 кроме 5 В могут выдавать 9В/12В/20В +возможность регулировки с шагом 0.2 В (до 12 В).


image

Ввиду распространенности ЗУ с этой технологией появляется интерес использовать их для получения повышенного напряжения без дополнительных преобразователей.

Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments23

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

Reading time16 min
Views239K

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Total votes 246: ↑245 and ↓1+244
Comments187

Глубокое погружение в Linux namespaces

Reading time7 min
Views100K

Часть 1
Часть 2
Часть 3
Часть 4


В этой серии постов мы внимательно рассмотрим один из главных ингредиентов в контейнере – namespaces. В процессе мы создадим более простой клон команды docker run – нашу собственную программу, которая будет принимать на входе команду (вместе с её аргументами, если таковые имеются) и разворачивать контейнер для её выполнения, изолированный от остальной системы, подобно тому, как вы бы выполнили docker run для запуска из образа.

Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments9

Что недоговаривают Тинькофф Инвестиции. Вытаскиваем все данные по портфелю через API в большую таблицу Excel

Reading time11 min
Views238K

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

Собираем все данные по портфелю и по всем операциям через Tinkoff API.

Строим огромную Excel таблицу со всеми данными.

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

Пытаемся понять, что нам с этим делать.

Read more
Total votes 158: ↑155 and ↓3+152
Comments112

Когда-то я внедрял ClickHouse в стартапе, где даже алерты мониторили индийцы — это был Дикий Запад

Reading time7 min
Views18K

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

Чтобы мониторить сеть и сервера, можно использовать самый разный софт. Главное — быть уверенным: если что-то пойдет не так, то сработает алерт. Вы увидите уведомление и успеете все починить. У них же было свое представление о мониторинге. Представьте, несколько комнат со столами, стульями и огромными плазмами на стенах, внутри сидят почти два десятка человек. На каждый монитор выведены разноцветные графики и рядом приклеены бумажки с номерами телефонов.

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

Покупка компании обошлась недорого, но содержание такой инфраструктуры стоило заоблачных денег. Индусы использовали дорогущую Vertica, где, кроме оплаты железа, нужно было еще отстегивать за лицензию. Мы решили попробовать переезд на ClickHouse. Это практически бесплатный аналог Vertica. Оба продукта работают по схожему принципу: колоночное СУБД с шардированием, с партиционированием данных.

И это было то еще приключение.

Читать далее
Total votes 46: ↑41 and ↓5+36
Comments28

Разрабы становятся админами, а админы — разрабами. Интервью с инженером Uber, где разделение исчезло совсем

Reading time7 min
Views16K

Данила Мигалин (@miga) живет в Вильнюсе и работает инженером в Uber. 

Давным-давно контора, которая занималась русификацией игр, не взяла его работать переводчиком. На следующий день он устроился админом, потому что в школе увлекался программированием. «Русское IT — это большая деревня, одни и те же люди переходят из компании в компанию. До Uber я успел поработать в Яндексе и Майкрософте», — говорит Данила.

С 2006 года он занимался ip-телефонией и админской работой. В свободное время писал на Перле, затем на Питоне, делал свои пет-проекты. Некоторые из них даже пошли в продакшн и в Яндексе, и в Майкрософте. Писать по-серьезному в продакшн он начал, только когда пришел в Uber. «Место, которое мне предложили в компании, предполагало знание Golang. Меня не смутило то, что я иду админом на позицию разработчика. Я думал: отлично, наконец-то можно будет завязать с админским делом и спокойно писать код».

Читать далее
Total votes 37: ↑30 and ↓7+23
Comments23

Почему язык Go стал стандартом для DevOps-инженеров

Reading time6 min
Views49K

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

В 1960-е годы Кен Томпсон — легенда программирования — написал компьютерную игру Space Travel для операционной системы Multics. Система была проектом компании Bell Lab, где он работал вместе с Денисом Ритчи. Позже проект закрыли, и чтобы продолжать играть в свою Space Travel, Томпсон решил портировать ее на компьютер PDP-7. Инструменты, которые он создал для порта, затем легли в основу операционной системы Unix. 

Томпсон написал в одиночку первые три версии. Для Unix был нужен системный язык — так появился B. Позже Денис Ритчи, коллега и друг Томпсона, подхватил разработку и написал язык C. Вот так в основе почти всего, на чем построены современные технологии, лежало желание поиграть в компьютерную игру и пет-проекты для забавы.

Кен Томпсон построил блестящую карьеру исследователя в области computer science. В середине 2000-х он устроился в Google, где вместе с Робом Пайком и Робертом Грейсмером создал Golang — один из самых популярных языков последнего времени.

Читать далее
Total votes 75: ↑67 and ↓8+59
Comments320
1
23 ...

Information

Rating
Does not participate
Registered
Activity