본문 바로가기

전체 글27

도커 이미지와 컨테이너 도커 이미지와 컨테이너 이미지와 컨테이너 개념 도커 이미지란 컨테이너를 만들기 위한 설계도 역할을 하는 것이다. 이미지의 내용대로 컨테이너를 만들 수 있으므로 새로운 컨테이너를 만들 때 편리하다. 반대로 컨테이너로도 이미지를 만들 수 있다. 필요한 컨테이너 상태를 이미지화하여 배포할 수 있으므로 컨테이너 생성과 복제가 편리하다. 따라서 같은 내용의 컨테이너를 여러 개 만들 때도 사용할 수 있다. 도커 이미지를 이용해 컨테이너를 여러 개 생성할 수 있으므로 다른 도커 위에서 같은 컨테이너 생성도 가능하다. 즉, 이미지를 공유할 경우 나와 같은 환경을 배포한 것과 같은 효과가 생긴다. 따라서 다른 사람들이 만든 이미지를 받아 내가 활용할 수 있다. 이런 식으로 도커 이미지를 공유하는 도커 허브라는 사이트가 .. 2022. 12. 11.
도커(Docker) 개요 도커 개요 도커란? 도커란 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어이다. 격리가 필요한 이유 프로그램을 실행하기 위해서는 그 프로그램의 실행 환경이나 라이브러리가 필요하다. 한 시스템 환경에서 여러 프로그램을 실행하게 되면 프로그램 버전 간 의존성 문제가 생길 수 있다. ⇒ 도커 컨테이너를 이용해서 프로그램을 격리하면 문제 해결 가능 도커 컨테이너는 이미지로 내보낸 다음 다른 도커 엔진에서 다시 실행 가능하다. ⇒ 이를 이용해서 물리적 환경의 차이, 서버 구성의 차이를 무시 가능 💡격리 이유: 프로그램 의존성 문제 해결 & 하드웨어 의존성 문제 해결 도커의 동작 방식 도커는 Linux 위에서 실행된다. 도커 엔진 위에서 컨테이너가 동작한다. 컨테이너에서 도커 이미지를 실행시킨다. Li.. 2022. 12. 11.
[SOMA] 소프트웨어마에스트로 13기 수료 후기 지원과정 서류 ➡️ 1차 코딩테스트 ➡️ 2차 코딩테스트 ➡️ 면접 ➡️ 최종합격 서류 서류의 경우 합격에 크게 영향주는 요소인 것 같지는 않습니다. 지금 돌아보면 정말 말도 안되는 내용이나 이상한 내용이 많았는데, 지원할 당시에 너무 정신이 없었다보니 솔직히 많이 신경쓰지 못했습니다. 그렇지만 면접관 분들도 많은 지원자들을 심사하다 보니 서류 내용을 꼼꼼하게 신경쓰지 않으셨고 면접볼 때 "제가 자기소개서에도 썼듯이" 같이 말했을 때 아무도 모르셨고 그제서야 서류를 보는 눈치셨습니다. 그렇기 때문에 서류의 경우에는 뭔가를 너무 꾸미려고 하지 말고 지원할 때 현재 자신이 어떤 경험을 했고, 어떤 역량이 있는지 솔직하게 적는 게 좋을 것 같습니다. 오히려 너무 거창하게 쓰려다가 면접에서 역풍을 맞는 경우가 .. 2022. 12. 10.
Junit assertArrayEquals를 이용하여 array 비교하기 java array 비교하기 Junit을 이용해서 결과를 테스트하다보면, array를 비교해야 할 경우가 생긴다. 이런 경우에 단순히 assertEquals 메서드를 이용해서 비교하면 테스트에 실패한다. 두 array가 다른 객체이기 때문에 다른 메모리 주소를 참조하기 때문이다. 예시 프로그래머스에서 간단한 행렬의 덧셈 문제를 풀고, Junit으로 검증해보겠다. // 내가 작성한 답 public class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int outerLength = arr1.length; int innerLength = arr1[0].length; int[][] answer = new int[outerLength][i.. 2022. 7. 21.
[JPA] Spring Boot JPA Query Creation JPA Query Creation JPA를 이용해서 코딩할 경우, interface에서 적절히 메서드 이름을 지정하는 것 만으로 query method를 만들 수 있다. 예시는 다음과 같다. // Question Entity import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.time.LocalDateTime; import java.util.List; @Getter @Setter @Entity public class Question { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @Column(length = 200).. 2022. 7. 6.
[Spring Boot] 스프링 @Configuration 모듈화하기 스프링에서 @Configuration 모듈화하는 상황 스프링 프로젝트에서 비즈니스 로직을 구현할 때, 다형성을 적극 활용하면 좋은 경우가 있다. 예를 들어서 할인 정책을 적용할 때, 상황에 따라서 정해진 금액을 할인하는 정책과 정해진 비율을 할인하는 정책을 선택해야 하는 경우가 있다. 또는 멤버십 유형을 선택하여 유형마다 제공받을 수 있는 서비스들이 달라지는 경우에도 멤버십 객체의 역할과 구현을 분리할 수 있다. 이런 경우에는 별도의 설정 정보를 만들어서 @Configuration을 따로 관리하는 것이 좋다. 그렇다면 이 경우에 @Configuration을 여러 개 만들게 되면 이것들을 어떻게 관리하는 것이 좋을까? 반대로 하나의 @Configuration에 모든 설정 정보가 들어있는 상황에서 이것들을 .. 2022. 6. 29.
[Python] 프로그래머스: 양궁대회 양궁대회 https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 2022 KAKAO BLIND RECRUITMENT 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원회는 한 선수의 연속 우승보다는 다양한 선수들이 양궁대회에서 우승하기를 원합니다. 따라서, 양궁대회 운영위원회는 결승전 규칙을 전.. 2022. 2. 8.
[Python] 프로그래머스: k진수에서 소수 개수 구하기 K진수에서 소수 개수 구하기 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 2022 KAKAO BLIND RECRUITMENT 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 .. 2022. 2. 8.