문제사항: jekyll을 실행하다가 실행이 되지 않는 에러가 떴다. $ bundle exec jekyll serve --livereload bundler: failed to load command: jekyll (/Users/ek/.rvm/gems/ruby-3.1.3/bin/jekyll) /Users/ek/.rvm/gems/ruby-3.1.3/gems/jekyll-admin-0.11.1/lib/jekyll-admin.rb:12:in `require': cannot load such file -- webrick (LoadError) 해결과정 1. bundler 와 gem을 업데이트부터 했다. $ gem install bundler $ gem update 구글링으로 서칭해본 결과 이 에러의 원인은 webri..
[jekyll/ rbenv/ ruby 관련 과거 포스트] jekyll 설치 오류 You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory. [문제 내용] github.io 블로그를 만들려고 jekyll을 설치하려다가 gem 권한이 없어서 jekyll 다운로드 실패했습니다. $ gem install jekyll bundler ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write per ek12mv2.tistory.com zsh 환경에서 ruby 패키지매니저 gem 설치하기 [관련포스트] bash환경에서 gem설치하기 https://ek12mv..
GitKraken에서 만든 GitLens는 유료이다. 아쉽게도 3일정도만 무료 trial을 사용할 수 있다. CLI보다는 GUI로 깃브랜치 히스토리를 보는것을 선호하는 편이라서 깃브랜치를 볼 수 있는 오픈소스를 알아봤다. 사람들이 많이 다운로드한 확장프로그램인 Git Graph를 설치했다. (누적 다운로드수: 4,174,560) 설치하면 좌측 하단에 'Git Graph' 에서 브랜치를 확인할 수 있다. 브랜치의 히스토리를 볼 수 있어서 좋다. 깃크라켄처럼 git-graph 내에서는 merge/rebase/pull request 모두 가능하다! 깃크라켄은 private 래포지토리일 경우에는 유료로 하고, public 래포지토리에는 무료로 제공한다. 현재 작업하고 있는 샘플 프로젝트는 private 라서 g..
CSRF(Cross Site Request Forgery Attack, 크로스 사이트 요청 위조 공격) 인증된 사용자가 웹 애플리케이션에 특정 요청을 보내도록 유도공격하는 행위를 의미한다. 쉽게 말하자면, 공격자의 요청이 사용자의 요청인 것처럼 속이는 공격방식 을 의미한다. CSRF 공격을 어떤식으로 하는가? 공격자가 사용자인것처럼 위장하면서 요청을 보내도록 하는 것이므로 제품구입, 계정설정, 기록삭제, 비밀번호 변경, 문자 전송과 같은 데이터 값을 변경하는 요청일 때 공격한다. 이메일이나 웹사이트에 하이퍼링크를 심어서 요청을 보내고 하이퍼링크를 클릭하게 되면 요청이 자동으로 전송된다. 사용자 몰래 자금을 전송 이메일 주소와 비밀번호를 변경하는 무단행위 CSRF를 어떻게 방지할까? CSRF 토큰을 통해 ..
여러분이 웹서비스를 이용하다보면 실생활에서 회원 가입할때 사용된 이메일로 no-reply 라는 알림서비스를 받은 경험이 있을 것이다. 회원가입을 하게되면, 이메일로 회원가입을 했다고 알림을 하듯이... 또는 결제완료/ 예약완료 등 서비스로부터의 이벤트를 요청했을 때도 이메일로 알림을 받았듯이 말이다. 알림용도로 이메일을 활용해서 유저에게 웹서비스를 제공한다. 그래서 이러한 알림처리 기능을 그동안 해본적이 없는데 이 호기심을 직접 탐구해보면서 어떤 로직으로 어떤 알고리즘으로 구현하는지를 알고 싶었다. 그요즘은 오픈소스가 잘되어있어서 구글링을 통해서, 오픈소스를 통해서 쉽게 구현할 수 있었다. 필자는 Node.js 환경에서 작업했으며, Nodemailer를 이용했고, Gmail계정으로 이메일 인증하는데 있어..
Nodemon은 npm이 실행한 상태에서 소스코드 변경하면 바로 변경한 코드를 실행시키도록 도와주는 패키지이다. 그런데 기본적으로 nestjs에는 nodemon이 탑재되어있지 않다. 그래서 계속 수정할때마다 기존에 실행한 프로세스를 종료하고 다시 새로운 프로세스를 실행시키도록 하는 것이 비효율적이기도하고 귀찮다. 1. nodemon 패키지를 설치한다. $ npm install --save-dev nodemon 2. npx 로 실행시킨다. $ npx nodemon
구글로그인 구현하기 구글로그인 패스포트 모듈 설치 $ npm i --save passport-google-oauth20 $ npm i -D @types/passport-google-oauth20 구글클라우드에서 API 키 발급받기 아래사진은 구글 로그인 과정을 나타낸다. 출처: codementor community 1.Google Cloud 프로젝트 만들기 2.API 및 서비스 이동 3.'OAuth 동의 화면' 메뉴 클릭 3-1. 1단계. OAuth 동의화면 앱이름 / 사용자 지원 이메일 / 앱도메인/ 승인된 도메인 / 개발자 연락처 정보 입력 2단계. 범위 부분은 민감한 영역을 다루게될경우라서 패스. 3단계. 테스트 사용자: 테스트사용자도 필요없어서 그냥 패스. 3-2. 생성하면 Clie..
계층형 아키텍쳐 Software Architecture 정의 모든 소프트웨어 시스템의 기본 구조를 의미하며, 시스템 기능을 정상적으로 동작시키는 것을 의미한다. 소프트웨어 시스템에서는 컴포넌트의 설계, 컴포넌트간의 관계, 사용자간의 상호작용, 시스템에서의 사용자의 요구등을 포함한다. 예: Micro Kernel, Micro Services, Client Servers 가 해당한다. Layerd Architecture 정의 N-계층 아키텍쳐. 소프트웨어 개발에서 가장 보편적이고 널리 사용되는 아키텍쳐 프레임워크를 의미한다. 단일 소프트웨어 단위들로 구성되어있는 수평계층 아키텍쳐 패턴이다. 컴포넌트와 코드들을 논리적으로 구분하여 층을 나눈다. 위의 그림처럼, 레이어1은 레이어2와 연결되어있고, 레이어2는 레..
- Total
- Today
- Yesterday
- node.js
- 미완
- OS
- Nest.js
- Mongoose
- gem
- RDBMS
- git
- jest
- MongoDB
- Jekyll
- 클린아키텍쳐
- MySQL
- 한달어스
- 갓생살자
- TDD
- 나도 할 수 있다
- 한달독서
- 스마트폰중독
- TypeScript
- 개발용어
- IT용어
- vscode
- nestjs
- 바이트디그리
- 참고
- typeORM
- 습관개선
- 디지털디톡스
- nestjs jest
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |