Чернышов Роман - Веб-разработчик. Легкий вход в профессию стр 7.

Книгу можно купить на ЛитРес.
Всего за 399 руб. Купить полную версию
Шрифт
Фон

Где черпал вдохновение?

Насколько мне известно, никто не знает ответа на этот вопрос, сколько бы ни искал. Само приходит: появилась идея, начал думать о ней, что-то фантазировать. Уже не можешь уснуть и пошел делать.


Что бы ты посоветовал новичкам?

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


А так, думаю, если нет предрасположенности к сфере «айти»: интереса понять, как что-то работает, желания иметь возможность на это повлиять, то не имеет смысла этим заниматься. Сегодня почти все профессии плюс-минус могут приносить хороший заработок. Лучше делать что-то в сфере, к которой есть максимальный интерес. Для тех, кому это скучно, вероятнее всего это и останется скучным. Мне в математике всегда нравились формулы, поиск решения и результат. И кайф от того, что нашёл (или сделал, если касается программирования) то, что работает.

5. Умный просто умеет «гуглить»

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

Билл Гейтс

Я часто слышу от людей, далеких от «айти» (хотя и не от далеких тоже), следующее: чтобы стать программистом, надо быть в первую очередь очень умным, и якобы не всем это дано. Мол, надо в совершенстве знать алгебру и математику, владеть алгоритмическим и логическим мышлением, знать английский язык (а еще лучше множество языков) и иметь память как у слона (как известно, они славятся исключительной памятью), чтобы выучить, понять и запомнить огромное количество команд и функций (которых сотни или даже тысячи).


Возможно при решении каких-то задач (при написании драйверов устройств под операционную систему или разработки «физики» в RPG-игре) действительно всё вышеописанное нужно знать и всем перечисленным пользоваться. Но на практике для старта в профессии всё это совершенно не обязательно. А секрет в том, что просто нужно уметь пользоваться поиском в интернете, то есть «гуглить»  принцип «обучение во время работы»  по мере поступления задач.


Имея базовое понимания, как устроен язык программирования (об этом поговорим в следующих главах), будь то язык гипертекстовой разметки HTML или скриптовый язык общего назначения PHP, все остальное можно найти в «сети»: как справочник по командам, с описанием каждой команды и в частности искомой вами, так и множество примеров готовых блоков кода для решения конкретной задачи, написанных другими программистами (причем в нескольких вариантах).


Например, можете задать поисковый запрос: «php как округлить число» и тут же получить ответ, с примерами: «для округления чисел в php, есть функция round». Или задать такой поисковый запрос: «css как сделать подчеркивание у текста», и сразу выяснить ответ с примерами: «задайте свойство для элемента text-decoration: underline». Можно сформулировать и поискать решение по более сложному вопросу.


Удивительно, но среди желающих начать свой путь в «айти» много тех, кого останавливает страх перед большим объемом информации, который якобы необходимо знать наизусть. Это конечно неплохо, однако практически невозможно (особенно для новичка). Нет, друзья, гуглят все и постоянно. Я пишу код, и при этом история моего поиска в браузере пополняется десятками запросов, каждый день! Хотя с кодом я работаю большую часть жизни.


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


Однако есть важный нюанс! Когда речь идет о поиске решения, не подразумевается, что это решение должно быть готовым, что называется, «под ключ». Совершенно нет! Программу вы пишете условно с нуля и каждую строку кода внимательно обдумываете, а к «всемирной паутине» обращаетесь именно за информацией по части команд или примеров готовых блоков кода. Они лишь могут являться частью проекта. Еще раз «только команды и блоки кода». Разумеется, глупо было бы говорить о программисте, который вместо разработки проекта и написания кода постоянно ищет аналогичное решение уже кем-то реализованное. Нет, ни в коем случае!


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


Вот пример списка поисковых запросов, которые могут быть актуальны при разработке, например, «формы обратной связи» на сайте, функционал которой следующий: «пользователь может указать в форме: тему, текст сообщения и e-mail для связи с ним, затем, нажав кнопку отправить, данные отправлялись бы администратору сайта в админпанель и на его e-mail».


Пример списка поисковых запросов:

 Пример HTML-формы для отправки запроса на сервер.

 HTML тег INPUT и его параметры.

 Что такое POST-запрос.

 PHP обработка POST-запроса.

 PHP подключение к базе данных MySQL.

 PHP подготовка данных для вставки в БД.

 PHP пример вставки строки в таблицу MySQL.

 PHP отправка сообщения на E-Mail.

 PHP параметры функции mail ().

 CSS для оформления блока «спасибо за сообщение».


Вы спросите: «Откуда же мне знать заранее, еще до написания программы и вообще не имея опыта, что искать в сети? Вот откуда на начальном этапе мне знать про какую-то там команду mail (), чтобы искать про нее информацию?».


На самом деле все просто. Вам не нужно формулировать сразу весь список вопросов для поиска. Надо лишь сформулировать первый. Просто подумайте, с чего начинается ваша программа? С HTML-формы, куда пользователь будет вводить сообщение. Вот и поищите информацию о ней. Изучая найденный HTML-код, вы увидите в нём теги INPUT, изучите их, также найдя про них информацию. Затем подумайте, что должна делать форма? Верно, отправлять данные на сервер. Поищите информацию, как это сделать, отправить и принять данные. Вы встретите упоминания о POST-запросе отлично, «погуглите» про него. И так дальше, шаг за шагом, по мере продвижения вашей работы.


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

6. Полный стек

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

Алан Кёртис Кэй

В мире «айти» есть разные профессии, одних только типов программистов насчитывается несколько десятков, и все в определенной степени являются специалистами просто разными. Одни разрабатывают приложения для мобильных устройств, другие пишут программы для операционных систем семейства Linux, третьи работают с веб-технологиями. Для работы в каждом направлении, требуется уникальный перечень технологий, который программист должен знать. Это называется «стек» (т.е. список) технологий».


Бывают узкоспециализированные программисты, которые знают ограниченное количество технологий. Их преимущество в том, что они знают эти технологии в совершенстве, оттачивая мастерство годами. К недостаткам можно отнести то, что, ограничившись определенным, узким «стеком» программисту будет крайне сложно реализовать готовый «продукт», с нуля до конечного «релиза» (выхода в свет). Готовый продукт чаще всего требует гораздо большего набора технологий, чем владеет узкоспециализированный программист.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3