Pull to refresh
81
0
Vladimir Chernyshev @VolCh

Software Engineer, Technical Lead

Send message

Как мы сделали оффлайновый SMS-локатор/трекер

Level of difficultyEasy
Reading time4 min
Views4.8K

Сейчас начинается самый продуктивный сезон сбора грибов. В этой статье я расскажу о технически успешной попытке сделать "оффлайновый" SMS-локатор, и о том, почему проект "не взлетел". И о том, при чём тут грибы :)

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

В 2017 мне в голову пришли мысли: ну хорошо, я сам пока здоровый, и хожу в лес один, наматывая с ружьем десяток километров за раз, но вот если со мной что-то случится - то как меня найдут? Да и чтобы близкие не беспокоились — можно ли их как-то держать в курсе? Есть ли надежные способы давать весточку о своем местонахождении?

Читать далее: идея, разработка, и Гугл
Total votes 25: ↑25 and ↓0+25
Comments30

Nginx. О чем не пишут в книгах

Reading time9 min
Views45K

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

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса
Total votes 86: ↑86 and ↓0+86
Comments11

Настройка отказоустойчивого кластера Kubernetes на серверах с публичной и приватной сетью с помощью Kubeadm

Reading time27 min
Views21K

У меня возникла задача настроить отказоустойчивый Bare Metal кластер для комплексного приложения, в связи с чем и возникла данная статья. Сразу хочу сказать, что не являюсь экспертом в K8S, однако имею опыт развертывания продуктовых кластеров DC/OS (экосистемы, основанной на Apache Mesos).

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

Читать далее
Total votes 13: ↑12 and ↓1+11
Comments9

Продвинутая Helm-шаблонизация: выжимаем максимум

Reading time10 min
Views29K


Стандартной Helm-библиотеки и привычных подходов к написанию Helm-чартов обычно хватает для автоматизации несложных приложений. Но когда количество и сложность Helm-чартов растут, то минималистичных Go-шаблонов и неоднозначной стандартной Helm-библиотеки быстро перестаёт хватать. В этой статье речь пойдет о том, как сделать ваши Helm-шаблоны гораздо более гибкими и динамичными, реализуя свои собственные «функции» в Helm, а также эксплуатируя tpl.

NB. Всё описанное было проверено с werf, но так как шаблоны в этой утилите практически идентичны Helm-шаблонам, то и всё нижеприведенное будет полностью или почти полностью совместимо с обычным Helm обеих версий (v2 и v3).

А теперь разберем, как получить от Helm-шаблонов всё, что можно… и даже всё, что нельзя!
Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments18

Изменит ли Parallels отношение к хромбукам?

Reading time4 min
Views5.6K


Хромбуки получают все большее распространение. Некоторые глобальные производители персональных компьютеров даже запускают отдельные линейки компьютеров на Chrome OS, которые ориентированы на корпоративных заказчиков. Это действительно удобно: сравнительно невысокая цена, ограниченный набор только самых необходимых приложений, удобное администрирование через консоль Google. Но, как macOS, операционка от Google обладает одним существенным недостатком. На ней невозможно запустить приложения для Windows.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments16

Корпоративный ход

Reading time5 min
Views3.5K
image

В данной публикации будет описан немного другой взгляд на карьеру в IT, нежели обычно это преподносится. И, наверное, с такого угла IT будет таким же, как и все остальные сферы народного хозяйства. Разве что фантик пайки послаще, покамест.
Читать дальше →
Total votes 22: ↑13 and ↓9+4
Comments37

Тренируемся дома: отжимания по программе Пола Уэйда

Reading time21 min
Views244K

image


Представляю программу Тюремных Тренировок Пола Уэйда. Начнём с серии классических упражнений со своим весом для верхней части тела — отжиманиям.


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


Серия сосредоточена на цепочке из 10 последовательных упражнений. Когда освоите одно упражнение, то перейдёте к следующему и так далее…
Мы называем базовые упражнения как «10 уровней», и достигнув 10 уровня, вы станете сильнейшим настолько, насколько это возможно для человека в этих движениях. По этой причине, последняя ступень именуется «уровнем мастера». Вам станет понятнее, как это работает, если дополнительно ознакомитесь с книгой Тренировочная Зона (Издательство Питер).

Читать дальше →
Total votes 157: ↑137 and ↓20+117
Comments198

Бизнес-экспансия во Вьетнам: новые возможности после пандемии

Reading time5 min
Views4.3K
Успешнее других стран Азии справившись с пандемией COVID-19, Вьетнам становится одним из самых привлекательных мест для электронного бизнеса в мире. Изучаем особенности продвижения цифровых проектов во Вьетнаме вместе с тремя экспертами: руководителем международного платежного провайдера и эквайера ECOMMPAY в Азиатско-Тихоокеанском регионе, экспертом Gate2Asia Одри Оттевангер (Audrey Ottevanger), менеджером по глобальному развитию бизнеса и электронной коммерции компании Softline Антоном Мезенцевым и Иваном Осиповым, руководителем подразделения международных платежных систем.


Читать дальше →
Total votes 4: ↑3 and ↓1+2
Comments4

Swagger/OpenAPI Specification как основа для ваших приёмочных тестов

Reading time17 min
Views66K

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


Я занимаюсь автоматизацией тестирования в Яндексе с 2013 года. Из них более четырёх лет автоматизирую тестирование REST API-сервисов. На Heisenbug я рассказал об использовании OpenAPI-спецификации как основы для приёмочных тестов, а также о том, как легко поддерживать автотесты на огромное количество REST API-сервисов и добавлять автотесты на новые проекты.



Под катом — видеозапись и расшифровка моего доклада. Примеры из доклада есть на GitHub.

Total votes 19: ↑19 and ↓0+19
Comments5

Делаем из Power Mac G4 универсальный и дешевый ретро-компьютер

Reading time7 min
Views22K
Ретрогейминг на ПК. С чем в первую очередь это ассоциируется? Конечно же с этими огромными кинескопными мониторами и неизменно стоящими рядом системниками на которых в подавляющем большинстве стояла какая-нибудь Windows 98. Но существовал особый пласт компьютеров от фирмы Apple, которые в странах бывшего СНГ видели единицы, а уж про игры на них вообще не стоит и заикаться. Так что, давайте разбираться, возможен ли ретрогейминг на старом компьютере от Apple.
Сразу хочу предупредить, что это своего рода эксперимент, а не руководство к эксплуатации. Да, библиотека игр на Mac поскуднее будет, но она немальнькая. И в Mac Os есть свои приколы и баги, но не будем об этом.
Total votes 47: ↑46 and ↓1+45
Comments20

Не лайтхаусом единым: как проверить свой сайт со всех сторон

Reading time3 min
Views18K


Когда мы говорим о веб-валидаторах и оптимизации сайта под них, мы чаще всего имеем ввиду Lighthouse/Pagespeed Insights от Google, который давно стал де-факто стандартом для оценки производительности сайта. Кто-то стремится к заветным 100 баллам даже на прототипах и шаблонных приложениях в две кнопки, кто-то в шутку создает абсолютно недоступный сайт с идеальным рейтингом, но для всех фронтендеров лайтхаус предоставляет вменяемую, хоть и довольно поверхностную, аналитику производительности сайта и поиск бутылочных горлышек. Однако скорость загрузки — лишь один из множества параметров, которые стоит проверять на своём сайте, и для большинства других есть свои валидаторы и скоринговые алгоритмы. Мы рассмотрим инструменты для каждого из значимых направлений и составим список, по которому стоит прогонять свой сайт, чтобы в дальнейшем не отлавливать проблемы вручную.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments4

Как и зачем в Lyft улучшали Kubernetes CronJobs

Reading time18 min
Views3.6K
Прим. перев.: эту статью, в оригинале состоящую из двух частей, написал Kevin Yang — software engineer из компании Lyft, которая хорошо известна в Kubernetes-сообществе как минимум благодаря созданию Envoy. В новом материале автор делится интересным опытом миграции большого числа традиционных cron-задач из Linux на CronJobs в K8s. Можно в деталях узнать о том, к каким проблемам в масштабах Lyft это привело и как они были решены инженерами компании.



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

Распределенные системы могут быть сложны для понимания и анализа, и в этом смысле Kubernetes — не исключение. Несмотря на его многочисленные преимущества, мы выявили несколько проблемных моментов при переходе на CronJob — встроенную в Kubernetes систему для выполнения повторяющихся задач по расписанию. В этом цикле из двух статей мы обсудим технические и эксплуатационные недостатки Kubernetes CronJob при использовании в крупном проекте и поделимся с вами опытом их преодоления.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments1

Опенсорсные альтернативы Google Analytics на своём хостинге

Reading time5 min
Views22K

Веб-интерфейс опенсорсного сервиса аналитики Matomo

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

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

К счастью, есть ряд свободных, опенсорсных альтернатив Google Analytics, которые к тому же работают быстрее, поскольку скрипты меньше по размеру и загружаются с вашего собственного хостинга, а не со стороннего сервера. Информация о пользователях никуда не отправляется, а многие сервисы не используют куки и соответствуют законодательству GDPR о защите личных данных.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments18

Строим ролевую модель управления доступом. Часть вторая, «строительная»

Reading time10 min
Views21K
Пост, который вы сейчас читаете, – продолжение статьи о том, как правильно выстроить в крупной компании ролевую модель управления доступом пользователей к различным системам. Напомним: построение ролевой модели – это скорее процесс, чем результат, и первую часть нашей дилогии мы посвятили подготовке к «строительству». В ней мы рассказали, как создать функциональную модель каждого подразделения и должности, провести аудит ИТ-систем и расставить их по приоритетам, создать бизнес-ориентированное описание прав пользователей и о других важных подготовительных шагах. Сегодня же поговорим о способах построения ролевой модели, ролевых матрицах, чем здесь поможет внедрение автоматизированных систем управления доступом (IdM/IGA), и что вы получите на выходе.


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

Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем. Иван Пономарёв

Reading time20 min
Views21K

Предлагаю ознакомиться с расшифровкой доклада Ивана Пономарёва «Ansible playbooks — это код: проверяем, тестируем, непрерывно интегрируем».


Рефакторинг кода может быть увлекательным, особенно если это код вашей инфраструктуры. К тому же Ansible-роли почему-то имеют тенденцию к быстрому увеличению сложности. И это добавляет «изюминку» в вашу задачу. Иван расскажет, как можно преодолевать сложность Ansible-кода с помощью тестирования. В Docker-контейнерах.
По мере разрастания кодовой базы в Ansible приходят знакомые проблемы: сложность поддержки кода, ошибки и страх изменений. У знакомых проблем есть знакомое решение: автоматическое тестирование и CI. В докладе Иван покажет, как с использованием ряда инструментов решить проблемы «хрупкости» Ansible-кода, выполнить статический анализ, протестировать Ansible-скрипты и настроить CI-системы для публикации ролей в Ansible Galaxy.


Total votes 14: ↑14 and ↓0+14
Comments18

Документирование микросервисов в LeanIX (EAM)

Reading time9 min
Views4.5K


Расскажу о нашем опыте автоматического документирования 150+ микросервисов в системе LeanIX Enterprise Architecture Managment. Многое получилось, как мы и хотели, для чего-то пришлось делать специальные доработки, часть вопросов не смогли решить. Но в любом случае мы получили опыт и готовы им поделиться.

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

Как я веду Zettelkasten в Notion уже год: стартовый набор и полезные трюки

Reading time8 min
Views171K

Zettelkasten — крутой метод хранения идей и знаний — сейчас на слуху, его уже обсуждали на Хабре. Я веду такой в Notion уже год, потому что Notion лучше всех воплощает три главных принципа Zettelkasten: взаимосвязанность, категоризацию, актуальность. Метод улучшил качество моего обучения и исследований, и без него как-то уже не так. 

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

UPD: На текущий момент, статья безбожно устарела, потому что за еще один год я набрался опыта, помогая другим людям организовать их Цеттели и наблюдая за чужим опытом. А еще Notion выпустил несколько фич, заточенных именно под Цеттель. И теперь мне совестно, как новички страдают, разбираясь в теме после меня.

Эту статью можно почитать для понимания основ, но актуальные источники информации тут:

  • У меня в Психотронке можно следить за подготовкой обновленной версии, ну и написать мне за помощью. А можете не следить: версия 2.0 выйдет на Хабре.
  • В русскоязычном сообществе Zettelkasten в Телеграме сидят люди, которые хорошо разбираются в теме. Мы обожаем помогать новичкам.

Дисклеймер: ни Notion, ни автор метода мне за статью не платили.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments88

Microsoft Azure Virtual Training Days — 3 крутых бесплатных вебинара

Reading time2 min
Views1.7K


Microsoft Azure Virtual Training Days — это отличная возможность глубоко погрузиться
в наши технологии. Специалисты Microsoft помогут вам раскрыть весь потенциал облака, поделившись своими знаниями, предложив эксклюзивные идеи и практические занятия.

Выберите интересующую вас тему и зарезервируйте место на вебинаре прямо сейчас. Обращаем ваше внимание, что часть вебинаров, это повтор прошедших мероприятий. Если вы не смогли принять участие ранее, это отличная возможность подключиться сейчас и задать свои вопросы экспертам. Заглядывайте под кат!
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments1

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

Reading time12 min
Views134K

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


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


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

Читать дальше →
Total votes 112: ↑110 and ↓2+108
Comments66

Иван Чашкин: «Мне нравится, что OpenStreetMap — это открытые данные, которые доступны всем и всегда»

Reading time7 min
Views2.8K

Иван Чашкин — web-программист и владелец небольшого интернет-магазина из Нижнего Новгорода. Но после работы он — волонтер. Причем в абсолютно разных проектах: он и куратор «Добрых крышечек» в своем городе и опытный картограф OSM, который сделал несколько интересных инструментов. Почему он кайфует от JOSM, зачем надо отмечать подъезды и как лучше всего это сделать — обо всем этом он рассказал в интервью.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity