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

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

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

Python. Внутреннее устройство множеств set и словарей dict. Часть 2 из 2

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.6K

Продолжение Части 1

4. Хэш-таблицы в dict
4.1. Как компактный dict экономит место и сохраняет порядок
4.2 Алгоритм добавления элементов в компактный dict
4.3. dict с общим доступом к ключам
4.4. Практические выводы по тому как работает dict

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

Установка и настройка LibreNMS в Docker с авторизацией через Keycloak

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.8K

Так как я не нашел в сети полную инструкцию по настройке авторизации в LibreNMS через Keycloak, я решил написать её сам. И себе на память и страждущим на радость.

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

Неожиданности в авторизации. Что скрывает Keycloak?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров11K

Авторизация и регистрация пользователей — важная часть приложения как для юзеров, так и для безопасности. Но какие неожиданности содержит исходный код популярного Open Source решения для авторизации, и как они могут повлиять на работу приложения?

Читать далее
Всего голосов 15: ↑14 и ↓1+19
Комментарии3

Пайплайны Gitlab CI: моя коллекция граблей

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров9.5K

Привет, Хабр! Я Евгений Малышев, SRE-инженер в Купере (так теперь называется СберМаркет). Моя основная задача — это надежная работа сервисов фронтенда, и немалую роль в этом играют правильно построенные пайплайны CI/CD. В этом нам помогает Gitlab CI. В компании мы широко используем этот инструмент для создания общих шаблонов для сервисов на различных языках. На уровне отдельного репозитория легко расширить или настроить шаблонные джобы и добавить свои.

До этого у меня был опыт с Jenkins и Azure Devops, так что Gitlab CI мне показался довольно простым: есть стадии, есть правила запуска джоб с shell-подобным синтаксисом, да и скрипты джоб тоже используют bash-интерпретатор. Но в процессе близкого знакомства не раз возникали ситуации, когда поднимается то одна бровь, то обе, а то и руки в праведном гневе. Заходите посмотреть, какую коллекцию граблей собрал я.

Весь код с примерами граблей можно посмотреть в репозитории.

Пройтись по граблям
Всего голосов 28: ↑23 и ↓5+23
Комментарии9

Nginx: шпаргалка

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров23K

Шпаргалка по основным секциям Nginx, которые следует держать под рукой. Ниже приведены самые частые функции: включение SSL, переадресация, раздача статики и т.д.

Читать далее
Всего голосов 31: ↑15 и ↓16+1
Комментарии18

Kubernetes: шпаргалка для собеседования

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров40K
Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке, вследствие чего у меня сформировалось некоторое представление о вопросах, которые могут быть заданы соискателям. И сейчас я хочу остановиться на разделе вопросов про Kubernetes.

image

Сразу хочу сказать, что изначально планировал сделать одну статью, но в итоге получилась такая простыня, что пришлось разделить текст на две части. Ссылку на вторую опубликую здесь, как только она появится (вот она).

Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности.
Читать дальше →
Всего голосов 19: ↑18 и ↓1+20
Комментарии12

Фильтры Ansible: превращаем сложное в простое

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров13K

Используя Ansible в качестве инструмента автоматизации, часть приходится сталкиваться с задачей обработки и фильтрации структурированных данных. Как правило, это набор фактов, полученных с управляемых серверов, или ответ на запрос к внешним API, которые возвращают данные в виде стандартного json. Многие неопытные инженеры, используя Ansible в таких случаях, начинают прибегать к помощи привычных консольных команд и начинают городить то, что среди специалистов получило название bashsible. В общем, вспоминается известный мем:

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

Zabbix, PostgreSQL и pg_stat_statements

Уровень сложностиСложный
Время на прочтение43 мин
Количество просмотров11K

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

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

Пять рекомендаций по экспортерам Prometheus для повышения производительности

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

Рекомендации, рассмотренные в этой статье, помогут вам реализовать мониторинг на базе Prometheus и улучшить вашу производительность.

Prometheus — одна из базовых составляющих cloud-native-архитектуры. Он уже стал стандартом де-факто для мониторинга Kubernetes. Однако многие сторонние и облачные приложения изначально не предоставляют метрик в формате Prometheus. Например, Linux не предоставляет таких метрик. Для этого и предназначены экспортеры, такие как node exporter. Его легко скачать, запустить и получить сотни метрик для операционной системы.

Secure DevOps, также известный как DevSecOps, обеспечивает безопасность и мониторинг на протяжении всего жизненного цикла приложения: от разработки до продакшена. Что позволяет создавать безопасные, стабильные и высокопроизводительные приложения. Этот подход встраивается в ваш процесс разработки и предоставляет единый источник правды для DevOps-команд, разработчиков и служб безопасности, чтобы максимально повысить эффективность и обеспечить прозрачность при устранении неисправностей и оптимизации.

Читать далее
Всего голосов 8: ↑6 и ↓2+7
Комментарии0

Прикладное adb (Android Debug Bridge) для зумеров

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров17K

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

В этой инструкции хочу рассказать о командах adb, которые использовать легче, чем делать то же самое через UI.

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

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

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

10 книг по Python: как для новичков, так и для профи

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

Книг по Python довольно много, среди них есть отличные издания, которые будут полезны разработчику любого уровня. Собственно, эту подборку мы и подготовили в расчёте на специалистов с разным опытом и багажом знаний. Книги постарались упорядочить по возрастанию уровня сложности, с указанием плюсов и минусов (если они есть). Итак, поехали!

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

6 простых принципов написания приложения на Vue, которое легко поддерживать (часть 1)

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

Привет! Меня зовут Наташа Калачева. Я Frontend-разработчик в компании AGIMA. Vue — один из самых популярных фреймворков JS, его используют для разработки SPA и PWA. А его главные плюсы — это понятная, четкая документация, готовая структура и низкий порог входа.

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

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

Следуя этим рекомендациям, вы сможете создавать более эффективные проекты.

Читать далее
Всего голосов 47: ↑42 и ↓5+40
Комментарии70

Изучаем Python за 6 месяцев. Подробный план обучения

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров229K

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

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

Читать далее
Всего голосов 47: ↑26 и ↓21+8
Комментарии87

Углубленное знакомство с пространствами имен Linux. Часть 2

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


В предыдущей части мы разобрали, чем являются пространства имен, и какую роль они играют в современных системах, после чего познакомились с двумя их видами: PID и NET. Во второй и заключительной части материала мы изучим пространства имен USER, MNT, UTS, IPC и CGROUP, а в завершении объединим полученные знания, создав полностью изолированную среду для процесса.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+58
Комментарии1

Static, Aggregate и Generate routes в JunOS

Время на прочтение5 мин
Количество просмотров18K
Чем больше знакомишься с оборудованием Juniper, тем больше влюбляешься в это оборудование и операционную систему JunOS. Сегодня речь пойдет о Static, Aggregate и Generate маршрутах. По этой теме есть статьи на английском (не встречал на русском даже переводов), поэтому решил написать свою статью. Надеюсь, помогу какому-нибудь начинающему инженеру.

Итак, начну. Все три перечисленых выше видов маршрутов по своей сути являются статическими маршрутами и прописывают в конфигурации junos в иерархии edit routing-options.

Итак, static route. Любой сетевой инженер знает что это такое. Нам надо попасть в какую то сеть, но нет возможности (или желания) использовать протоколы динамической маршрутизации, выход — статика.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

3D-кинотеатр дома

Время на прочтение15 мин
Количество просмотров23K
После просмотра всяческих Аватаров, Алис и прочей загадочной трехмерности, которая начала сыпаться на нас в последнее время, захотелось получить у себя дома хоть маленький, зато свой, персональный 3D кинотеатр. Как именно я действовал в достижении данной цели, что из этого получилось, и какие шишки набил по пути – об этом я и хочу рассказать в данной статье.

Для начала несколько существенных для меня предупреждений. Во-первых, статья выражает моё собственное ИМХО, которое может не совпадать с вашим; наверное, это даже хорошо, но чревато холиварами. Во-вторых, я считаю нецелесообразным скрывать названия производителей и фирм, товарами и услугами которых я пользовался при воплощении в жизнь моей мечты: стоит рассматривать бренды и ссылки не как product placement, а как необходимую составляющую часть моего обзора, ибо «сферические проекторы в вакууме» хоть и политкорректны, но не позволяют в полной мере описать полученный опыт.

Итак, приступим.
Всего голосов 88: ↑82 и ↓6+76
Комментарии64

Use the Force, Luke! или Как увидеть стереограмму не напрягая глаз

Время на прочтение2 мин
Количество просмотров2.2K
Мне никогда не удавалось увидеть, что же прячется за пёстрыми узорами «магических картинок».
Сколько я ни напрягал глаза — ничего не получалось.
Сегодня вместо зрения я напряг мозг, и вот что вышло:


Читать дальше →
Всего голосов 128: ↑119 и ↓9+110
Комментарии62

Повышение дохода от Adsense на 20%

Время на прочтение2 мин
Количество просмотров854
image

Рецепт очень простой — надо выкинуть из «эфира» всех смс-разводил, тесты на что угодно, смс-шпионаж и прочие прочтения вконтактов.
К сожалению необходима ежедневная фильтрация подобных объявлений на ресурсе, но в конечном итоге мне это дало, в среднем 20% прирост ежесуточного дохода. Это результат 4 недельного мониторинга доходности от Adsense.

Эффект заметил примерно через неделю, но тогда я отфильтровал только около 50 подобных ресурсов. Сейчас список составляет 123 ресурса.

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

Мой список под катом.

Читать дальше →
Всего голосов 103: ↑97 и ↓6+91
Комментарии39

Nagios — помощник в мониторинге сервисов и хостов

Время на прочтение5 мин
Количество просмотров14K
Существуют различные бесплатные системы мониторинга состояния систем и сети такие как: Munin, Zabbix и т.д. Я же хочу поделиться с IT сообществом примером настройки системы мониторинга Nagios на операционную систему Arch Linux.

Приведенный ниже пример установки Nagios производился на дистрибутив Arch linux x64, но так же данный материал можно использовать для Arch i686.

Читать дальше →
Всего голосов 7: ↑4 и ↓3+1
Комментарии1

Масштабируя Zabbix

Время на прочтение11 мин
Количество просмотров154K
Zabbix logoТех, кто использует или собирается использовать Zabbix в промышленных масштабах, всегда волновал вопрос: сколько реально данных сможет Заббикс «переварить» перед тем как окончательно поперхнется и подавится? Часть моей недавней работы как раз касалось этого вопроса. Дело в том, что у меня есть огромная сеть, насчитывающая более 32000 узлов, и которая потенциально может полностью мониториться Заббиксом в будущем. На форуме давно идут обсуждения о том, как оптимизировать Zabbix для работы в больших масштабах, но, к сожалению, мне так и не удалось найти законченное решение.

В этой статье я хочу показать, как я настраивал свою систему, способную обрабатывать реально много данных.
Подробности
Всего голосов 45: ↑45 и ↓0+45
Комментарии39

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность