Goal abandoned
The author does not write in the goal 7 years 9 months 13 days
Подготовиться по статье " Что должен знать Junior PHP разработчик"
Деньги заканчиваются, с обучением я явно затянул, нужно собраться и устраиваться junior-ом хоть куда
Goal Accomplishment Criteria
Навыки получены (подтверждено наставником)
Personal resources
Мотивации выше крыши
Goal ecological compatibility
Нет более экологичной цели
-
Знакомиться с Linux
- установить дистрибутив, рекомендую ubuntu
- изучить файловую систему и её особенности
- научиться использовать командную строку
- научиться редактировать текстовые файлы в vim/nano
- научиться выходить из текстовых редакторов с сохранением и без ;)
- разобраться с управлением процессами — просмотреть запущенные, убить зависшие
- установить Apache, PHP и MySQL
- узнать о SSH
Установив Apache — научитесь его настраивать и рестартовать:
- sudo a2enmod ...
- sudo a2ensite ...
- sudo service apache2 restart
-
SQL/MySQL
немного вникнуть в MySQL и понимать различия между MyISAM и InnoDB. Знать как работают LEFT/RIGHT/INNER JOIN’ы
Проверьте свои познания — создайте базу данных для учёта вашей домашней библиотеки (у вас же есть такая?), в ней должны быть следующие сущности:
- книги
- авторы книг
- ФИО тех, кто брал почитать
-
принцип работы HTTP протокола (эти знания можно почерпнуть в профильных ВУЗах). Так же вы должны поверхностно знать о существовании TCP/IP п
-
HTML и CSS
верстайте пару страниц, от и до. Не слушайте, что это работа дизайнера/верстальщика/кого-то еще. Поверьте моему опыту — вам отдадут свёрстанную страницу, никто за вас не будет интегрировать HTML шаблон в вашу систему, так что знание HTML и CSS в обязательном порядке. И забудьте о том, что верстальщики будут готовые шаблоны вам отдавать — это сказки.
Разберитесь с селекторами в CSS, следующий код не должен вызывать у вас ужаса:
?1
2
3
#my p.sel:first-line, .main li li a:hover + span {
color:#f00; /* Что это за цвет? Включи логику! */
}
Узнайте что есть блочная модель, да как работает float. Что есть margin и padding. Почему CSS это каскадная таблица стилей, и что есть такое понятие как специфичность CSS-селектора.
-
JavaScript
- синтаксис знать нужно в обязательном порядке
- понимать область видимости переменных
- познать замыкания
- изучить события, и разобраться со «всплытием»
- AJAX — что за зверь, как работает
-
PHP
- нужно знать что такое переменные и константы
- типы данных, приведение типов и сравнение данных
- область видимости переменных
- приоритеты операторов
- побитовые операции
- управляющие конструкции
- пространства имён
- чуток затронуть строковые функции, такие как:
- explode()
- str_replace()
- strpos()
- substr()
- trim()
- но их куда больше…
- работать с массивами нужно постоянно — функций много, я бы обратил внимание на следующие:
- array_push()
- array_pop()
- array_map()
- array_keys() и array_values()
- семейство array_diff и array_intersect
- различные сортировки
- поиск по массиву in_array() и array_key_exists()
- работа с файлами и файловой системой тоже вполне тривиальная задача
- порекомендую досконально изучить как работает подключение файлов
- и понять как происходит работа с сессиями
- узнать на практике как обрабатывать входные данные с форм
- поработать с базой данных с помощью PDO
А ещё нужно иметь представление об объектной модели в PHP:
- наследование
- область видимости свойств и методов
- магические методы
- обработка ошибок с помощью исключений
Дополнительно требуется:
- понимание паттерна MVC
- уметь работать в IDE отличной от текстового редактора
- знание английского на уровне понимания примеров на stackoverflow
Так что ещё забыл, ах да — система контроля версий:
- пройдите обучалку по Git на Code Academy либо GitHub
- почитайте Git Book
- заведите аккаунт на GitHub
- сохраните в закладки GitHub Guides
- 938
- 15 January 2017, 12:52
Don't miss new posts!
Subscribe for the Goal and follow through to its completion