Massdomain.ru

Хостинг и домены
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое разработка: объяснение для новичков

Инструментарий типичного программиста чаще всего состоит из следующих вещей:

  • компьютер;
  • интернет (прежде всего он нужен для поиска всего неизученного и неизвестного в любом из известных поисковых сервисов);
  • редактор кода (или IDE — комплекс программных средств, используемый программистами для разработки программного обеспечения), который поможет упорядочить всё, что вы создаёте;
  • компилятор или интерпретатор. Это программа, которая читает ваш код и пытается найти в нём ошибки. Затем он собирает ваш код в единый пакет и передаёт компьютеру для выполнения;
  • наушники. Возможно, вас будут отвлекать внешние шумы, а наушники — один из простых способов оградить себя от шумов.

Вы можете использовать бесплатное ПО в начале работы, такое как Atom и Notepad++. Также можно попробовать SublimeText, однако этот редактор является платным.

Евгений Кучерявый, автор блога онлайн-университета SkillBox, рассказал, чем занимаются веб-разработчики и какие языки им непременно нужно знать.

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

1. Обучение HTML

В первую очередь начинающий frontend-разработчик должен освоить HTML — язык гипертекстовой разметки. Это базовый инструмент, который позволяет вынести на страницу все основные элементы, будь то фотографии, таблицы или текст.

2. Обучение CSS

Внешне написанная на HTML интернет-страница будет напоминать простейший текстовый документ. Чтобы «оживить» его, используется каскадная таблица стилей или CSS. Она меняет не структуру страницы, а ее внешний вид: шрифты, расположение элементов, тени и цвета. Другими словами, если HTML используется для описания логической структуры страницы, язык CSS отвечает за графические элементы и прописывается в отдельном файле.

Читайте так же:
Браузер не открывает сайты хотя интернет есть

3. Обучение JavaScript

Наконец, чтобы элементы веб-сайта могли перемещаться и реагировать на действия пользователя, разработчик прописывает код на языке JavaScript. Он заметно сложнее первых двух, но результат стоит того: от скриптов зависит появление всплывающих окон или же перетаскивание элементов на странице (например, сортировка фото в соцсети). В отличие от CSS, код JavaScript встраивается в структуру HTML, поскольку влияет не на внешний вид элементов, а на их поведение на странице.

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

1. Обучение PHP

Базовый инструмент backend-разработчика — язык программирования PHP. Он нужен, чтобы связать видимую пользователю страницу с сервером, где хранятся какие-либо данные. Например, чтобы не выкладывать на веб-сайт по одной фотографии при помощи HTML, можно запустить скрипт, автоматически подгружающий туда условную галерею, лежащую на сервере. Язык PHP настолько сильно упрощает работу по созданию сайта, что изучать его SkillBox рекомендует и frontend-разработчикам.

2. Обучение SQL

Аббревиатура SQL расшифровывается как «структурированный язык запросов». В отличие с PHP, который нужен для связи сайта с сервером, языки SQL позволяют управлять уже самими базами данных. Сейчас существует множество подобных языков, самые распространенные из которых — это MySQL, MSSQL, PostgreSQL и прочие.

Разработчики «полного цикла» в совершенстве владеют языками, необходимыми как для frontend-, так и для backend-программирования. Они являются универсальными специалистами, хотя, очевидно, глубина их погруженности в какую-то конкретно область веб-разработки уступает осведомленности узких специалистов.

Инструменты [ править | править код ]

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

Читайте так же:
Браузер который не жрет оперативку 2018

В процессе программирования в настоящее время широко используются интегрированные среды разработки [9] [10] , в состав которых обычно входят:

    для ввода и редактирования текста программ [10] ; для отладки (поиска и устранения ошибок); для преобразования текста программы в машинное представление; для сборки программы из нескольких модулей;
  • другие служебные модули и инструменты.

Высокоуровневые языки программирования

Для решения проблем читабельности кода и чрезмерной сложности были разработаны высокоуровневые языки программирования. C, C++, Pascal, Java, JavaScript и Perl — это всё языки высокого уровня. Они позволяют писать и выполнять программы, не переживая о совместимости кода с разными архитектурами процессоров. Программы, написанные на языках высокого уровня, также должны быть переведены в машинный код перед выполнением. Есть два варианта:

компиляция, которая выполняется компилятором;

интерпретация, которая выполняется интерпретатором.

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

Проще говоря, процесс компиляции выглядит следующим образом:

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

Любой язык программирования может быть компилируемым или интерпретируемым, однако, такие языки, как C, C++ и Pascal — компилируются, в то время как «скриптовые» языки, такие, как Perl и JavaScript — интерпретируются. Некоторые языки программирования (например, Java) могут как компилироваться, так и интерпретироваться.

Вывод

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

Читайте так же:
Браузер без ip адреса

Императивное программирование

Примеры языков: C, С++, Go, Pascal, Java, Python, Ruby

Императивное программирование устроено так:

В языке есть команды, которые этот язык может выполнять. Эти команды можно собрать в подпрограммы, чтобы автоматизировать некоторые однотипные вычисления. В каком порядке записаны команды внутри подпрограммы, в том же порядке они и будут выполняться.

Есть переменные, которые могут хранить данные и изменяться во время работы программы. Переменная — это ячейка для данных. Мы можем создать переменную нужного нам типа, положить туда какое-то значение, а потом поменять его на другое.

Если подпрограмме на вход подать какое-то значение, то результат будет зависеть не только от исходных данных, но и от других переменных. Например, у нас есть функция, которая возвращает размер скидки при покупке в онлайн-магазине. Мы добавляем в корзину товар стоимостью 1000 ₽, а функция должна нам вернуть размер получившейся скидки. Но если скидка зависит от дня недели, то функция сначала проверит, какой сегодня день, потом посмотрит по таблице, какая сегодня скидка.

Получается, что в разные дни функция получает на вход 1000 ₽, но возвращает разные значения — так работает императивное программирование, когда всё зависит от других переменных.

Последовательность выполнения подпрограмм регулируется программистом. Он задаёт нужные условия, по которым движется программа. Вся логика полностью продумывается программистом — как он скажет, так и будет. Это значит, что разработчик может точно предсказать, в какой момент какой кусок кода выполнится — код получается предсказуемым, с понятной логикой работы.

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

Читайте так же:
Игра не видит видеокарту radeon

Суть императивного программирования в том, что программист описывает чёткие шаги, которые должны привести код к нужной цели.

Звучит логично, и большинство программистов привыкли именно к такому поведению кода. Но функциональное программирование работает совершенно иначе.

Карьера программиста: джун, мидл, сеньор

Карьера программиста имеет три ступени: Junior («джун»), Middle («мидл»), Senior («сеньор»).

Джун, джуниор (Junior), начинающий программист

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

  • прикладной теоретической базе
  • основам одного из языков программирования
  • работе с XML, JSON
  • основам одного из фреймворков
  • основам среды разработки — программа для написания кода
  • алгоритмам
  • работать с консолью (терминалом)
  • основам баз данных
  • некоторым методологиям разработки и взаимодействию с другими участниками проекта
  • основам контроля версий кода

Примеры задачи перед джуном: транслитерация входящей строки, написать подпрограмму для проверки значений.

Чтобы чувствовать себя увереннее на собеседовании, нужно приобрести кое-какой опыт работы. Прекрасным примером такой работы может быть собственный pet-проект (например, собственный сайт или самописная консольная утилита). К собеседованию нужно готовиться тщательно, потому что много и глубоко спрашивают, в том числе могут дать логическую задачу. Старайтесь не быть поверхностным. Это нормально, если пройдёте много собеседований прежде, чем вас возьмут на работу джуном. Начинающих очень много.

Мидл (Middle), программист среднего уровня

Мидл — это вполне самостоятельный программист, который может справиться с любой задачей. Мидл имеет довольно глубокие знания в:

  • в языке программирования — особенностях, подводных камнях, предельных возможностях языка
  • одном или нескольких фреймворках
  • всех основных методологиях разработки (SOLID, DRY, KISS, YAGNI, DIE, DDD, TD)
Читайте так же:
В процессе установки произошла ошибка яндекс браузер

Мидл должен понимать цели и задачи продукта, который он разрабатывает, а также хорошо понимать предметную область, в которой он работает, например, финансовую. Перед ним могут поставить такую, например, задачу: разработать приём платежей в программе. Мидл должен самостоятельно выбрать инструментарий, выстроить архитектуру, прописать план и точные сроки выполнения. Таким образом, в его задачи входит и административная работа.

Сеньор (senior)

Сеньор — это программист высшего порядка. Он умеет разработать архитектуру новой программы или сайта. Для того, чтобы эта программа была создана требуются и другие люди. Сеньор умеет ставить перед ними задачи и контролировать их выполнения. Таким образом, сеньор должен обладать навыками руководителя: видеть цель, объяснить её подчинённым, вдохновить их, обучить и проконтролировать, сделать работу над ошибками.

Сеньор глубочайшим образом понимает структуру проекта, фреймворков и инструментов разработки. Он заранее предвидит как в будущем будет меняться проект и как его оптимально поддерживать в будущем.

Сеньор может стать руководителем группы программистов (тимлидом), менеджером IT-проекта, IT-директором предприятия и т. п.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector