Становление Junior PHP Dev’a, с чего начинаем?

💡 Усі статті, обговорення, новини для початківців — в одному місці. Приєднуйтесь до Junior спільноти!

Друг решил поменять профиль деятельности в сторону Web Dev’a.

Хотелось бы ему построить маршрут обучения, что бы получать знания с лучших источников и лучшими методами :)
Посоветуйте мануалы, книги, или опишите свое «начало» в этом направлении.

Feature study list: HTML, CSS, JS, PHP, MySQL.

p.s. надо исключительно на русском, так как языком он владеет очень слабо.
Благодарю.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

С профильного образования

Всем привет! Тоже хочу поучиться. Смотрю вакансии на ворке и основная масса — php джуниоры и миддлы, а также QR-инженеры. Пока мне это всё темный лес, но знаком с некоторыми CMS, разобрался с основами CSS и HTML. Реально обучиться и стоит ли браться за PHP или есть альтернативы, которые помогут в будущем понять ту же PHP быстрее, но при этом освоить что-то еще?
Пока я ноль в JAVA и PHP. Сам фрилансер сеошник и копирайтер, хочу быть программистом или дизайнером (работаю с фото, знаком с граф.планшетом), а лучше и то и то знать)). Извините, если говорил глупости или кого обидел.
Подскажите сервисы или литературу или видеоуроки, с чего начать, чтобы подрасти и найти толковую, нормально оплачиваемую работу.

Подскажите сервисы или литературу или видеоуроки
dou.ua/forums/tags/PHP

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

PHP относительно не сложно выучить. Главное не лениться. Хороший видео курс «Центр компьютерного образования СПЕЦИАЛИСТ». В них чувак очень толково все обьясняет и показывает на практике. По PHP 4 уровня сложности. К стати, от этого центра есть уроки по JS/HTML/MySql. Одним словом — все что надо для web))

Спасибо! На сколько я понял, погуглив о них, это типа наша украинская академия ШАГ, только в России. А я не в РФ)

Денис имел ввиду, что это видео-курсы.

видео курс
ссылка на уровень 1-2

спасибо) разные курсы качал, но тут «не сварил» :)

скачал по ссылке тут в комментах весь курс СПЕЦИАЛИСТ для веб-разработчика (ссылка Виталия Мартыненко (ниже)). Начал с HTML. Я с ним работал через файрбаг, а теперь хоть знать атрибуты буду, а также что за что отвечает)

Привет, как успехи?

www.rutor.org/...dr-2010-2011-pc начинал отсюда :)
html+css+js+php+mysql+Web-мастеринг.+Проектирование безопасности веб-сайтов и эффективная защита от атак(остальные отбросил). Потом почитал выборочно курс которые предлагается на php.su и сделал один тестовый бесполезный сайт)) Особо не спешил, старался вникать а не пробежать по быстрому. В общем на всё месяцев 5 ушло с нуля и с 3-го собеседования взяли джуном и на второй день посадили сразу новый проект на зенде О_О. Кому-как, но я считаю что лучше не начинать с CMS типа worpress, я очень доволен что меня сразу посадили на зенд. Раз всё равно пришел полным оленем и всё в новинку — лучше сразу учиться как НАДО писать а не как НЕНАДО.

забыл добавить — просто заходил в мануал php.net и читал его как книжку)) где вчера закончил — там продолжил. Пусть не всё пригодится — но многое

school-php.com
начинал изучение с помощью этого ресурса, далее курсы в одной компании, книги («PHP5 в подлиннике» Котеров Д, «PHP обьекты, шаблоны и методики программирования» М.Зандстра)уже полгода как работаю.
Успехов.

Сам дошел примерно до 29 урок и тут случайно подвернулось собеседование. Дали тестовое задание на недельку.Написать типа модуля на OpenCart. Неделю не вставал с компа ,но сделал. Около года отработал. Сейчас работаю удаленно. Курс хороший, всем советую. Автор его сейчас перезаписывает вроде как.

При желании в php зайти не сложно.

Можно посмотреть видеокурсы «Специалиста». Для начинающего — самое то. Потом почитать книги и, обязательно, мануалы)

много лет назад один активный участник форума phpclub сделал сайт с ответами на самые частозадаваемые вопросы по php — phpfaq.ru . Вроде бы там до сих пор полезная для _новичков_ информация — советую твоему другу с ней разобраться.

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

1.
CodeAcedemy — ознакомительные курсы по HTML, CSS, Javascript, jQuery (в PHP не влезайте, он там представлен неудачно). Это самая-самая база на 2-3 дня работы, чтоб побороть боязнь кода и сориентироваться в синтаксисе. Действительно важные вещи ниже.

2.
Treehouse — лучшие курсы по вертске для новичка (во вкладке «Library» это следующие разделы: HTML, HTML Tables, CSS Foundations, HTML Forms, CSS Layout Techniques, Framework Basics). Не рекомендую распыляйтся здесь на непосредственно само программирование, так как курсы по соответствующим темам очень поверхностны, а иногда и непонятны для новичка. По ссылке выше код на первый бесплатный месяц обучения.

3.
CodeSchool — лучшие интерактивные туториалы по Javascript и jQuery (с самых азов), а также HTML, CSS (здесь уже нужна хорошая база, смотрите Treehouse). Возможно, имеет смысл заглянуть сюда уже после того, как вы разберетесь с PHP. В качестве учебного справочника рекомендую learn.javascript.ru.

4.
С PHP все куда сложнее, если говорить именно об интерактивных способах обучения, но очень хорошие видео, на мой вкус, у lynda.com, а конкретно PHP with MySQL Essential Training и PHP with MySQL Beyond the Basics от Кевина Скоглунда.

Сам начал учиться тремя неделями ранее, поэтому заранее извините, если где пропустил чего-то получше.

Возможно, стоит попробовать начать с WordPress, из преимуществ — довольно много tutorial-ов и учебников, простота и низкий порог вхождения, готовый сайт можно получить через полчаса после начала изучения, что мотивирует что-то пробовать дальше :)

Разве низкий порог вхождения когда-либо был преимуществом? По-моему это одно из самых больших стихийных бедствий PHP после

Разве низкий порог вхождения когда-либо был преимуществом?
преимуществом — в чем?

от обратного — в Haskell — высокий порог вхождения. И в чем его преимущество перед PHP?
что дает в результате, каков выхлоп этого сита — порог вхождения?

По-моему это одно из самых больших стихийных бедствий PHP после
Основная масса сайтов в интернете — на чем написана?

«Есть два типа языков программирования — те, которые все ругают, и те на которых никто не пишет.»

Больше всего ругают:
PHP и Java.

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

В чем как мне кажется плюс Wordpress — в том, что он хорошо подходит к
www.artlebedev.ru/...o/sections/167
то есть даже с нулевыми навыками можно сделать «хоть что-то рабочее», и потом есть куда развиваться и применять все навыки, в том числе Front-End.

Стартовать с доки, или с «рыскания по форумам» — очень тяжело. особенно учитывая что нужно сразу будет изучать самостоятельные технологии.
посему нужно брать — учебники.

в которых на примере какого-то сквозного примера показано всего по чуть-чуть.

Например (в порядке изучения):
1. по HTML-CSS пройти все что в «Блочная верстка веб-сайта» автор Игорь Квентор там немного.

2. «Изучаем PHP и MySQL» авторы Линн Бейли и Майкл Моррисон
или подобной книги,
«Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript и CSS» Робин Никсон тоже сойдет

3. JS — пройти учебник learn.javascript.ru

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

вордпрессы-цээмэсы, фреймворки, jQuery, ..., только после прохождения 1-3!

Коментар порушує правила спільноти і видалений модераторами.

Не сочтите за вброс, но почему именно PHP?

Есть возможность трудоустройства.

Не сочтите за вброс
Сочли за провокацию холивара.

И напрасно. Если бы я хотел спровоцировать холивар — то так бы и сказал, что, мол, глядя на PHP, вообще не понимаю как люди заставляют себя на нем писать :) Но люди пишут, и много, значит я чего-то не понимаю, поэтому и интересуюсь в чем секрет, что заставляет новичка выбирать PHP при очевидном наличии не менее достойных альтернатив.

А куда конкретно смотрите на ПХП? Может просто не туда посмотрели?

Да просто на базовый синтаксис, как минимум. Ну, и семантику.

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

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

$
что это, зачем это? привет Perl?
->
вызов метода? but why?! неужели конкатенация важнее?

Заметь, это мы даже не касаемся семантики.

Ооо, сейчас уже и армия С++ программистов смотрит на Вас с недоумением

Будто С++ - венец творения в плане синтаксиса. И вообще, причем здесь он? Мы, вроде, говорили про веб.

Говорили мы о Вашем непонимании того, как люди _заставляют себя_ писать на ЭТОМ, ведь, о ужас, методы вызываются не через точку, как Вы привыкли.

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

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

непонимании того, как люди _заставляют себя_ писать на ЭТОМ
ну я же говорил, что я бы так сказал, если бы хотел разжечь холивар, а не что я так действительно считаю :)
Короче, уходя от самоиронии и холивара, хотелось бы сказать, что, несмотря на отвратительную репутацию на слуху, сама технология довольно зрелая в текущем состоянии и получила огромную нишу.
Спасибо, этот ответ вполне удовлетворяет моё любопытство.

Для новичка как раз такой код проще и понятнее чем десяток контроллеров, модулей, шаблонов и хелперов

Не только для новичка :)

Елена случайно привела очень хороший пример — САМОДОСТАТОЧНОГО кода.

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

приведенный конечно весьма плох по структурированности.

но, видел я исходники продукта, где код на Java такой.
заказчики работой продукта — довольны.

Java виновата что на ней такой код? или Java — хороша, раз заказчики довольны конечным продуктом?

Да что там далеко ходить, вот же масса замечательных примеров govnokod.ru/ruby?page=10

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

мне он нормально смотрится, может не сильно секур, но если он был написан за 5 минут — то все ок. В продакшн же конечно такого мне лично бы не хотелось. покажите такой же код на руби.

забейте, человек про DML DCL DDL администрируя мускул вроде как 9 лет, а тут «секурность» оценивает не видя проблем в коде...

$_GET в бд, рендер без проверки, меджик намберс, инлайн-стили и die в конце

я не вижу проблем в этом коде если он написан за 5 минут, раскажите что видите вы.

а что правда не видно?) А если присмотреться?

вообще. Если вы можете потыкать пальцем в какие то серьезные ошибки — то покажите ваш уровень. Если же вы решили подпеть Елене и типа сказать что GET нельзя вставлять в запрос — то как я уже сказал, код написанный за 5 минут для демонстрации или тестирования какой то гипотезы должен просто работать. Никто не мешает вам его зарефакторить позже и добавить нужные проверки и ексепшены.

йоу йоу ыксперт палехчи (вы в дотку переиграли чтоли?)

это была не демонстрация и не тестирование, а то как ненадо писать код. И то что вы говорите «если написано за 5 минут это ок норм и очень супер», это бред, причем кроме гета в запросе там инлайн стили которые потом надо будет искать и рефакторить и дай вконце который в случае ошибки выдаст вам «много полезной информации», ок да? Вы уже не первый раз показываете свой уровень, советую вам воздержаться.

и здесь не караоке чтобы кому-то подпевать.

о ужас, инлайн стили в коде написанном за 5 минут. и дай в конце ))) вы мне напоминает блондинку за на автостанции — о ужас у меня там моргает какая то лампочка в форме бензоколонки.

обратитесь к врачу у вас серьезные проблемы.

Несколько человек назвали сей код г0вн0м:
1.

Вижу г0внокод (что можно сделать на любом языке), и не вижу примера плохого базового синтаксиса. Вы спутали понятия синтаксиса и семантики кода?
2.
$
что это, зачем это? привет Perl?
->
вызов метода? but why?! неужели конкатенация важнее?
Заметь, это мы даже не касаемся семантики.
3.
приведенный конечно весьма плох по структурированности.
4.
Лапшекод с $_GET в бд, рендер без проверки, меджик намберс, инлайн-стили и die в конце. Учитесь говнокодить смолоду, господа

А вы все продолжаете упорно считать себя Д’Артаньяном.
«5 минут... код за 5 минут, но 5 минут же ушло на написание» — это напоминает Голлума.

P.S. человеку который 9 лет админил и юзал мускул и спрашивал что такое DML/DCL/DDL я бы блондинок вспоминать вообще не рекомендовал.

вы типа придираетесь ко мне лично, тогда как я пытаюсь обсуждать код. Термины DML/DCL/DDL не используется ни в админке ни в разработке для SQL, они пользуются только в книгах и как я советовал вам раньше — пойдите и посмотрите вакансии для SQL и вы увидите сплошной SSIS/SSAS/SSRS и никакого DML/DCL/DDL.

ох, если бы вопросы на собеседованиях всегда соответствовали требованиям в вакансии...

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

я так понимаю кода на руби мы не увидим ))

хочу посмотреть какой код пишут местные олигархи на руби что бы было так сказать к чему стремится

а почему решили на PHP изобразить?
на Ruby разве такого низя написать?

берем например, и читаем:
Symfony2 versus Flat PHP

там пошагово и показан пример, как структурировать линейный скрипт, а в конце, чтобы не изобретать велосипед — взять фреймворк.
в чем повинен — PHP?

а если бы шла речь о Java — вы бы написали говнокод на Java?
и сказали бы что это Java — полное гуано? ;)

а я вообще не пхпапист, так побаловался.

а сейчас начал готовится к выбору Grails vs Rails.

просто — мне хватило чуть-чуть поиграться с PHP чтобы понять что бОльшая часть поливания его грязью — либо от «неглубокого» знания PHP 5.* и тенденций последних лет в нем
либо от усталости, многих лет использования. Программисты они такие, устают от многолетнего использования инструмента. раздражаются по мелочам. я вот так никогда не прощу Гослингу что пожмотился на мелочь:
=== - для equlas

отличная статья, давно искал что то похожее

А что из «вставленного» является особенностью пхп?

Но, раз уж я там процитирован, то справедливости ради скажу. Г0внокод — это не плохо, и абсолютно не значит, что его никогда и нигде нельзя использовать. Главное делать всё с умом и понимать зачем ты это делаешь.

Есть, например, область — прототипирование программного обеспечения, а конкретно — throwaway prototyping. Откуда с паттернами, фреймворками и экранированием Вы будете посланы сраной метлой, так как нарушаете главный принцип подхода, чем приносите прямые убытки.

Опять же, такой подход вначале карьеры будет более эфективным для новичка, и даст понять почему так не стоит делать. Что даст более глубокие знания в предметной области (да, чёрт возьми, каждый с этого начинает в _любой_ технологии).

Не стоит его бояться, но использовать г0внокод повсеметсно, конечно — плохая практика 8)

но использовать X повсеметсно, конечно — плохая практика 8)

2.
Извините! Это я интересовался особенностями синтаксиса, исключительно, прошу заметить, в общеобразовательных целях :) (еще подумаете, чего доброго, что я такую значимую технологию не уважаю). Что код говно я где-то в другом месте писал :)

Главный критерий, это не за сколько код написан, а сколько времени он должен прожить. Если этот код на 5 минут — то да, все ок.

Явное незнание синтаксиса :)

Это вы считаете корректной конструкцией? Как-то или или

та это все понятно. что собеседование пройдете :)

но код что вы привели — читаем без знания «фреймворка Х».

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

вы написали код, в тему одного очередного свежего обсуждения в узко программерских кругах:

sorhed: Существует единственный критерий качества кода — лёгкость, с которой другой программист может в нём разобраться.

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

Проще говоря, границы между подсистемами — интерфейсы всякие, могут занимать 0 байт, но имеют куда большую ценность чем куски ими связанные. Вот над чем реально стоит думать программисту. А реализацию кусочков можно смело писать на от*бись за час. И пока какой-нибудь коллега-задрот делает тоже самое два дня — покрывая тестами, разделяя на классы, и наводя код стайл — жрать пиво.
jakobz.livejournal.com/241973.html

В известной книге Code Complete МакКоннелла говорится, что главное качество кода это как раз легкость его изучения другим программистом. Если у вас подсистемы разделены и ’с пакетов не капает’ - это здорово, но что вы будете делать, если надо будет залезть в какой-то пакет? Нырнете по локти в мокрую жижу и будете заняты уже вы 2 дня, а другой коллега пойдет допивать ваше пиво? Сравните экономию времени, код пишется один раз (вы выигрываете по времени), зато изменяется потом достаточно часто (проигрываете).

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

P.S.
и php в таком коде не повинен.

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

только вопрос — а если вот вам будет задача, перевести такой код на Rails — сможете без предварительного изучения CakePHP?

а этот код не требует никаких дополнительных знаний, кроме примененных ЯП.
вот в чем прикол у вас случайно получился :)

Нет, признайтесь, вы шутите или серьёзно не понимаете разницы между простым «САМОДОСТАТОЧНЫМ» кодом без лишних зависимостей и тем говнокодом, который был в примере?

Нет, признайтесь, вы шутите
судя по вопросу вы употребляете слово «шутите» не понимая его смысла.

рекомендую прочесть например книгу, для предварительного изучения:
«Вы конечно шутите мистер Фейнман».

Видимо не шутите, ну ок :)

конечно я на полном серьезе.
а вы как думали после 20ти лет в программировании — только серьезность помноженная на полное невежество!

ужасного и невыносимого для написания
Я такого не говорил, это вы что-то придумали :)

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

Тогда не совсем понимаю о чём тут речь

вообще не понимаю как люди заставляют себя на нем писать
Меня, лично, смущает
то, что
я имею о нём весьма поверхностные представления
Вот, так хорошо. Вот так всегда сразу и говорите. В противном случае, будете как чукча с бензопилой из анекдота («О, она ещё и заводится!»)
Вот, так хорошо.
Рад, что вам понравилось :)

Ну, да, я так и понял.

Думаю это можно запараллелить, и что такое body, head, style, function, etc... — он поймет :)

целиком и полностью не разделяю вашу точку зрения.

Хорошо, пусть не php.net, а stackoverflow.com

p.s. а вообще, как и многие другие языки, php начинать изучать стоит с C++

Провести лет десять за изучением плюсов будет достаточно, чтобы начать изучать пхп?

Кому как, но в среднем, думаю, полугода будет более чем достаточно.

Я там все понимаю, но говорить не могу.

Підписатись на коментарі