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

Vue.js — це популярний JavaScript фреймворк для створення інтерфейсів користувача та односторінкових додатків (SPAs). Його архітектура розроблена так, щоб бути простою, гнучкою та ефективною, що робить його улюбленцем серед розробників. У цьому блозі ми розглянемо архітектуру Vue.js, її основні принципи та те, як він працює для створення динамічних і реактивних веб-додатків.

pic

фото Артем Аркіпов

Огляд архітектури Vue.js

Vue.js використовує архітектурний шаблон Model-View-ViewModel (MVVM). Цей шаблон сприяє чіткому розділенню логіки та інтерфейсу користувача, що полегшує розробку та обслуговування додатків.

  1. Model
    Модель представляє дані додатку. У Vue.js зазвичай це реалізується через об'єкти JavaScript, які зберігають дані та визначають їх структуру.
  2. View
Читати далі

Розуміння DOM та міжсайтових скриптів (XSS) — Частина 1

Ласкаво просимо до першої частини нашого курсу з освоєння моделі об’єктів документа (DOM) та розуміння її зв’язку з об'єктно-орієнтованим програмуванням (OOP). Ця серія покликана надати вам базові знання про те, як розробники взаємодіють з веб-додатками, маніпулюють DOM та визначають вразливості на стороні клієнта.

У цій частині ми розглянемо основи OOP, структуру DOM і те, як ці концепції взаємодіють у веб-розробці.

Розділ 1: Основи об'єктно-орієнтованого програмування (OOP)

Що таке OOP?

Об'єктно-орієнтоване програмування (OOP) — це парадигма, яка дозволяє розробникам представляти реальні об'єкти в коді.

Об'єкти в об'єктно-орієнтованому програмуванні (OOP) інкапсулюють дані (атрибути (attributes)) та поведінку (методи (methods)), що полегшує … Читати далі

Чи готовий ваш додаток на Node.js до роботи в продуктивному середовищі? Повний чекліст.

pic

Чи готовий ваш Node.js додаток до виробничого середовища? Повний чек-лист

Щодня тисячі додатків на Node.js розгортаються в продуктивному середовищі. Однак багато з них не відповідають суворим вимогам виробничого середовища. Як Full Stack Engineer, який розгортав численні додатки на Node.js в масштабах, я поділюсь необхідним чек-листом, що відрізняє готові до виробництва додатки від аматорських розгортань.

Чому це важливо

У 2023 році ми стали свідками кількох великих невдач додатків на Node.js:

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

Оголошення про Deno 2

(Оригінально опубліковано на deno.com/blog.)

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

Проте, незважаючи на ці складнощі, JavaScript, мова вебу, залишалася найпопулярнішою мовою протягом останнього десятиліття, з тим, що TypeScript швидко наближається до третьої позиції.
Це свідчення універсальності та … Читати далі

Як отримувати інсайти з PDF файлів за допомогою Apryse та GPT

pic

Отримуйте інсайти з PDF-файлів за допомогою Apryse та GPT

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

На щастя, ми живемо в епоху, коли великі мовні моделі (Large Language Models, LLMs) стали доступнішими ніж будь-коли, і сьогодні вже досить просто створити додаток на базі штучного інтелекту, який може виявляти патерни, тренди та зв'язки для того, щоб допомогти — а не замінити — людські команди у прийнятті рішень на основі даних.

Але є одне "але"? Це можливо Читати далі

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

pic

Цілі

Коротко визначити проблему витоків пам'яті та пояснити, чому це важливо в контексті фронтенд-розробки.

Пояснити, чому витоки пам'яті є поширеною проблемою в фронтенд-розробці (таких фреймворках як React, Vue та Angular) і як вони можуть негативно впливати на продуктивність сайту та досвід користувача.

Визначити загальний шаблон витоків пам'яті та пояснити, як їх можна виявити.

Реальна проблема: боротьба з витоками пам'яті у Vue.js (фронтенд-фреймворк)

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

Кілька днів тому я … Читати далі

Знайомтеся з Angular v19!

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

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

Основні моменти:

  • Попередній перегляд для розробників (Developer Preview) інкрементальної гідрації (Incremental Hydration), яка підтримує найвимогливіші сценарії продуктивності.
  • Можливість керувати, які маршрути рендеряться на клієнті (Client), сервері (Server) або під час білду (Build), а також вирішувати параметри маршруту
Читати далі

Як розгорнути базовий додаток на Rails 8 на OVH за допомогою Kamal

У цьому підручнику я поясню, як розгорнути додаток на Rails 8 на платформі OVH, використовуючи Docker і Kamal. Цей підручник орієнтований на додаток Rails 8, що використовує sqlite як базу даних і обробку завдань (jobs).

Що вам знадобиться?

  • Новий додаток на Rails 8 для розгортання. Якщо у вас його немає, тут можна знайти інструкцію зі створення.
  • Сервер на OVH, його IP-адреса та налаштоване SSH-з’єднання із цим сервером.
  • Ваше ім’я користувача на сервері: на OVH ім’я користувача залежить від операційної системи сервера (наприклад, ubuntu, debian, centos тощо).
  • Ваш пароль: під час покупки сервера на OVH ви отримуєте електронний лист із
Читати далі

Rails 8.0: оновлення, яке неможливо пропустити

Ruby on Rails 8.0 вже тут, приносячи безліч нових можливостей та покращень, які роблять веброзробку більш динамічною, безпечною та ефективною. У цьому блозі ми вирушимо в подорож по найважливіших оновленнях, доповнюючи їх цікавими поясненнями та ілюстративними прикладами коду, які допоможуть вам підняти свої навички роботи з Rails на новий рівень.

pic

Основні нововведення Rails 8.0

1.

Інтеграція Turbo 8

Rails 8.0 відкриває нові можливості завдяки інтеграції Turbo 8, пропонуючи неперевершену підтримку для реального часу та інтерактивності.

Що нового:

  • Просте оброблення помилок у Turbo Streams (потоки Turbo).
  • Блискавична продуктивність Turbo Frames для плавного оновлення інтерфейсу.
# Трансляція статей у реальному часі з 
Читати далі