В течение двух недель я участвовал в 42 Силиконовой долине PHP piscine (причудливый способ сказать курс). В течение каждого дня мы должны были выполнять набор упражнений, различающихся по сложности, тематике и продолжительности. От базового HTML и CSS до обработки сеансов и ООП в PHP. Вот что я узнал.

Первая неделя

День 00 был просто HTML и CSS, чистым и простым. Первые пару задач были легкими, но очень трудоемкими. Мне пришлось создать отзывчивую прилично выглядящую периодическую таблицу, выпадающее меню и воссоздать самый уродливый веб-сайт, который когда-либо существовал, с абсолютным позиционированием (вот репозиторий для проекта!).

Было полезно обновить классы, теги и организацию HTML. Хуже всего было определенно набирать массу, символ и атомный вес каждого элемента (позже я обнаружил, что некоторые другие студенты использовали API и базовые скрипты для заполнения этой информации, что в тысячу раз лучше, чем то, что я сделал).

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

Определение нечетности числа, разбиение строки на массив, сортировка строк, установка файлов cookie, методов GET и POST. Очень интересно, потому что это был мой первый раз, когда я имел дело с чем-либо, связанным с Интернетом.

Последний день недели был самым интересным, на мой взгляд. Для этого нам пришлось создать полнофункциональные формы входа. Это означает хранение пользователей, хэширование паролей, манипулирование файлами, проверку. Все просто, проблема заключалась в работе с сериализованными массивами, так как никакому управлению базой данных мы еще не научились.

Ажиотаж

Используя все знания, которые мы получили за первую неделю, перед нами стояла задача создать сайт электронной коммерции со следующими функциями: управление данными о пользователях и товарах, проверка входа в систему, обработка заказов (не оплата), адаптивный дизайн и память сеансов. Все это за 36 часов и командой из двух человек.

Вторая неделя

В течение следующих нескольких дней мы занимались управлением базой данных с помощью MySQL. Для этого нам нужно было выполнить 21 задачу за 24 часа. Это было хорошо, интересно использовать, но у нас не получилось реализовать это глубоко.

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

Я хочу выделить день 07, в котором нам пришлось использовать вселенную Game of Thrones для создания классов, которые, когда они взаимодействовали друг с другом, имели смысл.

Далее мы занимались интерфейсами, абстрактными классами, клонированием объектов, их хранением. Изучение того, как все это взаимодействует, чрезвычайно полезно. Это имеет смысл. Это то, что вы видите в будущем (по крайней мере, концепции, не обязательно точный пример).

Так здорово, но что я узнал?

Я узнал, что существует и как с этим работать.

  • HTML/CSS
  • Синтаксис PHP
  • PHP в командной строке
  • Глобальные переменные/сеансы
  • MySQL
  • ООП
  • Классы/объекты
  • Интерфейсы/доступность

Я определенно не стал экспертом в PHP, но я могу сказать, что я стал свободно им пользоваться, и я думаю, что это хороший результат всего за две недели. Честно говоря, я даже не был заинтересован в изучении PHP, как и все, я думал, что мне следует React, Node, Django, MongoDB или что-нибудь причудливое и не поймите меня неправильно, я все еще делаю это, но я подумал это была прекрасная возможность глубоко погрузиться во что-то, что, хотя и не может показаться "горячим", является важной частью основы Интернета.

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

Меня зовут Кев Лозано, я учусь в 42 School в Силиконовой долине (школа разработки бесплатного программного обеспечения во Фремонте, Калифорния). Если вам интересно, как я становлюсь профессиональным инженером-программистом, следите за мной здесь! Я буду публиковать информацию о каждом своем проекте.