Шпаргалка Java-программиста 5. Двести пятьдесят русскоязычных обучающих видео докладов и лекций о Java

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



    Поэтому я подготовил данный сборник видео докладов на русском языке с различных конференций (Joker, JPoint, JavaDays, JEEConf, конечно, с DEV labs, которые организовывает Luxoft), и, естественно, видео из канала Luxoft Training Center. Всё видео разделено на различные категории и при необходимости добавлено описание.

    Update: Внимание, актуальная версия со всеми ссылками на видео находиться теперь в моем github'e проекте useful-java-links, по этой ссылке.



    Чего НЕ БУДЕТ в данном сборнике:
    1. Не будет видео про scala, так как scala это целый отдельный мир, для программистов на scala могу порекомендовать вот этот сборник,
    2. Не будет видео на английском языке, я старался выбирать русскоязычное видео, так как далеко не все программисты все-таки владеют английским в совершенстве, ну и англоязычного видео слишком много, поэтому я решил остановится пока только на русскоязычных видео (и небольшом количестве видео на украинском языке), К тому же, уверен, для англоязычного видео по Java в инете и так найдется немало подобных сборников.

    Не стесняйтесь писать в комментариях (или мне в личку) о других интересных видео по Java, которое нет в этом списке.

    Итак, начнем:

    1. Вопросы оптимизации и производительности


    1.1 Производительность и оптимизация


    1. Сергей Куксенко — «Квантовые» эффекты производительности,
    2. Сергей Куксенко — Сессия вопросов-ответов о производительности Java,
    3. Алексей Шипилёв и Сергей Куксенко, Россия — Методология оптимизации производительности,
    4. Сергей Куксенко, Oracle — Железные счётчики
    5. Алексей Шипилёв, Oracle — Катехизис java.lang.String — о реализации строк в Java, способы оптимизации работы со строками и ошибки, которые часто допускают при оптимизации работы со строками,
    6. Алексей Шипилёв — Java Benchmarking: как два таймстампа прочитать!
    7. Алексей Шипилёв — Java Benchmarking: как два таймстампа записать
    8. Алексей Шипилёв и Сергей Куксенко — Оптимизация производительности Java-приложений: теория
    9. Алексей Шипилёв и Сергей Куксенко — Оптимизация производительности Java-приложений: детали
    10. Алексей Шипилёв и Сергей Куксенко — Оптимизация производительности Java-приложений: ещё детали
    11. Олег Бунин, Андрей Паньгин, Алексей Рагозин, Олег Анастасьев — Круглый стол. HighLoad
    12. Алексей Шипилёв, Oracle — Сжимай меня полностью
    13. Дмитрий Лазаренко — Оптимизация работы JVM в облаке
    14. Дмитрий Чуйко — Быстрая загрузка ваших классов
    15. Глеб Смирнов — HotSpot, что ты делаешь?! Ахаха, прекрати!
    16. Kirill Golodnov — О бесконечно долгой работе дочерних процессов Java-приложения
    17. Андрей Афанасьев — Оптимизация производительности распределенных приложений...
    18. Руслан Черёмин — Disruptor и прочие фокусы
    19. Gleb Smirnov — Side-By-Side Performance Comparisons — что значит «тормозит» и как с этим бороться
    20. Nikita Salnikov Tarnovski — First steps in GC tuning — проблемы, связанные с производительностью из-за сборщика мусора


    1.2 Высоконагруженные приложения (HighLoad)


    1. Андрей Паньгин — Особенности разработки высоконагруженного сервера на Java
    2. Алексей Шевчук — Подходы к решению проблем производительности высоконагруженых сервисов
    3. Роман Елизаров — Миллионы котировок в секунду на чистой Java
    4. Олег Анастасьев — За гранью возможного (Keynote) — о проблемах при создания Однокласников и решения для высоконагруженных сервисов,
    5. Андрея Паньгина — Выжимаем из сервера максимум: приемы кеширования и передачи данных на Java — описание приемов создания высоконагруженных систем на Odnoklassniki.ru,
    6. Alexander Oleynikov — Практический опыт построения API высоконагруженных сервисов — описание создания высоконагруженных систем в Yandex'е,
    7. Valerii Moisieienko — How to Manage 10K request per second in HA manner — история разработки высоконагруженного приложения на недорогом железе,


    1.3 Сборка мусора, утечки памяти и работа с памятью


    1. Алексей Рагозин — Сборка мусора, битва алгоритмов
    2. Владимир Долженко — GC: друг или враг?
    3. Роман Елизаров — Почему GC съедает все моё CPU?
    4. Никита Сальников-Тарновский, Plumbr — Где моя память, чувак?!
    5. Глеб Смирнов, Plumbr — Тайны — в наших головах, а не в JVM
    6. Никита Сальников-Тарновский — Утечки памяти
    7. Алексей Шипилёв — О чём молчат Heap Dump-ы
    8. Владимир Воскресенский — Микрохирургия HotSpot
    9. Александр Макаров — Исследование возможностей и ограничений JVM по оптимизации памяти
    10. Андрей Паньгин — Кеширование данных вне Java Heap и работа с разделяемой памятью в Java
    11. Владимир Иванов — G1 Garbage Collector
    12. Иван Крылов — StructuredArray и ObjectLayout — как JVM представляет объекты и вопросы производительности представления объектов,
    13. Никита Сальников-Тарновский — Heap, off you go
    14. Nikita Salnikov-Tarnovski — I bet you have a permgen leak in your application — утечки памяти из-за class load'ов


    2. Инструменты и IDE


    2.1 IDE и инструменты разработки


    1. Андрей Зайцев, Дмитрий Нестерук, JetBrains — Инструменты командной разработки
    2. Николай Чашников — Поддержка Java 8 в IntelliJ IDEA
    3. Андрей Солнцев — Eclipse vs Intellij IDEA
    4. Николай Чашников — IntelliJ IDEA изнутри
    5. Дмитрий Найданов — Play Framework 2.0 в IntelliJ IDEA
    6. Николай Чашников — Компилятор Java и IDE: взаимовыгодное сотрудничество
    7. Андрей Чепцов, Барух Садогурский, Антон Архипов — Круглый стол. Инструменты Java-разработчика
    8. Александр (Шура) Ильин — Анализ покрытия с помощью JCov
    9. Антон Архипов — JRebel — инструмент, который позволяет «на лету» перезагружать классы, измененные с момента развёртывания приложения.,
    10. Барух Садогурский — Разработка модулярного софта: добро пожаловать в АД!
    11. Alexey Alexandrov — All inclusive Jeastic PaaS — описание платформы для облачных вычислений
    12. Baruch Sadogurskii — Managing Modular Software for your NuGet, C++ and Java Development
    13. Philip Torchinsky — Интеграция баг-трекера и сервера CI с IntelliJ IDEA
    14. ladimir Kozhaev — How to write IDE for your DSL in one day
    15. Евгений Борисов — Power of Gradle
    16. Sergey Morenets — Gradle 2. Write once, build everywhere — внимание: видео на украинском языке


    2.2 Отладка, профилирование, мониторинг


    1. Алексей Рагозин — Непрерывное профилирование Java-приложений в ходе эксплуатации
    2. Андрей Паньгин, Одноклассники — Лучший отладчик — сделанный своими руками
    3. Владимир Ситников — Профайлер в каждый дом
    4. Владимир Красильщик — Мониторинг Java-приложения с многопроцессной архитектурой
    5. Виталий Трифанов и Дмитрий Цителов — Динамическое обнаружение гонок в многопоточных Java-программах
    6. Андрей Паньгин — Лучший отладчик — сделанный своими руками
    7. Андрей Паньгин — Аварийный дамп — черный ящик упавшей JVM
    8. Андрей Паньгин — Анализ аварийных дампов JVM, часть 2
    9. Андрей Паньгин — Анализ аварийных дампов JVM, часть 1
    10. Александр Отенко — О чём молчит профайлер
    11. Андрей Паньгин — Аварийный дамп — «черный ящик» JVM
    12. Алексей Рагозин — Диагностические интерфейсы JVM, или Как сделать профайлер своими руками
    13. Владимир Воскресенский — Практическое применение OSS для анализа Java-приложений — Использование Oracle Solaris Studio для анализа высокопроизводительных Java-приложений
    14. Алексей Шипилёв — (The Art of) (Java) Performance Benchmarking II


    3. Особенности разных языков JVM и версий Java


    3.1 Groovy и Grails


    1. Барух Садогурский, Евгений Борисов — Эпичные Groovy Puzzlers — Месть Скобок
    2. Барух Садогурский и Евгений Борисов — Groovy Puzzlers
    3. Барух Садогурский и Евгений Борисов — Groovy Puzzlers — Странное, Непонятное и Мамочки-а-это-что-такое?!
    4. Евгений Борисов — Марлезонский балет по Groovy в трех частях
    5. Барух Садогурский — Метапрограммирование на уровне компилятора в Groovy
    6. Барух Садогурский — Groovy DSL для plugin-ов: расширения человеческим языком
    7. Барух Садогурский — Транcформации Абстрактного Синтаксического Дерева в Груви. ЩИТО?!
    8. Izzet Mustafaiev — Groovy MOPping — принципы построения DSL на groovy
    9. Baruch Sadogursky — Search for the Holy Grail (and test it once found) — какие решения для поиска существуют в Grail и какие решения для тестирования существуют в Grails


    3.2 Clojure


    1. Николай Рыжиков — Clojure: интерактивная разработка для интерактивного веб
    2. Maurice Naftalin — Closures and Collections: the World After Eight
    3. Dmitriy Morozov — ETL all the things! — использование ETL (Extract, transform, load) в Clojure, как можно использовать Spark c Clojure,
    4. Misha Kozik — DSL in Clojure — использование Clojure для написания DSL,


    3.3 Kotlin


    1. Андрей Бреслав — Type-safe Web with Kotlin
    2. Андрей Бреслав — Project Kotlin
    3. Евгений Геращенко — Kotlin, язык программирования для JVM
    4. — Язык программирования Kotlin


    3.4 Java Embedded и IoT


    1. Александр Белокрылов, Александр Мироненко, Oracle — Восстание машин: в энтерпрайз с 256 КБ RAM
    2. Белокрылов, Мироненко — Силовая установка c сердцем из Raspberry Pi и мозгом на Java Embedded
    3. Александр Белокрылов и Александр Мироненко — Java Embedded у вас дома
    4. Александр Мироненко и Александр Белокрылов — Java Embedded у вас дома
    5. Лев Прийма — Java SE Embedded 8
    6. Александр Белокрылов и Александр Мироненко — Полноценный Java runtime, 256Kb RAM и 5 литров пива
    7. — Java ME Embedded: проверенные технологии на перспективных рынках
    8. Yakov Fain — RESTful services and OAUTH protocol in IoT


    3.5 Java EE 7


    1. Markus Eisele — 50 Best Features of Java EE 7


    3.6 Java 8, лямбды и Stream Api


    1. Сергей Куксенко — Я, лямбда
    2. Сергей Куксенко — JDK 8: Молот лямбд
    3. Сергей Куксенко и Алексей Шипилёв — Через тернии к лямбдам, часть 1
    4. Владимир Иванов — Java 8 и JVM: что нового в HotSpot
    5. Сергей Куксенко — Java 8: Advanced Stream Techniques
    6. Дмитрий Козорез — Java 8 Time API
    7. Владимир Иванов — Java 8: что нового в HotSpot JVM?
    8. Maurice Naftalin — What's New in Java 8
    9. Александр Ильин — Type annotations in Java 8. И почему это хорошо
    10. Сергей Куксенко и Алексей Шипилёв — Через тернии к лямбдам, часть 2
    11. Сергей Куксенко и Алексей Шипилёв — Через тернии к лямбдам, часть 1
    12. Сергей Куксенко — Stream API, часть 2
    13. Сергей Куксенко — Stream API, часть 1
    14. Сергей Куксенко — JDK8: Stream style
    15. Алексей Фёдоров — Компромиссы в Java 8 с примерами и картинками
    16. Александр Белокрылов — Знакомьтесь, Java 8
    17. Дмитрий Козорез — Долгий путь к Лямбдам
    18. Соколов Михаил — Java 8: лямбда выражения и Stream API
    19. Oleg Tsal-Tsalko — Java 8 Date&Time benefits
    20. Oleg Tsal-Tsalko — Java 8 Lambdas Hands-On-Labs
    21. Pavel Grushetzky — Java for hipsters and rocks stars
    22. Oleg Tsal-Tsalko — 10+ new features you ought to know using Java 8


    3.7 Java 9+ и будущее Java


    1. Иван Крылов, Владимир Иванов, Volker Simonis, Никита Липский — Круглый стол. Будущее Java-платформы
    2. Владимир Иванов — Future of Java: 9 and beyond
    3. Владимир Иванов — Платформа Java: прошлое и будущее
    4. Шура Ильин — Project Jigsaw. Take 2
    5. Александр Белокрылов, Oracle — Java: эволюция неизбежна
    6. Аня Барски — Java Life Story
    7. Olena Syrota, Oleg Tsal-Tsalko — Standard Java JSON binding. When? — описание существующих библиотек работы с JSON, их особенностей и проблем, ожидание стандартного JSON'a в Java 9



    4. Фреймворки Java


    4.1 Spring


    1. Барух Садогурский, Евгений Борисов — Spring Puzzlers — Начало
    2. Евгений Борисов — Spring Data? Да, та!
    3. Барух Садогурский, Евгений Борисов, Николай Алименков — Зачем у Spring столько конфигураций?
    4. Евгений Борисов — Spring the Ripper
    5. Евгений Борисов — Spring-потрошитель, часть 2
    6. Евгений Борисов — Spring-потрошитель, часть 1
    7. Евгений Борисов — Spring 4.0: новое поколение
    8. Владимир Сонькин — Использование Spring 4 и AngularJS для разработки веб-приложений на базе архитектуры REST
    9. Меркурьев Евгений — Весна идет, весне — дорогу! Новое в Spring Framework
    10. Artem Bilan — Spring and Messaging: The next development generation
    11. Vladimir Tsukur — From CRUD to Hypermedia APIs with Spring
    12. Igor Khotin — App infrastructure for microservices with Spring Cloud 1.0.0 — микросервисы, cloud, Spring и DevOps,
    13. Sergey Morenets — Spring Boot. Boot up your development — описание фреймворка Spring Boot, почему данный фреймворк позволяет создавать приложения намного быстрее,


    4.2 Вебфреймворки (JavaFX, Javascript, AngularJS и т.п.)


    1. Сергей Гринёв — JavaFX: FXML и SceneBuilder
    2. Артём Ананьев — Неформально о JavaFX
    3. Дмитрий Кузовец — FXML и SceneBuilder: отделяем пользовательский интерфейс от логики в JavaFX
    4. Павел Нестеренко — Java + JavaScript: переходи на мобильную сторону
    5. Евгений Родин — Асинхронная обработка данных в web-приложениях на Java
    6. Евгений Родин — Разработка веб-сайтов средствами Java (на примере простого сайта) — примеры разработки вебсайта с использованием mysql, tomcat и т.п. технологий
    7. Соколов Дмитрий — Как выбрать библиотеки для современного Web-приложение на Java
    8. Владимир Сонькин — Использование AJAX в разработке web-приложений на Java
    9. Александор Дворецкий — Как подготовиться к созданию нагруженных сайтов
    10. Владимир Сонькин — Использование Spring 4 и AngularJS для разработки веб-приложений на базе архитектуры REST
    11. Victor Polischuk — Web-application I have always dreamt of
    12. Nikita Lipsky — Delivering Native User Experience in Client-Side Java Applications — нативные клиенты для работы с вебом вместо браузерного веба (от мобильных до десктопных приложений),
    13. Olga Semeniuk — Less JS! Web components for back-end developers — введение в веб компоненты для бакенд разработчиков


    4.3 Прочие фреймворки и популярные библиотеки


    1. Цытович Павел — Основы разработки приложения на платформе Android
    2. Андрей Шевченко — Генерация больших отчетов с использованием Jasper Reports
    3. Владимир Красильщик — Java-mapping для прагматичных программистов — использования библиотек и фреймворктов для mapping'а (dozer, spring type converter api, nomin, scala dsl, transmorf и т.д.)
    4. Andrii Golovei — Highly available and scalable application for dummies with Storm — Storm фреймворк для машинного обучения, высокопроизводительных вычислений


    5. Базы данных, поисковые системы и BigData


    5.1 NoSql и кеши


    1. Олег Анастасьев — За гранью NoSQL: NewSQL на Cassandra
    2. Алексей Зиновьев — Мама, я так хочу Hibernate для NoSQL, ну или что там у вас есть на примете
    3. Яков Жданов — In-memory accelerator for MongoDB
    4. Олег Анастасьев — Класс! ная Cassandra
    5. Роман Антипин — Франкенштейнизация Voldemort, или Key-Value данные в «Одноклассниках»
    6. Яков Жданов — От дисковой архитектуры к In-Memory
    7. Алексей Рагозин — Блеск и нищета распределенных кешей
    8. Alexey Tokar — MongoDB в продакшене — миф или реальность?
    9. Artem Orobets — How do you store your data?
    10. Roman Nikitchenko — Big Data: from mammoth to elephant – transforming legacy with Hadoop — как преобразовать легаси проекты в новые Big Data приложений с современным стеком технологий,


    5.2 Sql базы данных и JPA


    1. Николай Алименков — Босиком по граблям Hibernate
    2. Яков Сироткин, Sidenis — Миграция с PL/SQL на Java


    5.3 Поисковые системы


    1. Михаил Хлуднев — В поисках Tommy Hilfiger — о Apache Lucene, свободной библиотеки для высокоскоростного полнотекстового поиска, о разных системах поиска,
    2. Alexey Tokar — To find a needle in a haystack — о нечетком поиске в словарях от разработчика Яндекса


    5.4 BigData, Data Scientist, Машинное обучение


    1. Алексей Зиновьев — Java в качестве основного рабочего инструмента Data Scientist
    2. Roman Nikitchenko — Apache HBase: crazy dances on the elephant back
    3. Serhiy Masyutin — Big Data Analysis — внимание на украинском языке
    4. Boris Trofimov — Scalding Big Data: Thorns and Roses,
    5. Taras Matyashovskyy — Introduction to Real-Time Big Data with Apache Spark — внимание на украинском языке
    6. Serhiy Masyutin — Big Data analysis approaches in Java world — что такое Big Data, технология Map-Reduce и примеры проектов
    7. Kyrylo Holodnov — Scaling a solution of an NP-hard problem with Apache ZooKeeper — о Apache ZooKeeper, как с работать и решать различные задачи,
    8. Andrii Golovei — Elastic stack in BigData — использование полнотексового поиска в BigData используя решения компании Elastic (Elastic Search)


    6. Особенности языка Java


    6.1 Cериализации


    1. Роман Елизаров — Факты и заблуждения о Java-сериализации
    2. Olena Syrota, Oleg Tsal-Tsalko — Standard Java JSON binding. When? — описание существующих библиотек работы с JSON, их особенностей и проблем, ожидание стандартного JSON'a в Java 9



    6.2 Работа с байткодом, java agent'ы, class loader и компиляции на лету


    1. Антон Архипов, ZeroTurnaround — Javassist на службе у Java-разработчика
    2. Никита Липский — Ahead-of-time компиляция
    3. Антон Архипов — Java-агенты, Instrumentation API и Javassist
    4. Антон Архипов — Загрузчики классов в Java: коллекция граблей
    5. Владимир Иванов — Динамическая (JIT) компиляция в JVM
    6. Дмитрий Завалишин — Конвертер байткода JVM для виртуальной машины Фантом


    6.3 Aсинхронность и многопоточность


    1. Барух Садогурский — Как написать асинхронные многопоточные HTTP приложения
    2. Алексей Шипилёв — ForkJoinPool в Java 8
    3. Николай Алименков — Прикладная многопоточность
    4. Дмитрий Чуйко, Oracle — CompletableFuture уже здесь
    5. Глеб Смирнов — Расчленяя многопоточность
    6. Алексей Шипилёв — Прагматика Java Memory Model
    7. Глеб Смирнов — Многопоточность Java под капотом
    8. Роман Елизаров — Теоретический минимум для понимания Java Memory Model
    9. Дмитрий Чуйко — Новинки в java.util.concurrent
    10. Алексей Шипилёв — Bulletproof Java Concurrency
    11. Сергей Куксенко — Модель памяти
    12. Руслан Черёмин — Модель памяти Java: близкие контакты третьей степени
    13. Alexey Fyodorov — Atomics, CAS, and Nonblocking Algorithms — вопросы многозадачности, атомики, неблокирующие алгоритмы, CAS и т.п.
    14. Mikalai Alimenkou — Java Concurrency Applied — примеры практических решений про многозадачность


    6.4 Интеграция


    1. Николай Алименков — Нужен ли нам JMS в мире современных Java-технологий?
    2. Яков Файн, Farata Systems — RESTful-сервисы и протокол OAuth в IoT
    3. Александр Белоцерковский — Windows Azure + Java = Open Integration
    4. Вадим Цесько — Фреймворк Akka и его использование в Яндексе
    5. Vladimir Tsukur — Вместе веcело шагать с HATEOAS! — разработка Web Api,
    6. Максим Юнусов — «Масштабируемое приложение за 15 минут (используем AKKA под Java)
    7. Вячеслав Лапин — Слабая связанность Java-сервера и web-интерфейса посредством REST API


    6.5 Безопасность, Java Security Model и т.д.


    1. Михаил Дударев — Побег из песочницы. Уязвимости нулевого дня в Java
    2. Михаил Дударев — USS «Enterprise» — сквозь черные дыры безопасности Java Web-контейнеров
    3. Михаил Дударев — Опасные типы, или Java Security Model на практике


    6.6 Виртуальная машина Java и особенности реализации JVM


    1. Андрей Паньгин — Java Runtime: повседневные обязанности виртуальной машины Java
    2. Олег Плисс — Виртуальные машины. Часть 1
    3. Олег Плисс — Виртуальные машины. Часть 2
    4. Олег Плисс — Виртуальные машины. Часть 3
    5. Олег Плисс — Виртуальные машины. Часть 4
    6. Артём Ананьев — Проект OpenJDK
    7. Андрей Бреслав — Компромиссы в разработке языков программирования
    8. Андрей Бреслав — Компромиссы, или Как проектируются языки программирования
    9. Никита Липский и Павел Павлов — Excelsior JET: внутренняя архитектура — описание быстрой JVM реализации Excelsior JET с компиляцией в машинный код,
    10. Никита Липский и Павел Павлов — Excelsior JET: обзор возможностей — описание быстрой JVM реализации Excelsior JET с компиляцией в машинный код,
    11. Nikita Lipsky — AOT компиляция — статическая компиляция JVM в Excelsior JET, её преимущества и возможности по сравнению с обычной компиляцией,
    12. Nikita Lipsky — Java худеет. Уменьшение размера дистрибутива Java приложения без зависимостей — использование статического компилятора Excelsior JET для уменьшения размеров дистрибутивов Java приложений,
    13. Никита Липский и Миша Быков — Занимательные истории из жизни техподдержки JVM — о техподержке JVM Excelsior JET, о Excelsior JET и об особенностях реализации JVM, различия между JVM и проблемы при переходе между разными JVM,
    14. Алексей Шипилёв — OpenJDK Frameworks: jmh & jcstress
    15. Шура Ильин — OpenJDK Test Base
    16. Шура Ильин — JTReg: OpenJDK test harness
    17. Шура Ильин — OpenJDK TestFest Intro
    18. Alexey Fyodorov — JDK: CPU, PSU, LU, FR – WTF??? — рассказывается о четырех типах обновлений JDK в компании Oracle (Critical Patch Update (CPU), Patch Set Update (PSU), Limited Update (LU) and Feature Release (FR)). Чем отличаются типы обновления, какие изменения возможны в каждом типе обновлений.


    6.7 Аспектно-ориентированное программирование


    1. Николай Гарбузов, Донривер — Аспектно-ориентированное решение классических проблем
    2. Игорь Сухоруков. AspectJ Scripting


    6.8 Рефлексия и Invokedynamic


    1. Владимир Иванов — Invokedynamic: роскошь или необходимость?
    2. Владимир Иванов — Глубокое погружение в invokedynamic


    6.9 Работа с нативными библиотеками и кодом (JNI/JNA)


    1. Петр Кудрявцев — Эффективная разработка Java приложений с использованием JNI/JNA технологий


    6.10 Особенности языка Java


    1. Владимир Ситников, NetCracker — Выражаемся регулярно — описание регулярных выражений, их использования и проблем,
    2. Алексей Рагозин — Структуры данных в Java, изобретаем заново — описание реализации коллекций в Java и возможные методы их улучшения,
    3. Светлана Исакова — Простыми словами про вывод типов


    7. Качество кода и вопросы архитектуры


    7.1 Рефакторинги, качество кода, методики программирования


    1. Яков Сироткин, Никита Липский, Олег Анастасьев, Филипп Дельгядо — Рефакторинги и технический долг
    2. Антон Кекс — Как нам спасти Java? — Часть 1 — о проблемах Java, о том как можно сделать Java лучше, какие привычные подходы программирования в Java на самом деле больше вредны, чем полезны,
    3. Антон Кекс — Как нам спасти Java? — Часть 2 — о проблемах Java, о том как можно сделать Java лучше, какие привычные подходы программирования в Java на самом деле больше вредны, чем полезны,
    4. Николай Чашников — Писать код быстрее, ошибаться реже
    5. Николай Чашников — Разработка API в Java-проекте
    6. Николай Алименков — Парадигмы ООП
    7. Михаил Ершов — Разработка совместимого API
    8. Nikolay Chashnikov — Write code faster with fewer errors: is it possible? — как избегать ошибок при написании кода,


    7.2 Архитектура, бизнес правила, бизнес модель и примеры приложений


    1. Антон Кекс — Архитектура интернет-банка без Enterprise
    2. Константин Кривопустов — Выбор технологий для корпоративного приложения
    3. Александр Тоболь — Платформа для видео сроком в квартал
    4. Антон Кекс — Как я создал desktop-приложение на Java, скачанное 9 миллионов раз
    5. Виктор Полищук — JBoss Drools Expert против грязи — описание системы управления бизнес правилами JBoss Drools
    6. Дмитрий Завалишин и Александр Шлянников — Java-технологии в Digital Zone — примеры реализаций приложений в Digital Zone (использование груви скриптов для гибкой настройки бизнес модели системы приложения такси)
    7. Яков Сироткин — Почему геномный ассемблер нельзя написать за выходные? — история разработки геномного ассемблера
    8. Яков Сироткин — История релизов — продолжение истории разработки геномного ассемблера
    9. Евгений Борисов — eXtreme Application Platform (XAP)
    10. Барух Садогурский — Bintray: Масштабируемый сервис в облаке с нуля
    11. Anatoliy Sokolenko — Key Problems of Microservice Architecture — что такое сервисы и микросервисы, как их реализовать на практике, чем это лучше стандартной архитектуры и какие проблемы возникают при такой архитектуре,
    12. Izzet Mustafaiev — Fault tolerance – look, it’s possible!
    13. Oleg Tsal-Tsalko — Distributed systems and scalability rules
    14. Baruch Sadogursky — Everything you wanted to know about async HTTP apps in Java — о написании асинхронного менеджера загрузок с параллельной загрузок файлов, одного файла, прерывания и паузы для программы репозиторий
    15. Maxim Ivanov — Hey, I’ve seen something like it before! — подходы к принятию архитектурных решений. Хайп (использования модных базвордов — микросервисов, nosql и т.п. ради базвордов) и его последствия для архитекторов.


    7.3 Тестирование приложений


    1. Глеб Смирнов — Мутационное тестирование, или О чём молчит Code Coverage — описание почему 100% Code Coverage у Unit тестов не гарантирует правильную работу кода, что такое мутационное тестирование и как оно помогает улучшить Unit тесты, описание мутационной системы pitest (http://pitest.org/)
    2. Алексей Рагозин — Как и зачем эмулировать распределённый кластер в JVM — описание библиотеки, которая позволяет для задач Unit тестирования эмулировать распределённый кластер на одной ноде
    3. Алексей Рагозин — Сеть — это большая JVM — часть 2 лекции » Как и зачем эмулировать распределённый кластер в JVM "
    4. Mikalai Alimenkou — «TDD for database related code, how is it possible?» — описание TDD методологии
    5. Katya Kameneva — How I lost my QA job — о внедрении TDD технологий
    6. Dmytro Chyzhykov — Testing Web Apps with Spring Framework — тестирование Spring MVC приложений
    7. Андрей Солнцев — Пацан накодил — пацан протестил!


    8. Прочее


    1. Алексей Вишенцев и Илья Агошков — Advanced Deployment
    2. Дмитрий Черепанов — Self-contained Application
    3. Сергей Куксенко — Quantum Performance Effects
    4. Кузьма Деретюк — UrsaJ HTTP File Storage
    5. Дмитрий Чуйко — Java Mission Control
    6. Igor Khotin — The Craft of Metaprogramming on JVM — о метапрограммировании в Java


    Update: Внимание, актуальная версия со всеми ссылками на видео находиться теперь в моем github'e проекте useful-java-links, по этой ссылке.

    Luxoft
    96,38
    think. create. accelerate.
    Поддержать автора
    Поделиться публикацией

    Комментарии 27

      +9
      Когда учишь программирование по видеоурокам

      image
        +8
        Это не уроки, это выступления по теме. Разница как между учебником по физике и конференцией по вопросам свойств планетных систем других звёзд.
        –4
        большое спасибо, положил в копилку полезностей для своих джунов
          +8
          Можно подумать для вас тут вообще ничего полезного нет.
          –2
          Угу… Не подсчитаете общую продолжительность видео? Наверное, хватит убить время на весь год. No, thanks.

          Лучше бы буковками писали. Это, конечно, требует от авторов больших усилий, но намного полезней для обучающихся.
            +6
            250 видео. Если смотреть по одному в день, то почти на треть меньше года. Ну и, например про юнит-тестирование буковками получилось бы гораздо хуже.
              +3
              Не подсчитаете общую продолжительность видео

              Что-то около 200 часов, то есть на пару недель non-stop просмотра, но… никто же не предлагает смотреть все и сразу (все равно, все технологии Java в совершенстве не знает, наверное, практически никто), плюс большинство видео докладов можно не смотреть, а слушать фоном, занимаясь рутиными делами или во время поездки на работу.
              +6
              Спасибо огромное! Ролики крайне интересные!

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

              youtube-dl --encoding UTF-8 -a java_urls.txt
              

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

                К сожалению, да, видео на ютубе имеют свойство иногда исчезать.
                +4
                Не будет видео про scala, так как scala это целый отдельный мир

                В таком случае, почему Groovy, Kotlin и Clojure отказано в отдельном мире? Они, в принципе, точно так же имеют свои компиляторы, и генерируемый ими код точно так же бежит под JVM.

                Дискриминация, однако.
                  +2
                  Не скажу про Kotlin и Clojure, но вот Groovy сильно совместим с джавой. Наверное как С с С++. Scala она не такая.
                    0
                    А в чем scala не такая? bytecode то один.
                      0
                      Синтаксисом. Код на джаве зачастую также является кодом на груви. Как Си код часто является одновременно кодом на С++. А scala, насколько я знаю, всё не так.
                      0
                      у Котлина очень высокая степень интероперабельности с Java, что и облегчает переход на него
                      +2
                      Скажем так, видео по scala (в отличии от Groovy, Kotlin и Clojure) было слишком много чтобы я смог осилить квалификацию ещё и этого видио. Так что никакой дискриминации, простая практичность.
                      0
                      Ну что же, теперь отсмотрю их и стану супер-специалистом. Осталось найти вторую жизнь на просмотр… Спасибо!
                        –1
                        Краткое содержание поста:
                        1. есть три клевых Youtube-канала у JUG.ru, JEEconf и Java Day Kiev.
                        2. Ах да, и у Luxoft Training Center тоже, тоже есть свой канал!!!

                        Классификация, проделанная автором, просто смешна.
                        Отбор видео отвретительный.

                        Спасибо, конечно, что вы включили в этот пост 90% наших видео, включая откровенный шлак (да-да, шлак у нас иногда случался). Я вот только не понимаю, зачем вы включили сюда откровенно говено записанные видео типа вот этого вместо нормально записанного видео этого же доклада на JUG.ru. Ну и зачем вы включили сюда 20 откровенных дублей и повторов.

                        Короче, дешевая работа.
                          +1
                          Дайте пожалуйста ссылку на нормально записанное видео на JUG.ru. И скажите пожалуйста, когда вы говорите мы, какую организацию вы представляете?
                          +1
                          Классификация, проделанная автором, просто смешна.

                          Сделайте другую не смешную хотя бы для своего канала. Скажем в Jeeconf ко всем видео файлам в канале youtub'а есть нормальное описание (пусть и на английском), у JUG только название вроде «Сжимай меня полностью». Вот как догадаться о чем эта лекция? Пересматривать все сотни часов подряд пытаясь найти нужную? Пусть классификация смешная, но она есть и на неё можно ориентироваться, а не просто «смотрите все видео канала подряд в надежде найти полезное „

                          вы включили в этот пост 90% наших видео, включая откровенный шлак (да-да, шлак у нас иногда случался).

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

                          зачем вы включили сюда откровенно говено записанные видео типа вот этого вместо нормально записанного видео этого же доклада на JUG.ru.

                          Не вместо, а вместе. Так как если поищите “Андрей Паньгин», то найдете то видео ссылку на которое вы дали ниже. Если откроете и то и другое видео то там даже начало совершенно разное, не говоря уже про вопросы к докладчику.

                          Ну и зачем вы включили сюда 20 откровенных дублей и повторов.

                          Затем, что как бы вам не хотелось, JUG не единственная конференция в русскоязычном инете, если доклад называется по другому, был прочитан на другой конференции и докладчику задавали другие вопросы — это совсем другой доклад. Откровенные дубли с одинаковыми докладчиками и названиями, я старался убирать, но не похожие доклады на разных конференциях. Я так понимаю, основная претензия зачем я вообще включал в обзор какое-то видео кроме JUG'a и рассказывал что бывают и другие конференции?

                          Короче, дешевая работа.

                          Не буду спорить про фламастеры, сделайте статью с описанием и классификацией видео с вашего канала лучше и подробнее. Я первый вам скажу спасибо. Ну… или хотя бы добавьте нормальные описания в вашем youtube канале, по которым можно было найти нужное видео.
                            +1
                            Да, кстати:

                            Классификация, проделанная автором, просто смешна.

                            Если у вас есть конструктивные замечания, как сделать её лучше — пишите, я исправлю.

                            включая откровенный шлак

                            Опять-таки, ну кто мешает написать мне в личку и попросить удалить видео c канала JUG'a, которые вы сами считаете шлаком?

                            есть три клевых Youtube-канала у JUG.ru, JEEconf и Java Day

                            Знаете больше хороших русскоязычных каналов — напишите, я не нашел, хотя искал.
                              0
                              Вы просто перечислили все (ну или почти все) видео с канала JUG.ru, добавив по десятку видео с других трех каналов. Если вы считаете, что это какая-то полезная работа — не вопрос, флаг вам в руки.
                                +1
                                Хорошо, если настаиваете, я постараюсь максимально заменить видео с канала JUG на аналогичные доклады те же авторов с других конференций. Ваше реакция мне не очень понятна, но дело ваше.
                                А степень полезности работы я предпочитаю оценивать по количеству пользователей добавивших статью в избранное.
                                  +1
                                  поймите правильно, мне только на пользу, что 180 из 250 опубликованных вами видео — с нашего канала. Если хотите их заменить на аналогичные — удачи. Останется не 180, а 150, причем в большинстве случаев хуже по качеству. Несколько десятков похожих вы наверняка найдете на канале JEEconf. Так что наших все равно будет больше половины :)

                                  Странное чувство вызвало то, что вы, выложив своими ссылками весь или почти весь наш ютьюб-канал, не потрудились даже посоветоваться как-то с нами.
                                    +2
                                    Ок, я вас понял, подумаю как исправить эту статью. Давайте свяжемся уже в личке и обсудим ваши предложения и замечания. Я всегда готов к любой конструктивной критики и предложениям?
                            0
                            Вот ещё по Котлину, там большей частью про сам язык, несмотря на название доклада.
                              0
                              Добавил новую часть шпаргалок — шпаргалка по Java SE 8

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

                              Самое читаемое