Доступно

[Otus] Разработчик Java. 2017 (Виталий Чибриков)

Тема в разделе "Курсы по программированию", создана пользователем enot, 12 июн 2020.

Тема найдена по тегам:
Цена:
60000р.
Взнос:
327р.

Список участников складчины:

1. enot
Тип: Стандартная складчина
Оцените эту складчину: /5,
  1. 12 июн 2020
    #1
    enot
    enot Организатор
    [Otus] Разработчик Java. 2017 (Виталий Чибриков)
    [​IMG]

    Что даст вам этот курс

    Освоение разработки серверных приложений на Java.
    Понимание библиотеки Java, особенностей языка и платформы Java.
    Знание основных подходов программиста к проектированию приложений, работе с базами, файлами, веб-фронтендом.
    Владение низкоуровневыми и высокоуровневыми подходами к созданию многопоточных и многопроцессных приложений.

    Программа курса
    1.1 Подготовка к курсу
    Введение. Обзор и задачи курса. Настройка окружения: система контроля версий git, система контроля зависимостей maven, среда разработки Intellij IDEA. Сборка и запуск java приложений.
    ДЗ 01. Сборка и запуск проекта Создать проект под управлением maven в Intellij IDEA. Добавить зависимость на Google Guava/Apache Commons/библиотеку на ваш выбор. Использовать библиотечные классы для обработки входных данных. Задать имя проекта (project_name) в pom.xml Собрать project_name.jar содержащий все зависимости. Проверить, что приложение можно запустить из командной строки. Выложить проект на github. Создать ветку "obfuscation" изменить в ней pom.xml, так чтобы сборка содержала стадию обфускации байткода.

    1.2 Байт код
    Байт код. Содержание .class. Декомпиляция. Обфускация. История изменений языка Java от версии к версии. Разбор ДЗ.

    2.1 Углубленные основы
    Углубленные основы. Загрузка классов. Виды и задачи class loader-ов. Класс Class. Примитивные типы, строки, массивы. Память, которую занимают объекты.
    ДЗ 02. Измерение памяти Напишите стенд для определения размера объекта. Передавайте для измерения в стенд фабрику объектов. Определите размер пустой строки и пустых контейнеров. Определите рост размера контейнера от количества элементов в нем. Если вы знакомы с инструментированием, сравните результаты измерениий.

    2.2 Remote debug Hot swap.
    Remote debug. Сборщик мусора. Instrumentation. Разбор примеров и ДЗ.

    3.1 Контейнеры и алгоритмы Generics. Контейнеры и алгоритмы. Обзор устройства и работы контейнеров из java.util. Сравнение контейнеров. Карты на основе хэш функции и на основе дерева. Разбор алгоритмов из java.util.Collections.
    ДЗ 03. MyArrayList Написать свою реализацию ArrayList на основе массива. class MyArrayList implements List{...} Проверить, что на ней работают методы addAll(Collection c, T... elements) static void copy(List dest, List src) static void sort(List list, Comparator c) из java.util.Collections

    3.2 Инструменты для преобразования контейнеров Инструменты для преобразования контейнеров. Apache Commons. Google Guava. Разбор примеров и ДЗ.

    4.1 Сборщик мусора Параметры запуска VM.
    Сборщик мусора. Виды сборок. Разделение памяти под разные поколения объектов. Виды сборщиков. JMX. Управление приложением из jconsole. OutOfMemory. dump памяти. Исседование thread dump и heap dump.
    ДЗ 04. Измерение активности GC Написать приложение, которое следит за сборками мусора и пишет в лог количество сборок каждого типа (young, old) и время которое ушло на сборки в минуту. Добиться OutOfMemory в этом приложении через медленное подтекание по памяти (например добавлять элементы в List и удалять только половину). Настроить приложение (можно добавлять Thread.sleep(...)) так чтобы оно падало с OOM примерно через 5 минут после начала работы. Собрать статистику (количество сборок, время на сборрки) по разным типам GC. Сделать выводы.

    4.2 QA и тестирование QA, тестирование. Виды тестов. "Заглушки". Testing frameworks: junit, mockito. Разбор примеров и ДЗ.

    5.1 Аннотации Аннотации. Стандартные аннотации. Применение аннотаций. Типы аннотаций. Синтаксис. Создание своих аннтатаций. Reflection. 31 января, 20:00 — 21:30
    ДЗ 05. Тестовый фреймворк на аннотациях Написать свой тестовый фреймворк. Поддержать свои аннотации Test, @Before, @after. Запускать вызовом статического метода с именем класса с тестами.

    5.2 Java 8 Элементы функционального программирования.
    Streams. Lambdas. Примеры.

    6.1 Типы ссылок.
    Кэширование Типы ссылок в Java. Системы кэширования. Ehcache.
    7 февраля, 20:00 — 21:30
    ДЗ-06: my cache engine Напишите свой cache engine с soft references.

    6.2 Логгирование java.util.logging, log4j, slf4j. Разбор примеров и ДЗ.
    ...

    Содержание складчины (файлы и папки)
    01 Подготовка к курсу
    01 Подготовка к курсу.mp4 [2g 30m 714k 25]
    L1.1.pdf [31k 118]
    L1.1-about.pdf [217k 47]
    L1.1-git.pdf [40k 986]
    L1.1-maven-intro.pdf [84k 659]
    L1.1-regulations.pdf [29k 753]
    L1.1-tools.pdf [49k 380]
    ДЗ.txt [282]

    02 Байт код
    02 Байт код.mp4 [587m 153k 222]
    L1.2-bytecode.pdf [39k 678]
    L1.2-java-versions.pdf [46k 445]

    03 Углубленные основы
    03 Углубленные основы.mp4 [994m 646k 427]
    L2.1.pdf [28k 245]
    L2.1-arrays-strings.pdf [42k 809]
    L2.1-class-loaders.pdf [32k 848]
    L2.1-memory-for-objects.pdf [140k 578]
    L2.1-primitives.pdf [88k 964]
    ДЗ.txt [205]

    04 Remote debug
    04 Remote debug.mp4 [1g 357m 450k 304]

    05 Контейнеры и алгоритмы
    05 Контейнеры и алгоритмы.mp4 [1g 911m 429k 536]
    L3.1.pdf [26k 127]
    L3.1-Collections.pdf [97k 840]
    L3.1-Generics.pdf [72k 772]
    L3.1-Maps.pdf [90k 398]

    06 Инструменты для преобразования контейнеров
    06 Инструменты для преобразования контейнеров.mp4 [523m 176k 255]
    1.pdf [25k 438]
    2.pdf [64k 366]
    3.pdf [28k 952]
    4.pdf [29k 566]

    07 Сборщик мусора
    07 Сборщик мусора.mp4 [170m 236k 804]
    1.pdf [27k 529]
    2.pdf [146k 127]
    3.pdf [29k 883]
    4.pdf [41k 38]
    ДЗ.txt [258]

    08 QA и тестирование
    08 QA и тестирование.mp4 [299m 297k 880]
    1.pdf [74k 948]

    09 Аннотации
    09 Аннотации.mp4 [231m 307k 69]
    1.pdf [26k 623]
    2.pdf [87k 974]
    3.pdf [33k 294]
    ДЗ.txt [263]

    10 Java 8
    10 Java 8.mp4 [295m 342k 738]
    Nurse Di framework live development.mp4 [131m 524k 617]

    11 Основы дизайна
    1.pdf [27k 137]
    11 Основы дизайна.mp4 [153m 675k 245]
    2.pdf [61k 779]
    3.pdf [75k 214]
    4.pdf [92k 240]
    ДЗ.txt [279]

    12 Behavioral patterns
    12 Behavioral patterns.mp4 [221m 83k 768]
    Репозиторий.txt [31]

    13 Structural patterns
    1.pdf [25k 964]
    13 Structural patterns.mp4 [180m 78k 402]
    2.pdf [158k 418]
    3.pdf [97k 829]
    4.pdf [131k 774]
    ДЗ.txt [298]
    Репозиторий.txt [80]

    14 Creational patterns
    14 Creational patterns.mp4 [213m 923k 334]

    15 Сериализация
    1.pdf [27k 235]
    15 Сериализация.mp4 [391m 141k 515]
    2.pdf [123k 646]
    3.pdf [96k 139]
    4.pdf [99k 852]
    5.pdf [27k 864]
    ДЗ.txt [243]
    Репозиторий.txt [74]

    16 XML
    16 XML.mp4 [272m 747k 608]

    17 JDBC
    1.pdf [31k 529]
    17 JDBC.mp4 [196m 168k 309]
    2.pdf [173k 297]
    3.pdf [114k 504]
    4.pdf [136k 978]
    ДЗ.txt [493]
    Репозиторий.txt [76]

    18 myBatis
    18 myBatis.mp4 [250m 193k 158]
    2-mybatis.pdf [85k 149]

    19 Hibernate
    1.pdf [31k 712]
    1-01-orm.pdf [45k 496]
    1-02-hibernate.pdf [100k 414]
    1-03-jpa-annotations.pdf [56k 449]
    1-04-dbservice.pdf [76k 479]
    19 Hibernate.mp4 [222m 353k 700]
    ДЗ.txt [515]
    Репозиторий.txt [53]

    20 JPQL
    20 JPQL.mp4 [276m 439k 126]
    2-jpql.pdf [53k 310]
    2-pools.pdf [62k 304]
    Репозиторий.txt [76]

    21 Системы кэширования
    1.pdf [24k 833]
    1-cache-engine.pdf [87k 343]
    1-ehcache.pdf [79k 306]
    1-references.pdf [38k 454]
    21 Системы кэширования.mp4 [190m 290k 804]
    ДЗ.txt [138]

    22 No SQL
    2.pdf [18k 444]
    22 No SQL.mp4 [181m 180k 603]
    2-hibercache.pdf [94k 419]
    2-mongo.pdf [82k 360]
    2-nosql.pdf [49k 418]

    23 Web сервер
    1.pdf [25k 766]
    1-01-web.pdf [87k 301]
    1-02-jetty.pdf [53k 765]
    1-03-servlet.pdf [47k 212]
    1-04-template-engine.pdf [32k 425]
    23 Web сервер.mp4 [183m 126k 169]
    ДЗ.txt [179]

    24 Asynchronous Web applications
    24 Asynchronous Web applications.mp4 [611m 454k 733]
    2-ajax.pdf [89k 415]
    2-long-polling.pdf [63k 865]
    Репозиторий.txt [75]

    25 Dependency injection
    1.01-resource.pdf [32k 228]
    1.02-jetty-external.pdf [63k 669]
    1.03-war.pdf [57k 40]
    1.04-injection.pdf [31k 941]
    1.05-spring-ioc.pdf [80k 410]
    1.pdf [36k 191]
    25 Dependency injection.mp4 [194m 467k 614]
    ДЗ.txt [180]

    26 Логгирование
    26 Логгирование.mp4 [561m 617k 677]
    2-logging.pdf [393k 603]

    27 Thread
    1.01-threads.pdf [97k 763]
    1.02-definitions.pdf [55k 756]
    1.03-jmm.pdf [130k 116]
    1.pdf [24k 755]
    27 Thread.mp4 [146m 260k 738]
    ДЗ.txt [137]

    28 JMM
    14.2-JMM.pdf [593k 801]
    28 JMM.mp4 [281m 264k 145]

    29 Message System
    1.pdf [25k 732]
    1-01-cooperation.pdf [29k 126]
    1-02-concurrent-collections.pdf [58k 57]
    1-03-message-system.pdf [154k 809]
    29 Message System.mp4 [166m 830k 487]
    ДЗ.txt [201]

    30 Executors
    2-juc.pdf [429k 616]
    30 Executors.mp4 [283m 663k 22]

    31 Многопроцессные приложения
    1.pdf [28k 96]
    1-01-process-builder.pdf [52k 291]
    1-02-sockets.pdf [63k 131]
    1-03-project.pdf [32k 190]
    31 Многопроцессные приложения.mp4 [163m 577k 717]
    ДЗ.txt [506]

    32 NIO
    2.pdf [18k 227]
    2-01-registration.pdf [96k 192]
    2-02-nio.pdf [290k 257]
    32 NIO.mp4 [167m 49k 183]

    Объем: 13,3Гб.

     
    12 июн 2020