Як почати заробляти веб-програмістом за умов високої конкуренції? Покроковий посібник: Як навчитися веб-програмуванню

  • Технології: HTML, CSS, JavaScript, Git, Node.js, React.js та інші.
  • Мова англійська.

Програма freeCodeCamp послідовно навчає користувача всіх основних аспектів веб-програмування від початкових понять до складних прийомів розробки. На початку кожного уроку ви читаєте теорію, потім застосовуєте її практично: пишете код у спеціальному редакторі, а система вас перевіряє. Якщо виникають проблеми, можна обговорювати їх з іншими учнями на форумі.

Наприкінці теоретичних модулів вам показують проекти, на прикладі яких ви повинні створювати власні веб-програми. Результати розробки слід публікувати на ресурсі, після чого їх можуть оцінювати інші користувачі.

До того ж freeCodeCamp допомагає учням збиратися в команди та працювати спільно над реальними некомерційними проектами. Це хороший шанс отримати цінний досвід розробки та портфоліо, необхідні для працевлаштування.

2. Codecademy

  • Технології: HTML, CSS, JavaScript, Angular.js, React.js, Python, Ruby та інші.
  • Вартість: безкоштовно або від 20 $ на місяць за додатковий контент.
  • Мова англійська.
  • Рівень складності: легкий-середній рівні.

Як і попередній ресурс, Codecademy робить ставку на навчання веб-програмування. Ви читаєте теорію, після чого виконуєте завдання в інтерактивному редакторі коду. До послуг користувача окремі курси, присвячені різним технологіям. Основна частина кожного з них є безкоштовною, але перевірочні тести та завдання з розробки проектів відкриваються після оформлення підписки.

У Codecademy також є комплексні платні програми, які систематизують та поєднують матеріали різних курсів. Наприклад, Build Websites from Scratch крок за кроком навчає розробці простого сайту з нуля з використанням різних технологій.

3. Coursera

  • Технології: HTML, CSS, JavaScript, Angular.js, Java, Python, Ruby, Swift та інші.
  • Вартість: безкоштовно або від 49 $ на місяць за додатковий контент.
  • Мова: англійська, російська та інші.
  • Рівень складності: усі рівні.

На Coursera ви знайдете безліч курсів різних мов програмування від провідних світових університетів. Тут можна навчатися не лише веб-розробці, а й створенню мобільних та настільних програм. Деякі курси самодостатні, але більшість об'єднані у спеціалізації – набори пов'язаних курсів.

Переглядати теоретичний матеріал, представлений текстами та відео, можна безкоштовно. Але більшість тестових та практичних завдань, які вимагають перевірки викладачем або іншими користувачами, доступні лише за платною підпискою.

4. edX

  • Технології: HTML, CSS, JavaScript, Java, Python, Ruby та інші.
  • Вартість: безкоштовно або від 49 $ на місяць за сертифікат.
  • Мова: англійська та інші.
  • Рівень складності: усі рівні.

На edX ви можете отримати доступ до курсів від відомих компаній та університетів. Серед них є, наприклад, знаменитий вступний курс для програмістів-початківців Introduction to Computer Science від Гарвардського університету. Освітній контент представлений в основному відеолекціями та текстами. Деякі курси містять тести та інші інтерактивні завдання.

За проходження більшості матеріалів платформа не вимагає грошей. Але отримати сертифікат, який підтверджує успішне закінчення того чи іншого курсу, можна лише за гроші.

5. ІНТУІТ

  • Технології: HTML, CSS, JavaScript, алгоритми та бази даних, C#, Java, Python, Ruby та інші.
  • Вартість: безкоштовно або від 500 рублів на місяць за послуги тьютора.
  • Мова російська.
  • Рівень складності: усі рівні.

У каталозі освітньої платформи «ІНТУІТ» є текстові та відеокурси від російських навчальних закладів та міжнародних IT-компаній. Контент майданчика охоплює всі основні галузі програмування від розробки сайтів до створення настільних програм. Самостійне навчання є безкоштовним, але є платна послуга, в рамках якої користувачеві допомагає персональний тьютор.

6. Stepic

  • Технології: JavaScript, C#, нейронні мережі, C++ та інші.
  • Вартість: повністю безкоштовно.
  • Мова: російська, англійська.
  • Рівень складності: легкий-середній.

Ще один некомерційний майданчик, курси для якого створюють російські компанії та виші. Хоча на Stepic не так багато матеріалу про конкретні мови програмування, тут можна почерпнути фундаментальні знання з галузі математики та теорії алгоритмів, які стануть у нагоді кожному розробнику.

7. Сучасний підручник Javascript

  • Технології: JavaScript та інші.
  • Вартість: безкоштовно або від 6500 рублів за додатковий курс.
  • Мова російська.
  • Рівень складності: усі рівні.

Цей ресурс присвячений мові JavaScript та супутнім веб-технологіям. Тут ви знайдете дуже докладний, добре структурований та доступний для розуміння текстовий курс з JS. Завдання після кожної теми допоможуть закріпити отримані знання. У той самий час матеріал суто теоретичний і навчає створенню проектів практично.

Ви можете безкоштовно займатися підручником самостійно або оплатити розширені курси, які включають вивчення самого JavaScript або суміжних технологій з викладачем.

З чого почати навчатися програмуванню з нуля чайнику?
У цій статті я постарався докладно розібрати, чи можна стати програмістом з нуля самостійно та які варіанти є для того, щоб освоїти програмування самостійно та почати заробляти на цьому.
UPD: Тим, хто шукає, з чого почати вивчати програмування з нуля у 2018 (або поки що тільки збирається і приступить у 2019:)), дуже пощастило завдяки книзі Якова Крамаренка «Введення у розробку програмного забезпечення» Я щиро рекомендую з нею ознайомитись — вона вартує того, щоб оновити статтю №1 за рейтингом Google та відгуками читачів для тих, хто вивчає програмування самостійно.

Постарався дати найкращий шлях, на мій погляд. Попереджаю – він не з легких! Подальше прочитання може коштувати вам багато годин цікавих занять:)

Скажу відразу — якщо ви вирішите вивчати програмування лише самостійно, не вкладаючи грошей, доведеться витратити більше часу. Розраховуйте на освоєння нової спеціальності щонайменше через рік, якщо займаєтеся навчанням паралельно з іншою роботою.

Якщо ви знайдете, чим доповнити цю статтю, щоб зробити її кориснішою для людей, напишіть у коментарях.

У цій статті зібрані кращі практики, виходячи з мого досвіду, якщо ви хочете самостійно освоїти програмування. Все це, як і раніше, актуально з парою доповнень.

Книга з веб-програмування для початківців

Версія 2016 є в перекладі: https://courses.prometheus.org.ua/courses/Prometheus/CS50/2016_T1/about .

Краще пройти курс англійською. І мову прокачаєш, і інформація свіжіша. Хоча сильно курс не змінювався - тільки в 2017 замість PHP почав використовувати Python.

Проходження курсу займе час, але дасть досить повне розуміння, яке складно інакше отримати самостійно.

Спочатку потрібно вирішити, який напрямок програмування вас цікавить. Якщо йдеться про вивчення розробки з нуля і ви хочете почати швидко заробляти на цьому, то, на мій погляд, варіанти два: розробка для мобільних пристроїв або веб-розробка.

Найкращий вибір у такій ситуації – на мій погляд – почати вивчати веб-розробку. Тут нижче поріг входу для новачків і є можливість раніше виконувати нескладні замовлення.

Як самостійно стати програмістом з нуля

Якби я починав з нуля вивчати веб-розробку самостійно (розуміючи, що без вкладення грошей це більш довгий шлях), то сам собі я порекомендував би такий шлях:

1. Розібратися в HTML та CSS

Хороший курс для базового освоєння HTML та CSS: https://learn.shayhowe.com/html-css/ (English) або https://webref.ru/layout/learn-html-css (переклад).

Після цього варто переглянути можливості Bootstrap, який став стандартом де-факто для прискореної розробки веб-додатків: http://getbootstrap.com/

Це буде достатньо для наступних кроків.
Можливо, на цьому етапі ви захочете зупинитися і вивчити CSS докладніше. Це дасть вам можливість працювати верстальником - людиною, яка робить з дизайну статичну HTML сторінку, після чого програміст її пожвавлює, реалізуючи логіку проекту.

На цьому теж можна заробляти як на фрілансі, так і працюючи в ІТ-компанії, яка спеціалізується на веб-розробці.

Але коли ми вирішили стати програмістом — рухаємося далі!

2. Ознайомитись з jQuery

Якщо сподобалося, можна продовжити розбиратися з frontend і почати вивчати Javascript.

Якщо слідом піде https://angularjs.org/ або http://backbonejs.org/ — це шлях у фронт-енд розробку. Хороша спеціальність, тим більше, що такі знання стануть у нагоді будь-якому програмісту, який вибрав веб-розробку.

Моя порада — поки що зупинитися на jQuery і рухатися далі.

3. Освоїти серверну мову програмування

Тут вибір великий. Найперспективнішими мовами програмування є Ruby, Java, Python, Node.JS (Javascript для сервера).

Найпростішою мовою програмування для початківця буде Python. Якщо ви вивчите Python, а потім фреймворк Django для веб-розробки, у вас буде все необхідне для самостійної реалізації досить складних проектів.

Хороший варіант - мова програмування Python та Django

Плюс — Python та Django навчать вас «правильному» програмуванню. Python стабільно входить у ТОП5-10 найбільш затребуваних мов, а хороші фахівці в Python одні з найоплачуваніших програмістів. Python одночасно проста і зрозуміла для програмістів-початківців мова програмування, і при цьому використовується в багатьох великих компаніях і на великих проектах.

Для самостійного освоєння прочитайте «Python для дітей» Джейсона Бріггса або подивіться:

Серед інших матеріалів рекомендую Learn Python The Hard Way. книгу «Простий Python. Сучасний стиль програмування». І, звичайно, The Python 2 Tutorial і The Python 3 Tutorial .

Django — можливо найкращий фреймворк для веб-розробки

Найкращий інструмент на всі випадки життя дуже складно знайти. Django може стати таким інструментом для веб-розробки.

З чого почати для вивчення Django:

Почніть з офіційної документації, там дуже хороший tutorial: https://docs.djangoproject.com/en/2.1/intro/

Tango with Django - це хороша можливість підтягнути англійську і одночасно отримати розуміння того, як влаштовані веб-проекти і як все працює.

Варіант №2 - PHP та WordPress

Інший шлях - почати з PHP та роботи з популярними CMS. Якщо ви вивчаєте програмування самі і хочете швидко почати працювати, почніть з PHP.

Багато хто вважає PHP "не зовсім справжньою" мовою програмування і для цього є підстави. PHP рідко використовується у великих веб-застосунках і заточений тільки для веб - використовувати його в інших областях не вийде.

З іншого боку, PHP лідирує за кількістю запущених у світі сайтів. На ньому засновані найпопулярніші CMS (системи керування сайтами).

Після цього розберіться зі створенням тем під WordPress — це найпопулярніша CMS у світі, якщо оцінювати за кількістю запущених сайтів.

Добре розібравшись із цим, вже можна знайти роботу. Під PHP та WordPress дуже багато сайтів, тому роботи вистачить усім.

Як почати заробляти програмістом

Багато хто представляє роботу програміста-фрілансера так:

Насправді це виглядає приблизно так:

Якщо ви готові до роботи програміста і шукаєте спосіб заробляти, ласкаво просимо на фріланс! Фріланс-біржі дозволять вам знайти прості замовлення (можливо майже безкоштовно спочатку) — щоб отримати практику. Як правило, робота в ІТ-компанії може бути більш прибутковою, якщо ви просто шукаєте роботу програміста.

Вже після пункту 2 – освоївши HTML, CSS та jQuery – можна йти на фріланс біржі та брати нескладні замовлення, напрацьовуючи профіль.

Знаєте англійську? https://www.upwork.com/

Зовсім ні, навіть зі словником? http://freelance.ru/

На той час, коли ви зможете самостійно робити сайти, вам буде простіше знайти клієнтів – будуть відгуки та досвід.

Швидкий шлях до веб-розробників

Виходячи з мого досвіду, на вивчення програмування з нуля піде від 6 до 12 місяців у кращому випадку, при цьому 6 місяців це якщо вам хтось допомагає.

Щоб прискорити процес входу в ІТ, шукайте можливість піти на тренінг (можливо знадобиться не один) або знайдіть людину, яка займатиметься з вами. Реально без людини, яка передасть вам свої знання, дуже складно, можна просидіти рік за книгами і так і не розпочати. А зі знаючою людиною, яка може просто розповісти про складні речі, набагато легше.

У свій час я вибрав шлях входу через тренінг. При тому, що я багато знав про розробку, це дозволило мені за 2 місяці освоїти те, що могло піти півроку. Шукайте свій шлях.

У мене є , які серйозно вирішили розпочати кар'єру програміста, і хочуть прискорити цей процес. Є багато інших курсів. Якщо ви знайдете собі ментора – людину, яка проведе вас за руку – це помітно скоротить ваш шлях у розробники.

Як тільки відчуєте впевненість у тому, що можете щось створити, шукайте компанію, де зможете розвиватися далі або клієнтів.

HTML, CSS, Python та Javascript – це лише базові знання, перший етап. Далі дуже важливою є практика, вивчення алгоритмів та інструментів для розробки.

Якщо є питання – ставте у коментарях! Сподіваюся, ця стаття допоможе вам зробити перший крок. Успіхів!

  • Переклад
  • Tutorial

Дорога довга і важка, але цікава та корисна!

Стаття замислювалася як практичний посібник для бажаючих стати професійним веб-розробником. Я вже понад 20 років пишу код для Інтернету. Я щодня працюю з веб-розробниками та допомагаю їм. У статті я опишу, що вам потрібно вивчити, коли вам потрібно вивчити це і де взяти інформацію (найчастіше навіть безкоштовно). Потім я дам пораду щодо отримання реального досвіду, і що найважливіше – щодо отримання грошей за написання коду.

За статтею розкидано безліч посилань на безкоштовні та важливі ресурси. Для простоти я зібрав їх у PDF та розбив за категоріями. Мені не платять за згадки сайтів, посилання на які я навів – я лише хочу порекомендувати вам найкращі ресурси, щоб допомогти вам досягти вашої мети.

Що потрібно пам'ятати:

1. Статтю дозволяється перегортати

Посібник може допомогти вам незалежно від вашого положення на дорозі до професійної розробки. Прокрутіть його до того заголовка, який найкраще описує ваше сьогоднішнє становище, і читайте звідти. Якщо ви тільки почали цей шлях, або поки розмірковуєте про це - підіть пораді Короля з «Аліси в країні чудес»:

Почніть з початку, і продовжуйте, доки не дійдете до кінця; і там уже зупиніться.

2. Спробуйте потроху, а потім вибирайте спеціалізацію.

Гроші – не найважливіше. Вам необхідно ЛЮБИТИ ваше заняття! Але ви не дізнаєтесь, що вам подобається, доки не спробуєте.


Знайдіть свою пристрасть, а потім монетизуйте її

Посібник допоможе вам ознайомитися з якомога більшою кількістю областей веб-розробки якнайшвидше. А потім допоможе вам вибрати спеціалізацію у тій галузі, що вам сподобалася. Спочатку ви не досягнете досконалості ні в чому – ви вивчите основи і потім продовжите вивчення. Знайдіть свою пристрасть і я покажу вам, як рухатися далі.

Я вирішив написати код. Мені подобається веб. Я не знаю з чого почати


У вас все вийде!

Вітаю! Це серйозний перший крок і початок чогось дуже захоплюючого. Але це може бути дуже складним. Не хвилюйтесь, я допоможу.

Спочатку потрібно швидко познайомитися з основами всіх областей веб-розробки («повний цикл»). Навчання буде різноманітним, але неглибоким. Це потрібно для того, щоб знайти область, яка вам подобається, а також набути основних навичок у різних областях. Тоді ви зможете розуміти та працювати з великим набором завдань, незалежно від того, на чому ви зупините свій вибір.

Вивчіть основи HTML

Мова гіпертекстової розмітки, Hypertext Markup Language (HTML), контролює вміст і розмітку того, що ви бачите в браузері. Почавши з нього, ви отримуєте інтерфейс користувача, з яким можна взаємодіяти, та бачите результати роботи свого коду. При вивченні складніших мов його важливість зростатиме. Адже вам не потрібно кодувати наосліп.

Ось що вам потрібно вивчити на тему HTML:

Я вже знаю основи HTML

Круто! Це дуже важливий крок. Тепер вивчіть основи JavaScript.

Вивчіть основи JavaScript

JavaScript – мова Інтернету, і всі основні браузери (Chrome, Firefox, Safari, IE, багато інших) підтримують його. Кожен сайт, кожен веб-додаток, яким ви користувалися, швидше за все, містить величезну кількість JS-коду. Не кажучи вже про те, що мова набирає населення і на інших платформах – сервери, настільні комп'ютери, інші пристрої.

Поки що вам потрібні основи, і для цього підійдуть такі ресурси:

Я знаю основи JavaScript та HTML

Приголомшливо! Тепер додамо до ваших навичок CSS

Вивчіть CSS

CSS або Cascading Style Sheets (каскадні таблиці стилів). Використовуються для налаштування зовнішнього вигляду елементів HTML на сторінці. Ознайомтеся з безкоштовним навчальним матеріалом від Mozilla, а потім звертайтеся до ресурсу CSS-Tricks для вирішення найскладніших проблем (праворуч є пошук).

Переходимо до бекенду

Досі ми з вами розглядали те, що називають "фронтендом" веб-розробки. Ви ознайомилися з основними мовами, які працюють у браузері. Час переходити до бекенду – коду, що працює на сервері. Не хвилюйтеся, сервер вам не знадобиться – ваш комп'ютер упорається з цим.

Мов для бекенда маса, але оскільки ви знайомі з JavaScript, я порекомендую вивчити використання Node.js. Він дозволяє запускати JS-код на сервері, а не у браузері.

На додаток до цього необхідно вивчити Express і MongoDB.

Express
Це бібліотека, за допомогою якої Node.JS може працювати веб-сервером (слухати запити від сторінок та надсилати їм відповіді).
MongoDB
Це база даних, яка дозволяє вам зберігати та витягувати інформацію.

Вивчити ці три теми можна завдяки наступному прекрасному і безкоштовному навчального матеріалу , і його продовженню .

Мені потрібно вибрати між «фронтенд», «бекенд» та розробкою повного циклу

Після того, як ви спробували обидва варіанти розробки, настав час робити вибір. Якщо ви не встигли спробувати їх – зверніться до попереднього розділу статті, щоб заповнити прогалини у ваших знаннях.

На цей момент ви писали два типи коду. Один призначений взаємодії з користувачем, інший – з даними. Що ви віддаєте перевагу?

Взаємодія з користувачем? Вітаю, ви фронтенд-розробник!

Взаємодія із даними? Вітаю, ви бекенд-розробник!

Обидва? Вітаю, ви розробник повного циклу!

Нічого не сподобалось? Вітаю, веб-технологія – це не для вас. Порадійте, що ви зрозуміли це зараз, і не втратили купу часу та грошей. Чи не готові здаватися? Може, вам не трапилася мова, яка припала б вам до душі? Спробуйте вивчити інші мови у розділі «Я хочу бути бекенд-розробником».

Я хочу бути розробником повного циклу

Круто. Вам потрібно ознайомитися з усім вмістом розділів «Я хочу бути бекенд-розробником» та «Я хочу бути фронтенд-розробником».

Я хочу бути фронтенд-розробником і знаю основи JavaScript, HTML і CSS

Для ефективної роботи фронтенд-розробником вам необхідно досконало опанувати HTML, CSS та клієнтський JavaScript. Також вам потрібно буде добре розібратися у кількох важливих фреймворках. Ви отримаєте навички, які роботодавці та клієнти очікують знайти у розробниках фронтенду.

До цього моменту ви повинні знати основи HTML. В іншому випадку поверніться до розділу «Вивчіть основи HTML».

Вивчіть проміжний і просунутий HTML
Ознайомтеся з навчальним матеріалом проміжним HTML, а потім – просунутим .
Вивчіть просунутий клієнтський JavaScript


Відмінна серія книг з JS, при цьому безкоштовна

Для підняття вашого рівня володіння JavaScript, я рекомендую серію книг You Don't Know JS за авторством Кайла Сімпсона. Автор виклав всю серію в онлайн абсолютно безкоштовно:

Крім того, вашим найкращим другом має стати і MDN JavaScript.

[Також абсолютно безкоштовно вам доступний чудовий переклад відмінної книги "Виразний JavaScript" - прим.перев.]

Знати «трійцю фронтенда», HTML, CSS та JavaScript – це, звичайно, чудово. Але для заробляння грошей доведеться познайомитися з деякими фреймворками.

Вивчіть jQuery
Це найпопулярніша бібліотека JS всіх часів. Хоча через деякі нові фреймворки важливість jQuery трохи зменшилася, якщо ви шукаєте роботу, велика ймовірність, що jQuery буде присутня в описі необхідних навичок (і згадуватися на співбесіді) ще багато років.

Рекомендую вивчити jQuery за допомогою матеріалів FreeCodeCamp – це швидкий та ефективний метод. Після цього вирушайте на офіційний навчальний сайт – там ви знайдете додаткові інструкції.

Вивчіть популярний JS-фреймворк
Фреймворки роблять роботу з певною мовою чи технологією легше, оскільки вирішують найбільші проблеми, що існують у вибраної технології. JavaScript дуже сприятливо вплинув на розробку та популяризацію фреймворків.

Чи не раз на тиждень з'являється новий фреймворк, який пророкують на місце нового стандарту розробки. Вам потрібно буде прошерстити сайти з вакансіями та чимало погуглити, щоб з'ясувати, який фреймворк популярний на вашому ринку. Також рекомендую інструмент від Hacker News щодо оцінки тенденцій ринку вакансій.

Під час написання цієї статті наступні фреймворки користувалися популярністю:

Вибравши найбільш підходящий фреймворк і добре ознайомившись з ним, варто вивчити CSS-фреймворк, що йде в парі з ним. Два найбільші гравці на цьому ринку сьогодні – Bootstrap і Material Design.

Bootstrap
Bootstrap зробили розробники Twitter і він вже досить дорослий і популярний. Версії Bootstrap існують для Angular, Angular 2 та React.
Material
Material – це набір правил дизайну, розроблений у Google. Він набирає популярності, існують його версії для Angular та React. Оскільки Angular – це теж дітище Google, поєднується Material із ним чудово.

Ось вам кілька посилань:

Вітаю! У вас є ключові навички фронтенд-розробника!


Ви тільки подивіться на нього!

Я хочу бути бекенд-розробником

Прекрасно! Перший крок – вибір мови. Для роботи з бекендом існує багато мов, і у кожного є свої переваги та недоліки. Ознайомтеся з таблицею програмованих мов, відсортованих за популярністю. Усі вони вже десять років входять до десятки найкращих. Позначені зеленим – це веб-мови, які з роками набирають популярності.


TIOBE Index of Programming Languages, www.tiobe.com/tiobe_index?page=index

Концентруйтеся мовами, чиї назви я обвів зеленою рамкою. Якщо ви не знаєте їх, починайте зверху таблиці та йдіть униз. Зупиняйтесь, коли знайдете те, що вам подобається, та копайте вглиб!

Якщо ви знайомі з одним із зазначених зеленим кольором мов, і він вам подобається - концентруйтеся на ньому.

Підкачайте необхідні для інтерв'ю вміння
Вам потрібно підготуватися не лише до написання коду. У добрій статті з Life Hacker описано багато корисної та цінної інформації.
Головне – закріпитись на ринку
Не сильно переживайте щодо отримання роботи мрії у роботодавця мрії із зарплатою мрії. Спочатку просто досягніть отримання роботи, де ви писатимете код за гроші. Здобувши більше досвіду, зможете планувати наступний крок.
Хочу бути фрілансером
Сам собі господар – це добре, але це водночас і величезний тиск і великі складнощі. Найкраще джерело інформації з фрілансу з усіх, що я бачив - DoubleYourFreelancing.com. У нього є серія статей, які допоможуть вам стати фрілансером краще, ніж це вийшло б у мене. Читайте.

Ще один варіант, якщо ви впевнені - сервіс Toptal . Вони приймають лише 3% усіх, хто подає заявки, і цей процес дуже складний, але якщо ви потрапите туди – у вас буде доступ до добре оплачуваних робіт, над якими ви зможете працювати віддалено.

Я почав роботу, але відчуваю, що зайшов у глухий кут
Розумію. Це нелегко, і якщо хтось говорив вам протилежне - він або цим не займався, або намагається виманити гроші. Якщо ви відчуваєте, що зайшли в глухий кут, спробуйте такі варіанти:
Освіжіть ваш первісний намір
Запитайте себе, запишіть на папері, чому ви вирішили йти цим шляхом. Чи в силі все ще ваша відповідь? Якщо так – то навіщо зупинятися? Вперед!

Веб розробка. Швидкий старт
Основи HTML/CSS та PHP

PHP (Hypertext PreProcessor, препроцесор гіпертексту) - мова програмування, що виконується на стороні веб-сервера. Автор PHP - Расмус Лердорф (Rasmus Lerdorf) - спроектував його як інструмент для створення динамічних та інтерактивних веб-сайтів. Мова набула великої популярності і використовується в проектах різних масштабів: від простого блогу до найбільших веб-додатків в Інтернеті. Найбільші PHP-проекти – Zend, Yahoo, Facebook, Google, NASA, W3C. Курс призначений для тих, хто хоче набути початкових навичок веб-розробки на PHP, вивчити логіку роботи з цією мовою та термінологію, а також зрозуміти принципи функціонування систем та веб-додатків. У процесі навчання студенти проходять основні етапи створення простого сайту інтернет-магазину та працюють над його функціональністю. Знання та навички, набуті на курсі, - надійна основа для подальшого розвитку як PHP-розробник.

Урок 2. Встановлення та розгортання сервера на своєму комп'ютері

Як взаємодіють між собою веб-сервер, PHP інтерпретатор та база даних; качаємо готове складання Open Server; вибираємо версію PHP; вибираємо версію apache; налаштовуємо доступ до локального сайту; як зрозуміти, що все налаштовано правильно та працює; використовуємо редактор коду Sublime Text, вбудований у збірку Open Server.

Урок 3. Як створювати веб-сторінки

Коротко розглядаємо для чого потрібний html; розглядаємо основні теги: doctype, html, head, title, body, header, h1, footer, div, a, img та їх місце у веб-сторінці; демонструємо, як ці теги працюють; показуємо створені теги на панелі
"Інструменти розробника" в Google Chrome; створюємо посилання на головну сторінку та сторінку з магазином так, щоб можна було перейти до магазину та назад.

Урок 4. Створюємо макет нашого магазину

Розглядаємо CSS: що таке, як підключити стилі до сторінки; пишемо хедер та розглядаємо, як його оформити за допомогою CSS.

Урок 5. Завершуємо оформлення шаблону

Закінчуємо писати хедер; додаємо частини макета, що залишилися, з готового шаблону; переносимо необхідні частини макета із готового шаблону (HTML, CSS, JavaScript).

Урок 6. Основи PHP

Як використовувати PHP у нашому шаблоні; навіщо потрібні змінні і як із нею працювати; які типи даних є в PHP, навіщо вони потрібні.

Урок 7. Як зберігати безліч пов'язаних даних

Для чого потрібні масиви та як їх використовувати; кладемо інформацію про товар до масиву.

Урок 8. Зберігання та обробка пов'язаних за змістом даних

Вкладені масиви; розміщуємо дані для нашого магазину у вкладених масивах; як отримати інформацію про товар із вкладеного масиву.

Урок 9. Працюємо з циклами

Що робити, якщо потрібно вивести на сторінку багато даних із масиву.

Урок 10. Як зробити сайт живим

Як зробити так, щоб програма змінювала поведінку залежно від різних умов; як зрозуміти, яку сторінку слід відкрити; використовуємо параметри адресного рядка для відкриття потрібної сторінки.

Урок 11. Як робити навігацію між сторінками

Урок 12. Створюємо каталог товарів

Виведення всіх товарів на сторінку; працюємо зі сторінкою товару; як у каталозі товарів створювати правильні посилання кожному товару; виводимо дані про товар на окремій сторінці.

Урок 13. Розміщуємо сайт в інтернеті

Реєструємо ім'я для нашого сайту; завантажуємо файли на хостинг та перевіряємо працездатність сайту.

HTML/CSS - мова гіпертекстової розмітки, основа вивчення серверних ЯП. Вивчивши HTML, ви зможете створити статичну веб-сторінку або веб-сайт. CSS – каскадні таблиці стилів – дозволить оформити зверстаний сайт так, як вам хочеться. Ви зможете дивитися відеокурс у зручний час та з усіх питань звертатися до наставника, який контролюватиме ваш прогрес. Формат сприяє спілкуванню і самодисципліні в навчанні. За місяць ви навчитеся: верстці статичних сайтів, валідної кросбраузерної верстці, блокової верстці, виконанню базових операцій у Photoshop, використанню препроцесорів LESS і Bootstrap. Для переходу до наступного курсу необхідно, щоб ваше домашнє завдання пройшло перевірку. Це покаже, що ви зрозуміли попередній урок і легко освоїте нові знання. Завдання може перевірити як ментор, так і одногрупники, знанням яких ви довіряєте, і одержати за це ачивку. З кожною перевіркою кількість очівок зростає, а звичка роботи з чужим кодом збільшується. Від кількості очівок залежить рівень підсумкового сертифікату: чим їх більше, тим вищий статус. Ця в чомусь ігрова механіка робить заняття цікавішими.

Урок 1. Основні поняття у веб-розробці

Що таке веб-сторінка; види сайтів; процес розробки сайту; що таке гіпертекст, теги та атрибути; підготовка робочого місця; структура HTML-документу; основні теги оформлення тексту; простий приклад HTML-сторінки; приклад складної веб-сторінки; гарячі клавіші для переміщення документами.

Урок 2. Основи мови розмітки документів HTML

Урок 3. Основи мови оформлення стилів документа CSS

Що таке CSS; синтаксис CSS; способи оголошення CSS; селектори (id, class, tag); селектори атрибутів; основні властивості стилів; вкладеність; успадкування та групування властивостей; перевірка підключення файлу стилів.

Урок 4. Псевдокласи та псевдоелементи, таблична верстка

Пріоритети застосування стилів; псевдокласи та псевдоелементи; створення таблиць; об'єднання осередків; вкладені таблиці; стильове оформлення таблиць.

Урок 5. Формування блокової моделі, блокова верстка

Основні теги для верстки (div та span); відступи елементів (margin та padding); обтічні елементи; позиціонування блоків.

Урок 6. Робота з макетом дизайну у форматі PSD

Основні функції та знайомство з Photoshop; виділення основних частин макету; нарізка макету; верстка макету сайту за допомогою блоків; вставка частин макета у верстку;

Урок 7. Розмітка сайту та знайомство з Bootstrap

створення основної розмітки сайту; застосування overflow та clear у реальній верстці; заповнення розмітки частинами нарізаного макету; прийоми позиціонування елементів; знайомство та застосування Bootstrap.

Урок 8. Стандарти web та допоміжні інструменти

Завантаження проектів на сервер; проблема «кросбраузерності»; стандарти HTML/CSS; майбутнє за стандартами HTML5 та CSS3; грамотна, універсальна верстка; знайомство з препроцесорами з прикладу LESS.

Git. Швидкий старт
Основи роботи з Git

Відеокурс дає досвід командної розробки за допомогою Git. Навчає «з нуля» організувати спільне сховище коду та ефективно його використовувати. Студенти освоюють git-клієнти з графічним та консольним інтерфейсом, навчаються контролювати випуск версій програми та «відкочуватися» до попередніх версій. Докладно розглядаються поширені помилки командної розробки: при злитті гілок, створенні commit-ів, зберіганні файлів, що виконуються в репозиторії.

Урок 1. Призначення та можливості

Дізнаємося, навіщо потрібен git і які можливості він відкриває програмістам.

Урок 2. Базові операції

Створюємо сховище коду, доступне всім учасникам розробки в мережі. Освоюємо базові операції: Clone, Commit, Push, Pull.

Урок 3. Відкат змін коду

Вчимося відкочувати зміни у коді за допомогою git. Освоюємо операції Discard, Revert, Reset.

Урок 4. Робота з гілками

Робота з гілками.
Паралельно розробляємо кілька версій програми. Освоюємо операції Add branch, Checkout, Merge.

Урок 5. Конфлікти

Вчимося вирішувати конфлікти при злитті гілок.

Урок 6. Поширені помилки. Частина 1

Побоювання створення нових гілок. Зберігання виконуваних файлів у репозиторії.

Урок 7. Поширені помилки. Частина 2

Помилки під час роботи з гілками. Помилки під час створення commit-ов.

Урок 8. Pull Request. Робота з Open-Source-проектами

Освоюємо Pull Request на прикладі роботи з Open-Source-проектами.

Урок 9. Pull Request. Складання домашніх завдань.

Складання домашніх завдань у GeekBrains за допомогою Pull Request.

Урок 10. Консольний git-клієнт. Базові операції

Освоюємо базові операції у консольному git-клієнті.

Урок 11. Консольний git-клієнт. Робота з гілками

Вчимося працювати з гілками в консольному git-клієнті.

Урок 12. Робота з версіями програми

Вчимося випускати різні версії програмного продукту із використанням git.

Урок 13. Підсумки

Підбиваємо підсумки виконаної роботи.

HTML5 та CSS3. 1 місяць.
Сучасні засоби Web-розробки

Основа веб-технології – це HTML/CSS Це базовий фундамент, який є основою створення сучасних веб-сайтів і є першим етапом вивчення інших технологій програмування для глобальної мережі Internet. Кожна істотна організація має своє уявлення у глобальній мережі. Це вимога часу та вимога ринку. Без урахування сучасних реалій світу неможливо досягти конкурентоспроможності і відтак успіху. Саме зв'язування HTML/CSS дає можливість верстати макети, створювати та редагувати статичні сайти. Технологія програмування, що вивчається на даному курсі, дозволяє закласти довгострокову основу і закріпитися в даній галузі на ринку праці.

Урок 1. HTML5: семантичні елементи.

HTML5, Нові семантичні елементи HTML5, Новий спосіб структурування сторінок. Семантика текстового рівня. Налаштування редактора, практичні приклади застосування семантичних тегів для створення структури сайту. Знайомство з плагінами, що прискорюють верстку сайту.

Урок 2. Позиціонування елементів, Практична верстка.

Позиціонування елементів, розташування елементів на сторінці (позиціювання елементів по вертикалі, по горизонталі). Розглянемо найпопулярніші css генератори, які вони бувають, навіщо застосовують кожен із них.

Урок 3. HTML5 форми. Додавання Аудіо та Відео на сторінку.

Розглянемо та докладно розберемо на практичних прикладах дані особливості. Удосконалення традиційних форм (додавання підказок, фокусування на елементі тощо). Перевіряє форми на помилки заповнення. Нові типи елементів (адреси електронної пошти, URL-адреси тощо). Додамо до нашого проекту відео та аудіо інформацію, подивимося як все це реалізується на практиці. Розглянемо роботу тегів

Урок 4. Параметри CSS для тла. Використання SVG.

Створення фону для сайту. Встановлює фонові зображення для адаптивних сайтів. Створення градієнта фону для сайту. Знайомство зі спрайтами та іконковими шрифтами. Модернізуємо наш проект відповідно до нових можливостей CSS3. Додамо необхідні елементи та ефекти. Ознайомлення з форматом svg.

Урок 5. Робота з текстом. Межі CSS3

Робота зі шрифтами. Веб-шрифти GOOGLE. Розміщення тексту на кілька колонок. Розглянемо механізми подання текстової інформації: оформлення, вирівнювання, відступи. Перекладаються вкладки для створення меню. Розглянемо основи Canvas. Розглянемо роботу з межами CSS, способи створення рамок елементів. Створення прозорих рамок, тіней, кутів, що округляють, градієнтів.

Урок 6. Ефекти переходу та трансформації CSS3.

Ефекти переходу. Застосування трансформації. Повертання елементів при наведенні на нього. Створення анімації засобами CSS3. Дізнаємося для чого потрібна дана технологія і де її слід застосовувати. Додамо анімацію для деяких елементів нашого сайту.

Урок 7. Адаптивна верстка (Частина 1).

Розглянемо поняття адаптивного дизайну. Навіщо й у яких випадках застосовується. Основи синтаксису та приклади. Надамо дизайну сучасного вигляду.

Урок 8. CSS3 Поглиблене вивчення. Flexbox.

Розглянемо нову властивість flex для створення гнучкої структури внутрішніх блоків сайт. Зробимо фінальний проект з усіма доробками та нововведеннями представленими CSS3, з використанням одного з найпопулярніших препроцесорів SASS.

Основи програмування
Ази програмування, основні терміни та поняття

Відеокурс познайомить студентів з азами програмування, основними термінами та поняттями. Навчить розробляти алгоритми та дасть реальний досвід створення веб-продуктів. Уроки включають огляд актуальних мов та напрямків програмування, допомагають студентам вибрати найцікавіші для себе та надають матеріали та інструкції для подальшого професійного розвитку.

Урок 3. Перша програма

Вибір мови програмування. Підготовка браузера. Програма Hello, world!

Урок 4. Змінні

Встановлення зручного редактора коду. Знайомство зі змінними. Простий калькулятор.

Урок 5. Типи даних

Типи даних. Операції з різними типами даних. Перетворення типів даних.

Урок 6. Алгоритми та блок-схеми

Алгоритмічний мислення. Візуальні блок-схеми.

Урок 7. Оператор розгалуження if

Вибір варіантів у програмі. Оператор розгалуження if. Гра в загадки.

Урок 8. Логічні операції

Комплексні умови вибору. Логічні І, АБО. Гра «Злі птахи».

Урок 9. Цикли do, while

Цикли do та while. Гра в руську рулетку.

Урок 10. Цикл for

Цикл для. Фінансовий калькулятор.

Урок 11. Масиви

Великі набори даних та масиви. Гра в рулетку.

Урок 12. Функції

Опції. Підготовка до написання гри Black Jack (21).

Урок 13. Гра "Black Jack". Частина 1

Написання повноцінної гри. Основа – роздача карток та підрахунок очок.

Урок 14. Гра "Black Jack". Частина 2

Завершення написання гри. Визначення результатів та переможця.

Урок 15. Кар'єра програміста

Огляд основних напрямів у програмуванні. Як вибрати мову програмування? Чому вчитися далі?

JavaScript. Рівень 1. 1 місяць.
Інтерактивні веб-програми

Цей курс призначений для тих, хто вже знайомий з принципами HTML-верстки та створенням статичних сторінок. Практичні знання та навички, набуті на цьому рівні, дають можливість працювати та створювати динамічні веб-сторінки та програми. Курс систематизує знання студентів, які вже стикалися з JavaScript, але не мають багато досвіду роботи з мовою. Студенти знайомляться з основами створення інтерактивних веб-сторінок за допомогою JavaScript. Отримані під час уроків знання закріплюються через практичну частину - реалізація ігор мовою JavaScript. Перед початком навчання рекомендується пройти курси «Основи програмування» та «HTML/CSS».

Урок 1. Основи мови JavaScript

Синтаксис; структура коду; зовнішні скрипти та порядок їх виконання; змінні та типи даних; Hello world; сучасні стандарти.

Урок 3. Цикли, масиви, структури даних

Цикли у JavaScript; масиви JavaScript; структури даних; практикум; гра «Бики та корови».

Урок 4. Об'єкти у JavaScript

Ознайомлення з поняттям об'єктів; об'єкти у JavaScript; робота з об'єктами; перебір значень; практикум; гра "Квест".

Урок 5. Вступ до DOM

Концепція DOM; DOM у JavaScript; маніпуляції з DOM у JavaScript; практикум; гра "Квест 2.0".

Урок 6. Обробка подій у JavaScript

Поняття події; обробка натискань; браузерні події; практикум; гра «Хрестики-нуліки».

Урок 7. Урок-практикум

Реалізація гри "Змійка".

Урок 8. Анонімні функції, замикання

Поглиблене вивчення функцій; функції та функціональні вирази; анонімні функції; замикання; дії браузера за промовчанням.

Курс призначений для тих, хто вже освоїв базові можливості JavaScript, і тепер хоче навчитися робити реально круті речі. Кожен урок включає як корисну теорію, так і ефективну практику. Насичений найактуальнішими знаннями та навичками, просунутий курс від GeekBrains - це можливість швидко та надійно стати професійним розробником JavaScript.

Урок 1. Сучасний JavaScript

Знайомство зі стандартом ES2015 та деякими його можливостями.

Урок 2. ООП JavaScript

Основні принципи об'єктно-орієнтованого програмування та його реалізація JavaScript.

Урок 3. Асинхронні запити

Основи асинхронного JavaScript. AJAX, JSON та Promises.

Урок 4. Регулярні вирази

Регулярні вирази JavaScript. Основні операції з регулярними виразами та рядками.

Урок 5. Фреймворк Vue.js

Основи розробки односторінкових програм за допомогою фреймворку Vue.js.

Урок 6. Компоненти Vue.js

Реалізація компонентного підходу у фреймворку Vue.js.

Урок 7. JavaScript на сервері

Створення простого сервера за допомогою Node.js.

Урок 8. Тестування та складання

Тестування окремих частин програми. Складання модулів за допомогою Webpack.

PHP. Рівень 1. 1 місяць.
Основи веб-розробки

PHP входить до трійки найпопулярніших мов програмування у світі. Він широко застосовується при створенні веб-сторінок, що динамічно генеруються. Більшість фрілансерів-програмістів у світі використовують мову PHP: вона дозволяє розробляти динамічні сайти будь-якої складності і має великий набір вбудованих засобів для розробки веб-додатків. Курс "PHP. Рівень 1" від GeekBrains створений з метою навчити програмістів-початківців основам розробки веб-сайтів мовою PHP. Новачки вивчать принципи об'єктно-орієнтованого програмування та навчатимуться правильно використовувати основні конструкції мови. Більш досвідчені розробники отримають можливість значно підвищити культуру написання коду та зможуть грамотно та професійно оформити скрипт свого веб-сайту.

Урок 1. Введення в PHP

Принципи роботи динамічних сайтів
Принципи роботи веб-серверів
Підготовка робочого середовища
Hello, world! [Практика]
Базові конструкції мови – дескриптори, змінні, типи даних
Версії мови та їх відмінності на базовому рівні

Урок 2. Умовні блоки, розгалуження функції

Принципи розгалуження, візуалізація, блок-схеми
Оператори if, if-else
Оператор switch
Тернарний оператор
Реалізація схем логіки розгалуження
Тернарний оператор
Функції, рекурсія
Використання функцій та рекурсії для вирішення завдань
Області видимості змінних

Урок 3. Цикли та масиви

Поняття циклу, типи циклів у PHP
While, do…while
For
Нескінченний цикл та вихід із кроків, циклу
Поняття масиву, типи масивів у PHP
Застосування циклів для роботи з масивами [Практика]
Багатовимірні масиви
Основні функції роботи з масивами Застосування функції роботи з масивами [Практика]
Обумовлені масиви

Урок 4. Робота з файлами

Файлова система та адресація, приклади на основі різних ОС
Підключення файлів із кодом
Базові операції з файлами – читання, запис.
Використання базових операцій на вирішення повсякденних завдань – логування, читання даних, кешування [Практика]
Типові формати зберігання даних

Урок 5. Бази даних MySQL та робота з ними на рівні PHP

Створення БД, користувачів
Створення таблиць
Синтаксис базових запитів Створюємо, редагуємо та видаляємо таблиці, Вивчаємо 4 головні команди: INSERT, UPDATE, DELETE, SELECT
Вибірка з БД та виведення на екран

Урок 6. Інтерактивність: Методи передачі даних GET і POST, робота з формами та даними користувача

Основні методи передачі даних на сервер
Методи GET та POST
Передача даних із форми в скрипт
Обробка та збереження даних у БД, забезпечення безпеки.
Реалізація CRUD-пакету дій [Практика]

Урок 7. Авторизація та автентифікація

Урок 8. Практика

Написання недостатньої логіки сторінок
Створення тестових замовлень
Тестування

PHP. Рівень 2. 1 місяць.
Професійна веб-розробка

Це найповніший професійний курс з освоєння PHP на рівні майстра-віртуоза. Створений для тих, хто вже розуміє, що таке PHP, які є потужність і потенціал цієї мови. Багато випускників курсу стверджують, що один місяць навчання за нашою програмою можна порівняти з роками навчання за книгами чи матеріалами з Інтернету!

Урок 1. ООП у PHP. Основні поняття.

Введення в парадигму ОВП, знайомство з фундаментальними поняттями та принципами. Реалізація ООП у PHP.

Урок 2. ООП у PHP. Розширене вивчення.

Продовження вивчення ОВП та його реалізації у PHP. Архітектурні аспекти ООП. Магічні методи, контроль типів, трейти, патерни.

Урок 3. Шаблонізатори

Шаблонизатори концепції. Ознайомлення з Twig. Реалізація функціоналу шаблонизатора. Винятки у PHP.

Урок 4. Поглиблене проектування реляційних баз даних.

Продовження знайомства із симбіозом MySQL та PHP. Поняття нормалізації даних, різноманітні форми нормалізації. Зв'язки у БД. Резервне копіювання даних та оптимізація продуктивності БД. Ознайомлення з механізмом транзакцій.

Урок 5. Парадигма MVC. Оновлення двигуна

Знайомство з парадигмою-патерном "Model-View-Controller". Відновлення архітектури системи. Стандартизація коду.

Урок 7. Тестування. PHPUnit.

Введення у принципи тестування, TDD, BDD. Знайомство з PHPUnit написання тестів.

Урок 8. Розвиток кар'єри розробника. Інструменти та необхідні знання

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

На новому рівні комплексу курсів з баз даних студенти отримають вичерпну інформацію про довготривалі сховища. Щільно попрацюють з MySQL – системою управління БД, що зарекомендувала себе на популярних проектах. Покроково розбирається проектування баз даних та робота з ними. Курс знайомить і з альтернативними БД: MongoDB, Redis, ElasticSearch та ClickHouse.

Урок 1. Швидкий старт

1.1. Типи бази даних.
1.2. Основи реляційних баз даних.
1.3. MySQL та клієнти.
1.4. Управління базами даних.
1.5. Розбір домашнього завдання.

Урок 2. Мова запитів SQL

2.1. Введення у SQL.
2.2. Числові та рядкові типи даних.
2.3. Календарні типи даних та безлічі.
2.4. Індекси.
2.5. CRUD-операції.
2.6. Розбір домашнього завдання.

Урок 3. Оператори, фільтрація, сортування та обмеження

3.1. Оператори.
3.2. Умовна вибірка.
3.3. Сортування та обмеження.
3.4. Зумовлені функції.
3.5. Зумовлені функції (продовження).
3.6. Розбір домашнього завдання.

Урок 4. Агрегація даних

4.1. Угруповання даних.
4.2. Агрегаційні функції.
4.3. Спеціальні можливості GROUP BY.
4.4. Розбір домашнього завдання.

Урок 5. Складні запити

5.1. Типи багатотабличних запитів та UNION
5.2. Вкладені запити
5.3. JOIN-об'єднання таблиць
5.4. Зовнішні ключі та посилальна цілісність
5.5. Розбір домашнього завдання

Урок 6. Транзакції, змінні, уявлення

6.1. Транзакції.
6.2. Внутрішня реалізація транзакцій.
6.3. Змінні, часові таблиці та динамічні запити.
6.4. Уявлення.
6.5. Розбір домашнього завдання.

Урок 7. Адміністрація MySQL

7.1. Адміністрація MySQL.
7.2. Адміністрація MySQL (продовження).
7.3. Права користувачів.
7.4. Реплікація.
7.5. Реплікація (продовження).
7.6. Розбір домашнього завдання.

Урок 9. Оптимізація запитів

9.1. Типи таблиць.
9.2. Докладніше про індекси.
9.3. Оптимізація запитів.
9.4. Розбір домашнього завдання.

Урок 10. NoSQL

10.1. NoSQL бази даних.
10.2. Key-Value сховища Redis.
10.3. Документ орієнтована на СУБД MongoDB.
10.4. СУБД Повнотекстовий пошук ElasticSearch.
10.5. Колонкова СУБД ClickHouse.
10.6. Розбір домашнього завдання.

Yii2 Framework. 1 місяць.
Професійна Backend-розробка

Yii2 framework - один із найпопулярніших і затребуваних фреймворків на PHP. Знання будь-якого фреймворку якісно збільшує затребуваність php-програміста на ринку праці та його оклад. Курс розрахований на тих, хто знайомий з PHP та ООП на базовому рівні. Ми розглянемо базовий і просунутий шаблон програми, розробимо програму - аналог програми evernote. Виконуючи домашні завдання, ви створите повноцінний проект портфоліо: програма-календар, в якому можна робити позначки про плани на день і "шарити" між іншими користувачами.

Урок 1. Поняття фреймворку. Знайомство з Yii2

Ознайомлення з поняттям фреймворку. Введення у Yii2. Hello, World

Урок 2. Вивчення вбудованого функціоналу

Базові класи та можливості Yii2. Кодоґнерація. Компоненти

Урок 3. Допоміжні класи. Форми

Helpers. Обробка форм. Логування

Урок 4. Робота з базами даних

Підключення БД. Об'єкти для роботи із запитами. Міграції.

Урок 5. Active Record

Урок 6. Віджети. Поводження

Принципи роботи з віджетами. Механізм поведінки

Урок 7. Консольні команди. Cache

Back-end складова логіки. Сервісні команди Оптимізація через кешування

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

Знайдіть серйозну мету для навчання

Прикладом серйозної мети може бути технічний проект, який ви мрієте створити: прототип додатка, сервісу чи просто особистий сайт – вирішуйте самі. Уникайте заглиблюватися в туторіали або масові онлайн-курси з незрозумілою метою «вивчити програмування». Точна мета зробить процес навчання продуктивним і дасть мотивацію наполягати на мірі того, як речі, які ви вивчаєте, будуть ускладнюватися.

Проаналізуйте, що вам належить вивчити, перш ніж почнете

"Програмування" - широке поняття, тому вам, як новачкові, слід обмежити його веб-розробкою. Перед початком зверніть увагу на інфографіку:

Тут видно, який шлях пройти, щоб стати full-stack розробником, і які гілки ведуть до вужчої спеціалізації.

Виберіть як першу мову JavaScript, Python або Ruby

Не існує ідеальної першої мови, але ці три повсюдно використовуються у веб-розробці та мають перспективи у майбутньому. Ось три хороші початкові точки для вивчення кожної з цих мов:

  • JavaScript є Sexy (JavaScript)
  • Ruby on Rails Tutorial by Michael Hartl (Ruby on Rails)

Складіть навчальний план, використовуйте одночасно кілька навчальних ресурсів

Існує безліч якісних онлайн-ресурсів для вивчення розробки, але використовувати їх все неможливо. Тому визначтеся з тим, який навчальний план вам більше підходить на тому чи іншому ресурсі, та використовуйте його. Врахуйте, що немає жодного сайту, який навчить вас усьому від і до: слід поєднувати різні майданчики у своєму плані та вивчати деякі речі паралельно. Ось кілька особливо корисних ресурсів:

  • Free Code Camp (JavaScript)
  • Bento.io (Python / Flask) або Lifehacker (Python / Django)

Оптимізуйте своє навчання психологічними техніками

Дослідження процесів навчання дозволили створити безліч методів навчання, яким досить просто слідувати. Використовуйте та адаптуйте їх для вирішення важких завдань, розуміння складних концепцій, для засвоєння матеріалу та боротьби з прокрастинацією.

Ось кілька корисних практик:

- Використовуйте як сфокусований, так і розсіяний режим мислення
— Розділяйте отримані знання
— Приймайте невдачі спокійно та навчайтеся на них
— Використовуйте метафори та аналогії

Нижче наведено техніки для кращого засвоєння матеріалу:

  • Відновлюйте в пам'яті замість перечитування
  • Використовуйте інтервальні повторення
  • Чергуйте різні типи практик
  • Запам'ятовуйте ключові слова та концепції, які допомагають у вирішенні проблем, замість заучування напам'ять синтаксису

Декілька порад, які допоможуть уникнути прокрастинації:

  • Знайдіть друга, з яким будете вчитися разом
  • Фокусуйтеся на процесі, а не на результаті
  • Спробуйте техніку Pomodoro
  • Встановлюйте регулярні цілі

Навчайтеся веб-програмування через практику

Навчання програмування – багато практики. Перегляд відео та рішення тестів багато користі не принесуть. Ви повинні проводити більшу частину часу, створюючи проекти. Ось пара місць, де можна знайти натхнення та ідеї для власних проектів:

  • Від нуля до фронтенд-героя (Частина I та Частина II)

І ще пара сайтів із прикладами завдань та проблем, які доводиться вирішувати розробнику.