Pull to refresh

Comments 45

Где записываться? Срочно ссылку на форму регистрации!

P.S. Я думаю мое мнение понятно без дополнительных комментариев. Вцелом и программа и литература подобраны отлично.
Где записываться? Срочно ссылку на форму регистрации!

Пишите в скайп. Как таковой «регистрации» нет.
Мы ответим на все Ваши вопросы, вы решите — платить или нет.
У нас все административные вопросы решаются в общей скайп-группе.
Я бы предложил изменить последовательность подачи материала:

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

— соответственно, низкоуровневые и аппаратные механизмы перенести в конец, когда ученики станут способны чувствовать параллелизм и его проблемы

— не повторять в учебном плане историю развития, оставляя “неклассические архитектуры” на потом, а выработать наиболее усвояемую классификацию задач и решений и ей следовать. Научить сначала классифицировать задачу, а только потом подбирать для нее готовое решение из запаса. А то весь ваш план — список решений, причем разные решения для одной и той же задачи изучаются в разных местах, что затрудняет возможность выбора (например synchronized/wait/notify vs Lock/Condition), в то время как о проблематике как таковой ничего не говорится.

— добавить изучение CompletableFuture из java8
Я бы предложил изменить последовательность подачи материала:
— начать с высокоуровневых понятий, а именно передачи сообщений синхронным (блокирующие очереди) и асинхронным (акторы) способом, чтобы ученики сразу имели возможность писать работоспособные программы
— соответственно, низкоуровневые и аппаратные механизмы перенести в конец, когда ученики станут способны чувствовать параллелизм и его проблемы


Полностью с Вами согласен. Этот список с разбиением на модули — это не точный хронологический порядок. Это скорее классификация материала с примерной разбивкой по часам.

Сейчас составляю вторую программу — по задачам. И сам курс будет «нанизываться» на задачи.
В ближайшее время опубликую. На вскидку, я пожалуй начну с простейшего в 50-100 строчек HTTP-сервера на блокирующих сокетах — сразу используется пул потоков для обработки каждого соединения + шаблон производитель-потребители через блокирующую очередь (поток на ServerSocket.accept() передает принятые Socket-ы «потребителям»). Потом добавить shared state, скажем простейший механизм сессий на ConcurrentHashMap.
Получилось легкое введение в j.u.c.
Потом вместо блокирующей очереди из j.u.c пишем свою на synchronized/wait/notifyAll, другую на ReentrantLock/Condition, третью на семафорах.

Если Вам интересно, я бы с удовольствием обсудил программу по задачам и по хронологии.

Собственно было бы вообще интересно составить подборку из 10-20 «классических» задач по многопоточности. «Классических» — в смысле популярности «в жизни».
— добавить изучение CompletableFuture из java8

Да, это пропустил.
Надо выделить время и в целом помедитировать над тем, что Future — это монада, и что мы можем из этого выжать. Посмотреть что там в Akka, кажется в Netty реализовывали свое Future.
Какова цена вопроса? И если она отсутствует, то выложите ли записи вебинаров в свободный доступ?
Тогда я боюсь желающих будет чуть больше чем 0.
Ну с хабра может и 0, а вообще цена как цена. У Специалиста вот например курсы по основам РНР по 12-20к (часов меньше, чем тут как я понимаю) www.specialist.ru/dictionary/definition/php и ничего, ходят люди. По Java тоже аналогично www.specialist.ru/dictionary/definition/java
Приятно посмотреть на сайт. Глаза прям радуются, сразу видно — специалисты.
достаточно 475$ — вы получаете все (выше писал что) включая задания, но я их не проверяю.
975$ — это с code review и общению по заданиям, персональному обсуждению литературы.
Какова цена вопроса?

1. Участие в вебинарах, доступ к записанному видео, доступ к коду с лекций, доступ к электронной литературе – 475$.
2. Пункт 1 + проверка лектором заданий для самостоятельной работы (16 больших заданий) – 975$.
.
Если Вас несколько человек — можем обговорить значительную скидку.
выложите ли записи вебинаров в свободный доступ?

Скорее всего — нет.
Иначе эта деятельность теряет смысл как источник заработка:(
Люто плюсую!

Задумка классная, но есть сомнения насчёт того, получится ли. Во-первых, тема непростая, а во-вторых, не уверен, что джуниоры потянут.

P.S.: я тут полез в ваши лекции, услышал слово «J2EE» и понял, что могут быть проблемы с актуальностью ваших материалов. Следите за актуальностью внимательнее :)
UFO just landed and posted this here
P.S.: я тут полез в ваши лекции, услышал слово «J2EE» и понял, что могут быть проблемы с актуальностью ваших материалов. Следите за актуальностью внимательнее :)

Да, спасибо. Во время лекции иногда тяжело отслеживать терминологические тонкости.
Они сменили название:
  • J2EE 1.2 (December 12, 1999)
  • J2EE 1.3 (September 24, 2001)
  • J2EE 1.4 (November 11, 2003)
  • Java EE 5 (May 11, 2006)
  • Java EE 6 (Dec 10, 2009)
  • Java EE 7 (May 28, 2013,[3] but April 5, 2013 according to spec document. June 12, 2013 was the planned kickoff date[4])

есть сомнения насчёт того, получится ли. Во-первых, тема непростая

Тема действительно непростая. Но при грамотно составленной программе, большом количестве примеров кода и нормальных источниках — должно получиться.
До этого читал короткие курсы по многопоточности — 4-6 лекций. При хороших примерах — слушатели усваивают.
есть сомнения насчёт того, получится ли.… а во-вторых, не уверен, что джуниоры потянут.

Ну тут каждый выбирает для себя.
Но мой опыт показывает, что джуниоры с математическим бэкграундом (мехматы, прикладная математика) — тянут.
Канал на Youtube у вас интересный. Есть материалы где то еще, на торрентах например?
На торрентах — нет.
Большая часть материалов на youtube в публичном доступе. Там около 800 часов, кажется.
В следующем посте опишу, что есть на youtube по Java Core + Junior Java Developer.
Задумка крайне интересная, но, имхо, с монетизацией все плохо. Поясню мысль: поскольку на каждого дополнительного слушателя тратится крайне мало дополнительных ресурсов (ибо вебинар и я не учитываю code-review), то для получения большей прибыли было бы целесообразно снизить цену ниже некоторого психологического порога, предположим $150. Проще говоря, при цене в $100 можно ожидать в 100 раз большую аудиторию чем при цене в $1000.
Ну а для тех кто желает кроме прослушивания курсов, иметь доступ к code-review стоит оставить, озвученную выше цену, т.к. данный вариант предполагает довольно большой объем ручной работы для лектора.
Согласен. При всему уважении к автору курса, который действительно умеет пояснять мысли и доносить до слушателя многие полезные вещи. Меня тем не менее очень отпугивает цена. + ко всему я сторонник небольших порций лекций, после которых можно задавать вопросы и сделать перерыв, чтобы мозг не за туманился. Очень часто себя ловлю на мысли что по середине большой лекции уже теряю нить лектора (
Очень часто себя ловлю на мысли что по середине большой лекции уже теряю нить лектора (

У меня большинство слушателей как раз пересматривают лекции несколько раз и с перерывами на чай.
Плотность материала обусловлена тем, что необходимо за ограниченный срок (40-100 часов) дать огромный объем теории, примеров, подходов. Иначе — ну вы знаете: 11 семестров по 5 экзаменов + 5 зачетов:)
Как известно устав бизнес-модель написана кровью:)
Я пробовал разные схемы монетизации (я полтора года преподаю Java Core + Junior Java Developer).
Сумма 400$-600$ показала себя как самая разумная и выгодная.
на каждого дополнительного слушателя тратится крайне мало дополнительных ресурсов

Это правда. Но учитывайте, что есть начальный порог затрат на ведения сложного курса длительностью N месяцев. Это примерно N * 4.000$.
— надо готовиться заранее. Сейчас месяц до старта, а я уже занимаюсь курсом
— обязательное требование — не работать во время чтения курса. Необходимо время на продумывание примеров, вычитку статей, ответы на вопросы. Да и вообще чтение лекции 2.5 часа тратит много сил.
— реклама. Блог на habrahabr, скажем, стоит 1.500$ за три месяца
— офис. У меня дома ребенок, значит мне вечерами необходимо помещение
— з.п. бухгалтера
— налоги
— и т.д.

Если бы я был уверен, что этот порог будет пройден — я могу снижать цену. Я не могу сказать курс по 100$, приходит 30 человек, я пересчитываю и говорю — нет ребята, курс по 300$.

Скажем можно по другому, курс стоит 12К. Если соберется 120 человек, то всем будет по 100$. Соберется 480 человек — по 25$. Не вопрос.
Проще говоря, при цене в $100 можно ожидать в 100 раз большую аудиторию чем при цене в $1000.

1. Базовая цена — 475$, а не 1000$. В реальности практически ни у кого не хватит времени/мощности И пересмотреть все примеры с лекции И почитать ссылки И ЕЩЕ поделать примеры за 3 дня между лекциями.
2. Мой опыт показывает, что психологических порогов несколько. 100$ — это первый порог, 500$ — второй. 100-долларовый порог уменьшает аудиторию НЕ в 10 раз, а примерно в 2-3 раза.

Есть люди которые согласны платить/инвестировать в образование, а есть те, кто не согласен.
Мой опыт показывает, что хорошее знание многопоточности позволяет повысить зарплату примерно на 100$ (на з.п. в 1000$-1500$ в месяц) и сменить сферу деятельности на более интересную (игровые сервера, сетевые сервера, движки игр, ...). Итого инвестиция в 475$ отбивается за 5 месяцев и потом начинает приносить 100$ в месяц.
Весьма разумный вариант, не хотите попробовать в качестве эксперимента?
У меня иногда интернет «отваливается», смогу ли я пересматривать лекции прошедшие «сегодня»?
1. Вы можете переподключиться в течении хода лекции.
2. Сейчас запись лекции выкладывается с задержкой 12-24 часа: конвертация из внутреннего формата вебинаров в mp4 + заливка на внешний сервер.

Так что сейчас смотреть с задержкой 30 минут — не получится.
Но если найдем (посоветуете) хорошего провайдера вебинаров, у которого видео доступно сразу (с задержкой 1-10-100 минут после трансляции), то Ваша проблема будет решена.

Мы сейчас ищем.
UFO just landed and posted this here
Стоит обдумать. LockSupport, думаю, можно читать и в начале.
Но AQS крайне сложно устроен и имеет нетривиальное API:
— попытка блокирующего/неблокирующего захвата (Lock.lock()/tryLock())
— попытка блокирующего захвата с таймаутом и без (Lock.lock()/lock(long))
— прерываемая и непрерываемая через interrupt() попытка захвата (Lock.lockInterruptibly()/lock())
— «четная» и «нечестная» блокировки
— exclusive и shared захват
— и т.д.

Я предполагаю, что сначала слушателю стоит поиграться с Lock/Semaphore/CountDownLatch, что бы он понят как эти свойства «выглядят», для чего могут быть полезны. И только потом самые сильные могут попробовать разобраться на каком основании это все построено.
а у вас между ними ещё и пулы вклинились.

Тоже обсуждаемо.
Но методически синхронизаторы необходимо учить сразу с пулами. Для демонстрации синхронизаторов необходимо иметь множества потоков и создавать их по new Thread(new Runnable() {...}) как-то уже некрасиво.
UFO just landed and posted this here
Извините, я тут недавно, но разве этот пост не должен быть в разделе «Я пиарюсь»?
Пост в блоге компании, так что нет.
Судя по описанию — отличный курс! Подборка тем прямо в точку.
Иван, я смотрел ваши ролики на ютубе и мне они понравились.
И я даже был готов купить курс для джунов, но остановили некоторые вещи:
— нет нормальной информации по курсу, везде какие-то куски, сайт полурабочий
— вместо форума для учащихся какая-то скайп группа, куда скидывают материалы, все туда пишут спамят и найти материалы к лекции к концу дня просто невозможно
— видео просто оставляет желать лучшего, вы говорите про команду, про оператора, но зачем платить оператору, который по 5 минут не может сфокусироваться на доске? последние лекции это просто ад (когда вы проводите онлайн конфу), я плакал кровью от звука и видео. И я это я не платил за курс, а если бы заплатил и получил такое качество, то скорее всего, попросил вернуть деньги.
Полностью поддерживаю, предыдущего комментатора, подача информации очень хороша, но не хватает того, что есть у Hexlet University (Проект Рахима Давлеткалиева), то есть хорошей упорядоченности материала и структурированности. За указанную сумму хотелось бы иметь:
— лекции в хорошем качестве (то есть хорошее качество звука, нормальное освещение, трансляция экрана во время демонстрации исходного кода);
— деление лекций на более короткие логические блоки (так как это сделано в курсах на coursera.org);
— форум для обсуждения лекций, домашних заданий и т.п.
— какое-либо описание лекции с основными рассматриваемыми темами.

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

Система поощрений и мотивации: бейджи, ачивки, балловая система, скидки на будущие курсы, сертификаты с публикацией на linkedin.

После прохождения курса, необходима возможность просматривать лекции и доступ к сделанным проектам с комментариями лектора.
IvanGolovach
А у Вас есть возможность организовать видеоматериала еще в доп. формате, в формате мобильного видео? Приведу пример один из докладов на суботнике в яндексе:
* Скачать видео 536 МБ
* Скачать мобильное видео 231 МБ

Дело в том что живу в Моск.Области и у меня достаточно много времени в дороге, 20 мин в электричке + мин 35-40 в метро. Есть смартфон и периодически по нему смотрю полезные видео-лекции. На просмотр в онлайн с ютуба надеятся не приходится, т.к. то интернет отвалится или WiFi и поэтому скачиваю на карточку заранее, отсюда встает желание иметь не большого размера видео, т.к. карточка быстро расходуется.
Этот курс не будет в свободном доступе:(
Другие, которые выложены на youtube (Java Core, Junior Java Developer) — можно подумать, но Вы первый из 4.000 подписчиков, кому такое потребовалось.
Так что, вряд ли.
Sign up to leave a comment.