Pull to refresh
0
Kalashnikov Oleg @developman27read⁠-⁠only

User

Send message

Курс «PostgreSQL для начинающих»: #1 — Основы SQL

Level of difficultyEasy
Reading time13 min
Views47K

Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительности запросов, разбор [не]эффективного применения индексов и особенностей работы транзакций и блокировок в этой СУБД.

Курс не претендует на лавры "войти в айти", поэтому подразумевает наличие у слушателя опыта программирования или работы с другими СУБД, и, главное, желания самостоятельно изучать тему работы с PostgreSQL глубже.

Для тех, кому комфортнее смотреть и слушать, а не читать - доступна видеозапись.

Читать далее
Total votes 30: ↑29 and ↓1+33
Comments30

Организация стенда локальной разработки для самых маленьких с автоматической пересборкой приложения (фронтенд + бэкенд)

Level of difficultyEasy
Reading time25 min
Views14K

Вносить изменения в код приложения и тут же автоматически получать задеплоенные изменения, чтобы быстро тестировать его, — мечта разработчика. В этой статье мы посмотрим, как реализовать такой подход для небольшого приложения с фронтендом и бэкендом: организуем два варианта локального стенда на базе minikube или Docker с автоматическим развертыванием всех изменений или только закоммиченых в Git.

Бэкенд приложения напишем на Go, а фронтенд — на Vue.js. Все это позволит быстро запускать проект для тестирования прямо во время разработки, что, несомненно, повысит удобство работы с приложением.

Читать далее
Total votes 33: ↑31 and ↓2+36
Comments4

Обзор топ-5 полезных утилит для Docker

Reading time5 min
Views31K

Проект Docker, запущенный в 2013 году, стал одним из самых популярных инструментов в области контейнеризации. Спустя почти 10 лет Docker активно развивается, однако, не только сама компания Docker Inc привносит улучшения в свой продукт – обычные пользователи тоже вносят свой вклад, создавая различные инструменты, которые совершенствуют взаимодействие с системой Docker.

В статье мы рассмотрим топ-5 полезных утилит, которые упростят работу с Docker.

Читать далее
Total votes 20: ↑17 and ↓3+17
Comments11

Инструкция: как расширить файловую систему в Linux. Часть 1

Reading time9 min
Views50K
image

Чаще всего задача расширить файловую систему возникает при работе с облачной инфраструктурой. Виртуализация позволяет экономить на дисковом пространстве и выделять его столько, сколько необходимо в конкретный момент. Но простого расширения ресурсов недостаточно, об изменениях необходимо сообщить операционной системе. Сегодня ведущий архитектор #CloudMTS Дмитрий Фисенко в формате пошагового туториала расскажет, как это сделать.

Материал будет интересен начинающим системным администраторам, а также разработчикам, которые хотят ближе познакомиться с файловыми системами.
Читать дальше →
Total votes 12: ↑8 and ↓4+5
Comments5

Как ускорить работу в командной оболочке Bash

Reading time4 min
Views25K

Любому начинающему разработчику необходимо научиться пользоваться командной строкой. При этом для выполнения в ней команд требуется оболочка. В статье речь пойдёт об оболочке Bash, которая популярна в UNIX-подобных системах и в большинстве дистрибутивов Linux используется штатно.
Читать дальше →
Total votes 57: ↑51 and ↓6+65
Comments78

Простые инкрементальные бэкапы в Linux с помощью TAR и GPG

Reading time3 min
Views12K

Мой скрипт, с помощью которого я делаю бэкапы в Linux

Обожаю UNIX-way, тут бэкапы можно делать значительно более гибкими.

Для бэкапа home директории я использую обычный tar с инкрементацией и шифрую его своим gpg ключом.

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

Читать далее
Total votes 6: ↑3 and ↓3+1
Comments28

5 принципов, о которых нельзя забывать, когда описываешь инфраструктуру в виде кода

Reading time4 min
Views6.7K

Infrastructure as Code — это подход, который подразумевает описание инфраструктуры в виде коде с его последующим применением для внесения необходимых изменений. Но, как именно писать код, IaC не говорит, только даёт инструменты. Один из таких инструментов — Terraform.

21 мая в Слёрм пройдёт практический интенсив «Terraform Мега». Мы пообщались с его автором Павлом Селиванов, архитектором Yandex.Cloud. Он рассказал, каких принципов нужно придерживаться, когда описываешь инфраструктуру, чтобы на выходе не получить непонятный и плохо поддерживаемый код. 

Читать далее
Total votes 19: ↑10 and ↓9+4
Comments3

Docker Swarm для самых маленьких

Reading time13 min
Views120K

Данная статья посвящена настройке и работе с Docker Swarm.

Swarm это стандартный оркестратор для docker контейнеров, доступный из «коробки», если у вас установлен сам docker.

Что нам потребуется для освоения:

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments26

Хранение кода в SCM

Reading time11 min
Views9.3K

Смотри, ты устроился работать в большую компанию, где много команд, каждая разрабатывает свой продукт, часть из них создаёт микросервисы вокруг ядра, часть создаёт свои отдельные полноценные продукты. И, допустим, вся разработка до сих пор не использует централизованное хранение кода, работает без CI/CD и без наработок DevOps. Твоей первой задачей поставили организовать подход к хранению исходного кода в рамках всей компании. По секрету скажу, большие компании любят, когда используется единый подход, индивидуализм для бизнес-конвейеров всегда означает сложность управления сроками разработки, поставки и т.д. Задача, которая кажется простой на первый взгляд, всегда обрастает сложностями в нюансах.

Ты настроен на волну NotOps и в этой статье я постараюсь ответить на вопросы:

Читать далее
Total votes 11: ↑7 and ↓4+5
Comments1

Zabbix. Правила автообнаружения

Reading time8 min
Views12K

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

Хочу прочитать
Total votes 4: ↑3 and ↓1+3
Comments0

Как заставить Ansible работать быстрее – 8 советов по плейбукам

Reading time6 min
Views16K

Ansible – это мощный и простой инструмент автоматизации с открытым кодом. Он помогает оптимизировать множество задач по эксплуатации ИТ-инфраструктуры, от самых простых, наподобие установки программных пакетов, до весьма сложных, вроде развертывания кластера с несколькими узлами или многоэтапного обновления операционной системы. Сегодня мы расскажем, как оптимизировать плейбуки и модули Ansible, чтобы создаваемые вами автоматизации работали быстрее.

Читать дальше: Как заставить Ansible...
Total votes 13: ↑12 and ↓1+13
Comments16

Мониторинг начинается с метрик, или Как не сделать из алертов белый шум

Reading time7 min
Views21K


Как известно, нельзя управлять тем, что не измеряешь. В контексте IT-проектов это означает необходимость мониторинга всех частей проекта: от утилизации CPU до бизнес-показателей вроде количества заказов в интернет магазине или показов баннеров на сайте.

Чтобы сервис работал стабильно и техническая поддержка могла в режиме 24/7 быть эффективной, нужно собирать метрики, визуализировать их динамику (в дашбордах и графиках), анализировать результаты и работать с инцидентами — желательно до того, как они стали инцидентами. Однако мониторинг мониторингу рознь. Он выполняет свою функцию, если система:

1) отслеживает метрики, которые нужны для принятия решений, и не мониторит лишнее;
2) уведомляет, когда ещё можно что-то сделать без последствий для работоспособности сервиса, но не спамить ложной тревогой.

Звучит просто и логично, но на практике найти баланс не всегда легко.

Эта статья будет первой в серии заметок о том, как мы организуем мониторинг у наших 400+ клиентов. Расскажем, какие метрики снимаем, каких методологий придерживаемся и какие алерты видим каждый день.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments1

Traefik, docker и docker registry

Reading time14 min
Views29K

Под катом вы увидите:

• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.

• Использование Traefik для автоматического получения Let’s Encrypt сертификатов

• Использование Traefik для разграничения доступа к docker registry при помощи basic auth

• Все перечисленное выше будет настраиваться исключительно внутри docker-compose.yml и не потребует передачи отдельных конфигурационных файлов внутрь контейнеров.

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

Помимо этого в интернете мало информации на тему использования traefik для контроля доступа к docker registry. Описанную ниже технику можно использовать для контроля доступа к любому приложению, реализующему Rest API.

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

Что такое транзакция

Reading time6 min
Views159K

Транзация — это набор операций по работе с базой данных, объединенных в одну атомарную пачку.

Транзакционные базы данных (базы, работающие через транзакции) выполняют требования ACID, которые обеспечивают безопасность данных. В том числе финансовых данных ? Поэтому разработчики их и выбирают.

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

 

Читать далее
Total votes 27: ↑17 and ↓10+12
Comments30

Как я ушел на 1С-фриланс

Reading time4 min
Views39K

Хочу рассказать, как я умудрился уйти на фриланс.

Все началось с контекстной рекламы в инстаграмме. В начале 2019 года я стал обращать на нее внимание и все чаще и чаще записывался на бесплатные вебинары по саморазивитию. Потом прочитал книгу "Магия утра". Согласно ей я выделил час в день утром на анализ положения, в котором нахожусь. До этого у меня не было времени задуматься. Выводы были неутешительными.

Я приближался к возрасту 45 лет, работа программистом 1С вызывала отвращение. Необходимость каждый день быть в офисе "от звонка до звонка" воспринималась как рабство. 1С, кстати, я занимаюсь уже 20 лет. При этом еще 2.5 часа в день тратил на дорогу.

Читать далее
Total votes 36: ↑23 and ↓13+20
Comments216

Контролируем подрядчиков на ответственном проде: внедрение DLP + UAM (промшпионаж, логи действий)

Reading time6 min
Views9.6K
Кадр из художественного фильма TWARDOWSKY 2.0

У заказчика есть главная система, через которую он делает продажи всего-всего. К ней имеют доступ подрядчики, которые разрабатывают и дополняют эту систему, а также персонал изнутри. Когда речь про железо, всё достаточно просто: подрядчик приходит в ЦОД, а безопасник из офиса контролирует его по видео. А вот когда речь про разработку, проконтролировать «закладки» или вынос информации — так не выйдет.

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

Собственно, дальше мы начали внедрять систему защиты.

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

Вторая часть задачи была в том, чтобы проконтролировать утечки. Первого же злонамеренного «сливальщика» мы поймали через неделю после внедрения.
Читать дальше →
Total votes 38: ↑35 and ↓3+40
Comments28

Установка и настройка терминального сервера на Windows Server + Оптимизация настроек для 1С ч.2

Reading time6 min
Views31K

В первой части мы успешно развернули роль "терминальный сервер Windows" и приступили к его конфигурированию. Разобрались в методах организации хранения данных пользователей и определились что из этого мы будем использовать. Давайте приступим к настройке.

Читать далее
Total votes 8: ↑6 and ↓2+8
Comments21

АйТиБорода: Контейнеризация понятным языком. Интервью с System Engineers из Southbridge

Reading time2 min
Views5.3K

Сегодня вас ожидает путешествие в мир системных инженеров aka DevOps-инженеров: выпуск про виртуализацию, контейнеризацию, оркестрацию с помощью kubernetes, и настройку конфигов через. Docker, kubernetes, ansible, рулбуки, кублеты, хельм, докерсворм, kubectl, чарты, поды -мощная теория для чёткой практики.


В гостях System Engineers из учебного центра «Слёрм» и одновременно компании Southbridge — Николай Месропян и Марсель Ибраев. Так что, заваривайте чаинский/кофеинский и приготовьтесь к погружению…


Total votes 19: ↑12 and ↓7+8
Comments2

Grafana+Zabbix: Визуализация работы производственной линии

Reading time6 min
Views69K

В этой статья я хочу поделиться опытом использования open source систем Zabbix и Grafana для визуализации работы производственных линий. Информация может быть полезна тем, кто ищет быстрый способ визуального отображения или аналитики собранных данных в проектах промышленной автоматизации или IoT. Статья не является подробным руководством, это скорее концепция системы мониторинга, основанная на открытом программном обеспечении для производственного предприятия.

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

Anycast против Unicast: что лучше выбирать в каждом случае

Reading time15 min
Views14K
Про Anycast наверняка многие слышали. При этом методе сетевой адресации и маршрутизации один IP-адрес присваивается нескольким серверам в сети. Эти серверы могут находиться даже в удаленных друг от друга ЦОД. Идея Anycast в том, что, в зависимости от местоположения источника запросов, данные отправляются на ближайший (согласно топологии сети, точнее — протокола маршрутизации BGP) сервер. Таким образом, можно уменьшить количество сетевых переходов (hop) и задержку (latency).

По сути, объявляется один и тот же маршрут из нескольких центров обработки данных по всему миру. Таким образом, клиенты будут отправлены в «лучший» и «ближайший» исходя из маршрутов BGP, центр обработки данных. Почему все же именно Anycast? Зачем использовать Anycast вместо Unicast?

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

Information

Rating
Does not participate
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity