Technical skills improvements

3. Back end

Practice makes perfect

2. Web Development

  1. Інтернет

  2. Базові поняття вебу (HTML, URI, HTTP)

  3. Які питання вирішує?

  4. Client Server Architecture

  5. Верстка

  6. Front end / Back end

  7. Що вміємо ми? Різні типи продуктів - різні технології

  8. Web App Architecture

HTTP (Hyper Text Transfer Protocol)

Client Server Architecture

Front end / Back end

Back end (складові частини)

  1. Web server

  2. Application

  3. 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