Pull to refresh
0
0
Александр Илларионов @AlexanderPro

Разработчик программного обеспечения

Send message

Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)

Reading time 7 min
Views 26K

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

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

Читать далее
Total votes 143: ↑140 and ↓3 +137
Comments 164

Изучаем ELK. Часть I — Установка Elasticsearch

Reading time 10 min
Views 115K

Эта статья является первой в серии статей по стеку Elasticsearch, Logstash, Kibana (ELK). Цикл статей ориентирован на тех, кто только начинает знакомится со стеком ELK, и содержит минимально необходимый набор знаний, чтобы успешно запустить свой первый кластер ELK.

В этой статье будет рассмотрена процедура установки Elasticsearch и конфигурирование кластера.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Comments 20

Что будет, если выйти из IT?

Level of difficulty Easy
Reading time 3 min
Views 80K

Размышляя на тему минусов IT, я вспомнил историю моего знакомого Сергея, который работал на позиции Senior Java Developer в одном российском банке. В какой-то момент его настолько припекло, что он решил выйти из IT. «Прощай, немытое айти! Страна рабов, страна господ!», — браво повторял он, когда увольнялся. Как думаете, что из этого вышло?

Читать далее
Total votes 183: ↑124 and ↓59 +65
Comments 466

Основы полнотекстового поиска в ElasticSearch. Часть первая

Level of difficulty Medium
Reading time 5 min
Views 14K

Привет! Меня зовут Глеб, я разработчик команды продукта «Сервис персонализации» в SM Lab. В цикле из трех постов я расскажу про основы полнотекстового поиска в Elasticsearch.

Данный цикл статей предназначен для всех, но будет особенно актуальным для тех читателей, кто только начинает свое знакомство с Elasticsearch. Я надеюсь, каждый из вас найдет что-то полезное для себя.

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

Итак, начнём с самых базовых понятий.

Читать далее
Total votes 23: ↑22 and ↓1 +21
Comments 1

Как совмещать основную работу и проекты на стороне

Level of difficulty Easy
Reading time 5 min
Views 44K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

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

Читать далее
Total votes 109: ↑107 and ↓2 +105
Comments 47

Как найти и устранить IDOR — ликбез по уязвимости для пентестеров и веб-разработчиков

Reading time 7 min
Views 20K

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

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

Читать далее
Total votes 22: ↑21 and ↓1 +20
Comments 5

React Hooks простыми словами

Reading time 10 min
Views 80K

О хуках в фронтенд-разработке на Хабре писали уже не раз, и в этой статье мы не сделаем великого открытия. Наша цель другая – рассказать про React Hooks настолько подробно и просто без трудной терминологии, насколько это возможно. Чтобы после прочтения статьи каждый понял про хуки всё. Эта статья будет полезна как начинающим React-разработчикам, так и тем, кто хочет, не уходя в глубины документации, получить практическую информацию в сжатом виде. 

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

Продвинутые хуки в React: всё о UseEffect

Reading time 5 min
Views 41K

В этой статье рассмотрим советы и приёмы, которые помогут более профессионально написать код на React.

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 13

Наглядное руководство по SSH-туннелям

Reading time 8 min
Views 111K

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее
Total votes 75: ↑75 and ↓0 +75
Comments 17

Рекомендации при работе с PostgreSQL

Level of difficulty Medium
Reading time 10 min
Views 22K

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить
Total votes 57: ↑54 and ↓3 +51
Comments 53

47 лет польский художник рисовал всего одну картину… из чисел! Смысл жизни Романа Опалки

Reading time 3 min
Views 22K

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

Читать далее
Total votes 47: ↑32 and ↓15 +17
Comments 89

Как расширить дисковое пространство на VPS за счет дисков на сервере в домашней сети

Level of difficulty Easy
Reading time 9 min
Views 7.7K

В настоящее время очень широкое распространение получили решения, основанные на self-hosting'e. При этом, под этим термином понимается идеология и практика, предусматривающая размещение веб-сервисов на собственных серверах, например домашних, вместо использования стороннего хостинга, как коммерческого, так и бесплатного.

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

Но недостатки такого подхода тоже есть, и часто основной недостаток в том, что для предоставления доступа к вашим сетевым ресурсам вы должны обеспечить ряд условий: работающий сервер, статический IP, правильная настройка NAT в части маршрутизации пакетов и обеспечения безопасности. И если с первым вопросом более-менее ситуация решаемая, то остальные вопросы подчас становятся нерешаемыми в силу ряда причин, начиная от особенностей провайдеров, заканчивая тем сетевым железом, которое есть в распоряжении пользователя. Хорошо, если это будет какое то решение, основанное на RouterOS или OpenWRT, которое еще надо уметь настроить, что подчас совсем не просто. Но это может быть и какой то роутер начального уровня (или, что еще хуже провайдерское оборудование), которое крайне ограничено в своем функционале, на котором настроен свой NAT, которое может находится за NAT провайдера с «серым» IP. Поэтому популярные решения для self-hosted ресурсов вроде NextCloud становятся не такими уж и популярными как бы того хотелось.

Читать далее
Total votes 15: ↑11 and ↓4 +7
Comments 18

Иероглифы — хаос или система? Разбираемся из чего они состоят, как работают и в чём их сила

Level of difficulty Easy
Reading time 15 min
Views 35K

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

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

Заходите, будет интересно
Total votes 150: ↑149 and ↓1 +148
Comments 183

Разбор crackme от KilLo (.net)

Level of difficulty Easy
Reading time 8 min
Views 3.4K


Предупреждение


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


Введение


Решение crackme это (время от времени) достаточно увлекательное занятие, позволяющее взглянуть на некоторые вещи под непривычным углом. В этой статье я расскажу о том, как можно патчить скомпилированные .NET-приложения не прибегая к перекомпиляции.

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 3

Zabbix, PostgreSQL и pg_stat_statements

Level of difficulty Hard
Reading time 43 min
Views 9.4K

Я хочу поделиться своим опытом использования Zabbix для анализа проблем с производительностью PostgreSQL, используя расширение pg_stat_statements.

Читать далее
Total votes 36: ↑36 and ↓0 +36
Comments 16

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

Level of difficulty Easy
Reading time 26 min
Views 155K

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

Читать далее
Total votes 159: ↑157 and ↓2 +155
Comments 44

Развертывание программного комплекса на Asp.net на российских ОС

Level of difficulty Medium
Reading time 14 min
Views 6.7K

В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с несовместимостью ПО, необходимостью настройки пакетов и т.д. В этой статье рассмотрю основные проблемы, с которыми наша команда столкнулась при развертывании проектного решения на российских Linux системах: Astra Linux, Alt Linux, Red OS. Этот опыт будет полезен для команд разработки, которые переходят на Linux и ранее не работали с ними.

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

Читать далее
Total votes 24: ↑18 and ↓6 +12
Comments 7

Наша новая удачная попытка бесшовной замены Redis на KeyDB

Reading time 5 min
Views 13K

Мы уже как-то рассказывали о базе данных KeyDB — форке Redis, разработка которого началась в 2019 году. Проект распространяется под свободной лицензией BSD, и у него уже почти 6k звезд на GitHub. Авторы в свое время столкнулись с проблемами производительности оригинала и пошли хардкорным путём: взяли всё в свои руки и привнесли много нового как в части многопоточности, так и в других областях.

В статье делимся еще одним положительным опытом замены Redis на KeyDB.

Читать далее
Total votes 45: ↑45 and ↓0 +45
Comments 19

KeyDB как [потенциальная] замена Redis

Reading time 6 min
Views 33K
На хабре не нашлось обзоров «более быстрой альтернативы Redis» — KeyDB. Получив достаточно свежий опыт его использования, хочется восполнить этот пробел.



Предыстория достаточно банальна: однажды с большим наплывом трафика была зафиксирована значительная деградация производительности приложения (а именно — времени ответа). На тот момент, к сожалению, не удалось провести нормальную диагностику происходящего, поэтому впоследствии запланировали ряд нагрузочных тестирований. После их проведения удалось обнаружить узкое место, коим стал кэш базы данных в Redis. Как это часто бывает, проблему нельзя было решить сию секунду и правильным путём — силами разработчиков (изменением логики работы). Поэтому включилось любопытство и желание побороть ситуацию обходным путём. Так и появилась эта статья.
Читать дальше →
Total votes 80: ↑78 and ↓2 +76
Comments 41

Взлом YouTube для быстрого скачивания видео

Reading time 9 min
Views 64K
Мы неоднократно рассказывали о специальном софте, который позволяет скачивать видео с YouTube. Это в первую очередь youtube-dl (yt-dl) и его клоны, такие как yt-dlp и yt-dlc. С ними воюют могучие копирасты, пытаются удалить их из поисковой выдачи, с хостингов, с Github и так далее, по известной схеме «тотальная война».

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

Сами программки — просто технические инструменты для скачивания общедоступного контента, они ничего не воруют и не пиратят. Просто доступ происходит нестандартным способом, который не предусмотрен официально. Посмотрим, как это делается.
Читать дальше →
Total votes 168: ↑158 and ↓10 +148
Comments 421

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity