Приглашаем на DevOpsConf live! — профессиональную конференцию по интеграции процессов разработки, тестирования и эксплуатации
29 -30 сентября и 6-7 октября 2020
Подробности и билеты bit.ly/2NGn8Tt
— DevOpsConf Russia 2018
Про DevOps есть очень много мифов, мифы эти связаны с искажениями информации, часто про DevOps говорят люди без реального опыта работы в технологических компаниях с непрерывной поставкой или говорят для получения собственной выгоды какие-то искаженные вещи.
Между тем, DevOps служит конкретной цели, решает конкретные задачи. Мы поговорим с вами о том, какие задачи DevOps решает и как решает, какие практики есть в DevOps и почему именно они, что такое культура в DevOps и является ли эта культура более “культурной”. Какие проблемы есть с точки зрения организации и командного взаимодействия.
…
— Нашли ошибку в видео? Пишите нам на support@ontico.ru
В этом выпуске у меня в гостях, senior devops engineer — Никита. Никита рассказал, как он стал из обычного системного администратора ведущим девопс инженером.
Мы разобрались в том, что же такое девопс и какие его области ответственности, какие инструменты используются девопсами, что такое докер и continuous integration.
Кроме того у Никиты богатый предпринимательский опыт и за плечами годы работы в big data.
И конечно, я задал сакральный вопрос, которой интересует большинство людей — сколько же зарабатывают девопсы.
Открытое собеседование junior frontend разработчика.
Следующий выпуск: youtu.be/ssigrf5zHUg
Предыдущий выпуск: youtu.be/JhpgZTa2Egc
Вопросы и предложения пишем сюда mockinterview@yandex.ru
Кто хочет прокачать свои знания — оставляем заявку на обучение в GeekBrains: rebrand.ly/mockinterview
00:00 Вступление
03:19 Знакомство с Ростиславом
05:15 Разница div и span
05:59 Теги link и script места подключения
09:18 Чем нравится программирование
10:10 Чем отличается null и undefined
17:34 Что такое NaN
20:03 Разница между == и ===
21:53 Что выведется в консоль
24:12 Проблема 0.30000000000000004
28:45 Задача 1
56:25 Вопрос на внимательность
1:00:10 Задача 2
1:16:55 Задача 3
В этом видео я подробно расскажу вам о том, какие задачи выполняет Junior разработчик в компании и что вам нужно уметь делать для того, чтобы претендовать на должность Junior.
Чтобы далеко не ходить, возьмем меня как конкретный пример, значит 2013 год, я прихожу в большую компанию работать Java Junior после практики, меня сажают на большой проект, который связан с индустрией healthcare т.е. писать софт для страховых компаний в США.
Я знакомлюсь с командой 3 разработчика (я, наш тимлид и еще один миддл), 2 тестировщика, бизнес аналитик на американской стороне и 2 разработчика тоже на американской стороне.
Мы работали по Scrum-у, это такой подход разработки когда мы определяем кол-во заданий на отрезок времени и делаем их, например в течении 2х недель. Если хотите подробное видео по Scrum то напишите в комментариях.
*Scrum — метод управления проектами
После планирования распределяются задачи согласно рубашке задач (монотонные легкие — junior-у, сложные задания для продвинутых миддлу и тимлиду). Я получаю свои задачи и начинаю с того, у которого самый высокий приоритет.
Проект состоял из 3х больших частей на которых нужно было работать, это Front End на Javascript, Backend на Java и реляционная база (SQL соответственно).
Так как я выполнял задачи на всех 3х уровнях, я дам вам пример по каждому из них.
Итак пример простого задания: Есть личный кабинет пользователя, где он должен быть в состоянии ввести свой контактный номер телефона, это новое поле, которого еще нет в системе. Поэтому оно должно быть добавленно в каждый из уровней приложения.
База данных
Начинаем с задачи на SQL: Нужно найти нужную таблицу, куда вставить это поле, расширить таблицу в базе данных так, чтобы она могла сохранять номер телефона, повесить на нее констреинты уникальности, просмотреть есть ли в этой таблице хранимые процедуры или триггеры настроеные на эту таблицу и если уместно — поправить запросы, чтобы они тоже отдавали номер телефона.
Также сделаем оговорку что это не пет проджект, а реальный проект, в котором часто самая простая задача может стать достаточно сложной для реализации. Например в базе про которую я говорю было пример 300 таблиц. Написали, протестировали, идем дальше.
*Pet project — небольшой проект для собственных, обучающих целей
Java Backend
Здесь уже уровень доступа к базе данных и бизнес логика. Сразу же представляем себе проект в котором несколько миллионов строчек и чтобы его установить и поднять локально уходило могло уйти пару дней.
*Бизнес логика — требования бизнеса переведенные на логический язык программирования.
Нужно найти модель которая соответствует таблице в базе расширить ее номером телефона, написать или расширить методы которые работают с этой таблицей чтобы можно было и сохранять и считывать информацию. Также обязательно нужно добавить валидаторы, которые проверяют номер телефона по определенном шаблона (я говорю сейчас о регулярном выражении. И конечно же потом проверить эту цепочку в обе стороны.
Front End
Тоже представляем огромный фронт проект на несколько сотен тысяч строк. Нужно добавить эту форму в личный кабинет, добавить валидацию по регулярному выражению, связать это все с запросами на бекенд в обе стороны и протестировать.
Конечно в процесс вовлечено гораздо больше действий чем просто написать код, это и прояснить у бизнес аналитика какие-то непонятные моменты, пройти код ревью процедуру у своей команды, помочь тестировщикам разобраться в логике, оценить задание во времени.
Примерами других заданий может быть например:
SQL
Написать sql запрос который покажет статистику покупок людей с помощью карты visa, а не мастеркард за сезон, или собрать полную информацию по юзерам у которые покупали страховку в прошлом году в текущее время года.
Java
Написать валидацию полей юзера используя регулярные выражения или например создать отдельный обработчик запроса, который отсылает всем пользователям в списке письмо с благодарностью.
Front End
Добавить фильтр по нескольким критериям на страницу покупки страховки, например фильтрация по компании, по стоимости, по длительности.
Также не забывайте что везде вам нужно придерживаться технологий и практик, которые уже используются на проекте, т.е. вам нужно хорошо знать стек технологий, чтобы быть в состоянии качественно сделать задание.
Тайм-коды:
00:00 Начало
0:31- мой опыт работы как Junior-а
1:01- по какой системе мы работали
1:25- распределение задач в команде
1:52- деления проекта на части
2:36- задача Junior-a
3:14- что я мог делать для выполнения этой задачи?
4:56- доработка логики на Java Backend
7:15- разработка логики на Front end
8:42- задачи для Junior-a в SQL
9:17- задачи для Junior-a на Java
10:15- задачи для Junior-a во Front End приложении
12:36- чего ожидают от Junior-a в общем
Путь в IT. От пользователя к DevOps. С чего начать и что делать дальше. Основные темы IT.
Изучение IT Сферы. С чего начать изучение. Что стоит изучать дальше.
Путь в ИТ от простого пользователь к DevOps.
Что отличает Системного администратора (SysAdmin) и DevOps.
! НЕ СТОИТ ВОСПРИНИМАТЬ ДАННОЕ ВИДЕО КАК ПРАВИЛО, это всего лиш один из вариантов последовательности изучения.
Обновленная версия лекции с более качественным звуком.
IP-адреса — это глобальные адреса, используемые в стеке протоколов TCP/IP. Широко используются в Интернет.
Используются для уникальной идентификации компьютеров в составной сети.
Существует две версии протокола IP:
— IPv4: адрес 4 байта
— IPv6: адрес 16 байт
Длина адреса IPv4 – 4 байта, 32 бита.
Форма представления: 4 десятичных числа 0-255, разделенных точками.
Подсеть (IP-сеть, сеть, subnet) – множество компьютеров, у которых старшая часть IP-адреса одинаковая.
Структура IP-адреса:
— Номер подсети – старшие биты
— Номер хоста (компьютера в сети) – младшие биты
Маска подсети показывает, где в IP-адресе номер сети, а где хоста. Структура маски:
— Длина 32 бита.
— Единицы в позициях, задающих номер сети.
— Нули в позициях, задающих номер хоста.
Формы записи маски:
— Десятичное
— В виде префикса
Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках — goo.gl/kW93MA
Разговор о том что такое захват данных и как ему противостоять и пережить с малыми потерями. Если кратко, у вас могут вытащить данные:
воры (с целью наживы или посланные конкурентами);
рейдеры (с целью захвата контроля над всем);
МВД — УБЭП (проверить лицензионность ПО и проч.);
налоговая полиция (с ордером).
С первыми двумя вы имеете право бороться, двум последним обязаны оказывать содействие и не препятствовать.
Я расскажу, как искать проблемы на живых серверах, как смотреть в логи (grep, perl), как смотреть, что происходит с системой (top, vmstat, iostat, tcpdump) и как смотреть в coredump’ы.