Використання NestJS з MongoDB: Повний посібник

NestJS здобув популярність завдяки своїй надійній архітектурі, що використовує TypeScript та масштабованість Node.js. Однією з поширених потреб у веб-застосунках є робота з базами даних. У цьому посібнику ми розглянемо інтеграцію MongoDB з NestJS за допомогою Mongoose, популярного інструменту моделювання об'єктів MongoDB для Node.js. Наприкінці цього посібника ви отримаєте міцну основу для налаштування проекту NestJS з MongoDB і виконання основних операцій CRUD.

Попередні вимоги

Перед початком переконайтеся, що у вас встановлено:

  • Node.js (версія 12 або вище)
  • Nest CLI
  • MongoDB (також можна використовувати хмарний сервіс, наприклад, MongoDB Atlas)

Налаштування проекту NestJS

Для початку створимо новий проект NestJS за допомогою Nest CLI:

$ 
Читати далі

API MongoDB — Легко активувати та використовувати

pic

Фото від Glenn Carstens-Peters на Unsplash

Oracle Autonomous Database включає потужний MongoDB API, що забезпечує безшовну інтеграцію з клієнтами MongoDB, при цьому скориставшись перевагами передових функцій безпечної та автоматизованої хмарної платформи Oracle.

Хоча MongoDB API попередньо налаштований і готовий до використання, ми зрозуміли, що є кілька поширених запитань щодо його увімкнення. Ця стаття має на меті відповісти на найбільш поширені з них.

Чому важливі правила контролю доступу?

Заходи безпеки не дозволяють увімкнути та експлуатувати MongoDB API без належних правил контролю доступу. Ці правила гарантують, що ви точно знаєте, які клієнти або системи мають доступ до цього інтерфейсу. Вони захищають ваші … Читати далі

MongoDB та MySQL

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

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

Огляд MongoDB і MySQL

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

MongoDB пояснення

Розроблена … Читати далі

Практикуючи створення сучасних додатків.

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

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

Вимоги до системи:

Явні функціональні вимоги

  1. Управління користувачами

Реєстрація користувача

Система повинна дозволяти новому користувачу зареєструватися з унікальними обліковими даними (наприклад, електронною поштою або ім'ям користувача).

Система … Читати далі

Монолітна архітектура проти мікросервісної архітектури

pic

Монолітна архітектура

Монолітна архітектура є класичною моделлю для розробки програмних додатків, де вся система побудована як єдиний, самодостатній блок. Термін "моноліт" часто асоціюється з чимось масивним і незламним — це точна метафора для цього архітектурного стилю. Монолітний додаток працює як єдиний, об'єднаний код, поєднуючи всю бізнес-логіку та функціональність в одну цілісну структуру.

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

Розробка Kubernetes-оператора “StaleSecretWatch”. Частина-02 “Імплементація Користувацького Ресурсу”

pic

30 років, але цей маленький автомобіль все ще викликає таке ж хвилювання! 🏎️💨 #МолодийДухом

У Частині 1 ми розглядали теорію за Kubernetes Operators і чому ми будуємо StaleSecretWatch Operator. Тепер, у Частині 2, ми зануримося в практичні аспекти створення цього оператора за допомогою Operator SDK. Від налаштування проєкту до написання необхідного коду — цей посібник надасть покрокову інструкцію.

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

Історія забутих секретів

Уявіть таке: ви керуєте кластером Kubernetes для важливого проєкту. Навколо все кипить — нові деплойменти, масштабування сервісів і постійні оновлення. Як ваша … Читати далі

Основи Kubernetes: Пам’ятка для початківців та досвідчених користувачів

pic

Фото Іана Тейлора на Unsplash

Вступ:

  • Цей блог призначений для початківців, які хочуть зрозуміти Kubernetes, а також для тих, хто готується до складання сертифікаційного іспиту CKA і хоче освіжити свої знання з основних концепцій та команд перед тестуванням своїх навичок. Це не заміна офіційних курсів. Уся надана інформація черпається з KodeKloud Labs та курсу “Prepare for the Certified Kubernetes Administrator Certification with Live Practice Tests Right in Your Browser — CKA” від Mumshad Mannambeth.

1. Основні концепції та огляд

Огляд Kubernetes: Kubernetes автоматизує розгортання, масштабування та керування контейнеризованими додатками. Він дозволяє створювати кілька екземплярів додатка в кластері.

Компоненти кластера:

  • Компоненти
Читати далі

Як обрати транспортний протокол для вашого мікросервісу NestJS

pic

NestJS — це прогресивний фреймворк для створення ефективних, масштабованих додатків на Node.js, який пропонує потужні інструменти для комунікації між мікросервісами. Однак вибір правильного транспортного протоколу для вашого мікросервісу на NestJS є критичним рішенням, яке може вплинути на продуктивність, масштабованість та обслуговуваність.

Ця стаття допоможе вам вибрати найвідповідніший транспортний протокол для вашого мікросервісу на NestJS. Ми розглянемо доступні протоколи, їхні переваги та недоліки, а також реальні приклади, щоб допомогти вам зробити обґрунтований вибір.

Розуміння комунікації між мікросервісами

Мікросервіси спілкуються через API або системи обміну повідомленнями. Вибір транспортного протоколу визначає, як сервіси надсилають і отримують дані, забезпечуючи надійність, швидкість і масштабованість. Транспортні … Читати далі

Крок за кроком установка та налаштування Kubernetes.

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

До речі, ця стаття стосується саме ручної установки Kubernetes кластера на сервер, а також налаштувань. Якщо ваша мета лише швидко встановити Kubernetes і почати працювати, я рекомендую вам скористатися інструментами Kubernetes, які пропонують GCP або AWS.

Що таке Kubernetes?

Читати далі

CKA Підсумок — Ingress та NetworkPolicy

Ingress

  • ingress для доступу ззовні: domain_name:port/path
  • Поле:
  • rules.ingressClassName
  • path -> шлях
  • backend.service.name -> сервіс
  • port -> порт сервісу
  • host -> доменне ім’я
apiVersion: networking.k8s.io/v1  
kind: Ingress  
metadata:  
 name: ingress-wildcard-host  
 annotations:  
 nginx.ingress.kubernetes.io/rewrite-target: /  
spec:  
 ingressClassName: nginx # використовується для ingress-контролера  
 rules:  
 - host: "foo.bar.com"  
 http:  
 paths:  
 - pathType: Prefix  
 path: "/bar" # http://domain/path  
 backend:  
 service:  
 name: service1 # svc  
 port:  
 number: 80 # порт svc  
 - host: "*.foo.com"  
 http:  
 paths:  
 - pathType: Prefix  
 path: "/foo"  
 backend:  
 service:  
 name: service2  
 port:  
 number: 80

Перевірка

1. перевірити, чи встановлений ingress контролер

k get ingressclass

якщо ні, встановіть його

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx  
Читати далі