Видеокурс по Kohana 3.1

    Приветствую вас, уважаемые хабралюди!

    Хочу предложить вашему вниманию видеокурс моего производства по фреймворку Kohana 3.1.

    Что за видеокурс такой и кому он нужен: видеокурс бесплатный, доступен без предварительной регистрации — я не последователь Азамата Ушанова (да-да, такие еще остались, но нас очень мало).

    Основная цель видеокурса: рассказать понятным языком (доступным даже начинающему) о преимуществах ООП и MVC-подхода, о возможностях фреймворка Kohana в плане упрощения труда программиста в реализации часто используемых модулей.

    Дело в том, что официальное руководство пользователя Kohana 3.1 никуда не годится (тем более для начинающего веб-мастера), получить структурированную в сложностно-тематическую последовательность информацию из разрозненных постов на блогах — весьма сложно. Я решил компенсировать этот недостаток выпуском видеокурса с последовательным изложением материала, от установки локальной среды разработки до реализации конкретного проекта на Kohana (проект — некая образовательная система, которую, от урока к уроку, я программирую на ваших глазах).

    На кого рассчитан видеокурс: начинающие веб-мастера, желающие перейти от программирования на чистом PHP к MVC-фреймворку.


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

    Видеоуроки:

    1. Введение в MVC (я опубликовал в виде статьи на своем блоге).

    2. Установка и настройка локальной среды разработки (Apache+PHP+MySQL под Windows).

    Текстовое описание здесь.

    3. Установка Kohana.

    Текстовое описание здесь.

    4. Работа с ЧПУ в Kohana (основы основ).

    Текстовое описание здесь.

    5. Верстка страницы авторизации. Данные видеоурок я решил посвятить вопросам HTML+CSS верстки.

    Текстовое описание здесь.

    6. Работа с контроллером.

    Текстовое описание здесь.

    7. Работа с модулем авторизации в Kohana.

    Текстовое описание здесь.

    8. Класс и экземпляр класса, применительно к модулю авторизации.

    Текстовое описание здесь.

    9. Пишем свой родительский контроллер. Запрет на вход неавторизованному пользователю.

    Текстовое описание здесь.

    10. ORM.

    Текстовое описание здесь.

    11. Валидация в модели средствами Kohana.

    Текстовое описание здесь.

    12. Подключение и настройка модуля, скачанного из интернета (отправка почты).

    Текстовое описание здесь.

    13. Разделение прав доступа.

    Подробное текстовое описание здесь.

    14. Восстановление забытого пароля.

    Подробное текстовое описание здесь.

    15. Логике отображения в модели не место.

    Подробное текстовое описание здесь.

    Все видеоуроки на моем блоге объединены одной меткой. Ссылка на скачивание видеоурока в соответствующих постах блога.

    Я продолжаю публикацию курса, кому интересно, заглядывайте на блог.

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

    div-верстка сайта.

    Настройка сервера или хостинг на домашнем компьютере.

    Курс по JavaScript.

    Photoshop для веб-мастера.
    Метки:
    Поделиться публикацией
    Комментарии 34
    • +4
      Огромное спасибо!
      • +3
        Надеюсь курс окажется полезным.
        • –1
          После курса дается слайд с номерами телефонов веб-студий?
      • НЛО прилетело и опубликовало эту надпись здесь
        • +9
          Извините конечно за имульсивность, но «ЧТО ЭТО!?!?!» www.sdelaysite.com/php/php-14
          Возможно в меня сейчас полетят минусы, но вы действительно считаете что по такому коду стоит учиться?

          За такие названия методов нужно руки отрывать, obnovlenieparolia(), hochuNoviyParol(), hochuvspomnit(), не говоря уже о том что вы не определились со стилем написания! А между прочим говоря у kohana есть отичный style guide который стоит придерживаться. Текст сообщений в модели вообще рушит паттерн HMVC.
          В этом же уроке у вас идет составление запроса вручную =/ в kohana ведь есть orm.
          Видео слава богу не смотрел. Хотя может там не все так плохо, отпишитесь
          • +2
            Да, по поводу названия методов, вы совершенно правы — это я погорячился. Решал проблему обновления пароля и не стал задумываться над названием методов, что очень важно в ООП, ибо невозможно будет толком понять, что именно данные методы делают.

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

            Сообщения в модели — это конечно жестко выглядит :) Но я сознательно это сделал. Сначала решил проблему восстановления пароля, а потом, в 15-м видеоуроке вынес логику отображения из модели. Я считаю, что не стоило сваливать все в один видеоурок, иначе в голове у слушателя (начинающего) да и у меня (т.к. записывая видеоурок я, почему-то, сильно волнуюсь) образовалась бы каша.
            • +1
              Каша потом образовывается в коде, причём расхлёбывать её придётся слушателю. Если вовремя не спохватиться, можно наломать много, ОЧЕНЬ много дров.
            • 0
              >В этом же уроке у вас идет составление запроса вручную =/ в kohana ведь есть orm.

              А разве обязательно использовать ORM во фреймворке? o_O
              Многие (в том числе и я) вообще не используют orm, считая его злом.
            • 0
              Давно хотел такое. Нажимаю все три плюсовые кнопки.
              • 0
                Хотя стиль кодирования, как справедливо отметили выше, действительно корявый :(
                Оно-то ладно, не впервой с таким сталкиваться. Мне главное в самой Кохане разобраться — но впечатление подпорчено.
                • 0
                  В чем корявость стиля кодирования?
                  • +3
                    Ну выше уже указали. Называть функции, методы, переменные, файлы и т.п. по-русски — это очень дурной тон. Я скачал примеры из урока по верстке — там такое тоже есть.
                    Объяснение «да просто торопился и как-то не подумал», к сожалению, несерьезно. Это примерно как орфография в языке: если человек пишет грамотно, то он делает это всегда, а не только когда стоит такая цель. :)

                    Тем не менее, спасибо за уроки.
              • +2
                Надеюсь, теперь для меня название этого фреймворка будет просто названием, а не способом разработки. Спасибо!
                • 0
                  Прошу прощения, не совсем понял что вы хотите этим сказать?
                  • +5
                    Человек или ловко ошибся с приставкой «не», или же не ошибся и тонко намекнул что рельсы круче.
                    • 0
                      Это я и пытаюсь выяснить. Тут опечатка или такой тонкий троллинг? :)
                • 0
                  Идея хорошая, но много неточностей и лишней информации.
                  Total commander веселый.
                  • 0
                    Я стараюсь, чтобы неточностей и воды было как можно меньше. Если есть конкретные предложения, пишите в личку, с радостью учту Ваши пожелания в дальнейшей работе.
                  • +1
                    Сайт у вас оказался довольно полезным. С пару месяцев назад глядел курсы по домашнему хостингу.

                    Спасибо. Стремиться есть куда.
                    • 0
                      Побольше бы таких видео курсов, ребята. И еще чтобы качество было на уровне (взгляните на курсы ThinkVitamin, есть чему поучиться).
                      • +3
                        Я, конечно, извиняюсь, но такие уроки никому бы не посоветовал.

                        Во-первых, видео не так важно, как КОД. Текст и примеры кода. Смотреть на то, как вы его набираете, совершенно необязательно, тем более что на видео не так много можно прочитать. К тому же, не у всех стоит Windows, не все пользуются именно такими редакторами, не все будут морочиться с Apache+PHP+MySQL (XAMPP вполне позволяет понять, что такое хостинг)… Люди, которые интересуются Kohana, вряд ли не знают, что такое PHP и как на нём писать, текста им достаточно. Они могут понять, как настроить веб-сервер и создать файл в нужном каталоге.

                        Во-вторых, потому что в видео очень много лишнего. Особенно в голосе. Слайды у вас полупустые, а голос только бубнит про то, что хочет спать и что он копирует одни строчки в другие строчки. При этом видно, что код пишется по мере записи видео, море времени уходит на отладку, ещё и произношение неправильное (Views читается как вьюс, а лучше вообще их называть видами). Для того, чтобы просмотреть все уроки, придётся потратить несколько часов. Для сравнения, несколько статей с кусками нужного кода читаются минут за 15.

                        В-третьих, потому что просто ТАК программировать на Kohana нельзя. Вспоминать про HMVC в пятнадцатом видео не просто поздновато, а уже пора всё выкидывать и переписывать с нуля. Например, из-за этого вы совершенно оставили без внимания Request и вместо этого наплодили видов (в смысле View). Совершенно неудобный подход — каждый раз, когда надо что-то добавить, лезть в вид И контроллер, чтобы передать в вид новую переменную с новым видом. Для того, чтобы переписать красиво и понятно всё то, что советовалось за все 15 уроков, понадобится ещё 15 уроков.

                        В-четвёртых, а что вы вообще пишете в этих уроках? Код на сайте (полный код полученного сайта, а не кусочки из видео) вы не выкладываете, о цели не говорите. Что должно получиться? Я не очень внимательно смотрел видюшки, но из текстовых описаний совершенно ничего не понятно. Там должна быть админка, разграничение прав и восстановление пароля. Ага. Ещё отправка почты. Угу. Значит, там должно быть много разных пользователей с разными правами, и они будут заниматься… чем? Неизвестно. Направление разработки выбирается случайным образом или всё-таки в голове есть идея, ради чего пишется этот код?
                        • 0
                          Во-первых, видео для начинающего очень важнО. Цель курса — облегчить порог вхождения. С данной задачей видеоуроки справляются гораздо эффективнее статей и уж, тем более, КОДА. Но я никого не неволю, если Вы считаете, что код информативнее, то это Ваше право. Я так понимаю, что Вы профессионал и для Вас видеоуроки — это, конечно, совершенно лишнее. Но мой видеокурс — это не мастер-класс, а учебный материал для начинающих.

                          По поводу Windows и Apache+PHP+MySQL, что бы Вы предложили? Записать еще три альтернативных курса для пользователей Linux и XAMP? А еще Денвер есть. На своем блоге я посвятил ряд статей и видеоуроков настройке среды разработки под Linux. Считаю это вполне достаточно.

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

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

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

                          Мораль: курс для начинающих, которые, как это не странно, тоже имеют право интересоваться Kohana. И ничего ждать от продукта решения тех задач, на которые он не рассчитан.
                          • +1
                            По поводу Windows и Apache+PHP+MySQL, что бы Вы предложили?

                            Я бы предложил не пихать в курс по Kohana инструкции по настройке PHP, MySQL и вебсервера. Это — отдельная тема, которую можно (если стоит) описать отдельно.

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

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

                            Я невнимательно смотрел эти многочасовые уроки, потому что мне было скучно. Не только потому что я знаю, как это можно написать, даже лучше. Это просто скучно. Несколько часов внимания зрителя тратятся на показ, как автор пишет код, а потом исправляет свои ошибки. Что должен делать зритель? Писать ошибочный код вслед за учителем, а затем так же, следя по кадрам, исправлять в нём баги или просто смотреть видео, вникая в долгий процесс Зен-отладки и постигая, как же именно ощущает себя великий программист? Смотреть видео намного тяжелее, чем читать

                            Вы читали книги по программированию? Там даётся сразу рабочий код, а потом он комментируется. Чуть ли не по буквам. Если и даётся нарочно ошибочный код, ошибка одна и кусок кода не такой большой. Чтобы у ученика оставался хотя бы шанс найти эту ошибку и чтобы не загружать ему голову. Здесь вы тащите его за собой через горы буреломов, заставляя следить за каждым шагом. Попутно, кстати, обучая самому тупому из подходов к программированию: эволюционному. Это именно подход проб и ошибок, когда даже самому автору неясно, что будет в итоге — он просто делает новые фичи, не задумываясь раньше момента, когда придётся.

                            Насчёт кода, выложенного на вашем блоге. Я говорил не о кусочках кода, а о полном дампе. То есть, полностью весь сайт, который получился на данном этапе (это такой архивчик со всеми файлами, все папки application, system и modules) и дамп базы (SQL код, при помощи которого можно получить копию). Чтобы ученик мог во-первых, проверить себя, во-вторых, взять готовый сайт с исправленными ошибками и просмотреть все видео, в-третьих, взять готовый сайт с исправленными ошибками и посмотреть не все видео (а только те которые интересуют)… Можно придумать много сценариев, в которых полный код пригодился бы, но главное — одно: он нужен. Он нужен даже профессионалам, которые начинают программировать на Kohana и хотят посмотреть на пример рабочего приложения.

                            Я просто предлагаю вам немного продумать ваши видео. Составить план разработки — что именно вы делаете и что вам там потребуется. Давать заранее приготовленный рабочий код — не обязательно уже написанный, но очищенный от багов. Идти не от чистого листа, а от уже готового сайта, показывая, как он строился. Не распыляться на смежные темы, вроде настройки веб-сервера или вёрстки в HTML и CSS. Не говорить лишних слов, правильно произносить и использовать термины (ну нет такой вещи, как почти человекопонятное URL), тратить заранее время на придумывание названий методов… Иначе вам придётся сделать намного больше работы, записав ещё несколько видео, в которых вы будете разбирать свои же ошибки, допущенные ранее. И ещё несколько видео, в которых вы будете разбирать ошибки предыдущих. И так далее, пока вам не надоест.

                            Мораль: даже курсы для начинающих не должны делаться на коленке. Более того: они должны быть максимально корректными и безошибочными, потому что ваши зрители не могут исправить за вас ваши же ошибки. Не стоит пренебрежительно относиться к вашей аудитории.
                            • 0
                              Я выкладывал именно архив со всей Коханой :)

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

                              Спасибо за комментарий, я постараюсь учесть Ваши замечания.
                              • 0
                                Значит, я не нашёл. После каждого урока только ссылка на скачивание видеофайла. Не подскажете?
                        • 0
                          Не могу представить кому вообще могут пригодиться различного рода туториалы. Есть документация по АПИ и текстовый туториал «как создать бложик» — сиди читай, пиши код. копипасть, ставь закладки.
                          Но начинание достойное:)
                          • 0
                            Вот и я согласен с вами. Никогда не понимал видео уроков. Разве что показать на что годится программа/продукт/фреймворк и т.д.
                            Оно то достойное, но блин название методом, произношение — тут плохому больше научится можно)
                            main — майн)))
                            Такое ощущение, что автор хотел сделать уроки для непрограммиста. Вот только зачем???

                            Но все равно молодец)
                            • 0
                              Знаете, мне очень нравятся вебкасты с railscasts.com Реально очень удобно.
                            • 0
                              Товарищ, тебе огромное спасибо за уроки.

                              Особенно радует грамотная речь. Я уж думал, что в русскоязычной IT-среде уже никогда такой правильной связанности предложений не услышу. Прям бальзам на душу.
                              • 0
                                Спасибо! Я действительно старался. Но волнение, которое я испытываю при записи видеоурока, порой сильно сбивает с мысли.
                                • 0
                                  Андрей, спасибо вам за видеоуроки. В отличие от разных других у вас нормальный голос, не гнусавите, не сорите словами-паразитами. Кто просмотривал другие видеоуроки по программированию поймет о ком я говорю. :)
                                  И писать код в живую при записи видео действительно надо. Во-первых, при просмотре есть время обдумать, во-вторых — постепенно видишь что и за чем идет.
                                  А видеоуроки обалденная штука. Лежишь, болеешь и слушаешь.
                              • 0
                                Ну если все такие «охринительно» клевые программисты, то сделайте уроки как нужно быдлокодить ибо верования о том что именно мой код совершенен, у Андрея Морковина — нормальные уроки, а те кто кричат, что я такой весь обалденный (охххххуенный) не больше идиоты с повышенным ЧСВ. PS: Вот когда я увижу твои уроки «быдлокодер» и начну их обсирать я посмотрю на тебя.
                                • 0
                                  Если честно, я исплевался на эти уроки по Kohana. За что Вы берёте деньги, когда сами ещё недопрограммер, уж извините.

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

                                  У меня сразу вопрос: преподаватель ЧЕГО? Если программирования, то мне искренне жаль Ваших студентов/учеников, т.к. Вы УЖЕ выращиваете потенциальных говнокодеров! Один взгляд на конструкцию:
                                  if(...)
                                  {
                                  $data["ok"] = "";
                                  }
                                  else
                                  {
                                  $data["error"] = "";
                                  }


                                  убил наповал. Ну кто так кодит?!

                                  Можно же вот так:
                                  $data['error'] = (условие);

                                  или более понятно:
                                  if (...) $data['error'] = false;
                                  else $data['error'] = true


                                  и уже работать с одним(!) возможным результатом.

                                  2. Про названия методов и прочего уже говорилось;

                                  3. Убила последовательность написания уроков. Такое чувство, что у человека в голове каша. По мере сложности и важности нужно составлять уроки, например, нафига мне знать про модуль Auth, когда я даже не знаю как работать с переменными, как настроить фреймворк (конфиги, роуты) и прочие основные и первостепенные вещи для работы в фреймворком?! Маршрутизация вообще в самом конце занятий. Ну как так?

                                  Вобщем, автор посбивал верхушки по PHP (и Kohana в частности) и теперь полагает, что может обучать этому, уроки записывает, причём разношёрстные. Вообще, если знания ставятся на коммерческие колёса, то докладчик должен сам отлично знать и понимать что преподаёт, а не плавать в программировании и в Kohana.

                                  P.S. Андрей, Вам необходимо сначала знания и ОПЫТ по программированию получить, а потом уже студентов учить и уроки писать. Нельзя таким товарищам растить криворукое поколение! ИМХО!
                                  • 0
                                    Майн! Сюспас! Пэхэпэ!

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