만쥬의 개발일기
비즈니스 로직(Business Logic)이란?
카테고리 없음 2023. 10. 25. 00:39

오늘은 프로그래밍 용어 중 비즈니스 로직(Business Logic)에 대해 알아보겠다. 비즈니스 로직이란? 비슷하게 도메인 로직이라는 말이 있는데, 사실상 도메인 로직과 비즈니스 로직은 동의어라고 볼 수 있다. 소프트웨어 공학에서 도메인, 비즈니스라는 말은, '소프트웨어가 풀고자하는 현실 세상의 문제'를 가리킨다. 예시로, 은행 앱이라면, 금융 및 은행 업무가 도메인이다. 은행 앱이 해결하고자 하는 문제가 금융 업무를 스마트폰에서 처리할 수 있게 해주는 것이므로. 틱톡 같은 SNS라면 동영상 촬영, 감상, 댓글 및 공유일 것이다. SNS가 해결하고자 하는 문제는 우리가 공유하고자 하는 사진, 영상을 누구든 볼 수 있게 하는 것이므로. 반대로 공학/기술적인 문제에 속하는 것들은 대개 '도메인'과는 구별된..

article thumbnail
[git] - Commit Message Convension : 협업을 위한 커밋 메시지와 PR 잘 쓰는 법
🛠️TOOL/🐈‍⬛GIT 2023. 10. 24. 14:49

깃으로 코드관리를 하고 협업을 할 때, 커밋과 PR은 매우 중요하다. 다른 사람이 코드를 어떻게 썼는지가 직관적으로 보이고, 어떤 작업을 했는지를 쉽게 알 수 있게 해준다. 그러나 이러한 장점을 살리려면, 커밋 메세지와 PR 내용을 직관적이고 자세하게 써주어야 한다. 커밋 메시지 예시 Feat: "게임 기능 구현" -> 제목 date: 23/10/24 -> 커밋을 작성한 날짜 (선택) 1.게임의 시작 , 종료 기능 구현 -> 본문 2.게임 재시작 기능 구현 -> // 3.신규 기능 테스트 코드 추가 -> // Resolves: #67 -> 꼬리말 (해결된 이슈) Ref: #64 Related to: #33, #34 -> 꼬리말 (관련된 이슈) 커밋 메시지는 제목과 본문으로 나누어서 작성한다. 제목으로 설..

article thumbnail
[git] 'Key is already in use' error 발생 시 여러 repository에 각각 sshkey 설정 하기
🛠️TOOL/🐈‍⬛GIT 2023. 10. 23. 14:12

github에서 id/pw인증이 막힌 후로, 대부분의 사람들은 보통 ssh 인증을 이용한다. 그러나 github 프로필에 등록된 ssh 키를 다른 repository에서도 사용하고자 하면, Key is already in use에러가 뜬다. 이러한 문제는 private repository에 ssh키를 등록하여 젠킨스 연동등의 작업을 해야할 때 발생한다. 따라서 이 때에는, 해당 repository용 ssh 키를 새로 발급받아주어야한다. 만약 sshkey가 없는경우, 터미널에 다음과 같이 입력한다 ssh-keygen 그러면 default로 id_rsa(개인키), id_rsa.pub(공개키)가 ~/.ssh 폴더에 생성된다. 만약 sshkey가 이미 존재하는 경우 다음과 같이 입력한다. ssh-keygen -..

article thumbnail
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -3 (도커의 설치부터 자동배포까지)
♾️DevOps/♾️CI & CD 2023. 10. 22. 03:23

지난 포스팅들에서는 도커와 젠킨스의 기본 환경 설정을 했다면, 이번 포스팅에서는 실제 파이프라인을 구축해보겠다. docker start jenkins docker exec -it jenkins /bin/bash 혹시 젠킨스를 재실행할 상황이 온다면 위 스크립트를 실행하면 된다. (run 명령어는 재설치이므로 유의) 젠킨스와 깃허브 연동 젠킨스의 메인 페이지이다. 왼쪽 네비게이션에서 새로운 item을 클릭해준다. item name을 적고, Freestyle project를 선택해준다. 이제 상세 설정의 소스 코드 관리 탭에서 Repository URL을 적어주면 되는데, 여기서 한 가지 의문이 든다. 바로 우리 프로젝트의 Repository는 private 레포이기 때문이다. 따라서 gitHub와 Jenk..

article thumbnail
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -2 (도커의 설치부터 자동배포까지)
♾️DevOps/♾️CI & CD 2023. 10. 22. 02:16

2023.10.21 - [분류 전체보기] - [CI/CD] - 도커와 젠킨스를 사용한 CI/CD -1 (도커의 설치부터 자동배포까지) 도커의 설치와 기본 세팅은 위 포스팅에 정리되어있다. 젠킨스 이미지 다운 docker pull jenkins/jenkins:lts 먼저 docker 명령어를 이용해 jenkins 이미지를 다운받는다. docker images 를 통해 내가 다운받은 이미지 목록을 볼 수 있고, 이렇게 젠킨스가 잘 다운된 것을 확인할 수 있다. 젠킨스 이미지를 컨테이너화 docker run -d -p 8088:8080 -v /jenkins:/var/jenkins_home --name anna_jenkins -u root jenkins/jenkins:lts 이제 젠킨스 이미지를 컨테이너에 올려..

article thumbnail
[CI/CD] - 도커와 젠킨스를 사용한 CI/CD -1 (도커의 설치부터 자동배포까지)
♾️DevOps/♾️CI & CD 2023. 10. 21. 20:35

오늘은 window wsl2 ubuntu18.04환경에서 도커를 설치하고, 젠킨스를 이용해 자동 배포 파이프라인을 구축해 볼 예정이다. 자동 배포의 필요성 기존 팀 프로젝트의 work flow는 다음과 같았다. 각자 기능 구현 후 PR EC2 서버로 접속 github에 merge된 코드를 git pull gradle을 이용해 build jar파일을 java -jar 명령어를 통해 80번포트에 실행 이 1번~ 5번 과정이 서버 배포의 플로우이고, 서버 배포는 매번 기능이 추가 될 때마다 시행되어야 한다. 이 flow는 새로운 기능마다 바뀌는 것이 아니기에, 자동화 할 수 있는 대상이다. 이를 자동화하여 최신상태의 코드가 자동으로 배포되도록 하는 것을 Continuos Distribution, 지속적 배포라..

article thumbnail
[Linux] systemctl 명령 에러 System has not been booted with systemd as init system (PID 1).
🛠️TOOL/📄Linux 2023. 10. 21. 19:04

에러 원인 WSL을 사용하다보면, systemd 명령을 실행했을때 종종 systemd 환경이 아니라는 오류가 발생한다. 원인은 WSL은 루트 시스템 프로세스가 systemd가 아닌 init이기 때문이다. pstree 루트 시스템 프로세스는 pstree 명령을 통해 확인할 수 있다. pstree 명령어는 실행되고 있는 프로세스들간의 연결구조를 트리형식으로 보여준다. 최근 리눅스 진영은 init에서 systemd로 바뀌는 추세라고 하며, WSL은 아직 그것을 반영하지 못하고 있는 것이라고 한다.(잘 모름) 해결법 cd / cd etc sudo vim wsl.conf 우선 위 명령어로, WSL에서 init 시스템 프로세스를 systemd 체계로 바꿔주어야 한다. [boot] systemd=true 해당 파일에..

article thumbnail
[Java 기술 면접 대비] - 2. 제네릭 메서드(Generic Method)란?

제네릭 메서드(Generic Method)란? 자바(Java)에서 제네릭(Generic)은 클래스 내부에서 사용하는 데이터의 타입(Type)을 클래스의 인스턴스를 생성할 때 결정하는 것을 의미한다. 객체의 타입을 컴파일 시점에 체크하기 때문에 타입 안정성을 높이고 형 변환의 번거로움을 줄일 수 있다. 즉, 제네릭 메서드는 메서드의 선언 부에 적은 제네릭 타입으로 리턴 타입과 파라미터 타입이 모두 정해지는 메서드이다. 우선 제네릭에 대한 여러 예시를 보며 이해해보자. public class Student { static T name; } 위와 같이 작성할 경우, 제네릭을 사용할 수 없다. 왜냐면, static 변수는 Student 클래스가 인스턴스가 되기 이전에 메모리에 올라가는데, 이 때 name의 타입..