Как стать автором
Обновить
1
0
Digital Skynet @DigitalSkynet

Web and Desktop Development

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

Эти 6 уроков работы с cloudformation я усвоил на всю жизнь

Время на прочтение6 мин
Количество просмотров9.1K
Я начал работать с cloudformation 4 года назад. С тех пор я сломал много инфраструктур, даже те, которые уже были в продукции. Но каждый раз, когда я что-то портил, узнавал новое. Благодаря этому опыту, я поделюсь некоторыми из самых важных уроков, которые я выучил.

image

Урок 1: проверяйте изменения перед тем, как развернуть их


Я усвоил этот урок вскоре как начал работать с cloudformation. Не помню, что именно я тогда сломал, но точно помню, что использовал команду aws cloudformation update. Эта команда просто выкатывает шаблон без какой-либо проверки изменений, которые будут развернуты. Не думаю, что требуются объяснения, для чего нужно проверить все изменения перед тем, как развернуть их.

После этого провала, я сразу же изменил deployment pipeline, заменив команду update командой create-change-set

# OPERATION is either "UPDATE" or "CREATE"
changeset_id=$(aws cloudformation create-change-set \
    --change-set-name "$CHANGE_SET_NAME" \
    --stack-name "$STACK_NAME" \
    --template-body "$TPL_PATH" \
    --change-set-type "$OPERATION" \
    --parameters "$PARAMETERS" \
    --output text \
    --query Id)

aws cloudformation wait \
    change-set-create-complete --change-set-name "$changeset_id"

Когда набор изменений создан, он никак не влияет на существующий стек. В отличие от команды update, подход с использованием набора изменений не вызывает фактического развертывания. Вместо этого он создает список изменений, которые вы можете просмотреть до развертывания. Вы можете просмотреть изменения в интерфейсе консоли aws. Но если вы предпочитаете автоматизировать всё, что только можно, то проверяйте их в CLI:
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии2

Веб скрапинг для веб разработчиков: краткое резюме

Время на прочтение7 мин
Количество просмотров17K
Знание только одного подхода к веб скрапингу решает проблему в краткосрочной перспективе, но все методы имеют свои сильные и слабые стороны. Осознание этого экономит время и помогает решать задачу эффективнее.

image

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

  • Какие есть варианты программного извлечения данных с веб-страницы?
  • Плюсы и минусы каждого подхода?
  • Как использовать облачные ресурсы для увеличения степени автоматизации?

Статья поможет получить ответы на эти вопросы.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии1

Популярные расширения Visual Studio Code

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

Code Time


Code Time — это плагин с открытым исходным кодом, который предоставляет метрики прямо в редакторе кода.

image
Читать дальше →
Всего голосов 26: ↑18 и ↓8+10
Комментарии6

Что нового в JavaScript ES2019

Время на прочтение3 мин
Количество просмотров21K
Существует стандартная процедура для последних версий Javascript и за этим стоит целый комитет. В статье я расскажу о том, кто принимает решения по любой новой спецификации, какова процедура для нее и что нового в ES2019.

image

Спецификация языка, управляющая JavaScript, называется ECMAScript. Существует группа под названием технический комитет 39 [TC39], которая рассматривает каждую спецификацию перед принятием.
Читать дальше →
Всего голосов 40: ↑25 и ↓15+10
Комментарии2

Что такое чистые функции в JavaScript?

Время на прочтение3 мин
Количество просмотров87K
Чистые функции — строительные блоки в функциональном программировании. Их обожают за простоту и тестируемость.

В этой статье вы найдете чек-лист, который поможет определить чистая функция или нет.

image

Чек-лист


Функция должна удовлетворять двум условиям, чтобы считаться «чистой»:

— Каждый раз функция возвращает одинаковый результат, когда она вызывается с тем же набором аргументов
Читать дальше →
Всего голосов 25: ↑12 и ↓13-1
Комментарии15

Как CSS специфичность работает в браузере

Время на прочтение3 мин
Количество просмотров23K
Многие считают CSS сложным. Они придумывают разные оправдания: не хватает способностей понимать CSS или CSS сам по себе плох. Но реальность такова, что люди просто не нашли время, чтобы действительно изучить его. Если вы читаете эту статью, значит заинтересованы в изучении CSS и это здорово!

image

Что такое CSS специфичность?


Вы когда-нибудь писали стиль, а он не работает, потом вы добавляете !important (или нет), и все же он не работает? Затем вы смотрите на Devtools и понимаете, что другой стиль где-то перекрывает ваш?

В этом и заключается специфичность CSS! Именно так браузер выбирает, какой из конкурирующих селекторов применить к элементу. Когда браузер видит, что два или более селектора совпадают с одним и тем же элементом, и у селекторов есть конфликтующие правила, ему нужен способ выяснить, какое из правил применить к этому элементу. То, как это происходит, называется «значение специфичности CSS».

Прежде чем мы углубимся в CSS специфичность, запомните эти вещи:
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии3

Секретные хаки VS Code

Время на прочтение5 мин
Количество просмотров140K
Не имеет значения, новичок вы или профессионал, удобные инструменты программирования важны для любого человека, который хочет писать код продуктивно.

image

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

Улучшаем внешний вид


1. Material Theme & Icons

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

Представьте себе эпическую тему в сочетании с эпическими иконами. Material Theme Icons — отличная альтернатива для замены значков VSCode по умолчанию. Большой каталог иконок плавно вписывается в тему, делая ее красивее. Это поможет легко найти файлы в проводнике.

image
Читать дальше →
Всего голосов 58: ↑47 и ↓11+36
Комментарии46

Введение в Git Merge и Git Rebase: зачем и когда их использовать

Время на прочтение4 мин
Количество просмотров322K
Часто у разработчиков возникает выбор между Merge (слияние) и Rebase (перемещение). В Гугле вы увидите разное мнение, многие советуют не использовать Rebase, так как это может вызвать серьезные проблемы. В статье я объясню, что такое слияние и перемещение, почему вы должны (или не должны) использовать их и как это сделать.

image

Git Merge и Git Rebase преследуют одну и ту же цель. Они предназначены для интеграции изменений из одной ветки в другую. Хотя конечная цель одинаковая, принципы работы разные.

Некоторые считают, что вы всегда должны использовать Rebase, другие предпочитают Merge. В этом есть свои плюсы и минусы.

Git Merge


Слияние — обычная практика для разработчиков, использующих системы контроля версий. Независимо от того, созданы ли ветки для тестирования, исправления ошибок или по другим причинам, слияние фиксирует изменения в другом месте. Слияние принимает содержимое ветки источника и объединяет их с целевой веткой. В этом процессе изменяется только целевая ветка. История исходных веток остается неизменной.
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии17

Разработка через тестирование: улучшаем навыки

Время на прочтение7 мин
Количество просмотров4.9K
В предыдущей статье мы рассмотрели теоретические аспекты. Самое время приступить к практике.

image

Сделаем простую реализацию стека в JavaScript с помощью разработки через тестирование.

Стек — структура данных, организованная по принципу LIFO: Last In, First Out. В стеке есть три основные операции:

push: добавление элемента
pop: удаление элемента
peek: добавление головного элемента

Создадим класс и назовем Stack. Чтобы усложнить задачу, предположим, что стек имеет фиксированную вместимость. Вот свойства и функции реализации нашего стека:
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии2

Разработка через тестирование: улучшаем навыки

Время на прочтение5 мин
Количество просмотров12K
Тестирование важный навык, которым должен обладать каждый разработчик. Тем не менее, некоторые делают это неохотно.

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

image

Тесты делают ваш код стабильнее и уменьшают количество багов. Вам кажется, что это не так, потому что вы знаете каждый бит вашего кода. Ведь вы же его и написали, зачем еще тесты?

Предположим, вы создаете приложение для погоды. Вы писали код несколько дней или недель, поэтому знаете код от и до.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии25

Введение в машинное обучение

Время на прочтение4 мин
Количество просмотров23K
Обучение — это универсальный навык, который присущ любому живому организму на планете.

Обучение — это приобретение знаний и навыков посредством опыта или учебы. Это то, что нас объединяет и в то же время делает уникальными. Это то, что развивается с течением времени.

image

Что, если я скажу: «Машины тоже могут учиться»?
Читать дальше →
Всего голосов 19: ↑4 и ↓15-11
Комментарии2

Поиск карьерного пути

Время на прочтение3 мин
Количество просмотров7.7K
Всем знаком сценарий: мы приходим на работу, усердно трудимся и поднимаемся вверх по карьерной лестнице. Так было десятилетиями, но с изменениями в бизнес-среде, развитием роботизации, аутсорсинга и аутстаффинга, строить карьеру стало труднее.

Почему сложно определить карьерный путь в компании?


image

Во-первых, внешняя среда быстро меняется, поэтому компании должны быть гибкими, чтобы адаптироваться к новым условиям. Если раньше оценка квалификации персонала проходила раз в пять лет, то сейчас сроки сократились. Компании не имеют четкого представления о том, какие сотрудники будут нужны в будущем.
Читать дальше →
Всего голосов 26: ↑15 и ↓11+4
Комментарии6

Информация

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