Pull to refresh
2
0
Digital Skynet @DigitalSkynet

Web and Desktop Development

Send message

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

Reading time6 min
Views9.2K
Я начал работать с 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:
Читать дальше →
Total votes 14: ↑9 and ↓5+4
Comments2

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

Reading time7 min
Views17K
Знание только одного подхода к веб скрапингу решает проблему в краткосрочной перспективе, но все методы имеют свои сильные и слабые стороны. Осознание этого экономит время и помогает решать задачу эффективнее.

image

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

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

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

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

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

image

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

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

Reading time3 min
Views92K
Чистые функции — строительные блоки в функциональном программировании. Их обожают за простоту и тестируемость.

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

image

Чек-лист


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

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

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

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

image

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


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

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

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

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

Reading time5 min
Views142K
Не имеет значения, новичок вы или профессионал, удобные инструменты программирования важны для любого человека, который хочет писать код продуктивно.

image

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

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


1. Material Theme & Icons

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

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

image
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments46

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

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

image

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

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

Git Merge


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

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

Reading time7 min
Views5K
В предыдущей статье мы рассмотрели теоретические аспекты. Самое время приступить к практике.

image

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

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

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

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

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

Reading time5 min
Views13K
Тестирование важный навык, которым должен обладать каждый разработчик. Тем не менее, некоторые делают это неохотно.

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

image

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

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

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

Reading time4 min
Views25K
Обучение — это универсальный навык, который присущ любому живому организму на планете.

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

image

Что, если я скажу: «Машины тоже могут учиться»?
Читать дальше →
Total votes 19: ↑4 and ↓15-11
Comments2

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

Reading time3 min
Views7.8K
Всем знаком сценарий: мы приходим на работу, усердно трудимся и поднимаемся вверх по карьерной лестнице. Так было десятилетиями, но с изменениями в бизнес-среде, развитием роботизации, аутсорсинга и аутстаффинга, строить карьеру стало труднее.

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


image

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

Information

Rating
Does not participate
Location
Таганрог, Ростовская обл., Россия
Registered
Activity