@amorkovin read-only
Пользователь
19 апреля 2011 в 11:53

Разработка → Видеокурс по 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 для веб-мастера.
@amorkovin
карма
38,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (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
    Майн! Сюспас! Пэхэпэ!

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