본문 바로가기

분류 전체보기77

우리FISA 클라우드 서비스 개발 - EC2, Docker, Jenkins를 사용한 Spring-boot 어플리케이션 배포 CI/CD 파이프라인 구축 수업에서 Jenkins를 활용해 Spring 어플리케이션을 배포했다. 프로젝트 진행 시 설정 정보가 담겨있는 application.yml은 보통 git에 올리지 않고 따로 관리한다. 이때 어떻게 배포할지 고민했고, 아래의 과정으로 application.ymlgithub에 올리지 않고, CI/CD 파이프 라인을 구축해보자. Docker 설치 sudo apt update sudo apt-get install ca-certificates curl gnupg Add Docker’s official GPG key: sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg.. 2023. 7. 30.
Java Optional Optional 개발 배경 자바로 프로그램을 개발하면서 NullPointerException을 겪지 않은 사람은 없다. public class Person { private Car car; public Car getCar() { return this.car; } } public class Car { private Insurance insurance; public Insurance getInsurance() { return this.insurance; } } public class Insurance { private String name; public String getName() { return this.name; } } Null을 체크하는 방법 public String getInsuranceName(P.. 2023. 6. 14.
[Vue.js] 리스트 렌더링과 Key 리스트 렌더링 v-for v-for 디렉티브를 사용하여 일반 배열, 객체 배열 등 리스트 렌더링을 할 수 있다. {{ fruit }} 숫자 범위에 활용 {{ i }} v-if와 v-for v-if와 v-for를 함께 사용할 수 있지만 권장되지 않는다. v-if가 v-for보다 우선순위가 높기 때문에 v-if에서 v-for변수에 접근할 수 없다. // bad practice {{ todo.name }} // good practice {{ todo.name }} key를 통한 상태유지 Vue가 v-for로 렌더링 된 리스트를 업데이트할 때, 기본적으로 in-place patch 전략을 사용한다. 리스트 아이템의 순서가 변경된 경우, 아이템의 순서와 일치하도록 DOM 엘리먼트를 이동하는 대신, 변경이 필요한 .. 2023. 5. 9.
[LeetCode] Valid Sudoku (Kotlin) https://leetcode.com/problems/valid-sudoku 스도쿠 문제이다. 완전탐색으로 해결했지만, 흥미로운 풀이가 있어 공유하려고 한다. 우선 처음 내가 푼 풀이는 완전탐색을 해서 col, row, sub-box를 검사하는 것이다. 또한, 방문했던 col, row, sub-box는 체크를 해서 시간을 줄이려고 했다. lateinit var visit: Array lateinit var col: BooleanArray lateinit var row: BooleanArray val set: HashSet = hashSetOf() fun isValidSudoku(board: Array): Boolean { visit = Array(3) { BooleanArray(3) } col = Boo.. 2023. 3. 18.