전체 글

Cloud Wave

CI/CD ON EKS

cicd on eks CI/CD CI란? 지속적인 통합(Continuous Integration) 빌드/테스트 자동화 과정 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합히는 것을 의미 커밋할 때마다 빌드와 일련의 자동 테스트가 이루어져 동작을 확인하고 변경으로 인해 문제가 생기는 부분이 없도록 보장 CD란? 지속적인 서비스 제공(Continuous Deliver) / 지속적인 배포(Continuous Deployment) 배포 자동화 과정 개발자의 변경 사항이 레포지토리를 넘어, 고객의 프로덕션(Production) 환경까지 릴리즈 되는 것 간단한 코드 변경이 정기적으로 마스터에 커밋되고, 자동화된 빌드 및 테스트 프로세스를 거치며 다양한 사전 프로덕션 환경으로 승격되며..

CS 지식

[데이터베이스] JOIN(조인)

JOIN이란? 두개이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 논리적 조인과 물리적 조인으로 나뉜다. 논리적 조인 1. INNER JOIN - 기준테이블과 Join한 테이블의 중복된 값을 보여줌 - 교집합 2. LEFT OUTER JOIN - JOIN 문 기준 왼쪽 테이블(A)의 전체 데이터와, A테이블과 B테이블의 중복 데이터를 보여줌 3.RIGHT OUTER JOIN - JOIN문 기준 오른쪽 테이블(B)의 전체 데이터와, A테이블과 B테이블의 중복 데이터를 보여줌 4.FULL OUTER JOIN - A테이블과 B테이블 데이터 모두를 보여줌( 사실상 모든 데이터 출력) - 합집합 5. CROSS JOIN - 모든 경우의 수를 표현해줌 - 기준 테이블이 A일 경우, A 데이터의 RO..

JPA

[자바 ORM 표준 JPA 프로그래밍] 10~11. 객체지향 쿼리 언어

객체지향 쿼리 언어 소개 JPQL JPA를 사용하면 엔티티 객체를 중심으로 개발할 수 있다. 문제는 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색해야 한다. 하지만 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능하다. 따라서 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검색 조건이 포함된 SQL이 필요하다. JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공한다. 문법은 SQL과 유사하며, 둘의 가장 큰 차이점은 JPQL은 엔티티 객체를 대상으로, SQL은 데이터베이스 테이블을 대상으로 쿼리한다는 것이다. 즉, JPQL을 한마디로 정의하면 객체 지향 SQL이라고 말할 수 있다. //검색 String jpql = "select m From Member m w..

코딩테스트/프로그래머스

[프로그래머스] 괄호 변환 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { public String solution(String p) { if(check(p)) return p; String answer = p; answer = makeV(answer); return answer; } public String makeV(String str){ if(str.equals("")) return "";..

코딩테스트/프로그래머스

[프로그래머스] 조건에 맞는 도서와 저자 리스트 출력하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/144854 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 SELECT B.BOOK_ID, A.AUTHOR_NAME, DATE_FORMAT(B.PUBLISHED_DATE, "%Y-%m-%d") as PUBLISHED_DATE FROM BOOK B INNER JOIN AUTHOR A ON B.AUTHOR_ID = A.AUTHOR_ID WHERE B.CATEGORY = '경제' ORDER BY B.PUBLISHED_DATE ASC;

코딩테스트/프로그래머스

[프로그래머스] 후보키 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { String table [][]; List keyList = new ArrayList(); public int solution(String[][] relation) { table = relation; if(relation[0].length == 1){ if(unique(List.of(0))) return 1; else r..

코딩테스트/프로그래머스

[프로그래머스] 같은 숫자는 싫어 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12906?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; public class Solution { public int[] solution(int []arr) { Stack stack = new Stack(); for(int i=0;i

코딩테스트/프로그래머스

[프로그래머스] 전력망을 둘로 나누기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import java.util.*; class Solution { static ArrayList arr []; public int solution(int n, int[][] wires) { arr = new ArrayList[n+1]; for(int i=1;i

코딩테스트/프로그래머스

[프로그래머스] 시소 짝꿍 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이중 for문을 이용하게 된다면 최대 100,000 * 100,000 = 10,000,000,000 번 돌아가서 시간 초과가 발생한다. 따라서 for문 하나만 이용하여 문제를 풀어야 한다. 각 값에 대해 이전에 같은 값이 있었는지 확인하면서 문제를 풀면 된다. 즉, 배열을 이용하여 index를 weight*2,3,4 로 두고 배열 index의 값에 대해 같은 index가 나오면 그 배..

코딩테스트/프로그래머스

[프로그래머스] 문자열 압축 - JAVA

문제 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 구현문제인데 어려운 문제였다. 다시 풀어야 되는 문제 처음에 풀었을 때 맨 마지막 문자열을 처리가 안되어서 애를 많이 먹은 문제였다. 풀이 반복되는 문자의 길이는 주어진 문자열 길이의 절반을 넘을 수 없다. 이를 for문을 이용하여 반복되는 문자의 길이를 증가시킨다. 주어진 문자열에서 처음부터 반복되는 문자열이 몇개인지를 찾아나가야 한다. 중간부터 시작해서 찾아나가는 것이 아니다. count..

ankisile
노는게제일좋아