분류 전체보기42 객체지향 캡슐화 이해하기 HTML 삽입 미리보기할 수 없는 소스 1. 캡슐화의 정의 한마디로 객체의 내부 정보(필드)를 은닉하고 데이터와 메서드를 하나의 단위로 묶는 것이다. 단순히 class가 가지고 있는 필드의 접근 제어자를 private 한다고 캡슐화를 한것이 아니다. 캡슐화는 객체간의 결합도를 낮추는 가장 기본적인 개념으로 꼭 이해해야 할 개념이다. 아래 예시를 통해 캡슐화가 무엇인지 이해해보자. 2. 예시를 통해 캡슐화 이해하기 아래와 같이 Bank 클래스와 Customer, Company 클래스가 있다. Bank 클래스 public class Bank { private int balance; // 잔액 private double interestRate; // 이자율 public Bank(int balance, doub.. 2023. 9. 15. jenkins git 연동 시 파일 권한 문제 HTML 삽입 미리보기할 수 없는 소스 1. 상황 window 로컬 서버에서 git hub에 push를 한다. 해당 push에 web_hook을 적용시켜 놓은 jenkins에서 해당 git hub 저장소에서 코드를 내려받는다. 젠킨스에서 jar 파일 생성을 위해 빌드를 하려는 순간 gradlew의 실행 권한이 없어 에러 발생. java.io.IOException: Cannot run program "/var/lib/jenkins/workspace/dev/gradlew" (in directory "/var/lib/jenkins/workspace/dev"): error=13, Permission denied * 참고로 jenkins - git hub를 연동한 상태에서 빌드를 시작하면 아래와 같은 경로에 gi.. 2023. 9. 6. jenkins github docker 자동 배포 CI/CD HTML 삽입 미리보기할 수 없는 소스 1. 자동 배포를 위한 환경 및 도구와 흐름 1-1. 환경 구성 Ubuntu Jenkins Docker Git hub Spring boot Gradle 1-2. 전체적인 흐름 로컬 개발 환경에서 Git hub로 push를 날린다. 젠킨스와 git hub를 연동하여 push 이벤트 발생을 감지하여 코드를 받아와 빌드를 한다(jar파일 생성). mysql 이미지는 미리 docker-hub에 업로드 후 변경하지 않고 사용한다. 젠킨스는 막 생성한 jar 파일과 Docker file을 토대로 이미지를 생성한 뒤 docker-hub에 푸쉬한다. 개발 서버에서 docker hub에 올라온 이미지를 가져온다. 이미지를 통해 컨테이너를 실행한다. Jenkins가 1번을 제외한 위.. 2023. 9. 5. Spring boot + Docker linux에 배포 HTML 삽입 미리보기할 수 없는 소스 1. linux 서버(클라우드)에 docker를 이용해 배포하는 과정 상황 spring boot 프로젝트와 mysql을 이미지로 만든 뒤 linux 서버에서 docker-compose를 통해 두 컨테이너를 같이 실행. => 실무에선 was와 db를 같은 서버에서 돌리지는 않지만 테스트를 위해 이렇게 진행함 * 대부분의 자세한 내용은 필자의 Docker 카테고리의 글에 정리되어 있음. 아래 관련글 참고 로컬 서버에서의 액션 Dockerfile, docker-compose.yaml 파일 작성 Spring boot project 이미지 생성 프로젝트 git hub에 push 생성한 spring boot 이미지를 docker hub에 업로드 linux 서버(클라우드) 에서.. 2023. 8. 31. 이전 1 2 3 4 5 6 7 ··· 11 다음