본문 바로가기

프로그래밍131

Laravel Jetstream API 제트스트림은 라라벨 생텀(Laravel Sanctum)과의 first-party 통합을 포함합니다. 라라벨 생텀은 SPA(싱글 페이지 애플리케이션), 모바일 애플리케이션, 그리고 간단한 토큰 기반 API를 위한 경량 인증 시스템을 제공합니다. 생텀은 애플리케이션의 각 사용자가 자신의 계정에 대해 여러 API 토큰을 생성할 수 있게 해줍니다. 이 토큰들은 어떤 작업을 수행할 수 있는지 지정하는 능력/권한을 부여받을 수 있습니다. 기본적으로, API 토큰 생성 패널은 오른쪽 상단의 사용자 프로필 드롭다운 메뉴의 "API" 링크를 사용하여 접근할 수 있습니다. 이 화면에서 사용자는 다양한 권한을 가진 생크텀 API 토큰을 생성할 수 있습니다. Enabling API Support 애플리케이션이 제3자에 의해 .. 2024. 1. 6.
Laravel Jetstream Teams --teams 옵션을 사용하여 제트스트림(Jetstream)을 설치한 경우, 애플리케이션은 팀 생성 및 관리를 지원하도록 구조화될 것입니다. 제트스트림의 팀 기능은 각 등록된 사용자가 여러 팀을 생성하고 소속될 수 있도록 합니다. 기본적으로 모든 등록된 사용자는 "Personal" 팀에 속하게 됩니다. 예를 들어, "Sally Jones"라는 이름의 사용자가 새 계정을 생성하면 "Sally's Team"이라는 팀에 할당됩니다. 등록 후 사용자는 이 팀의 이름을 변경하거나 추가 팀을 생성할 수 있습니다. 제트스트림의 팀 구조화와 방식이 모든 애플리케이션에 적합하지 않을 수 있습니다. 사용 사례에 맞지 않는다면, 팀 기반의 제트스트림 애플리케이션이 아닌 애플리케이션을 생성하고 자신의 필요에 따라 수동으로 팀.. 2024. 1. 6.
Laravel Jetstream 시작하기 설치 composer require laravel/jetstream 제트스트림(Jetstream) 패키지를 설치한 후에는 jetstream:install 아티즌 명령을 실행할 수 있습니다. 이 명령은 선호하는 스택의 이름(livewire 또는 inertia)을 받습니다. 또한, --teams 스위치를 사용하여 팀 지원을 활성화할 수 있습니다. jetstream:install 명령은 제트스트림이 제공하는 기능에 대한 테스트 커버리지를 제공하는 일련의 "feature" 테스트도 설치할 것입니다. Pest PHP를 테스트에 사용하고 싶다면, 기본 PHPUnit 테스트 스위트 대신 Pest 테스트 스위트를 설치하는 --pest 스위치를 사용할 수 있습니다. Install Jetstream With Livewir.. 2023. 12. 27.
라라벨 Fortify Introduction 라라벨 포티파이(Laravel Fortify)는 라라벨의 프론트엔드에 구애받지 않는 인증 백엔드 구현입니다. 포티파이는 로그인, 회원가입, 비밀번호 재설정, 이메일 인증 등 라라벨의 모든 인증 기능을 구현하기 위해 필요한 경로와 컨트롤러를 등록합니다. 포티파이를 설치한 후에는 Artisan 명령어 route:list 를 실행하여 포티파이가 등록한 경로를 확인할 수 있습니다. 포티파이는 자체 사용자 인터페이스를 제공하지 않기 때문에, 사용자의 인터페이스와 함께 사용되어야 합니다. 이 인터페이스는 포티파이가 등록한 경로에 요청을 보내는 방식으로 작동합니다. 이 문서의 나머지 부분에서 이러한 경로에 요청을 보내는 방법에 대해 자세히 논의할 것입니다. 기억하세요, 포티파이(Fortify).. 2023. 12. 21.
라라벨 서브 디렉토리에 설치하기 nginx, valet 부득이한 경우, 특정 디렉토리 아래 라라벨을 설치하고 서브 URI 를 통해 접속해야하는 일이 생길 수 있습니다. 이와 관련하여 nginx 설정 및 valet 설정을 다음과 같이 합니다. nginx 설정 도메인/v1 에 연결하고자 할 경우 location /v1 { alias /home/어쩌구/html/v1/public; index index.php; try_files $uri $uri/ @laravel; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass unix:/var/run/php-fpm/어쩌구.sock; include fastcg.. 2022. 11. 21.
.NET Framework 4.6.2 에서 gRPC-Web 클라이언트 구현 먼저, gRPC-Web 연동과 관련한 Grpc.Net.Client.Web 패키지의 경우 .NET Framework 를 지원하지 않습니다. 따라서, .NET Standard 2.0 클래스 라이브러리를 생성한 다음, 이를 .NET Framework 4.6.2 에서 호출하는 방식을 사용하여야합니다. 아래 표에서 확인할 수 있듯, .NET Standard 2.0 의 경우 .NET Framework 4.6.1 이상 부터 지원합니다. 즉, 4.6 은 연동할 수 없습니다. .NET Standard 클래스 라이브러리의 프로젝트 파일에 아래의 내용을 추가합니다. netstandard2.0 true true 그리고 .NET Framework 4.6.2 프로젝트 파일에 아래의 내용을 추가합니다.("프로젝트를 언로드" 한 다.. 2022. 6. 16.
Blazor 서버 앱 Elastic BeansTalk 배포 먼저, AWS Tookit 을 설치합니다. 2022.04.22 - [서버/클라우드] - AWS Toolkit for Visual Studio 설치 Visual Studio 에서 Blazor Server 앱을 선택하여 프로젝트를 생성합니다. 프로젝트가 생성되면 AWS Serverless 로 배포하여 정상적으로 동작하는지 확인합니다. 솔루션 탐색기에서 프로젝트를 선택하고 마우스 우클릭한 다음, 팝업에서 Publish to AWS Elastic Beanstalk... 를 실행합니다. 기존 사용하던 Elastic Beanstalk 환경이 있으면 이를 사용하여도 됩니다. 일단 새로운 어플리케이션 환경을 선택하여 새로이 환경 설정을 진행합니다. 사용할 URL 을 지정합니다. 이때 필요한 IAM 정책 권한은 Admi.. 2022. 5. 23.
.NET Core 에서 gRPC-Web 구현 https://docs.microsoft.com/ko-kr/aspnet/core/grpc/browser?view=aspnetcore-6.0 NuGET 을 사용하여 Grpc.AspNetCore.Web 패기지를 추가합니다. 서버의 Startup.cs 에서 UseRouting 과 UseEndpoints 사이에 UseGrpcWeb 을 호출합니다. 그 외 CORS 처리 및 gRPC 서비스 중 gRPC-Web 을 지원할 메소드들에 EnableGrpcWeb() 을 연계 및 호출합니다. public void ConfigureServices(IServiceCollection services) { services.AddGrpc(); services.AddCors(o => o.AddPolicy("AllowAll", buil.. 2022. 5. 22.
Visual Studio 2022 gRPC 서버 TLS 사용 보호되어 있는 글 입니다. 2022. 2. 21.
Visual Studio 2022 gRPC 클라이언트 개발 새 프로젝트 만들기에서 콘솔 앱을 선택합니다. 프로젝트 이름을 설정합니다. 닷넷 프레임워크를 선택합니다. gRPC 개발을 위한 패키지를 설치합니다. 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 선택합니다. 하단 파워쉘에서 아래 명령을 실행합니다. Install-Package Grpc.Net.Client Install-Package Google.Protobuf Install-Package Grpc.Tools 솔루션 탐색기에서 설치된 패키지를 확인할 수 있습니다. 프로젝트에서 Protos 폴더를 만듭니다. 프로토콜 버퍼 파일을 해당 폴더에 복사합니다. echo.proto 파일의 내용은 다음과 같습니다. syntax = "proto3"; option csharp_namespace = "artgr.. 2022. 2. 6.
Mac OS 에서 mcrypt 설치하기 brew 를 사용하여 php 를 버전별로 설치하여 사용하고 있다면, extention 모듈을 pecl 을 이용하여 설치할 수 있습니다. mcrypt.so 를 연동하고 싶다면 다음과 같이 실행합니다. brew install mcrypt pecl install mcrypt 이 과정에서 아래의 이미지처럼 prefix 를 물어오는 경우, 해당 소스가 위치한 경로를 입력하여야합니다. 가령, /opt/homebrew/Cellar/mcrypt/2.6.8 과 같이 지정합니다. 2021. 2. 12.
Laravel 환경설정 - .env, nginx 1. 로컬 개발 환경 .gitignore 에 아래 파일을 추가합니다. .env.local .valet-env.php 라라벨 프로젝트의 루트 디렉토리로 이동한 후, valet link 명령어로 로컬 도메인(http://myproj.test)을 생성합니다. valet link myproj 마찬가지로 루트 디렉토리에서 .valet-env.php 파일을 생성한 후, APP_ENV 전역 변수를 설정합니다. 2020. 3. 18.
Laravel Nova 설치하기 Nova 는 라라벨 관리자페이지 라이브러리로 유료입니다. 해당 라이센스를 구매한 후, Releases 페이지에서 파일을 다운로드합니다. 압축을 푼 후, 디렉토리명을 nova 로 변경합니다. 사용할 라라벨 프로젝트의 루트 디렉토리에 해당 디렉토리(repos/nova)를 추가합니다. vi composer.json "require": { ..... "laravel/nova": "*" } ...... "repositories": [ { "type": "path", "url": "./nova" ] 아래 명령어를 실행합니다. composer update php artisan nova:install 데이터베이스 마이그레이션을 실행합니다. php artisan migrate 접속 URL 에 /nova 를 추가하여 접속.. 2020. 3. 5.
Mac OS 에서 라라벨 개발 환경 구축 - Valet brew 기반으로 설치가 가능하며, composer 의 경우 미리 설치하여야합니다. composer 실행의 경우, composer 또는 composer.phar 을 사용합니다. brew update brew install php composer global require laravel/valet 시스템 PATH 에 경로를 추가합니다. sudo nano /etc/paths /opt/homebrew/bin/valet valet 을 설치합니다. valet install 설치가 완료되었으면, ping abcde.test 로 test 로 끝나는 도메인으로 핑을 시도해봅니다. 올바르게 설치가되었다면, 127.0.0.1 로 부터 응답이 오게됩니다. 설치 후, 맥이 실행될때마다 자동으로 데몬이 실행됩니다. 만약, 도메.. 2020. 3. 2.
Laravel 5.8 Unit Tests 시 SQLite 를 메모리에서 사용하기 config/database.php 의 connections 에서 아래의 설정을 추가합니다. 'sqlite_testing' => [ 'driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '', ], phpunit.xml 의 DB_DEFAULT 값을 sqlite_testing 으로 변경합니다. PHP Storm 을 사용할 경우, Languages & Frameworks > PHP > Test Frameworks 에서 phpunit.xml 을 지정하여야합니다. 단위 테스트 파일에서 RefresDatabase 을 선언합니다. 테스트 메소드가 호출될때마다 데이터베이스가 초기화(rollback, migrate)되므로, 초기화 데이터는 setUp() 에 추가합니다. 2019. 9. 4.