본문 바로가기

프로그래밍97

라라벨 서브 디렉토리에 설치하기 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.
페이팔(paypal) sandbox 사용하기 1. https://developer.paypal.com/ - 개발자 페이지로 로그인합니다. Sandbox Access Token 을 생성합니다. 생성이 모두 끝나면, Accounts 메뉴를 선택하여 facilitator 와 buyer 가 생성되었는지 확인합니다. 각각 판매자와 구매자 계정이라고 보면 됩니다. 각 계정의 비밀번호를 변경하여 줍니다. 판매자의 경우, API 연동을 위한 기본 값들을 확인할 수 있습니다. 2. https://www.sandbox.paypal.com - sandbox 페이지로 로그인합니다. 이때 로그인 아이디, 비밀번호는 상기 developer 페이지에서 생성한 구매자 또는 판매자 아이디, 비밀번호를 사용합니다. 테스트를 위해 생성된 잔액을 확인할 수 있습니다. 이제 열심히 개.. 2018. 2. 22.
PHPStorm Terminal 을 git bash 로 교체하기 Windows 에서 PHPStorm 의 터미널은 당연한 얘기겠지만, 명령프롬프트가 실행됩니다. 이를 git 설치시 함께 배포되는 bash로 변경해봅니다. 설정(Ctrl + Alt + S) 에서 Tools > Terminal 로 들어갑니다. 그리고 아래와 같이 git 의 설치 경로에 있는 sh.exe 를 연결합니다.(64비트용으로 git 을 설치하였다면, C:\Program Files\ 아래 위치합니다.) "C:\Program Files (x86)\Git\bin\sh.exe" -login -i 터미널 창을 닫고 띄우면, 아래와 같이 bash 가 실행됩니다. 이렇게 간단한 것을 그동안 미련하게 작업해왔네요. ^^ 2017. 8. 31.
Angular 에서 RxJS unsubscribe() 관련 팁 import "rxjs/add/operator/takeWhile"; takeWhile() 을 이용하는 방법으로서 먼저 상기처럼 모듈을 임포트합니다. 그리고 멤버 변수로 boolean 을 선언한 후, 아래와 같이 subscribe() 를 호출합니다. .....private aliveResults: boolean = true; ..... this.service.getResults().takeWhile(() => this.aliveResults).subscribe( ); 끝으로 ngOnDestroy 이벤트에서 다음과 같이 처리합니다. ngOnDestroy() { this.aliveResults = false;} 이와 같이 사용하면 별도 unsubsribe()를 호출하지 않아도 됩니다. 저의 경우, Ajax 호.. 2017. 4. 27.
Laravel 점검 모드에서 AWS ELB health 검사 \App\Http\Middleware\CheckForMaintenanceMode.php 를 작성합니다. 2017. 4. 25.