Посты | OTUS
Ansible playbook для установки Asterisk с TLS/SRTP под ключ

Linxu_Deep_2.07_site.png

Задача – настроить защищенную внутреннюю голосовую связь

После проведения анализа было выбрано решение: asterisk-14 с PJSIP, TLS, SRTP. Для решения задачи был разработан Ansible playbook, который поэтапно проводит ряд действий на свежеустановленном CentOS/RHEL 7

Используем ansible-vault в плэйбуках и ролях

Linux_Deep_5.07_site.png

Зачастую при работе с Ansible требуется использовать различные аутентификационные данные. Хранить их в plain text – не самая лучшая идея. Для хранения таких данных в зашифрованном виде следует использовать ansible-vault.

Взаимоотношения чистых и детерминированных функций

WebDev_Deep_29.06_site.png

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

Начинаем с Ansible в стиле best-practice

Linux_Deep_29.06_SITE.png

На просторах сети есть много гайдов на русском вроде «Учим Ansible с нуля». Но ни в одном из них я не видел, чтобы человека сразу же погружали в best-practice. Хотя бы в плане построение древа директорий для ролей. Считаю, что сделать это надо хотя бы потому, что переезд на best-practice может оказаться болезненным для новичков. Сейчас я попытаюсь исправить этот недочёт. Используемая в примерах ОС – Centos 7.5.

Прибавляем два часа рабочего времени на PHP

PHP_Deep_29.06_SITE.png

Представим: за час до конца рабочего дня, 29 декабря 2017 года, вам поручили срочное двухчасовое задание – рассчитать на PHP время его окончания. Казалось бы, что тут сложного? Добавить 2*3600 секунд к текущему времени и всё!

Место JavaScript во FrontEnd'e

JS_Deep_28.06_SITE.png

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

World Wide Web Consortium описывает такие концепции, как HTML, CSS или DOM (Document Object Model); – Internet Engineering Task Force (IETF); – International Organization for Standardization; – Web Hypertext Application Technology Working Group (WHATWG); – European Computer Manufacturers Association (ECMA) известная разработчикам по стандарту EcmaScript языка JavaScript.

Лень – двигатель бизнес-процессов

BA_Deep_27.06_Site.png

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

Рассказываю конкретнее

Самый крупный пример такой работы – кейс внедрения модели профессиональных компетенций для ИТ-специалистов в ГВЦ ОАО «РЖД». На входе было 10 000 персонала сотрудников, из них около 5000 ИТ-специалистов, 1500 систем, 23 функциональных распределённых по России подразделения, а значит 23 направления профессиональных компетенций.

А где же код работы с JPA?

Spring_Deep_26.06_2_Site.png

Одной из замечательных возможностей Spring является Spring Data JPA. Это один из «подпроектов» проекта Spring Data. По умолчанию, будем считать, что вы уже знаете, что такое JPA. Итак, нам необходимо написать обычное DAO для некоторой JPA сущности, предположим, Student.

Да, здесь следует сделать небольшую поправку. Когда речь идёт о бизнес-сущностях и JPA, то правильнее применять термин репозиторий (Repository), что мы и будем дальше делать.

Service Provider Interface (SPI)

VKjavaDeep1.png

Вот представьте: повысили вас до ведущего разработчика! Не номинально, а по-настоящему – будете отвечать за техническое развитие продукта. И вот заходите вы в почту, естественно, чтобы должность в подписи поменять, а там...

Популярное
Сегодня тут пусто