Какой язык программирования учить в 2020 году: Рациональный подход


В этом видео я покажу и расскажу как найти для себя ответ на вопрос «какой язык программирования учить?». Мы посмотрим на data-driven подход, который основывается на конкретных цифрах и анализе рынка на текущий момент.

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

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

Сайты где можно смотреть вакансии:
Украина — dou.ua/
Беларусь — dev.by/
Россия — tproger.ru/
США — www.builtinnyc.com/

Таймкоды
3:49 — Сайты для анализа IT рынка
5:02 — Java
5:35 — .NET
6:37 — Python
7:36 — Ruby
8:09 — PHP
9:00 — iOS/Android
9:36 — Front End
10:13 — QA
10:40 — DevOps
13:28 — Анализ зарубежного рынка

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

Кто такой Junior, Middle, Senior, Team Lead | Что они делают?


В этом ролике я расскажу вам чем отличаются Junior, Middle, Senior и Team Lead. Какие обязанности они выполняют и какие роли у них в командах.
А также дам свою оценку тому, сколько времени нужно инвестировать для того, чтобы дойти до каждого из этих грейдов.
=========================
Ссылки на соц. сети:

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

Типичные задачи junior разработчика в компании | Как работают джуниоры? (мой опыт)


В этом видео я подробно расскажу вам о том, какие задачи выполняет 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 в общем

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

#itcвиталиемкарнаухом #чтоделаетjunior #работапрограммистом

Асинхронный Python-код медленнее обычного кода! Ааа!!1один. Aiohttp VS синхронные фреймворки


Запускаем мощную платную обучающую программу, интересно принять участие? Пройдите опрос — simpoll.ru/run/survey/c44b6a04

Сказать спасибо можно здесь — boosty.to/digitalize.team

А точно ли вообще асинхронность в питоне нам нужна? Есть мнение, что старые добрые синхронные веб-фреймворки на Python таки работают быстрее и надёжнее. Давайте проверять!

Две упоминаемые статьи:
habr.com/ru/post/440282/
habr.com/ru/company/ruvds/blog/507570/

0:00 Популярные тесты производительности Python веб-фреймворков
3:49 Разворачиваем проект под тесты
6:39 Запуск тестов Aiohttp
9:05 Запуск тестов Meinheld с Falcon
10:40 Aiohttp сливает, асинхронность отстой:(
11:22 Или нет?
12:02 Изменим тесты и проведём их снова
14:38 Ёлочки-палочки, что происходит? Почему?
17:15 Мультипроцессинг, мультипоточность, асинхронность — когда что использовать?

/****************** about ******************/

Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:

— Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
— Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.

Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.

С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.

Мои соц сети:
www.facebook.com/a.goloburdin
www.instagram.com/alexeygoloburdin/
vk.com/a.goloburdin

---

Путь в IT. От пользователя к DevOps. С чего начать и что делать дальше. Основные темы IT.


Путь в IT. От пользователя к DevOps. С чего начать и что делать дальше. Основные темы IT.

Изучение IT Сферы. С чего начать изучение. Что стоит изучать дальше.
Путь в ИТ от простого пользователь к DevOps.
Что отличает Системного администратора (SysAdmin) и DevOps.

! НЕ СТОИТ ВОСПРИНИМАТЬ ДАННОЕ ВИДЕО КАК ПРАВИЛО, это всего лиш один из вариантов последовательности изучения.

Протокол DHCP | Курс "Компьютерные сети"


Протокол динамической конфигурации хостов DHCP — Лекции по курсу «Компьютерные сети» — www.asozykin.ru/courses/networks_online

Как можно поддержать курс:
1. Яндекс Кошелек — money.yandex.ru/to/410014298228017
2. PayPal — www.paypal.me/asozykin
Заранее спасибо за помощь!

Добавляйтесь в друзья в социальных сетях:
вКонтакте — vk.com/avsozykin
Facebook — www.facebook.com/asozykin
Twitter — twitter.com/AndreySozykin

Протокол DHCP позволяет назначать IP-адреса компьютерам в сети автоматически.

Протокол использует архитектуру клиент-сервер, которые обмениваются сообщениями в режиме запрос-ответ.

Сообщения DHCP:
— DISCOVER — Поиск DHCP сервера
— OFFER — Предложение IP-адреса DHCP сервером клиенту
— REQUEST — Запрос IP-адреса DHCP клиентом
— ACK — Подтверждение назначения IP-адреса DHCP клиенту
— NACK — Запрет использования запрошенного DHCP клиентом IP-адреса
— RELEASE — Освобождение IP-адреса
— INFORM — Запрос и передача дополнительной конфигурационной информации

Для получения IP-адреса используются следующие сообщения: DISCOVER, OFFER, REQUEST, ACK (сокращенно DORA).

DHCP сервер выдает IP-адрес DHCP клиенту на ограниченное время, которое называется время аренды (lease time). После его окончания IP-адрес освобождается, но
DHCP клиент может продлить использование IP-адреса при необходимости.

Кроме IP-адреса, по DHCP также назначаются дополнительные параметры конфигурации сети. Для передачи этих параметров служат DHCP опции. Примеры часто используемых опций:
— Маска подсети
— Маршрутизатор по умолчанию
— Адреса DNS-серверов
— Имя домена
— Адреса серверов времени
— Маршруты

Практические занятия по курсу «Компьютерные сети» —
goo.gl/YP3l83

Практика «Протокол DHCP в Wireshark» -https://youtu.be/WaP4SZY0GJQ

Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках:
goo.gl/kW93MA

Как проходить #собеседование


#soer #ityoutubersru

Давайте немного поговорим про собеседования и можно ли повысить свои шансы при их прохождении

Чат для программистов — discord.gg/3UVJWAs
Спонсорская помощь — www.patreon.com/soersoft

Группа ВК — vk.com/codeartblog
Github — github.com/soersoft
Веб-сайт — codeart.ru

Анализ исходного кода Redux | Функциональная композиция | Middleware


#soer #ityoutubersru
В этом видео речь пойдет о применении в Redux таких техника как:
— функциональная композиция
— каррирование
— чистые функции
— функции высшего поряка
— рекурсии
Чат для программистов — discord.gg/3UVJWAs
Спонсорская помощь — www.patreon.com/soersoft

Группа ВК — vk.com/codeartblog
Github — github.com/soersoft
Веб-сайт — codeart.ru