Как стать автором
Обновить
7
Карма
0
Рейтинг
Andrewus @Andrewus

Разработчик

  • Подписчики 8
  • Подписки 8
  • Публикации
  • Комментарии

О спасении от удушья в своей квартире или лонгрид о современной вентиляции

Научно-популярноеУмный домИнтернет вещейDIY или Сделай самЗдоровье
Из песочницы

О спасении от удушья в своей квартире или лонгрид о современной вентиляции 

За окном зима, еще не закончилась пандемия коронавируса. Некоторые компании даже не думали переводить сотрудников обратно в офис, а кто-то и так всегда работал из дома. Изолировавшись в своих квартирах, многие стали замечать, что работать там, порой, сложнее чем в офисе. Одолевает усталость, апатия, сонливость. Думается не так хорошо, как в родном опенспейсе.

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

Читать далее
Всего голосов 80: ↑76 и ↓4+72
Просмотры42K
Комментарии 166

Кластер PostgreSQL высокой надежности на базе Patroni, Haproxy, Keepalived

Системное администрированиеАдминистрирование баз данныхDevOps
Tutorial
Привет, Хабр! Встала передо мной недавно задача: настроить максимально надежный кластер серверов PostgreSQL версии 9.6.

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

Планируя кластер я проштудировал много статей, как из основной документации к PostgreSQL, так и различных howto, в том числе с Хабра, и пробовал настроить стандартный кластер с RepMgr, эксперементировал с pgpool.

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

В итоге где-то (уже не вспомню точно где) нашел ссылку на прекрасный проект Zalando Patroni, и все заверте…
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Просмотры76K
Комментарии 69

Классификация критичности информационных систем

Системное администрированиеАнализ и проектирование системIT-инфраструктураIT-стандартыФинансы в IT
«Альфа-банк надежен, как танк,
А Гамма-банк надежен как банк!»

Виктор Пелевин, «Числа»

Когда в разговорах возникает фраза «банковская система», воображение рисует сверхнадёжную систему, построенную на самом дорогом оборудовании, кластеризованную на всех возможных уровнях и ограждённую от окружающего мира доступными и недоступными средствами защиты. Действительно, такие системы существуют. Но…



Если посмотреть вакансии разработчиков в банке, то вполне можно увидеть там среди требований знания Cassandra, MongoDB и других платформ, которые никак не внушают мыслей о 100% доступности. Да и такие СУБД как Oracle или Microsoft SQL Server где-то устанавливают на кластер из дорогих серверов, подключённых к самым надёжным и высокопроизводительным массивам, а где-то – на обычную виртуальную машину в ферме из самого что ни на есть commodity.

Причины очевидны – избыточные решения дороги. Но как найти компромисс между стоимостью платформы и её надёжностью?
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Просмотры8.2K
Комментарии 3

Основы мониторинга PostgreSQL. Алексей Лесовский

Системное администрированиеPostgreSQLSQL*nixАдминистрирование баз данных

Предлагаю ознакомиться с расшифровкой доклада Алексей Лесовский из Data Egret "Основы мониторинга PostgreSQL"


В этом докладе Алексей Лесовский расскажет о ключевых моментах постгресовой статистики, что они означают, и почему они должны присутствовать в мониторинге; о том, какие графики должны быть в мониторинге, как их добавить и как интерпретировать. Доклад будет полезен администраторам баз данных, системным администраторам и разработчикам, которым интересен траблшутинг Postgres'а.


Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Просмотры26K
Комментарии 6

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

Настройка LinuxСистемное администрированиеОблачные вычисленияСерверное администрированиеDevOps
Tutorial

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Всего голосов 112: ↑110 и ↓2+108
Просмотры62K
Комментарии 66

Обзор графических интерфейсов для Kubernetes

Блог компании ФлантСистемное администрированиеDevOpsKubernetes


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

В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Просмотры21K
Комментарии 27

Давайте отключим vacuum?! Алексей Лесовский

Системное администрированиеPostgreSQLSQLСерверное администрированиеАдминистрирование баз данных

Расшифровка доклада 2018 года Алексея Лесовского "Давайте отключим vacuum?!"


Примечание редактора: Любые рекомендации по изменению параметров всегда стоит сравнивать в других докладах


Такой призыв часто возникает, когда в PostgreSQL возникают проблемы, и главным подозреваемым оказывается vacuum (далее по тексту просто "вакуум"). По опыту, многие наступают на эти грабли, и мне с коллегам по Data Egret нередко приходится разгребать последствия, так как потом всё становится ещё хуже. Но если обратить внимание на сам вакуум, то, пожалуй, нет такого человека, который бы использовал Postgres, и при этом ничего не знал про него. Ведь история вакуума начинается относительно давно, и в интернете можно найти массу как старых, так и новых постов про вакуум, объемные дискуссии в списках рассылки. Несмотря на то, что тема вакуума подробно описана в официальной документации к PostgreSQL, новые посты и новые дискуссии будут появляться и дальше. Возможно, поэтому с вакуумом связано очень много мифов, баек, страшилок и заблуждений. Между тем, вакуум является одним из важнейших компонентов PostgreSQL, и его работа напрямую сказывается на производительности. В одном докладе невозможно рассказать про вакуум абсолютно всё, но я бы хотел раскрыть ключевые моменты, связанные с вакуумом, такие как его внутреннее устройство, основные подходы к его настройке, наблюдение за производительностью, мониторинг, и что делать в случае, когда вакуум — главный подозреваемый во всех бедах. Ну и, конечно же, хочется развеять распространенные мифы и заблуждения, связанные с вакуумом.


Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Просмотры9.1K
Комментарии 14

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

ПрограммированиеУчебный процесс в ITКарьера в IT-индустрииIT-компании
🔥 Технотекст 2020

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Всего голосов 201: ↑196 и ↓5+191
Просмотры173K
Комментарии 343

10 отличных Github репозиториев, которые должен знать каждый веб-разработчик

Разработка веб-сайтовJavaScriptGitHubУчебный процесс в IT
Перевод

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


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


image


А я его перевел, т.к. показалось, что пост многим будет интересен. Перевод очень вольный: я опустил нерелевантные промо-ссылки и гипер эмоциональные похвалы автора оригинала, чтобы оставить только суть. Еще, обновил цифры, чтобы информация была более актуальной к моменту публикации этого перевода. Итак, перейдем к списку.
Читать дальше →
Всего голосов 76: ↑69 и ↓7+62
Просмотры83K
Комментарии 8

Глупая причина, по которой не работает ваше хитрое приложение машинного зрения: ориентация в EXIF

PythonОбработка изображенийМашинное обучениеИскусственный интеллектФототехника
Перевод
Я много писал о проектах компьютерного зрения и машинного обучения, таких как системы распознавания объектов и проекты распознавания лиц. У меня также есть опенсорсная библиотека распознавания лиц на Python, которая как-то вошла в топ-10 самых популярных библиотек машинного обучения на Github. Всё это привело к тому, что новички в Python и машинном зрении задают мне много вопросов.



По опыту, есть одна конкретная техническая проблема, которая чаще всего ставит людей в тупик. Нет, это не сложный теоретический вопрос или проблема с дорогими GPU. Дело в том, что почти все загружают в память изображения повёрнутыми, даже не подозревая об этом. А компьютеры не очень хорошо обнаруживают объекты или распознают лица в повёрнутых изображениях.
Читать дальше →
Всего голосов 97: ↑97 и ↓0+97
Просмотры16K
Комментарии 18

Мошенники и ЭЦП — всё очень плохо

Информационная безопасностьЗаконодательство в IT

Недавно общественность облетела новость о первом случае продажи квартиры мошенниками с помощью ЭЦП и подделки документов. Когда я раньше читал подобные новости, всегда воспринимал отстранённо, как будто со мной этого не может произойти, но я ошибался. И теперь могу заявить, в зоне риска мошенников — каждый, увы, даже хабровчане.

Читать дальше →
Всего голосов 356: ↑356 и ↓0+356
Просмотры221K
Комментарии 778

Мониторинг мёртв? — Да здравствует мониторинг

Блог компании ITSummaВысокая производительностьРазработка веб-сайтовВеб-аналитикаDevOps


Наша компания с 2008 года занимается преимущественно управлением инфраструктурами и круглосуточной технической поддержкой веб-проектов: у нас более 400 клиентов, это порядка 15% электронной коммерции России. Соответственно, на поддержке очень разнообразная архитектура. Если что-то падает, мы обязаны в течение 15 минут это починить. Но чтобы понять, что авария произошла, нужно мониторить проект и реагировать на инциденты. А как это делать?

Я считаю, что в организации правильной системы мониторинга происходит беда. Если бы беды не было, то мой спич состоял из одного тезиса: «Установите, пожалуйста, Prometheus + Grafana и плагины 1, 2, 3». К сожалению, теперь так не работает. И главная проблема заключается в том, что все продолжают верить во что-то такое, что существовало в 2008 году, с точки зрения программных компонентов.

В отношении организации системы мониторинга я рискну сказать, что… проектов с грамотным мониторингом не существует. И ситуация настолько плохая, если что-то упадёт, есть риск, что это останется незамеченным — все ведь уверены, что «всё мониторится».
Возможно, всё мониторится. Но как?

Все мы сталкивались с историей наподобие следующей: работает некий девопс, некий админ, к ним приходит команда разработчиков и говорит — «мы зарелизились, теперь замониторь». Что замониторь? Как это работает?

Ок. Мониторим по старинке. А оно уже изменяется, и выясняется, что ты мониторил сервис А, который стал сервисом B, который взаимодействует с сервисом C. Но команда разработчиков тебе говорит: «Поставь софт, он же должен все замониторить!»

Так что изменилось? — Всё изменилось!
Читать дальше →
Всего голосов 62: ↑56 и ↓6+50
Просмотры30K
Комментарии 23

Как я взломал пул для майнинга Bitcoin

Информационная безопасностьТестирование веб-сервисов
Из песочницы
Сегодня веб-сайты работающие с криптовалютами являются очень «вкусной» мишенью для хакеров. И вроде бы их безопасность должна быть на высоком уровне, но нет. это далеко не всегда так. Посмотрите хотя бы на BlockChain Graveiard, где видно как крупнейшие сервисы банкротятся и закрываются в результате хакерских атак. Меня это воодушевило и я решил провести собственное исследование безопасности одного из таких веб-приложений. В этой статье я расскажу что из этого получилось и сколько мне заплатили. Интересно? Добро пожаловать под кат.
Читать дальше →
Всего голосов 125: ↑122 и ↓3+119
Просмотры53K
Комментарии 28

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Сетевые технологии
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →
Всего голосов 212: ↑212 и ↓0+212
Просмотры470K
Комментарии 325

Ticket Trick: взлом сотен компаний через службы поддержки пользователей

Блог компании RUVDS.comИнформационная безопасность.NETТестирование веб-сервисов
Перевод
Несколько месяцев назад была обнаружена уязвимость, с помощью которой хакеры могут взламывать корпоративные средства обмена сообщениями. Воспользоваться этой уязвимостью не сложнее, чем пару раз щёлкнуть мышью, при её успешной эксплуатации можно получить доступ ко внутренней сети компании, к аккаунтам её сотрудников в социальных сетях, таких, как Twitter, и, обычно, к командам в Yammer и Slack.

Я придумал для моей находки имя и логотип. Примите как данность.

Проблема, о которой идёт речь, всё ещё существует. Это — не тот случай, когда всё можно моментально привести в порядок. За последние несколько месяцев я связался с десятками компаний и затронутых уязвимостью поставщиков услуг, в рамках их программ отлова багов, для того, чтобы исправить ситуацию. Из-за огромного количества организаций, на которых это распространяется, я не в состоянии связаться со всеми. Следуя рекомендациям некоторых уважаемых мною людей и с разрешения затронутых проблемой организаций, я публикую этот материал для того, чтобы все, кого это касается, могли бы немедленно принять меры. Сейчас я расскажу о том, что я назвал Ticket Trick.
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Просмотры17K
Комментарии 9

Ожидание длиной в 15 лет. Nginx Application Server

Блог компании ITSummaСистемное администрированиеNginxСерверное администрирование
Начиная с момента появления Nginx в 2004 году, мы все задавались вопросом: когда же на nginx можно будет запускать приложения? Мы запускали PHP в php-fpm и на апаче, запускали Python через uWSGI, иногда жили с Apache, а если нам нужны были разные версии PHP — жили с зоопарком из FPM-ов.

image

Только что на конференции NginxConf в Портленде Nginx, Inc. объявил о запуске Nginx Application Platform. ITSumma тестировала один из его компонентов, собственно сам Application Server под названием Nginx Unit с закрытой версии. В этом посте мы расскажем о том, как выглядит Nginx Unit, и как на нем запускать приложения.
Читать дальше →
Всего голосов 131: ↑125 и ↓6+119
Просмотры54K
Комментарии 119

Обзор расширения OPCache для PHP

Блог компании Mail.ru GroupРазработка веб-сайтовPHPКомпиляторы
Перевод


PHP — это скриптовый язык, который по умолчанию компилирует те файлы, которые вам нужно запустить. Во время компилирования он извлекает опкоды, исполняет их, а затем немедленно уничтожает. PHP был так разработан: когда он переходит к выполнению запроса R, то «забывает» всё, что было выполнено в ходе запроса R-1.

Очень маловероятно, что на production-серверах PHP-код изменится между выполнением нескольких запросов. Так что можно считать, что при компилированиях всегда считывается один и тот же исходный код, а значит и опкод будет точно таким же. И если извлекать его для каждого скрипта, то получается бесполезная трата времени и ресурсов.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Просмотры83K
Комментарии 24

Как правильно хешировать пароли в высоконагруженных сервисах. Опыт Яндекса

Блог компании ЯндексВысокая производительностьИнформационная безопасностьКриптография
Я расскажу о такой проблеме, как хеширование паролей в веб-сервисах. На первый взгляд кажется, что тут все «яснопонятно» и надо просто взять нормальный алгоритм, которых уже напридумывали много, написать чуть-чуть кода и выкатить все в продакшн. Но как обычно, когда начинаешь работать над проблемой, возникает куча подводных камней, которые надо обязательно учесть. Каких именно? Первый из них — это, пожалуй, выбор алгоритма: хоть их и много, но у каждого есть свои особенности. Второй — как выбирать параметры? Побольше и получше? Как быть с временем ответа пользователю? Сколько памяти, CPU, потоков? И третий — что делать с computational DoS? В этой статье я хочу поделиться некоторыми своими мыслями об этих трех проблемах, опытом внедрения нового алгоритма хеширования паролей в Яндексе и небольшим количеством кода.



Attacker & Defender


Прежде чем переходить к алгоритмам и построению схемы хеширования, надо вообще понять, от чего же мы защищаемся и какую роль в безопасности веб-сервиса должно играть хеширование паролей. Обычно сценарий таков, что атакующий ломает веб-сервис (или несколько веб-сервисов) через цепочку уязвимостей, получает доступ к базе данных пользователей, видит там хеши паролей, дампит базу и идет развлекаться с GPU (и, в редких случаях, с FPGA и ASIС).
Читать дальше →
Всего голосов 106: ↑100 и ↓6+94
Просмотры38K
Комментарии 65

Load Average в Linux: разгадка тайны

Блог компании Mail.ru GroupIT-инфраструктура*nixСетевые технологииDevOps
Перевод


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

Читать дальше →
Всего голосов 127: ↑125 и ↓2+123
Просмотры121K
Комментарии 24

Поиск лучшего места в мире для ветряка

Data MiningГеоинформационные сервисыBig DataОткрытые данныеМашинное обучение
История о том, как NASA, ESA, Датский Технологический Университет, нейронные сети, деревья решений и прочие хорошие люди помогли найти мне лучший бесплатный гектар на Дальнем Востоке, а также в Африке, Южной Америке и других “так себе” местах.


Читать дальше →
Всего голосов 83: ↑83 и ↓0+83
Просмотры22K
Комментарии 62

Информация

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