Как стать Веб-программистом: Глава 1. Введение.

Mar 13, 2016 09:23

Многие задают вопрос: как им стать программистами, ведь вроде как прибыльно и всё такое[Спойлер](ха-ха). А потом определяются, что лучше всего стать Веб-программистами: быстрее и проще всего.



Во-первых, надо понимать, что есть два типа Веб-программистов:

а) специлизирующиеся на всяких коробочных движках, типа Magento, Joomla, Drupal, Shopify, Wordpress, и прочие высеры больной программерской мысли, о которых я здесь не буду говорить, чтобы меня не обвинили в разжигании межрасовой вражды.

б) обычные Веб-программисты. Они в принципе мало чем отличаются от остальных программистов, только платят меньше.
Как уже написал, буду говорить только о второй категории.

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

1. HTML5, CSS3, Javascript, jQuery. Тут надо определиться, хотите ли вы верстать. То есть это когда прыщавая бабёнка с завышенной самооценкой отсылает вам файлик PSD, а вы из него делаете веб-страничку. Потом она начинает на вас орать, что у вас отступ от картинки 6 пикселей, а в PSD было 5, как это можно было не заметить?! Потом клиент начинает на вас орать, что на его говноайфончике 8S всё поехало, хотя на вашем Lenovo A806 отлично выглядит. Да, работу кстати придётся делать дважды: вначале под компы, потом под телефоны, ибо всем же ж обязательно надо с телефона зайти.
Короче, если вы хотите верстать, то тут чтение можно закончить и идти качать эти три скилла. Потом ещё будет несколько попсовых библиотек, типа всяких Bower, Grunt и прочих поделок, заставляющих верстальщиков чувствовать себя очень важно.
Если же верстать вы не хотите, то это надо просто неплохо знать.

2. PHP, SQL.
Есть такие, которые кодят на ноджс, питонах, руби, гоу, перле, да много на чём. Ну пусть себе кодят, а мы рассмотрим классический-преклассический вариант с РНР. На момент написания статьи уже есть РНР 5.7, хотя реально вам придётся кодить под РНР 5.5, а на серверах клиента будет стоять РНР 5.3, в котором масссивы можно писать только так: array(...), а не так: [...], а ещё не поддерживается половина либ с неймспейсами, короче для переноса на хостинг вам придётся переписать парочку библиотек и половину своего кода.
SQL сам по себе - это язык запросов к базе данных, но вам придётся работать с конкретной системой управления базами данных, обычно это будет MySQL (есть ещё MariaDB, это то же самое). Если у клиента стоит PostgreSQL, поздравляю - вы крут и устроились на не худшее место, где скорее всего хотя бы понимают, что такое транзакции и всё такое. Некоторые кодят на РНР под винду, у них будет MS SQL. В принципе, всё.
Ах, да, нереляционные базы данных. Redis быстрее, но его можно не учить, а главное выучить MongoDB. Всё это ещё одна попса, которую придётся выучить, чтобы не применять, но писать в резюме.

3. Фреймворки. Сейчас существует их туева хуча, один другого говнистее. Разница в уровне понтов разрабов на нём и в том, насколько сильно надо прирости жопой к гитхабу. Основная суть состоит в том, что код мы пишем в одном файлике, с условиями хранения данных извращаемся в другом, а html пишем в третьем, зачастую на каком-нибудь извращённом недоязыке, который тоже придётся учить (twig, smarty и прочее - всё сюда).
На момент написания самый длинный у Laravel. Эти парни взяли код от Symfony и допилили его так, чтобы на нём смогли программировать нормальные люди. Прикрутили обычные модели, как везде. Стартаперы всё это дело любят, в общем.
Собственно Symfony. Это тяжеленный комбайн для того, что гордо называют Enterprise - то бишь, софт для крупных компаний для учёта чего-то-там. Обычно структура данных имеет в таких классический вид, типа - есть клиенты, у которых есть заказы, в которых есть продукт, у которого есть запчасть, у которой есть поставщик, и т.д. Всё заточено под это. В симфони ещё есть подкомбайн для работы с данными Doctrine, которую слизали с явовского Hibernate для аналогичных нужд.
Тупой и стрёмный как говно мамонта, но очень популярный - Codeigniter. Ничего особенного, просто работает, и на том спасибо.
CakePHP, Yii, Yii2, Kohana, Zend (устаревающая классика)... Всё это занимает какие-то дырки в каких-то нишах.

4. Так, подумаем, чё ещё. Ну можно отдельно сказать про библиотеки Javascript.
jQuery - тут без коментариев, надо просто знать. Это типа каким надо было сделать Javascript, но не сделали. В коробке куча свистелок, перделок и вещей, облегчающих жизнь.
Angular - невероятно попсовая штука, а на деле отборное и образцовое говно. В принципе оно найдёт свое реально нужное применение в приложениях с сильным фронтендом, когда надо много всего и постоянно перерисовывать (особенно списки), но пихают это требование в чуть менее чем все вакансии. В последнее время начали пихать также ember, говорят что лучше и сложнее (не пробовал).
Bootstrap - набор готовых элементов дизайна, плюс немного удобств, чтобы самому не писать переключающиеся вкладки. Вставляют в каждую вакансию, делая вид, что унифицируют код.

5. Куча различных знаний про проектирование, дизайн паттерны, agile методологии и прочие кривые зеркала, визуально увеличивающие причинные места програмистов и их нанимателей. Буду подрассказывать по мере необходимости.

6. Git, SVN. Когда 20 человек одновременно пилят код, приходится что-то делать, чтобы код друг друга не потёрли. На деле всё равно трут, но зато чувствуют себя важнее.

Ну как-то так. Что с этим всем делать, как начать и куда двигаться - в следующей главе.

какстатьвебпрограммистом

Next post
Up