Как я собираюсь месяц обучать всех желающих программированию #3

Я рад что так много людей решили, что программирование - это их выбор. Спасибо всем. :)

Прошлые пост вы можете почитать у меня в профиле. А пока вкратце напомню, что я собрался провести 11 лекций по программированию для всех желающих. И этот пост напоминание о том, что сегодня в 20:30 по МСК начнётся трансляция первого занятия!

https://www.youtube.com/watch?v=VwdLlrmV6OQ - Ссылка для тех, кто боится плееров.


Сейчас в плеере будет трансляция, сразу после того, как она закончится, там будет запись.


А ещё, помните, что 11 лекция у меня дома? Так вот, при поддержки ВШБИ образовательной программы подготовки кадров для игровой индустрии "Менеджмент игровых интернет-проектов" (http://game.hsbi.ru/), я смогу её провести в Москве! :)

Как я собираюсь месяц обучать всех желающих программированию #3 Gamedev, Csharp, Программирование, Обучение, Видео

Записаться на эту лекцию можно отдельно так, как аудитория довольно не большая. https://new.vk.com/sakutin_july_2016


Жду всех на сегодняшней лекции! :)

Лига Разработчиков Видеоигр

6.7K поста22.1K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

1
Автор поста оценил этот комментарий

"мой любимый сеньёр" В жопу ебётесь что ли?

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

Ты так говоришь будто это что-то плохое.

показать ответы
1
Автор поста оценил этот комментарий

Не не не. Вся эта шайка позиционирует себя как "программа подготовки кадров для игровой индустрии" (которой вообще то нет в России). У них на сайте и прайс нехилый за "обучение" и горы золота (как полагается разводкам) обещают выпукникам (я не ошибся )))). А топикстартер просто зазывала с бесплатной дозой.

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Я не могу говорить за ВШБЭ и НИУ ВШЭ так, как не являюсь ни их представителем ни кем-то ещё. На сколько мне известно, они достаточно давно пытаются сделать образование разработчиков игр на Гос. Уровне. И в целом пользуются поддержкой местных контор. Лучше конечно же у них спрашивать, вроде ничего не скрывают. Обычный такой универ.

Я общаюсь с некоторыми людьми от туда, и они согласились дать аудиторию для живого выступления. В качестве благодарности я упомянул, что всё при их поддержке. В чём проблема?

Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Уведомления приходили только о начале первого занятия

1
Автор поста оценил этот комментарий

Чем легче? Что ты знаешь о проблемах программирования, чтобы такое брякнуть?


Это в каком ПО меньше ответственности - которые в авто (недавний инцидент с Тесла), Или может в тамографах или в приборе коррекции зрения или самолетах, спутниках?

раскрыть ветку (1)
3
Автор поста оценил этот комментарий

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


Можешь написать мне в ЛС и мы совместными усилиями улучшим мой материал.

показать ответы
1
Автор поста оценил этот комментарий

Мои доводы исключительно в пользу того чтобы не тащить в индустрию code monkeys. Они профанируют профессию - именно из за code monkeys на программистов навешали неприятный стереотип. Они портят рынок - демпингуют цены, зарплаты и отпугивают нормальных инвесторов. В конце концов, они говнокодят, и без профильного образования никогда не смогут произвести нормальный продукт. А называют себя при этом программистами.

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

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

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

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

1
Автор поста оценил этот комментарий

Я дико извиняюсь, но у меня всего два вопроса:

1. Какой твой уровень знаний программирования в общем, и шарпа в частности?

2. Чему вразумительному можно научиться за 11 лекций? Уж не игроделу ли?.. Не лучше ли было основы программирования преподавать не в контексте Юнити?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

1. В общем около 5 лет опыта. 3-4 из которых C# проф. разработка в коммерческих проектах.
2. Зависит от обучающегося. Вполне можно понять основы (не только синтаксиса но и программирования в целом). Я и так преподаю основы в отрыве от Unity, но большая часть примеров именно "жизненых" из мира GameDev.

показать ответы
1
Автор поста оценил этот комментарий
А все могут научиться программированию? Просто я пробовал, но у меня не получается, я просто не понимаю, что нужно делать.
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

В той или иной степени все

1
Автор поста оценил этот комментарий
Ничего так стрим вышел. 1 мысль в плане проведения мероприятия возникла - может есть шанс ужимать эти занятия до 1.5 часов? Воспринимать что-то вечером, после работы, да ещё сосредоточенно и дольше 1.5 часов как-то тяжко. Хотя никто не мешает смотреть оставшуюся часть позже в записи - так что пожелание совсем не критичное)
раскрыть ветку (1)
Автор поста оценил этот комментарий

Следующая лекция будет где-то минут 40-60. Действительно стоит немного ужать материал.

Автор поста оценил этот комментарий
от идентификатора до идентификатора

А вся проблема как раз в определении начала следующего идентификатора.


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

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


кто умеет общаться с инвесторами и не нагнетать обстановку.

Судя по тому, как вы отвечаете (точнее потому, что отвечаете) на стёб и троллинг в соседней ветке - это не совсем правда. Вы, простите уж, немного переоцениваете свои силы.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Стресс и ангина берут своё. Извиняюсь за это. :)

1
Автор поста оценил этот комментарий

Так если ёбаный коуч и есть. Не считаю чем то не этичным зачмырить подонков, которые портят профессию. Это яндекс ШАД мясо готовит? Или Технострим?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Реши для начала вопрос сложно ли быть тебе богом.

показать ответы
1
Автор поста оценил этот комментарий
А теорию числел, алгоитмы, мл, фп? Или что ТЫ подразумеваешь под программированием?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Конечно же будут слова и о математики лежащей под парадигмами и под подходами. Упомяну коренную разницу между императивным и функциональным программирование с исторический точки зрения, конкретно к подходам к вычислениям. Это весьма сложная тема, да и вряд ли моей подготовки хватит чтобы свободно объяснять её начинающим да и это весьма излишне в рамках этих занятий.

Под программирование я подразумеваю комплекс работ производимых человеком, и математика - это один из аспектов. Хороший математик != хороший программист. Твои доводы очень рациональны, но всё же, ограничены первыми курсами технического вуза. Я бы хотел укрепить свои лекции сильными блоками математической базы, но не могу. А также не переживаю по этому поводу, всё-таки лекция хорошая - это не когда в неё нечего добавить. А когда из неё нечего убрать.

показать ответы
1
Автор поста оценил этот комментарий

а можно тестовую рассылку тем, кто в группе крутых пацанов и девчат? А то ты только заявку принял, я хз, может не зареган...

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я уже рассылаю сообщения. К сожалению более 80% их не получат - VK ведёт себя очень странно. Но при этом лекции полностью открытые, по этому если вы есть в группу и у меня в друзьях - то вы уже 100% участник.

показать ответы
Автор поста оценил этот комментарий

Сколько по времени будут длиться лекции?
Часовые пояса, прост, никто не отменял и будет у меня чутка попозже. Нужно знать, к чему готовиться.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Эта не думаю что больше 1-2 часов

показать ответы
Автор поста оценил этот комментарий
я про сегодняшний урок
раскрыть ветку (1)
Автор поста оценил этот комментарий

Да

Автор поста оценил этот комментарий
Трансляция на ютюбе будет?
раскрыть ветку (1)
Автор поста оценил этот комментарий

11-ой лекции? Не уверен. Если будет камера, то устрою. А так возможностью не располагаю.

показать ответы
1
Автор поста оценил этот комментарий

хорошо, спасибо) а на финальную лекцию можно будет прийти?))

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да, записаться на неё может любой желающий:)

показать ответы
Автор поста оценил этот комментарий

Unity в действиИ. Исправьте, пожалуйста. А то как-то не оч)

раскрыть ветку (1)
Автор поста оценил этот комментарий

За поправку конечно спасибо, но заменять графические материалы весьма проблемно. :)

1
Автор поста оценил этот комментарий

Записаться еще можно?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Нет. Точнее лекции то общедоступные, можете на них приходить, и дз делать, и мне его на проверку отправлять. Просто я вам в ЛС никакие напоминания делать не буду:)

показать ответы
Автор поста оценил этот комментарий

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

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


К слову спросить, а твой любимый сеньор использует готовый  сетевой движок или самописный? Предположу, что если это Unity, то сеть через Photon?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

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

P.S: Место тех. дир. получил не за навыки, а просто потому, что оказался единственным, кто умеет общаться с инвесторами и не нагнетать обстановку.

показать ответы
1
Автор поста оценил этот комментарий

Ты же гуру местный. Тебе и флаг в руки. Или слился?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Гуру не назывался. Сетью у меня занимается Антон (мой любимый сеньёр). В данном вопросе не компетентен, и перед лицом более опытных товарищей (по крайней мере с их слов) с радостью уступлю им дорогу. Но если никто не хочет, могу и я попробовать ответить.

показать ответы
4
Автор поста оценил этот комментарий

А чем же оно ограничивается? Заучиванием названием классов и методов? Или пониманием байткода?

Программирование - наука о составлении программ. И ни чего более. Если ты понимаешь суть составления программ - писать можно на чем угодно, даже без основательного знания конкретного языка.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

О, здорово, опытный программист. А помоги мне, пожалуйста, решить проблему...

Есть постоянное клиент-серверное TCP соединение, клиент с сервером обмениваются пакетными данными. Все пакеты стандартизированы (имеют четкую структуру, зависящую от его идентификатора), но имеют неопределенную длину - могут содержать (и содержат) массивы структур. Пакеты байтовые, целое число передается 4/8 байтами, строка - по 2 байта на символ и всё в том же духе. Первым в пакете передается его идентификатор, от которого уже и определяется его структура.

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


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


Это одна из серьезных проблем в проектировании многопользовательских игр, у многих инди проектов просто откровенно дурная система обмена информацией...

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Боюсь ударить в грязь лицом перед @Semafor1234 по этому предложу ему ответить на этот вопрос.

показать ответы
3
Автор поста оценил этот комментарий

Опоздал на трансляцию минут на десять, сначала переживал, думал, что-нить важное пропущу.

В итоге просидел час, плюнул и выключил.

Причины:

Информацию, которую можно доходчиво и понятно для новичков подать за 10 минут, растянул на час. И дело даже не в том, что стрим падал и пришлось повторять.

90% - вода, не связанная с предметом. И нет, я не про "азы", они то как раз нужны.

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

Не, сорян, чувак, подавать информацию ты не умеешь. Книжку почитать интересней будет.

Целевая аудитория - школота-мамкоебари. Им такое будет интересно.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Что поделать, всем не угодить. Постараюсь со временем обрести какую-либо вменяемую форму.