반응형

2024/12 30

[Spring] MVC 와 템플릿 엔진, API

듣고 있는 강의 - 김영한의 Spring 입문  MVC - Model View Controller🐣 소프트웨어 디자인 패턴 🐣View - 화면과 관련된 일만 처리Model - 비즈니스 로직과 서버 데이터 관련 처리를 담당 Controller - 사용자 요청을 받아서 Model 과 View 를 연결  Thymeleaf 의 장점 html 을 작성하고 그 파일을 서버 없이 열 수 있다 서버 없이 열 때는 hello! empty 부분이 출력되고 서버에서 열 때는 그 앞에 부분이 출력된다 아래 사진에서 Chrome icon 을 선택하면 서버 없이 열린다 View ViewResolver 를 사용한다  🐣 ViewRosolver 는 Contorller 에서 반환한 View 이름을 기반으로 실제 View 객체에 ..

TIL/JAVA 2024.12.30

[JAVA] Map Interface

Map 데이터를 Key 와 Value 쌍으로 저장하여, Key 를 Value 에 매핑한다 Map Map Interface 의 특징 1. No Duplicates in Keys 키는 고유해야 하고 (중복될 수 없고), 값은 중복될 수 있다 2. Null Handling HashMap 과 LinkedHashMap 과 같은 구현은 하나의 Null 키를 허용하고, 대부분의 구현체는 여러 개의 Null 값을 허용한다, 예외적으로 TreeMap 은 키에 Null 값을 허용하지 않는다 (내부적으로 키를 비교/ 정렬하기 때문) 3. Threard-Safe Alternaitves 기본적인 Map 구현체는 스레드에 안전하지 않기 때문에 멀티스레드 환경에서는 추가 처리가 필요하다  - ConcurrentHashMap 스레드..

TIL/JAVA 2024.12.29

[JAVA] 접근 제어자

접근 제어자 접근 제어자 이해 자바는 public, private 같은 접근 제어자 Access Modifier 를 제공한다 접근 제어자를 사용하면 해당 클래스에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다  🐣 다른 클래스에서 접근하지 못하도록 하려면 private 을 앞에 선언해 주면 된다 🐣private 접근 제어자는 모든 외부의 호출을 막기 때문에, 해당 클래스 내부에서만 호출할 수 있다 좋은 프로그램은 적절한 제약을 제공하는 프로그램이다 package access;public class Speaker { private int volume; ...}package access;public class SpeakerMain { public static void main..

TIL/JAVA 2024.12.25

Spring 용어 정리

Jenkins 를 어느 정도 구축했으니 MVP 를 진행할 차례! 인데 팀원들이 작성한 문서와 Backend Code 를 뜯어 보려고 하니  모르는 용어들이 많아서 개념만 잠깐 알고 가려고 한다 Gradle Groovy 기반의 빌드 자동화 시스템, 안드로이드 스튜디오의 공식 빌드 시스템 지원하는 언어 - Java, Groovy, Kotlin, Apachi Groovy 등 bundle.gradle 파일에서 사용할 라이브러리를 지정할 수 있다(의존성이나 플러그인 설정 등 프로젝트 빌드에 대한 모든 기능을 정의하는 곳이다)Gradle 은 멀티 프로젝트 빌드 기능을 제공하기 때문에 여러 모듈을 동시에 개발하고 각각 따로 빌드 작업을 하지 않아도 되는 번거로움을 줄일 수 있는 장점이 있다 JPA Java Persi..

Docker Exited (0) 되는 문제 수정하기

Jenkins 를 이용하여 Docker 에 Build 하기에 이어서,https://helloahram.tistory.com/186  CI/CD via Jenkins + Docker #2Jenkins 설정 Jenkins 를 설치하고 Git Repo 까지 연결했으니 (#1 참고) 이제 설정할 차례 -각오는 했지만 생각보다 설정할 내용들이 많았고 제법 어렵기도 했다 Jenkins 배포 전략 세우기방안1) 빌드 서helloahram.tistory.com Docker 에 Image 가 올라가는 것까지만 봤는데, 다시 확인해 보니 실행하자마자 종료되고 있었다 Exited (0) X minutes ago 그래서 Pipeline 을 다시 손 봤다 일단 Directory 생성하는 Stage 는 필요 없어 보여서 삭제하고..

TIL/DOCKER 2024.12.24

CI/CD via Jenkins #2

Jenkins 설정 Jenkins 를 설치하고 Git Repo 까지 연결했으니 (#1 참고) 이제 설정할 차례 -각오는 했지만 생각보다 설정할 내용들이 많았고 제법 어렵기도 했다 Jenkins 배포 전략 세우기방안1) 빌드 서버 따로, 배포 서버 따로 진행 방안2) 빌드와 배포를 하나의 서버에서 진행 두 개의 방안 중에 방안1 은 빌드 서버에서 각 배포 서버로 접근하는 통합 파이프라인 작성이 복잡해서조금 귀찮지만 하나의 서버에서 진행하는 2번 방안을 택했다  그리고 빌드, 배포 및 실행할 Instance 를 t2.medium 으로 하나 만들어 줬다 Jenkins Domain Settings (Optional)가비아 도메인이 Jenkins 에 연결되지 않아서, 일단 AWS EC2 URL 을 넣어 줬다 Sw..

TIL/DOCKER 2024.12.23

CI/CD via Jenkins + Docker #1

CI/CDCI - Continuous Integration 지속적 통합 CD - Continuous Delivery or Deployment 지속적인 제공 or 배포 CI 목적 - 자동으로 Build/ Test 1. 코드 변경 사항을 주기적으로 빈번하게 Merge 해야 한다 2. 통합을 위한 단계 (Build, Test, Merge) 의 자동화 CI 장점 1. 개발 생산성 향상 -> 코드의 퀄리티 향상 2. 문제점을 빠르게 발견 -> 버그 수정 용이, 문제점을 빠르게 발견 브랜치 전략 * 마스터 브랜치 Main - 배포 가능한 상태만 관리하는 브랜치 * 통합 브랜치 Develop - 다음 배포할 내용들을 개발하는 브랜치 * 기능 브랜치 Feature - 실제 개발이 진행되는 브랜치 CD 목적 - 안정적..

TIL/DOCKER 2024.12.22

[MAC] iTerms 에서 SSH 접속 쉽게 설정하기

AWS 를 쓰면서 SSH 를 쓸 일이 많아졌다 SSH 를 접속할 때 -i 키페어 ec2-user@IP 치는 것이 귀찮았는데간단하게 별칭을 만들어서 접속할 수 있는 방법을 알게 되었다(사실 핀토스 때부터 알았는데 미루고 미루다가 다시 쓸 일이 생겨서 올린다) ssh 는 home Directory 에 숨겨져 있다 ssh Folder 로 이동할 때는 cd ~/.ssh 로 이동한다 그러면 안에 config 가 있는데 이 config 안에서 이름과 주소, 키페어를 넣어주면 끝! ahram@AhramuicBookPro  /  cd ~/.ssh ahram@AhramuicBookPro  ~/.ssh  lsconfig known_hosts known_hosts.old ahram@Ahramu..

MAC 2024.12.22
반응형