Что такое Git? Зачем он нужен и как использовать? (примеры из практики)


Друзья, в этом видео я расскажу вам о том, что такое 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)

Соцсети:
www.instagram.com/itwithvitaly/
www.facebook.com/itwithvitaly

#примерыИзПрактики #обучениеIT #становимсяПрограммистами

[Ответы] Java Junior реальное собеседование | ООП, Java Core | Часть1


В этом видео я дам ответы на вопросы из первой части видео с реального собеседования на Junior Java Developer.

Видео с собеседованием: www.youtube.com/watch?v=bH3DBnxO4FA

Надеюсь каждому из вас будет полезно послушать информативную часть, а также взять себе на заметку, как примерно нужно отвечать на собеседовании.

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

Друзья! Напишите в комментариях какого формата видео вы хотите видеть на этом канале! Постараюсь учесть мнение каждого!

Ссылки на соц. сети:

Facebook — www.facebook.com/cactusprogramming/
Instagram — www.instagram.com/cactusprogramming/
Website — cactusprogramming.com/

Agile, Scrum и LeSS в Райффайзенбанке без вот этого вот всего.


Выступление Сергей Щербинин, руководителя управления стратегического развития ИТ, Райффайзенбанк на конференции МарТех 2018.
23 апреля 2018.
Организатор конференции CoMagic.

Борис Вольфсон. Почему Agile больше не работает


Гибкие подходы перестали работать! По крайне мере, если судить по многочисленным публикациям, которые все чаще и чаще стали появляться. У кого-то не работает Scrum, у кого-то не прижился Канбан и, вообще, Agile не работает. В своем докладе я также приведу несколько примеров критики Agile в виде статей и докладов, разберу типичные заблуждения и ошибки, которыми оперируют критики.

Если использовать модель жизненного цикла принятия инноваций, можно спрогнозировать, что число такого негатива будет расти, потому что в России Agile начинают использовать не только инноваторы и ранние последователи, но и раннее большинство, которому трудно грамотно внедрить Agile и стать действительно гибкими.

Опытные управленцы, которые владеют гибкими подходами, обычно посмеиваются над этим негативом и пересказывают друг другу как анекдоты, а это как раз и есть та пропасть, которую Джеффри Мур описал в своей книге. Дополнительно мы обсудим, где сейчас находится Agile с точки зрения цикла зрелости технологий, так как эта модель тоже объясняет неудачный опыт использования Agile.

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

Слайды по ссылке www.slideshare.net/ScrumTrek/agile-68867577

6.Linux для Начинающих - Работа с Директориями и самая опасная комманда Линукса


6.Linux для Начинающих — Работа с Директориями

mkdir – создать директорию
rmdir – стереть пустую директорию
cp — копировать директорию
mv — переименовать или перенести директорию

rm –R – стереть не пустую директорию со всем что внутри

sudo rm –R / — замочить систему Linux

Буду рад паре баксов, можно даже Канадских :) www.paypal.me/DenisAstahov

Утилита strace - отладка и анализ поведения компьютерных программ


В этом видео мы посмотрим какие следы оставляет программа, запущеная в операционной системе Linux. Как можно проанализировать к каким северам она подключается и какие файлы читает.

Системный администратор в 2020 (уровень middle)


Небольшой доклад о том каким видится системный администратор в 2020 году. Затронем тему офисного админа аля Windows, по большей части речь пойдёт про Linux-администратора. Докладчик мой подписчик Игорь.

Соберем? — www.donationalerts.com/r/sysadmin_chanel
Вебмани: R421339594003

Чат телеграмм: t-do.ru/joinchat/ISVKUhBT1-DA4dcZdPfQjw

=====ТАЙМ КОДЫ====
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 администратора

Основы программирования: Легендарный Гарвардский курс CS50


Весь курс CS50 — javarush.ru/s/course_cs50
Первая лекция курса «Основы программирования» javarush.ru/quests/lectures/questharvardcs50.level00.lecture00
Знаете, как называется самый популярный в мире университетский курс? Это CS50, «Основы программирования и компьютерных наук». Его уже много лет читают студентам Гарварда, а в последнее время — воспитанникам Йельского университета очно, а заочно — многомиллионной аудитории интернета.

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

Мы решили, что лишать русскоязычных пользователей интернета такого шикарного источника знаний — не честно, и перевели лекции CS50 на русский язык.

Присоединяйтесь к тем, кто изучает «Основы программирования: Легендарный Гарвардский курс CS50» прямо сейчас!
Перевод осуществлен JavaRush (http://javarush.ru) и студией VertDider.

Подписывайтесь на наш канал www.youtube.com/channel/UCMcDsSeqS531-HKz6GiJgtA, и изучайте основы программирования по самым лучшим источникам!

Удобная работа в Bash, ч.3.


Продолжение видеоурока «Удобная работа в Bash».
Данный видеоурок ориентирован на пользователя командной оболочки, который знает азы работы в ней, но хотел бы углубить понимание механизмов работы оболочки, а так же узнать разнообразные приемы, которые помогают более оптимально в ней работать.

1. Подстановка имен файлов {}.
2. history, !-команды.
3. Ctrl-комбинации.
4. Подстановка последнего аргумента предыдущих команд (Alt .)
5. Замена строки в предыдущей команде (^foo^bar^).
6. Использование клавиши TAB и bash_completion.