James Bach, Lessons Learned in Software Testing: shorturl.at/hkxS2
Gojko Adzic, Fifty Quick Ideas To Improve Your Tests: shorturl.at/aBT49
Gojko Adzic, Humans vs Computers: shorturl.at/eHVX9
The Way of the Web Tester: shorturl.at/dfNQ6
James Whittaker, How to Break Web Software: shorturl.at/cfDUZ
В нашей работе консультантами по DevOps, мы часто сталкиваемся с вопросом клиентов, из чего же, собственно, состоит DevOps. Абривиатура CAMS плохо подходит для того, чтобы продавать, потому что никто не купит культуру или Knowlage Sharing. Мы рекомендуем нашим клиентам внедрять следующие практики: Infrastructure As a Code, Continuous Delivery, Continuous Monitoring, Automated Testing и Test Data Management. В докладе я расскажу, что мы подразумеваем под этим, а также про некоторые кейсы из нашей работы с крупными российскими компаниями.
Друзья, в этом видео я расскажу вам о том, что такое Git, зачем он нужен, как его использовать и как с его помощью оптимизировать и упростить работу в команде. Мы поговорим обо всех особенностях использования этого инструмента и я наглядно покажу как с ним работать.
Что такое git?
Git — это система контроля версий, а если сказать простым языком то это программа, инструмент, которая позволяет нам фиксировать наши изменения в коде, а также благодаря этой фиксации позволяет нескольким людям или даже командам вместе слажено и параллельно работать над каким-то программным продуктом.
Представьте что вы пишите программу и у вас есть какая-то функция, которая допустим сохраняет информацию информацию о пользователе в базу данных, и для этого сохранения вам естественно нужна логика которая собственно это сохранение будет делать. Вот вы написали код, все круто все работает. Как сделать своего рода сохранение как в компьютерной игре которое сможет зафиксировать прогресс?
Git — это как раз такая программа, такая система, которая позволяет эти сохранения создавать и потом управлять ими, менять, возвращаться к ним, удалять и переписывать их, такая фиксация в терминах Git-а называется `commit`
Проще всего гит представлять по аналогии либо с компьютерной игрой и ее сохранениями либо с таким роботом-фотографом, который в любой момент который вы ему скажете сделает так сказать фотографию ваших файлов с которыми вы работаете, зафиксирует их состояние на текущий момент, и затем любой момент может вам сказать поменялось ли что-то в этих файлов с момента прошлой «фиксации».
Git собственно так и делает, вы говорите ему команду, он запоминает состояние ваших файлов на текущий момент присваивая ему специальный номер вот это снимка, там называемый `commit hash`.
Commit hash — набор символов которые уникально идентифицируют сохранение состояния файлов в конкретный момент времени;
Что такое ветки в гите и как их использовать?
В git также используется так называемая система веток, представьте себе что ветка, так называемая branch — это маршрут по которому едет поезд, а каждая его остановка, сохранение состояния это коммит. То есть когда мы начинаем разрабатывать какую-то задачу, пишем код нам нужно идти с точки А в точку Б, у нас скажем пустой файл, а потом постепенно наш код начинает эволюционировать и он со временем начинает что-то внятное делать.
Так вот этот процесс разработки можно представить по той же аналогии с поездом, поездвыезжает с точки А и ему нужно доехать до точки Б, и этот маршрут он будет ехать по своему пути (в нашем случае это и будет ветка нашего git), а также по пути ему надо останавливаться чтобы фиксировать свой прогресс по маршруту, это и будут коммиты в нашем случае, то есть мы пишем код в рамках ветки и делаем коммиты, для того чтобы сохранять наш прогресс внутри метки.
Как его используют команды?
Как такой подход позволяет нам распараллелить работу разных людей и команд и сделать их более продуктивными? Все дело в том что когда мы работаем над каким-то проектом и нескольоко людей пишут код они во 1 могут одновременно менять одни и те же файлы.
Так вот фишка гита в том что каждый разработчик может сам себе создать такую ветку, уникальный маршрут поезда на пути которого будут свои уникальные остановки, то есть свои уникальные коммиты этого разработчика, и эта ветка она будет скажем так принадлежать одному человеку и там он будет фиксировать все свои изменения, делать коммиты.
И все сводится к достаточно простой логике, у нас есть какой-то код который нам надо написать, мы сделали новую ветку, по пути того как мы разрабатываем мы в этом ветке делаем коммиты чтобы зафиксировать изменения, как только мы понимаем что у нас все готово, нам нужно объединится с другими разработчиками, скажем так сделать так чтобы наши изменения ехали по общему маршруту, то мы просто сливаем все наши коммиты из нашей ветки в общую. По аналогии с поездами можно представить что у нас есть какая-то главный поездной маршрут в котором есть все наши остановки, коммиты из всех веток. Таким образом все довольно просто, сделали ветку, написали код попутно фиксируя изменения коммитами, после того как закончили, слили все наши изменения в общую ветку чтобы эти коммиты, эти изменения были доступны всем другим разработчикам.
00:00 Начало
1:03 — Git — что это?
2:52 — Что такое Git commit
4:09 — Ветки или «branch» что это такое?
5:27 — Как команды используют Git?
7:49 — Как применять Git в работе. Практика.
7:57 — Новый репозиторий. (Git init)
9:17 — Создание файла и коммита. (Git commit)
11:46 — Сохранение файлов (Git commit -m)
12:46 — Как работают с ветками и какими они бывают.
14:51 — Создание develop ветки, и ветки для работы ( Git checkout -b feature)
17:06 — Как новый файл добавляется в Git
19:39 — Откат к коммиту (Git reset)
20:44 — Слив на одну ветку (Git merge)
Надеюсь каждому из вас будет полезно послушать информативную часть, а также взять себе на заметку, как примерно нужно отвечать на собеседовании.
Я заранее не готовился к ответам, и отвечал импровизировано, чтобы это действительно было показательно, на монтаже вырезал только те части где я запинался на камеру.
Друзья! Напишите в комментариях какого формата видео вы хотите видеть на этом канале! Постараюсь учесть мнение каждого!
Основные моменты:
00:00 О чем ролик?
02:00 Университет
08:20 Начало работы
10:47 Первое приложение
16:35 Работа в стартапе
20:16 Работа в EPAM
26:30 Как начал создавать курсы
30:25 Как стал Senior
32:08 Работа в аутсорсе как ИП
37:14 Как пришел к Youtube
42:35 Выводы
В этом видео мы посмотрим какие следы оставляет программа, запущеная в операционной системе Linux. Как можно проанализировать к каким северам она подключается и какие файлы читает.
Небольшой доклад о том каким видится системный администратор в 2020 году. Затронем тему офисного админа аля Windows, по большей части речь пойдёт про Linux-администратора. Докладчик мой подписчик Игорь.
=====ТАЙМ КОДЫ====
8:00 НавыкиLinux администратора
— Операционные системы 8:16
— Сеть 10:53
— Базовый инфраструктурный софт 16:32
— Программирование и автоматизация 20:54
— Виртуализация и контейнирезация 23:26
— Базы данных 26:27
— Soft Skills 29:57
— Дополнительный софт 37:12
38:20 Облака
40:56 Системы управления конфигурациями и IaaC
47:51 Оркестрация
49:25 CI / CD
54:59 Вакансии Linux администратора