공부 45

useValue, useClass, useFactory

{ provide: 'CONFIG', useValue: { apiUrl: 'http://api.example.com', timeout: 3000 }}1. useValue 직접 적인 값 주입 설정값, 상수 주입 혹은 테스트용 mock 객체 , 이미 생성된 인스턴스를 주입할 때 사용한다.  { provide: PaymentService, useClass: StripePaymentService}2. useClass클래스의 인스턴스를 주입인터페이스 구현체를 주입할 때, 환경에 따라 다른 구현체를 사용할 때  { provide: 'DATABASE', useFactory: (config: ConfigService) => { return config.isDev ? new Dev..

공부/NestJs 2025.01.11

Raspberry Pi HomeServer 구축

홈서버를 구축하며 대표적인 보안설정인UFWFail 2 BanSSH 설정 등을 설정해보자. 1. UFW (Uncomplicated Firewall) 설정설치sudo apt install ufw기본 정책 설정sudo ufw default deny incomingsudo ufw default allow outgoingUFW 활성화sudo ufw enable 2. Fail 2 Ban 설치sudo apt install fail2ban설정 파일 수정`/etc/fail2ban/jail.local` 파일에 다음 내용 추가:[DEFAULT]ignoreip = 127.0.0.1 211.106.151.39bantime = 7200maxretry = 3findtime = 600backend = systemd[sshd]enab..

공부/Linux 기초 2024.09.03

MacOS Apache를 통한 VirtualHost 간단 설정.

VirtualHost 란,한대의 서버에서 두개 도메인을 운용하게 해주는 방법.같은 IP로 접속 요청을보내도 Apache 설정상에서 도메인명(정확히는 ServerName)이 다르다면 해당 ServerName으로 접속을 연결해준다. 보통은 Linux환경에서 진행하지만 집에서 복습겸 맥북 로컬환경에서 진행해보겠다.( 회사에서 진행했었던 RockyLinux 와 큰 차이가 없다.. 어차피 )각설하고 간단하게 가상호스트를 설정해보자. 우선 apache 설정파일인 httpd.conf 에서1. 직접 VitualHost를 등록하는방법과2. VirtualHost 설정파일을 Include하는 방법이 있다. 난 간편하게 후루룩 하고싶어서 두번째 방법으로 진행하겠다. httpd.conf에서 주석처리 되어있던 Include ht..

공부/Server 2024.06.06

권한 변경

"chmod" [chmod mode file] u: 현재 사용자의 권한을 수정 g: 해당 그룹의 권한을 수정 o: 그 외 외부 사용자 권한을 수정 a: 모든 사용자 권한을 수정 +: 해당 권한 추가 -: 해당 권한 삭제 =: 해당 권한으로 변경 e.g. drwxrw-r-- 의 test.txt란 파일이 있을때 chmod u-x test.txt -> drw-rw-r-- 로 변경 drwxrw-r-- 의 test.txt란 파일이 있을때 chmod a=r test.txt dr--r--r-- 로 변경 "su" [su - 사용자명] 현재 터미널에서 사용자 변경 - 없이 su 사용자명 입력시 디렉토리 변경없이 현재 디렉토리에서 사용자 전환 "sudo" root user 사용자들의 권한을 삭제하거나 수정할 수 있다. s..

공부/Linux 기초 2024.01.21

grep

"grep" 파일에서 해당 패턴과 일치하는 곳을 찾아준 뒤 출력해 준다. find와 헷갈리지 말자 find는 단순 파일명만 찾아준다. -i 옵션을 이용해 대소문자 구별 없이 검색가능. -w 옵션을 이용해 정확히 일치하는 패턴만 검색가능. -c 옵션을 이용해 해당 패턴으로 몇 개가 검색됐는지 확인 가능. -A, -B 옵션을 통해 검색 패턴 다음, 이전행 확인 가능 After, Before 숫자를 적어 몇 행을 출력할 결정할 수 있다. -r 옵션을 이용해 재귀적으로 검색도 가능하다. 현재 디렉토리에서 하위 디렉토리 모두를 검색해 해당 패턴이 검색 후 출력한다. [] 정규식을 통해 검색도 가능. 정규 표현식 (Regex) '.'

공부/Linux 기초 2024.01.19

AOP

핵심 기능과 부가 기능의 분리 AOP(Aspect-Orientd Programming) : 애플리케이션을 바라보는 관점을 하나하나의 관점에서 횡단 관심사 관점으로 달리보는것. *횡단관심사: 애플리케이션 전반에 걸쳐 핵심 관심에 영향을주는 영역 내가 원하는 핵심기능에 부가기능을 적용 할 수 있다. AOP의 대표적인 구현으로 AspectJ Framework가 존재한다. Spring에서는 AspectJ의 문법을 차용하고, AspectJ의 제공하는 기능의 일부만을 제공한다. 횡단 관심사의 모듈화 오류 검사 및 처리 동기화 캐싱 모니터링 및 로깅 AOP 적용방식 컴파일 시점 적용 .java 소스를 AspectJ컴파일러를 사용해 .class를 만드는 시점에 부가기능 로직을 추가 할 수 있다. 원본 로직에 부가 기능..

공부/Spring 2024.01.14