Спрощення віртуальних хостів Apache в XAMPP: Посібник для початківців

Коли ви працюєте з Apache в XAMPP, розуміння важливості віртуальних хостів (Virtual Hosts, V-Hosts) може значно спростити керування кількома проектами, особливо якщо вони не знаходяться в стандартному каталозі htdocs. Цей посібник допоможе вам налаштувати віртуальний хост для проекту WordPress, розташованого поза стандартною структурою папок XAMPP. Давайте розглянемо, як це зробити!

Навіщо використовувати віртуальні хости?

Уявіть таку ситуацію: ви клонували проект WordPress з Bitbucket на свою локальну машину. Замість того, щоб засмічувати стандартний каталог XAMPP (/var/lamps/htdocs), ви надаєте перевагу організовувати свої проекти в кастомній папці. Однак, щоб запустити проект з цього нового місця, потрібно внести кілька налаштувань.
Ось тут і починають … Читати далі

Як налаштувати багатофакторну авторизацію з кастомним входом у Laravel 11

Крок 1 : створення нового проекту Laravel

composer create-project laravel/laravel laravelapp --prefer-dist

Крок 2 : додавання нового стовпця до файлу міграції для користувачів

Schema::create('users', function (Blueprint $table) {  
 $table->id();  
 $table->string('name');  

 //додаємо стовпець для збереження ролі користувача  
 $table->enum('role', ['admin', 'customer'])->default('customer');  

 $table->string('email')->unique();  
 $table->timestamp('email_verified_at')->nullable();  
 $table->string('password');  
 $table->rememberToken();  
 $table->timestamps();  
 });

Крок 3 : додавання тестових даних у сидер

public function run(): void  
 {  
 User::factory()->create([  
 'name' => 'Admin',  
 'email' => '[email protected]',  
 'role' => 'admin',  
 'password' => '1234'  
 ]);  

 User::factory()->create([  
 'name' => 'Customer',  
 'email' => '[email protected]',  
 'role' => 'customer',  
 'password' => '1234'  
 ]);  
 }

Крок 4 : запуск міграції з сидером

php artisan migrate --seed
```

Крок … Читати далі

Сутності, Параметри, .NET та PostgreSQL

#EntityFrameworkCore #DotNet #CSharp #PostgreSQL

Сутності та Параметри (також відомі як "атрибути сутностей" або "атрибути об'єктів") є важливою частиною будь-якої програмної системи. У цій статті я поясню, що це таке та як їх реалізувати в .NET та Entity Framework Core, з використанням PostgreSQL як бази даних.

Що таке Сутності та Параметри?

Системи Сутність-Параметр — це системи, які допомагають нам керувати даними, пов'язаними з Сутностями (Облікові записи, Інформація про продукти, Послуги тощо), а також їхніми відповідними Параметрами та значеннями.

pic

Система Сутність-Параметр

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

pic

Система Сутність-Параметр для сутності Продукт

Тут ми бачимо, що … Читати далі

.NET + Python + JS в Jupyter? Ласкаво просимо до Polyglot Notebooks!

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

Виявляється, є інструмент для цієї роботи, який називається Jupyter Notebook. Однак довгий час його асоціювали тільки з Python, оскільки він був створений для цієї мови. Але тепер усе змінилося, оскільки Polyglot Notebook змінює ситуацію.

Polyglot Notebook дозволяє використовувати не лише Python, R, C#, F#, JS, SQL, KQL, HTML та інші мови, але й об'єднує їх під єдиним дахом!

Polyglot Notebook — це розширення для … Читати далі

Створення гри типу Tower Defense, день 8

Сьогодні я зосереджений на реалізації… менеджера спауну.

pic

Чому менеджери спауну завжди змушують мене хочеться розбити голову об цегляну стіну?!

Отже, в принципі, нам потрібен цей менеджер спауну з чотирма основними функціями:

  1. Мати пул об'єктів
  2. Мати кілька типів ворогів (поясню це, коли сам розберусь)
  3. Система хвиль з затримкою між раундами
  4. Оновлення UI, щоб він точніше відображав кількість залишкових ворогів.

Кодування

У моєму менеджері UI я додав кілька методів для оновлення номера хвилі та кількості ворогів.

pic

Я збираюся створити новий скрипт і назвати його менеджером спауну.
Звідси я збираюся створити ці змінні.

pic

У методі void start я викликаю список збережених ворогів і … Читати далі

Що таке підходи Database First і Code First?

Bu konulara değinmeden önce, her şeyden önce ORM Yaklaşımını ele almamız gerektiğinin kanaatindeyim.

ЩО ТАКЕ ПІДХІД ORM?

Підхід ORM (Object Relational Mapping) виглядає наступним чином. Він забезпечує нам можливість працювати з базами даних через SQL, при цьому забезпечуючи опційність, зручність і швидкість у процесі роботи. Коли ми не використовуємо підхід ORM, нам необхідно безпосередньо інтегрувати SQL-коди в наш код і виконувати запити відповідно до них.

В результаті таких запитів, якщо нам потрібно виконувати операції з базою даних, ми повинні мати достатні знання про базу, з якою будемо працювати, оскільки ми будемо використовувати ці знання безпосередньо в коді для побудови нашої … Читати далі

Refit

pic

Хочу познайомити вас з дуже корисною бібліотекою для .NET, що дозволяє викликати API - Refit.

Я буду викликати REST Countries API.

Використаю цей кінцевий пункт https://restcountries.com/v3.1/alpha/{code} для отримання інформації про країну за кодом.

Я використовував chatgpt для перетворення JSON-відповіді в C# класи.
Нижче ви можете знайти результат:

public class Country  
{  
 public Name Name { get; set; }  
 public List Tld { get; set; }  
 public string Cca2 { get; set; }  
 public string Ccn3 { get; set; }  
 public string Cca3 { get; set; }  
 public string Cioc { get; set; }  
 public bool Independent { 
Читати далі

📟 Вступ до Spectre.Console: Створення сучасних та елегантних інтерфейсів командного рядка 📦

pic

Фото Джейка Вокера на Unsplash

При розробці інструментів командного рядка (CLI) за допомогою .NET ми часто стикаємося з проблемами, пов'язаними з чітким і зручним поданням інформації. На щастя, Spectre.Console став потужним рішенням для спрощення створення інтерактивних, сучасних та візуально привабливих CLI.

У цій статті ми розглянемо основні можливості Spectre.Console, як він може покращити ваші інструменти командного рядка і як почати використовувати його у ваших .NET проектах.

Що таке Spectre.Console?

Spectre.Console — це бібліотека з відкритим кодом для .NET, яка дозволяє створювати надійні, інтерактивні та естетично привабливі інтерфейси командного рядка (CLI).
Це підтримує розширене рендеринг тексту, таблиці, індикатори прогресу, інтерактивні … Читати далі

Впровадження контролю доступу на основі ролей (RBAC) з трансформацією претензій у .NET Core

Вступ

Контроль доступу на основі ролей (Role-Based Access Control, RBAC) є важливою частиною сучасної безпеки додатків. Ця стаття демонструє, як реалізувати комплексну систему RBAC у .NET Core, поєднуючи управління ролями, трансформацію вимог і динамічне оброблення дозволів.

Основні функції, які розглядаються:

  • Управління ролями та дозволами за допомогою Entity Framework Core
  • Трансформація вимог для зовнішніх постачальників автентифікації
  • Користувацькі обробники авторизації
  • Динамічне генерування політик
  • Інтеграція з Keycloak для автентифікації

Компоненти системи

Система складається з кількох основних компонентів:

  1. Моделі даних
  • Ролі
  • Дозволи
  • Користувачі
  • Таблиці відображення (RolePermission, UserRole)

2. Компоненти авторизації

  • Трансформація вимог
  • Обробник дозволів
  • Динамічний постачальник політик

**3.

Інтеграція автентифікації

  • Конфігурація JWT Bearer
  • Інтеграція
Читати далі

Розширення функціональності інструменту автоматизованого тестування USD

pic

Исходный код

Вступ

Після завершення частини 2 мого проекту, я тепер планую розширити функціональність самого інструмента. Частина 1 цього проекту створила дуже міцний, модульний фундамент для подальшого розвитку цього інструменту, який я збираюся розширювати в цій частині (частина 3).

Процес проекту

Покращення моєї конфігурації CMake

Після розмови з другом, який є дуже досвідченим розробником програмного забезпечення, я зрозумів, що є кілька способів покращити конфігурацію CMake мого проекту. Ось розбір того, чого я навчився і як я покращую свій файл CMakeLists.txt.

1. Встановлення USD_ROOT як змінної кешу

Я оновлюю USD_ROOT, щоб він став змінною кешу.
Це дозволяє будь-кому, хто … Читати далі