Как стать автором
Обновить
56
0
Антон @antage

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

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

Алгоритм Укконена: от простого к сложному

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

Изучая курс Алгоритмы на строках столкнулся с задачей о построении суффиксного дерева. Перейдя по ссылке на дополнительные материалы наткнулся на рекомендацию "просмотреть этот замечательный комментарий на Stack Overflow". Изучив и реализовав по приведённому вольному описанию алгоритм Укконена решил поделиться переводом.

Ниже приводится попытка описания алгоритма Укконена сначала показав как он работает на простой строке (т.е. строка не содержит повторяющихся символов), постепенно расширяясь до полного алгоритма.

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

Создание устройства качания детских кроваток с дугообразным полозом

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

В предыдущих статьях (раз, два) я описывал устройство качания детской кроватки с маятниковым механизмом. Прошло всего каких-то пять лет – и теперь вашему вниманию хочу представить следующую разработку – устройство качания для кроватки с дугообразным полозом. Ах, да! Предвидя вопросы: «а зачем качать?», «а качать-то, наверное, вредно?», «а вот у меня дети никогда в кроватке не качались – и выросли достойными людьми!», «не нужно приучать детей к качанию, в Спарте таких вообще не любили!» и т.д. – отвечаю: это не предмет рассмотрения данной статьи. Если звезды зажигают – сами понимаете. Всегда качали – это в культуре, причем разных народов. Люльки, колыбели, «бешики» – вот это вот всё. И сейчас тоже – кроватки-качалки, кроватки с маятниковым механизмом. Качали, качают и качать будут. И мы с женой – тоже качали, конечно.

А раз так – будем автоматизировать!
Всего голосов 49: ↑47 и ↓2+70
Комментарии127

Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна

Время на прочтение70 мин
Количество просмотров383K
В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project.


Неожиданное открытие


За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принципах работы окружающего нас мира. Но несмотря на это, у нас все еще нет фундаментальной теории физики, и мы все так же не имеем ответа на вопрос о том, как именно работает наша Вселенная. Я занимаюсь этой темой уже порядка 50-и лет, но только в последние несколько месяцев все кусочки пазла наконец-то начали складываться вместе. И получающаяся картина оказалась гораздо прекрасней, чем все, что я только мог себе представить.
Читать дальше →
Всего голосов 243: ↑238 и ↓5+307
Комментарии459

Легкая работа со сложными алертами. Или история создания Balerter

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

Все любят алерты.

Конечно, гораздо лучше получить уведомление когда что-то произошло (или починилось), чем сидеть, смотреть на графики и искать аномалии.

И инструментов для для этого создано немало. Alertmanager из экосистемы Prometheus и vmalert из группы продуктов VictoriaMetrics. Уведомления zabbix и алерты в Grafana. Самописные скрипты на bash и Telegram боты, которые периодически дергают какой-то URL и говорят, если что-то не так. Много всего.

Мы, в нашей компании, тоже использовали разные решения, пока не уперлись в сложность, или, скорее, невозможность создания сложных, составных алертов. Чего нам хотелось и что в итоге сделали - под катом. TLDR: Так появился open source проект Balerter.

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

Потроха IPsec, меримся с TLS 1.3, ГОСТ и Go

Время на прочтение37 мин
Количество просмотров20K
Приветствую! Очень хочется рассказать про устройство современного стэка IPsec протоколов ESPv3 и IKEv2. IPsec, как мне кажется, незаслуженно обходится многими стороной и детального разбора его работы, его протоколов и возможностей я не видел на русском языке. Кроме того, сделаю странное — сравню IPsec ESPv3 и IKEv2 (оба 2005-го года) с современным, модным, state-of-art TLS 1.3 2018-го года.


Почему я вообще так увлечён темой IPsec — возможно самого сложного стэка протоколов для защиты сетей? Ведь сложность это главный враг надёжности и безопасности! Во-первых, чем больше узнаёшь про его протоколы, особенно IKEv2, тем больше понимаешь как много возможностей в него закладывалось и впечатляешься его продуманностью, в отличии от распространённого подхода разработчиков «костыль костылём погоняет» и решением серьёзных проблем «пока гром не грянет». Во-вторых, IPsec протоколы хорошо продуманы с криптографической точки зрения и, даже старые ESP/IKEv1, фактически являются единственными промышленными массово используемыми протоколами в которых не было сколь либо серьёзных уязвимостей. Тот же SSL (1995-ый год) стал достойно продуманным только с версии 1.3. А нелюбовь к IPsec у многих связана с монструозной сложностью IKEv1, которой больше нет в v2.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+24
Комментарии12

Обновление MySQL (Percona Server) с 5.7 до 8.0

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


Прогресс не стоит на месте, поэтому причины обновиться на актуальные версии MySQL становятся всё более весомыми. Не так давно в одном из наших проектов настало время обновлять уютные кластеры Percona Server 5.7 до 8-й версии. Всё это происходило на платформе Ubuntu Linux 16.04. Как выполнить подобную операцию с минимальным простоем и с какими проблемами мы столкнулись при обновлении — читайте в этой статье.
Читать дальше →
Всего голосов 37: ↑36 и ↓1+48
Комментарии8

Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)

Время на прочтение31 мин
Количество просмотров221K
Не передать, насколько мне приятно это писать. Данная статья полностью профинансирована подписчиками канала LAB66. Ни один производитель описанных в тексте средств -  своего участия не проявил, так что никакой скрытой рекламы, чиcтый альтруизм и потребительский интерес :)

Сегодня читаем о самом простом, самом доступном и самом действенном антисептике — про гипохлорит натрия (он же «Белизна»). Совместимость с различными материалами, техника безопасности, свойства и эффективность не только против коронавируса, но и против страшной плесени и ее микотоксинов. В качестве «вишенки» — контрольная закупка магазинных отбеливателей и оценка их состава. Чтобы узнать как в эпоху пандемии нас дурят производители бытовой химии и прочий «менеджерский брат» — идем под кат. И обязательно закидываем в закладки. Эта информация пригодится еще не раз ;)


Даешь нормальную Белизну!
Всего голосов 139: ↑136 и ↓3+173
Комментарии73

Практический опыт обновления MySQL 5.7 до версии 8.0

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

Недавно мы обновили свои сервера с MySQL 5.7 на 8.0.

Оставим за рамками этой статьи зачем и какие новые плюшки появились в MySQL 8.0, а вместо этого расскажем о том, с какими сложностями мы столкнулись в процессе обновления.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии12

Android для радиоинженера (и не только)

Время на прочтение6 мин
Количество просмотров41K
С того самого момента, когда я приобрел свой первый смартфон, работающий под ОС Android, я искал приложения под эту ОС, которые бы помогли мне делать несложные рабочие расчеты «на ладошке». Об одном из таких приложений и пойдет речь.

Читать дальше →
Всего голосов 69: ↑68 и ↓1+67
Комментарии19

Умный принтер. Улучшая Octoprint

Время на прочтение5 мин
Количество просмотров39K
Разрабатывая открытый проект 4-х экструдерного принтера Z-Bolt, мы столкнулись с проблемой выбора экрана для управления принтером. Из имеющихся экранов лишь решение от Duet Wifi умеет управлять более чем 2-мя экструдерами. Решение, мягко говоря, не бюджетное, да и интерфейс на любителя. Так что мы решили поискать альтернативный вариант с преферансом и куртизанками. Эта история о нем…

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

Настройка кластера Nomad с помощью Consul и интеграция с Gitlab

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

Введение



В последнее время стремительно растет популярность Kubernetes — все больше и больше проектов внедряют его у себя. Я же хотел коснуться такого оркестратора, как Nomad: он отлично подойдет проектам, где уже используются другие решения от компании HashiCorp, например, Vault и Consul, а сами проекты не являются сложными в плане инфраструктуры. В данном материале будет инструкция по установке Nomad, объединения двух нод в кластер, а также интеграции Nomad с Gitlab.



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

Настройка в OsmAnd карты слоя Strava heatmap

Время на прочтение3 мин
Количество просмотров13K
В приложении OsmAnd для телефонов на операционной системе android есть возможность добавления дополнительных слоев на карты OSM (Open Street Map). Полезным дополнением для вашей навигационной системы будет слой Strava heatmap, результат записанных во время путешествий и тренировок треков бегунов, велосипедистов, пловцов. Визуализация этих данных позволяет при навигации найти с одной стороны наиболее популярные маршруты, выделенные внушительными полосами, так и определить проходимость или проезжаемость участка на местности по тонким нитям одиночных треков.

С 2018 года Strava labs в свободном доступе предоставляет только тейлы низкого разрешения. Произошло это, по всей видимости, для “обеспечения безопасности” в ответ на публикации о массовом рассекречивании местоположения тренировок пользователей.

Для поиска популярных маршрутов низкой детализации вполне достаточно, но для того, чтобы оценить проходим ли участок местности нужны записи одиночных треков.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии8

Автоматическая авторизация на карте Strava Heatmap

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


Данный пост является ответом на недавнюю аналогичную статью. Попробую рассказать, как можно автоматизировать описанные в ней действия. И как подключить эту тепловую карту к навигатору смартфона.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

HTTP-заголовки для ответственного разработчика

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

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

Разработчики соединяют людей.
Разработчики помогают людям.
Разработчики дают людям возможности.

Разработчики могут создать сеть для всех, но эту способность необходимо использовать ответственно. В конце концов, важно создавать вещи, которые помогают людям и расширяют их возможности. В этой статье я хочу рассказать о том, как HTTP-заголовки могут помочь вам создавать лучшие продукты для лучшей работы всех пользователей в интернете.
Читать дальше →
Всего голосов 92: ↑90 и ↓2+88
Комментарии64

Прекратите скручивать (восклицательный знак)

Время на прочтение6 мин
Количество просмотров1.7M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно
Всего голосов 682: ↑667 и ↓15+652
Комментарии360

О простых вещах-сложно. Письмо химика 3D-печатнику. Растворители для пластмасс и защита от них

Время на прочтение15 мин
Количество просмотров102K
DIY посвящается...

Одним из наиболее часто задаваемых вопросов в моей консультационной практике являются вопросы связанные с растворением/склейкой пластмасс с помощью всевозможных органических растворителей. В последнее время произошел настоящий всплеск интереса к химии высокомолекулярных соединений, связанный с появлением доступных 3D принтеров и необходимостью ориентироваться в «чернилах» для них (т.е. полимерных нитях-филаментах). Лишний раз убеждаюсь в том, что ни один, даже самый продвинутый «музей науки» с эффектным шоу не может так заставить IT-шника интересоваться пластмассами, как собственный 3D-принтер. Так что, читатель, если тебе хоть раз приходилось думать чем склеить пластмассу, которую не клеил default-ный суперклей, если мучали сомнения по поводу растворения поддержек свежеотпечатанной детали, да и просто интересно, чем можно отмыть клей от магазинного ценника на подарке — прошу под кат. Также настоятельно рекомендую страницу отправить в закладки не только тем, кто часто занимается склеиванием пластмасс, но и всем тем, кому часто приходится работать с различными растворителями/разбавителями. Делалось для себя — подарено Хабру!

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

Другой Github 2: машинное обучение, датасеты и Jupyter Notebooks

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


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

В этой подборке собраны репозитории по машинному обучению, датасетам и Jupyter Notebooks, ранжированные по количеству звезд. В предыдущей части мы рассказывали о популярных репозиториях для изучения работ по визуализации данных и глубокому обучению.
Читать дальше →
Всего голосов 47: ↑45 и ↓2+43
Комментарии1

Профилирование и трейсинг с perf

Время на прочтение1 мин
Количество просмотров27K
Учимся дебажить с perf — целых 18 страниц про основные подкоманды, фичи и устройство инструмента. Джулия рекомендует; “Я даже использовала его несколько раз для профилирования Ruby программ!”

Уровень сложности — для суперпродвинутого администратора.

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


Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии13

Сказ о сплаве Розе и отвалившейся КРЕНке

Время на прочтение6 мин
Количество просмотров181K
image
Давным, давно, когда я был школьником и добывал радиодетали преимущественно из разных выброшенных на свалку плат, заметил я необычное явление в процессе распаивания очередной такой платы: некоторые пайки моментально отваливались от фольги, стоило в них ткнуть паяльником. Контактная площадка оставалась чистой от припоя, гладкой и серебристо облуженной, а капля припоя на выводе детали имела внизу такое же блестящее плоское основание.
Читать дальше →
Всего голосов 218: ↑217 и ↓1+216
Комментарии253

Изучаем трассировку с помощью eBPF: Руководство и примеры

Время на прочтение6 мин
Количество просмотров16K
Привет, Хабр! Предлагаю вашему вниманию перевод статьи Брендана Грегга, посвящённой изучению eBPF

На конференции Linux Plumbers было как минимум 24 выступления по eBPF. Он быстро стал не просто бесценной технологией, но и востребованным навыком. Возможно, вам хотелось бы поставить какую-то цель на новый год — изучите eBPF!


Термин eBPF должен означать что-то существенное, как например Virtual Kernel Instruction Set (VKIS), но по своему происхождению это расширенный Berkeley Packet Filter. Он применим во многих областях, таких как производительность сети, фаерволлы, безопасность, трассировка и драйвера устройств. По некоторым из них есть много свободно доступной информации в интернете — например, по трассировке, а по другим ещё нет. Термин трассировка относится к инструментам анализа производительности и наблюдения, которые могут генерировать информацию по каждому событию. Возможно, вы уже использовали трассировщик — tcpdump и strace являются специализированными трассировщиками.


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


  • Начинающим: запуск инструментов bcc
  • Опытным: разработка инструментов bpftrace
  • Продвинутым: разработка инструментов bcc, вклад в bcc и bpftrace
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Информация

В рейтинге
Не участвует
Откуда
Владимирская обл., Россия
Дата рождения
Зарегистрирован
Активность