스프링에서는 특정 property가 없으면 제외할 수 bean lifecycle에서 제외할수 있는 어노테이션을 제공한다.다음과 같이 특정 이메일이 존재할때만 빈을 등록할 코드를 작성합니다.@ConditionalOnProperty(name = "specific.email.value", matchIfMissing = false)@Componentpublic class TokenSpecificEmailProvider {} 아래는 속성에 대한 설명은 아래와 같습니다.name필수 속성으로, 확인할 프로퍼티의 이름을 지정합니다. 여러 개의 이름을 배열로 지정할 수도 있습니다.havingValue프로퍼티의 값과 일치해야 하는 값을 지정합니다. 기본값은 빈 문자열("")입니다. 이 속성은 선택적으로 사용할 수 있으며,..
다음 명령어를 사용하여 최신 패키지 리스트를 업데이트합니다. sudo apt-get update sudo apt-get install default-jdk #java를 설치합니다. 다음 명령어를 통해 젠킨스를 설치합니다. wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins 최신패키지 업데이트시 아래와 같이 에러가 난다면 아래 스크립..
팩토리 메서드 패턴은 부모 클래스에서 인터페이스 등을 통해 추상화하여 지정하고 자식클래스에서 객체 생성코드를 클라인언트로 분리하여 처음 개발시 추가가 될 수 있는 모듈에대해 미리 대비하여 유연성과 확장성을 가지기 위한 패턴입니다. 즉, 팩토리 메서드는 객체 생성을 담당하는 팩토리 클래스를 정의하고, 이를 사용하여 객체를 생성합니다. 이를 통해 클라이언트 코드는 구체적인 객체 생성 로직을 알 필요 없이 팩토리 클래스에 의존하여 객체를 생성할 수 있습니다. public abstract class Animal { public abstract String getName(); } public class Cat extends Animal { @Override public String getName() { retur..
sudo blkid 이 명령어는 시스템에 연결된 모든 스토리지 장치의 UUID를 출력합니다. 마운트할 장치의 UUID를 입력합니다. 입력 후 마운트할 디렉토리를 생성 혹은 지정합니다. 저는 /media/workspace로 지정하겠습니다. sudo vi /etc/fstab 기존에 마운트 되어있는 목록의 맨 아래에 UUID를 입력하고 마운트할 디렉토리, 파일시스템 타입등을 기록합니다. UUID= /media/workspace ntfs defaults 0 0 저장 후 sudo mount -a 위의 명령어를 친다면 /etc/fstab 파일에서 설정한 마운트를 적용 이제 재부팅시 자동으로 마운트가 됩니다. 샘플 sudo blkid /dev/sda2: LABEL="pi2" UUID="64E2-2BDE" BLOCK_..
시스템 터미널은 접속 후 sudo vi /etc/profile 에서 제일 마지막 줄로 갑니다. 아래 코드를 입력 후 저장 if [ $(tty) == "/dev/tty1" ]; then clear vncserver -geometry 1980x1080 fi 시스템 재부팅시 vnc서버를 활성화 합니다.
nata@dev:/etc/nginx/conf.d# cat #나오면 생성하고 싶은 파일 입력 > server { > listen 80 ; > #listen 443 ssl; 작성 완료 후 > EOF EOF 입력 후 엔터
삼바를 설치합니다. sudo apt-get install samba 설치가 완료된 후 설정파일을 수정합니다. sudo vi /etc/samba/smb.conf smb.conf 파일에서 [homes] 섹션을 찾습니다. 이 섹션에서, read only = no를 추가하여 읽기 및 쓰기 권한을 부여합니다. 아래 그림은 no로 수정한 화면입니다. [share] comment = Shared Folder path = /home/pi/shared browseable = yes read only = no create mask = 0777 directory mask = 0777 valid users = @users share라는 path의 폴더를 공유하는 프로퍼티를 추가합니다. sudo smbpasswd -a pi s..
GUI에서 설정하는 법 "Raspberry Pi Configuration"을 선택하고, "Localisation" 탭을 클릭합니다. "Set Locale" 버튼을 클릭합니다. 로케일 창에서 "ko_KR.UTF-8 UTF-8"을 선택하고, "OK" 버튼을 클릭합니다. "Set Default" 버튼을 클릭합니다. "Yes" 버튼을 클릭하여 설정을 저장하고, "OK" 버튼을 클릭합니다. 터미널 sudo locale-gen ko_KR.UTF-8 #한글로 업데이트 합니다. sudo update-locale LANG=ko_KR.UTF-8 한글폰트 설치 sudo apt-get update sudo apt-get install fonts-unfonts-core sudo apt-get install ibus ibus-h..
해당 글은 라즈베리파이에서 ssh를 연결했다는 가정하에 진행합니다. sudo apt update # vnc server 설치 sudo apt install realvnc-vnc-server # 라즈베리파이 설정 변경 sudo raspi-config config에서 "Interfacing Options" -> "VNC"로 이동하여 VNC 서버를 활성화합니다. 설정 후 vncserver를 활성화 합니다. vncserver -geometry 1980x1080 설치를 완료하면 아이피와 포트가 활성화됩니다. mac에서 vnc 클라이언트 설치하기 https://formulae.brew.sh/cask/vnc-viewer brew install --cask vnc-viewer 설치가 완료 된 후 윈도우 상단에 ip와 ..
nata:cms nata$ git remote -v origin https://nata@bitbucket.org/nata/cms.git (fetch) origin https://nata@bitbucket.org/nata/cms.git (push) 현재 bitbucket으로 사용중인데 git hub로 변경해서 레포지토리를 관리할 생각이다. github에 empty repository 생성 후 git remote add github git@github.com:nata/cms.git git oirigin이 이미 있으므로 github로 변경한다. git push -u github master github 레포지토리로 push 한다. nata:cms tjpark$ git remote remove origin na..