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

Читати далі →



Отже, в першої частини ми використали чудові можливості Feathers.js для того, щоб за 5 хвилин створити backend для нашого застосування.

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

Тому прийшла пора «підняти капот і заглянути в потрухи» нашого коду.

Читати далі →

Маленьке введення. Швидше за все цей пост буде цікавий тільки тим, хто знає, що таке ESLint, але все ж зроблю невелику вступну — а то сам сильно засмучуюсь, коли відкриваю публікацію, і вона починається словами “вже 10 років ми використовуємо ххх, про який ви звичайно знаєте, а ми вирішили написати про xxx.yyy, що ніхто ніколи не робив, але напевно це дуже круто".

Отже, ESLint це крутий інструмент, який дозволяє проводити аналіз якості вашого коду, написаного на будь-якому вибраному стандарті JavaScript. Він наводить код до більш-менш єдиного стилю, допомагає уникнути дурних помилок, вміє автоматично виправляти багато зі знайдених проблем і відмінно інтегрується з багатьма інструментами розробки (привіт, Jetbrains, ми любимо вас!). До речі, він, як і інші линтеры, не зобов'язує вас до одного якогось конкретного стилю. Навпаки — ви можете вибрати щось з кращих практик і доопрацювати на свій розсуд!



Читати далі →

Думаю, ми можемо знову обнулити лічильник часу появи чергової JS бібліотеки.
Все почалося приблизно 6 років тому, коли я познайомився з node.js. Близько 3 років тому я почав використовувати node.js на проектах разом з чудовою бібліотекою express.js (на wiki вона названа каркасом додатків, хоча деякі можуть називати express фреймворком або навіть пакетом). Express поєднує в собі node.js http сервер і систему проміжного ПЗ, створену за образом каркаса Sinatra з Ruby.
Читати далі →


Feathers — мало відомий (на жаль!), але при цьому дуже потужний і зручний фреймворк для створення серверних додатків на Node.js. В його основі лежить набагато більш популярна технологія Express.

Але якщо Express в основному орієнтована на створення web-додатків і генерацію html-коду з використанням різних шаблонизаторов, то Feathers призначений для створення сервісів (REST, Socket.io і Primus). При цьому від розробника потрібно мінімум зусиль і доопрацювання коду — адже все вже написано до нас.

При всій потужності Feathers, пишуть про нього вкрай мало. Остання публікація на Хабре про нього була в 2013 році, ніяких книг статей та курсів не існує. Сам я наткнувся на неї абсолютно випадково, коли шукав найбільш зручний варіант написання сервера для зараз системи персональної ефективності.

Від такої несправедливості мені стало гірко і я вирішив написати цей текст про те, як з допомогою Feathers за жалюгідні 5 хвилин створити дійсно працюючий сервер, що надає сервіси для того ж React.

Читати далі →

Підписування ідентифікаторів ресурсів і захист API від DDoS-атак

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



Мені довелося взяти участь в роботі над цим проектом в якості консультанта. Відвідуваність ресурсу становить близько 200 мільйонів унікальних користувачів в місяць. Така популярність означає і високий рівень ризиків у сфері інформаційної безпеки, зокрема, це ризик зазнати різних видів атак, найпоширеніші серед яких – DDoS. Організація, яку називати не буду, впровадила широкий спектр рішень для запобігання впливу подібних атак на працездатність сервісу.

Читати далі →

Node.js, Express і MongoDB: API за півгодини

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


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

Читати далі →

Використання Node.js технології як платформу для оптимізації серверних потужностей

image
Web-програмування стрімко розвивається і з'являється необхідність вибору між сформованими мовами такими як PERL, C++ і Java і сучасними веб-орієнтованими або прототипно-ориентироваными мовами як наприклад Ruby або Go. Один з таких мов є JavaScript. Багато років була присутня думка JavaScript що це клієнтоорієнтований мова програмування і майбутнього у нього немає, але після того, як компанія Google випустила стабільну версію JavaScript-движка V8 з'явився Node.js і його стали використовувати як абсолютно нової ідеї, серверного JavaScript.

Node.js продовжує розвиватися динамічно і амбіційно. Так наприклад, протягом кількох останніх років розробниками було додано близько 200 000 модулів для Node.js це перевищує в кілька разів темпи розвитку вже усталених серверних мов, таких як Perl у якого кількість модулів у репозиторії менше. Так само потрібно підкреслити що технологія Node.js набирає обертів і використовується такими компаніями, як Yahoo, Microsoft, PayPal і LinkedIn, не кажучи вже про гугл.

Читати далі →

Особливості розробки Telegram бота з Google API в Docker

Коротко про боте: отримує список YouTube-каналів користувача і повідомляє про нові відео з можливістю нагадати про нього пізніше.

У статті розповім про особливості написання цього бота і взаємодії з Google API. Я люблю стислість, тому в статті буде мало «води».
На які питання відповість стаття:
  • Де взяти зовнішній адресу сайту для Webhook
  • Де взяти HTTPS-сертифікат як його використовувати, щоб Telegram йому довіряв
  • Як передавати дані та обробляти натискання на Inline-кнопки
  • Як отримати вічний OAuth токен для Google API
  • Як передати дані користувача через OAuth callback url
  • Як отримати безкоштовний домен 3 рівня
Стек:
  1. Back-end: Node.js + Express.js
  2. БД: Mongo.js + mongoose
  3. Пакетний менеджер: Yarn (він дійсно швидкий)
  4. Telegram-бот фреймворк: Telegraf
  5. Продакшн: Docker + Docker Compose + Vscale.io

Читати далі →

19 несподіваних знахідок документації Node.js

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

Мені подобається записувати корисні речі про інтерфейси, властивості, методи, функції, типи даних, і про все інше, що відноситься до веб-розробці. Так я заповнюю прогалини в знаннях. Зараз я зайнятий документацією до Node.js, а до цього пропрацював матеріали по HTML, DOM, Web API, CSS, SVG і EcmaScript.

image
Читання документації Node.js відкрило мені чимало чудових речей, про які я раніше не знав. Ними я хочу поділитися в цьому невеликому матеріалі. Почну з самого цікавого. Так само я зазвичай роблю, коли показую новому знайомому свої гаджети.

Читати далі →