Junior Web Developer или что нужно знать для устройства на работу.

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

С чего же начать человеку который решил стать на путь PHP?

Ну сперва нужно четко для себя уяснить что "чистый" PHP никому нафиг не нужен. Сайт на php состоит в связке с БД MySQL(чаше всего, но могут быть и другие), JS(в основном jQuery) HTML CSS. По этому пройдемся по порядку.

PHP - основы.

1)Работа со строками. Знать хотя бы три функции и что они делают. Например чаше всего используют str_replace(), strpos(), strlen().

2)Массивы. Почти все время придется работать с ними. например Zend2 в конфигурационных файлах использует многомерные массивы. По этому, уметь "раскрутить" многомерный массив. Знать несколько функций для работы с массивами , например array_search(), array_key_exists, in_array().

3)Циклы. Понимать в чем разница между for, foreach, while. Знать какой из них для чего лучше применять. знание какой из данных циклов работает быстрее. Так же условия. Четкое понимание разницы между if-else, switch-case

4)Функции. Хоть почти все проекты на php обычно объектно ориентированны, бывают случаи когда проще и быстрее написать свою ф-ю для обработки данных. Обязательное понимание возвращаемых значений, обязательные и необязательные параметры, область видимости переменных внутри ф-и и вне.

5)Сессии и куки. Обязательно знание где применяются и записываются сессии, где хранятся куки. Запись и чтение из сессии и куки. Излюбленный вопрос работодателя "Если у клиента отключены куки, то поднимется ли сессия?"

6)Работа с Базой Данных. Сразу скажу что mysql_connect() и любая другая ф-я с префиксом mysql_ уже deprecated. По этому пользуются ее аналогом mysqli_ или PDO. Нужно умение создать подключение к бд, выполнить запрос, вернуть данные.

7)Типы данных в php. Знать обязательно.

8)POST, GET. Отличия между ними, где,какой и для чего применяется.

9)Работа с файлами и папками. Там же будет пример рекурсии для обхода папок.

10)Регулярки RegExp. ф-и для работы с регулярками preg_match(), preg_match_all(), preg_replace(). Модификаторыб квантификаторы, якоря и т.д. Излюбленная задача на собеседованиях - написать регулярку для выдирания всех ссылок со страницы.

11)Обращения с датой и временем.

12)Защита от XSS, javascript и sql иньекций. В общем безопасность php приложений.

Это самые основы которые должен знать любой php разработчик. К сожалению по данным пунктам я не могу посоветовать хорошую книгу, потому как когдя я все это изучал, на дворе был 2006 год, а за это время в php уже многое поменялось. Единственное что я вам могу посоветовать это офф сайт http://www.php.net . При прочтении учебника и натыкания на функции, проверяйте их на данном сайте и смотрите что бы они не были в статусе deprecated, а если они в данном статусе, то смотрите их аналоги.

Во второй части я расскажу, что обязательно нужно знать про объектно ориентированное программирование в PHP. В третьей коснусь HTML, CSS, Javascript. В четвертой расскажу немного про само устройство на работу и выбор компаний. А так же затрону тему framework'ов и профессионального роста.
Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий
берд какой-то.
любой человек, который назвает себя программистом, должен почти все это знать по умолчанию. если он не знает, что такое циклы, то о какой работе вообще может идти речь.
программирование - это не набор тем, которые ты "знаешь", это наука, в конце концов.
вообще при приеме на работу, основная характеристика джуниор-программиста - не то что ты знаешь, а то насколько быстро ты можешь научиться новому.
когда я на работу устраивался, меня спросили:
- Под iOS когда-нибудь писал?
- Нет.
- Отлично, вот тебе задание. 2 недели на изучения iOS SDK и objective C и 2 недели на задание.
раскрыть ветку (51)
1
Автор поста оценил этот комментарий
Расскажи, много людей которые хотят пойти работать программистами, не имея соответствующего образования знают это?
раскрыть ветку (50)
Автор поста оценил этот комментарий
ммм не совсем понял вопроса.
знают что?
раскрыть ветку (49)
1
Автор поста оценил этот комментарий
Что им нужно знать для устройства на работу как начинающему без опыта работы?
раскрыть ветку (48)
Автор поста оценил этот комментарий
если человек хочет работать программистом, то он до этого, что то делал сам. изучал писал калькуляторы и прочее.
если он не знает, что ему для работы нужно уметь совладать с циклами, то он просто не знает, что такое программирование, и в таком случае он не может знать хочет ли он программистом быть или нет.
раскрыть ветку (47)
1
Автор поста оценил этот комментарий
Ок. Некоторые учебники уже безбожно устарели и информация в них не актуальна. Как считаешь, много людей будет изучать именно актуальную информацию не зная про это? И другая сторона. В каждой конкретной технологии есть свои инструменты, паттерны, шаблоны и т.д. Учебник для начинающего не дает понимания конкретных актуальных знаний для конкретной области разработки типа Frontend/Backend. Откуда человек узнает что конкретно сейчас актуально и на что нужно обратить внимание, а что выкинуть за ненадобностью?
раскрыть ветку (46)
Автор поста оценил этот комментарий
как ты считаешь, паскаль это актуально?
раскрыть ветку (45)
1
Автор поста оценил этот комментарий
Нет. Но это я так считаю.
раскрыть ветку (44)
Автор поста оценил этот комментарий
на паскале сейчас никто не пишет, придешь устраиваться на работу, паскаль там никому не нужен... НО
он идеален для того чтобы начать программировать. почти все школьники, включая меня, начинали с паскаля. и на то время он был мертвым языком.
к чему это я... к тому что, чтобы научиться программировать, не надо искать новые книжки и думать об актуальности технологий. берешь книжку Попова "Turbo Pascal для школьников" и все, язык мертвый и толку от него на первых парах будет больше чем по крутому "ООП для PHP c шаблонами"
раскрыть ветку (43)
Автор поста оценил этот комментарий
Давай на чистоту. На паскале учат потому что больше ничего другого препод не знает. Я слава богу в техникуме начинал с С++ и это дало мне намного больше пользы чем Паскаль. Ну если на то уже пошло, то тогда уже нужно брать толстенные книги Кнута и изучать их. Они не привязаны к конкретному языку.
раскрыть ветку (42)
Автор поста оценил этот комментарий
нет, паскаль хорош тем, что он строго типизирован и структуирован, сложнее допустить ошибки. начинающие с С++ часто просто бросают, потому что не могут терпеть столько ошибок и крашей. меня щас от Паскаля просто тошнит, но то что на нем было легко учиться - большой его плюс
раскрыть ветку (41)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку