Technical skills improvements
3. Back end
Practice makes perfect
2. Web Development
-
Інтернет
-
Базові поняття вебу (HTML, URI, HTTP)
-
Які питання вирішує?
-
Client Server Architecture
-
Верстка
-
Front end / Back end
-
Що вміємо ми? Різні типи продуктів - різні технології
-
Web App Architecture
HTTP (Hyper Text Transfer Protocol)
Client Server Architecture
Front end / Back end

Back end (складові частини)
-
Web server
-
Application
-
Data
Server (hardware)
Web server (software)

Sync vs Async programming

Sync programming languages
-
PHP
-
Ruby
-
Python
-
C#
-
Java
Async programming languages
-
Node.js
-
Python
-
C#
-
Java
Sync programming languages
-
HTTP
Async programming languages
-
HTTP, WS
RESTful API
- REST (Representational State Transfer, «передача репрезентативного стану») — підхід до архітектури мережевих протоколів, які забезпечують доступ до інформаційних ресурсів.
- Дані повинні передаватися у вигляді невеликої кількості стандартних форматів (наприклад, HTML, XML, JSON)
RESTful API

MVC
- Model-view-controller - це архітектурний патерн, яка зазвичай використовується для розробки користувацьких інтерфейсів, що розділяє програму на три взаємопов'язаних частини.
PHP (Yii 2)
Yii - високопродуктивний PHP фреймворк для швидкої розробки сучасних web додатків. Його можливості дозволяють реалізовувати великомасштабні проекти типу форумів, порталів, CMS, RESTful web сервісів тощо.
- Як і у більшості фреймворків, в основі Yii - MVC патерн (Модель-Представлення-Контролер).
- Філософія Yii - простий, але елегантний код.
- Yii - це full-stack фреймворк, що надає безліч перевірених і готових до використання рішень: будівник запитів, ActiveRecord для реляційних і NoSQL баз даних, RESTful API, багаторівневу підтримку кешування і багато чого ще.
- Висока продуктивність - основна мета Yii.
PHP (Laravel)
Laravel - це фреймворк для web додатків з виразним і елегантним синтаксисом. Він дозволить спростити вирішення основних наболілих завдань, таких як аутентифікація, маршрутизація, сесії і кешування. Laravel - це спроба об'єднати все найкраще, що є в інших PHP фреймворк, а також Ruby on Rails, ASP.NET MVC і Sinatra.
Laravel - доступний, але потужний. Має безліч відмінних інструментів для великих, надійних додатків
Python (Django)
The web framework for perfectionists with deadlines.
Django - це високотехнологічна платформа Python Web, яка сприяє швидкому розвитку та чистому прагматичному дизайну. Побудований досвідченими розробниками, він дбає про велику частину складності веб-розробки, тому можна зосередити увагу на написанні додатка без необхідності винаходити колесо.
Python (Django)
The web framework for perfectionists with deadlines.
- Django був розроблений, щоб допомогти розробникам якнайшвидше виконувати програми від концепції до завершення.
- Джанго серйозно ставиться до безпеки і допомагає розробникам уникнути багатьох загальних помилок безпеки.
- Легко масштабується
- Використовують в: Pinterest, Instagram, Disqus, Washington Posts, Bitbucket, NASA, [bvblogic]
Python (Flask)
Відноситься до категорії так званих мікрофреймворків - мінімалістичних каркасів веб-додатків, що свідомо надають лише базові функції.
Python (Sanic)
Sanic - Flask-подібний веб-сервер Python 3.5+, який написано для швидкої роботи.
На додаток до того, як він нагадує Flask, Sanic підтримує асинхронні обробники запитів, що робить код неблокуючим та швидким.
Ruby (RoR)
Ruby on Rails - повноцінний, багаторівневий фреймворк для побудови веб-додатків, що використовують бази даних, що базується на моделі Model-View-Controller (MVC).
Node.js (Express)
Швидкий, гнучкий, мінімалістичний фреймворк для веб-застосунків, побудованих на Node.js
Він призначений для побудови веб-програм і API. Це називається де-факто стандартною структурою сервера для Node.js
Node.js (Sails.js)
Sails.js дозволяє легко створювати прості корпоративні Node.js додатки.
Дозволяє створювати практичні, готові до розробки програми Node.js протягом декількох тижнів, а не місяців.
Sails.js є найпопулярнішою структурою MVC для Node.js, розробленою на зразок відомого фреймворку - Ruby on Rails
База даних (database)
Сукупність даних, організованих відповідно до концепції, яка описує характеристику цих даних і взаємозв'язки між їх елементами;
SQL
SQL (Structured query language — мова структурованих запитів) — декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД
NoSQL
NoSQL (non SQL або non relational, not only SQL) — база даних, яка забезпечує механізм зберігання та видобування даних відмінний від підходу таблиць-відношень в реляційних базах даних.
NoSQL бази даних все більше і більше використовуються в задачах із застосуванням великих даних та real-time web-додатках.
Back end
By Tutan Budok
Back end
- 193