Евгений Борисов — Spring-потрошитель, часть 1


. Евгений Борисов — Spring-потрошитель, часть 1
Встреча JUG.ru
Санкт-Петербург, 26.06.2014

Казалось бы, зачем знать, как работают внутренности спринга для того, чтобы им пользоваться? Работает? Ну и ладно.

Но как всегда, для эффективной работы с фреймворком, неплохо бы понимать, что находится под капотом. Ведь только понимая его внутреннее устройство, вы сможете пользоваться Спрингом на полную мощность, адаптировать его под нужды вашего проекта, добиться максимальной производительности и решить любую проблему самостоятельно, не обращаясь в Spring-сервис-центр.
Итак, несколько вопросов про Spring, которые мы рассмотрим в рамках данного доклада (с примерами к каждому):

Насколько Spring влияет на производительность вашей программы?
Что входит в жизненный цикл спринга?
Как устроен ApplicationContext?
«Вот это на Spring сделать нельзя» — а может можно?

Какие проекты делать начинающему программисту? Как делать? (Пошаговая инструкция)


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

Почему?

Когда вы рассылаете резюме работодателю, особенно если вы новичок или человек с небольшим кол-вом опыта, то работодателю по сути невозможно понять насколько вы хороший или плохой кандидат, ведь он видит вас в первый раз и о вас нет никакого впечатления. Даже если вас позовут на собеседование, то по сути у них будет всего 1-2 часа для того чтобы оценить ваши знания, это не сильно играет вам на руку, так как обычно на популярные языки типа Java, JS, Python около 10-15 человек на 1 место на Junior.

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

Как?

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

Когда?

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

Как именно искать проект? Какой алгоритм?

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

2. Важно понимать что проект в первую очередь должен быть нацелен на то, чтобы вы как можно лучше разобрались с технологиями, получив для себя пользу, а также сделали себе техническое резюме, которое потом можно показать работодателю. Тематика проекта на самом деле второстепенна, это может быть хоть сайт по аренде авто, хоть сайт по парсингу курса валют. Старайтесь сделать так, чтобы тема проекта не была черезчур большой и проект можно было бы достаточно быстро довести до логического финиша.

3. Создаем репозиторий в github, попутно учим базовые команды Git, создаем каркас проекта и начинаем писать, не забываем соблюдать качество кода и документацию по всему ходу разработки. Чтобы подсмотреть эталонные варианты проектов, советую вам загуглить в таком ключе Ваша Технология Real World appllication Example github.

4. Когда написали проект, его нужно причесать. На проектах есть так называемый файлик README.md который сразу будет высвечиваться в развернутом виде как описание вашего проекта, как только работодатель или любой другой пользователь зайдет на ваш проект на Github. Сделайте так чтобы ваш проект хотелось посмотреть и скачать, напишите классное описание.

5. И последнее, не забывайте то что вы делаете проект в первую очередь для себя, чтобы научиться, стать опытнее и умнее. Читать теорию, а потом сразу же применять ее на практике, а к тому же еще и решать какие-то реальные проектные проблемы, а не «синтетические», высосанные из пальца, гораздо гораздо эффетивннее.

Подсуммирую, для того чтобы сделать проект себе в портфолио нам нужно:

1. Найти востребованный стек технологий проанализировав вакансии на рынке.
2. Выбрать тематику которая нам нравится, но важно чтобы проект был на слишком большим.
3. Зарегистрироваться и создать репозиторий на github.com, выучить базовые команды git. Прогуглить примеры реальных проектов.
4. Когда написали функционал, причесываем проект, чтобы на него было приятно смотреть.
5. Не забываем про главную мотивацию писать проект, — это в первую очередь инвестирование в себя и улучшение своих профессиональных качеств.

Таймкоды:
00:00 — Начало
00:14 — что такое «pet проекты»?
1:35 — как занять более выгодную позицию, по сравнению с другими кандидатами на должность
1:59 — Github аккаунт. Зачем он нужен?
2:49 — зачем нужны pet проекты?
2:55 — что такое «Stack технологий»
3:41 — какие проекты добавлять к резюме
4:12 — как именно стоит писать pet project? Шаг за шагом.
4:23 — Подбор востребованного стека технологий
5:18 — Выбор тематики
7:21 — Создание репозитория на Github
8:07 — Лайфхак для того, чтобы лучше понять систему написания приложений.
9:42 — Файл-«описание» Вашего проекта
11:42 — Для чего Вы делаете этот проект?
12:45 — Вывод. Что нужно для качественного написания pet проекта?

Соцсети:
www.instagram.com/itwithvitaly/
www.facebook.com/itwithvitaly
#какУстроитьсяПрограммистом #работавIT #какПрокачатьсявIT

Канальный уровень | Курс "Компьютерные сети"


Лекция по канальному уровню модели OSI. Курс «Компьютерные сети» — 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

Основные задачи канального уровня:
1. Передача сообщений по каналам связи – кадров (frame). Определение начала/конца кадра в потоке бит
2. Обнаружение и коррекция ошибок
3. Множественный доступ к каналу связи:
— Адресация
— Согласованный доступ к каналу связи

Методы выделения кадров:
— Указатель количества байт
— Вставка байтов (byte stuffing)
— Вставка битов (bit stuffing)
— Средства физического уровня

Обнаружение и исправление ошибок:
1. Обнаружение ошибок
— Контрольная сумма
2. Исправление ошибок
— Коды исправляющие ошибки (с избыточной информацией)
— Позволяют обнаруживать и исправлять ошибки
3. Повторная отправка данных
— Если в кадре обнаружена ошибка, его можно отправить заново.
— Повторная отправка кадра, который не дошел до получателя

Типы повторной отправки:
1. Остановка и ожидание.
2. Скользящее окно.

Канальный уровень в модели OSI состоит из двух подуровней:
1. Подуровень управления логическим каналом (LLC)
— Отвечает за передачу данных (создание кадров, обработка ошибок и т.д.)
— Общий для разных технологий
2. Подуровень управления доступом к среде (MAC):
— Совместное использование разделяемой среды
— Адресация
— Специфичный для разных технологий
— Не является обязательным

Технологии канального уровня:
— Ethernet, Wi-Fi (современные)
— Token Ring, FDDI, ATM, 100VG-AnyLAN (устаревшие)

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

Павел Черторогов – GraphQL — заключаем выгодный контракт между сервером и клиентом


. GraphQL приходит на смену REST API. Что такое GraphQL и из каких основных частей он состоит. Как бэкендеры описывают возможности своего сервера, а фронтендеры заявляют о своих потребностях в данных? Затронем тему статического анализа GraphQL-запросов на клиенте и как это позволяет отслеживать ошибки и изменения в API. Пройдемся по основным проблемам построения и генерации GraphQL-схемы на бэкенде.

GNOME 3.38. Что нового


Что нового в новой версии среды рабочего стола GNOME 3.38. Обзор нововведений. В этом видео мы рассмотрим основные изменения в GNOME 3.38 «Orbis». Посмотрим, что изменилось в интерфейсе, какие нововведения произошли в программах, какие настройки появились.
 
Если вам нравится наш канал и хотите чтобы он продолжал существовать, то вы можете поддержать его:
pingvinus.ru/about/donate

Наш канал в Телеграм:
t.me/pingvinus_ru

-=-=-

Обзор дистрибутива Manjaro Linux
youtu.be/8pGmUMZs_Do

Обзор KDE Plasma 5.17
youtu.be/oK3WBt8UmV4

Elementary OS на PineBook, Vivaldi 3.3 интернет на Паузу, возрождение Htop 3, Emacs 27.1, Q4OS 3.12
youtu.be/nAonPBLdzYg

Microsoft спонсирует Open Source, Elementary OS 6 — первые новости, дыру в GRUB2 вылечили, digiKam 7
youtu.be/EFCVWlS_Kqc

-=-=-

Linux, новости, игры и программы, дистрибутивы и многое другое:
pingvinus.ru

Какво е блокчейн технология?


В този брой на предаването за дигитална култура „Натисни F1“ ще ви разкрием какво представлява блокчейн технологията, къде е приложима, що е то умен договор и… забележете – българската следа в тази мистериозна сфера.

3. LINUX. Linux и сеть (основы) | Технострим


Слайды лекции: www.docme.ru/06M6
► Другие лекции курса: www.youtube.com/playlist?list=PLrCZzMib1e9rx3HmaLQfLYb9ociIvYOY1
Подробнее о курсе: track.mail.ru/curriculum/program/discipline/81/

КРАТКОЕ СОДЕРЖАНИЕ:
— Лекция посвящена сетевым технологиям без привязки к какой либо операционной системе.

Модель OSI, Ethernet, ARP, сетевые протоколы передачи данных (IPv4, IPv6), UDP, TCP, NAT, DNS, NTP, HTTP, SSL.

00:00:05 Пару слов о домашнем задании
00:04:03 Вопрос из зала: как посмотреть существует сущность или не существует? — getent
00:05:06 Вопрос из зала: как в скрипте разбираются аргументы командной строки? — bash
00:06:52 Вопрос из зала: как указать путь к файлу так чтобы этот файл лежал рядом с этим скриптом? — bash
00:08:08 Вопрос из зала: как проверять корректность ввода данных и стоит ли проверять? — bash
00:10:42 О теме лекции
00:11:10 Сетевой стек (модель OSI)
00:12:18 Уровни протоколов в модели OSI
00:12:39 Физический уровень (Physical)
00:13:41 Канальный уровень (Data-Link)
00:14:55 Технология Ethernet
00:16:23 ARP — протокол разрешения адресов
00:17:50 Обмен ARP пакетами (пример)
00:19:26 Недостатки ARP
00:20:29 Сетевой уровень (Network) — Протокол IPv4
00:23:22 Еще об одном недостатке ARP
00:24:29 Как устроен маршрутизатор?
00:26:00 Как устроен пакет IPv4?
00:28:11 Поле TTL. Почему не разрешить пакетам жить вечно?
00:29:28 Трассировка (утилита traceroute)
00:31:03 Другие поля пакета IPv4
00:31:49 Система адресации протокола IPv4, сети, подсети
00:39:54 Пример адресации сети
00:41:33 ICMP — протокол передачи служебных сообщений
00:44:06 Мультикаст в IPv4
00:48:51 Недостатки мультикаста
00:49:54 Протокол IPv6
00:57:48 Как устроен пакет IPv6? Заголовок IPv6
00:59:48 Транспортный уровень (Transport) — Протокол UDP
01:02:19 Протокол TCP, устройство пакета TCP
01:04:40 Как работает TCP? TCP-соединение
01:07:51 Как это выглядит на практике? Утилита tcpdump
01:12:31 Понятие TCP-окна, TCP congestion control (контроль переполнения TCP)
01:19:11 NAT (Network Address Translation)
01:23:16 Протоколы уровня приложения, DNS
01:27:01 Как происходит resolving доменного имени?
01:33:16 Какие данные хранятся в DNS?
01:34:40 Политики домена, для чего они нужны?
01:37:48 Система отправки почты, запись MX
01:39:54 Запись TXT
01:42:12 Система обратных зон DNS
01:46:44 Как выглядит resolving обратной записи?
01:49:07 NTP — протокол синхронизации времени
01:51:34 Как работает NTP? ntpd
01:53:42 Протокол HTTP
01:56:55 URL (Uniform Resource Locator)
02:00:06 Как выглядит HTTP-запрос? Виды HTTP-запросов: GET
02:03:05 Коды ответа HTTP (успешные запросы)
02:10:04 Коды ответа HTTP (ошибки)
02:13:14 Зачем в каждом HTTP-запросе передается заголовок HOST?
02:15:45 Протоколы симметричного и асимметричного шифрования, протокол SSL, сертификаты
02:21:23 Пример подключения по протоколу SSL, цепочка сертификатов

— О КАНАЛЕ:

Официальный канал образовательных проектов Mail.Ru Group

► Нажмите здесь для подписки ‣ www.youtube.com/TPMGTU?sub_confirmation=1

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

Наши проекты:
Технопарк при МГТУ им. Баумана ‣ park.mail.ru
Техносфера при МГУ им. Ломоносова ‣ sphere.mail.ru
Технотрек при МФТИ ‣ track.mail.ru
Техноатом при МИФИ — atom.mail.ru
Технополис при СПбПУ — polis.mail.ru

— МЫ В СЕТИ:

Технопарк в ВК | vk.com/tpmailru
Техносфера в ВК | vk.com/tsmailru
Технотрек в ВК | vk.com/trackmailru
Техноатом в ВК | vk.com/technoatom
Технополис в ОК: www.ok.ru/technopolis
Технополис в ВК: vk.com/technopolis_ok
Блог на Хабре | habrahabr.ru/company/mailru

Пленарное заседание «Преподавание родных языков в современных условиях»


Кафедра бурятского языка и методики преподавания Высшей школы бурятского языка и литературы Восточного института Бурятского государственного университета имени Доржи Банзарова проводит 17-18 декабря 2020 г. Всероссийскую научно-практическую конференцию с международным участием «Преподавание родных языков в современных условиях: эффективные методики и технологии».

16 бит тому назад - История звука на ПК


История основных событий в эволюции компьютерного звука.
16-bits.ru

В качестве примеров использована игра Monkey Island (by Lucas Arts)
Из обзора Lazy Game Reviews: www.youtube.com/watch?v=a324ykKV-7Y

Наша группа ВКонтакте, которая обновляется каждый день:
vk.com/gamesbusters
Свежие новости, скидки на игры, пополняемые альбомы и чат на стене! Вступай!