
조인(Join)이란? 조인이란 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것을 말한다. 조인의 종류 중 대표적인 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인이 있다. 조인의 필요성 - 관계형 데이터베이스의 구조적 특징으로 정규화를 수행하면 의미 있는 데이터의 집합으로 테이블이 구성되고 각 테이블끼리는 관계(Relationship)을 갖게 된다. - 이와 같은 특징으로 관계형 데이터베이스는 저장 공간의 효율성과 확장성이 향상되게 된다. - 다른 한편으로는 서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 조인이 필요하다. 내부조인(Inner Join) 내부조인이란 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 ..

final 키워드란? 자바에서 final 키워드는 크게 변수, 메서드, 클래스 에 사용할 수 있다. 변수에 final 을 사용하면, 해당 변수는 더이상 '재할당' 할 수 없게 된다. 메서드에 사용하면, 해당 메서드는 '오버라이드' 될 수 없다. 마지막으로 클래스에 사용되면, 해당 클래스는 '상속' 할 수 없게된다. 즉, 부모 클래스가 될 수 없다는 의미이다. 이렇게 Java에서는 불변성을 확보할 수 있도록 final 키워드를 제공하고 있다. final 변수 변수에 final 를 붙이면 해당 변수는 첫 초기화 이후, 재할당이 불가능해진다. final int num = 100; num = 50 // error : java: cannot assign a value to final variable num 이렇게..

문제 링크 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution..

문제 링크 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 [7..

HTTP Method 란? HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. 주요 메소드 GET : 리소스 조회 POST: 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경) DELETE : 리소스 삭제 기타 메소드 HEAD : GET과 동일하지만 메시지 부분(body 부분)을 제외하고, 상태 줄과 헤더만 반환 OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을..

동일성 (Identity) 동일성은 비교 대상의 두 객체의 메모리 주소가 같음을 의미하는 것 이다. 자바에서 동일성은 비교연산자 == 로 확인할 수 있다. Number number1 = new Number(1); Number number2 = number1; System.out.println(number1 == number2); number2 는 Number 의 인스턴스를 새로 생성하지 않고, number1 을 대입받는다. 즉 number1 와 number2 는 같은 메모리 주소에 위치한 같은 객체를 바라보고 있다. 객체는 각자의 고유한 식별자를 가지고 있는데, 이 식별자가 같다면 동일하다고 판단한다. 동등성 (Equality) 동등성은 동등하다는 뜻으로 두 개의 객체가 같은 정보를 갖고 있는 경우를 의..

List vs Set List 와 Set은 크게 Ordered collection vs Unordered collection / 중복 가능 여부로 나누어 볼수 있다. 그 이유는 List는 순서가 있는 Collection이다. List에 데이터를 넣는 순서가 보장되며, 그렇기 때문에 index로 특정 아이템을 가져올 수 있다. 또한 데이터 중복이 가능하다. Set는 순서를 보장하지 않는 Collection이다. 그렇기 때문에 index로 특정 아이템을 가져올 수 없다. 또한 데이터 중복이 불가능하다. List - 입력 순서를 유지하며, 데이터의 중복을 허용 - 인덱스를 통해 저장 데이터에 접근이 가능 Set - 입력 순서를 유지하지 않으며, 데이터의 중복 허용하지 않음 - 데이터에 null 입력 가능하나,..

소프트웨어 개발 프로세스 모델이란? 소프트웨어 개발 프로세스 모델은 소프트웨어 개발 생명주기를 기반으로 정해진다. 소프트웨어 개발 생명 주기 관련 글을 ➡️ 여기 를 참고하면 된다. 소프트웨어 개발 프로세스 모델의 종류 6가지는 아래와 같다. 폭포수 모델 V 모델 프로토타입 모델 나선형 모델 진화적 모델 애자일(Agile) 모델 폭포수 모델 (waterfall model) 폭포수 모델(waterfall model)은 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 이름이 붙여졌다. 이 폭포수 모델의 흐름은 소프트웨어 요구사항 분석 단계에서 시작하여, 소프트웨어 설계, 소프트웨어 구현, 소프트웨어 시험, 소..

소프트웨어를 체계적으로 관리하고 관리하기 위해 개발 과정을 단계별로 나누어 구분 한 것을 소프트웨어 개발단계, 소프트웨어 생명주기 라고 한다. 일반적으로 6단계로 구분하며, 이 단계에 대해서 알아보고자 한다. 1️⃣ 1단계 : 요구사항 분석 문제 분석 단계 개발할 소프트웨어의 기능과 제약조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의 개발할 소프트웨어의 성격을 정확히 이해하고, 개발 방법과 필요한 갭라 자원 및 예산을 예측 요구명세서 작성 2️⃣ 2단계 : 시스템 명세 시스템이 무엇을 수행해야 하는가를 정의하는 단계 입력자료, 처리내용, 생성되는 출력이 무엇인지를 정의 시스템 기능 명세서 작성 3️⃣ 3단계 : 설계 시스템 명세 단계에서 정의한 기능을 실제로 수행하기 위한 방법을 논리적으로 결정하..

자료를 관리 할때 배열이나 리스트를 자주 사용하게 된다. 자주 사용하는 만큼 배열과 리스트의 특징과 차이에 대해 알아보고자 한다. 배열(Array) 이란? 배열은 정적 자료구조이며, 배열을 만들기 위해서는 미리 크기를 정해 놓아야 한다. 그렇게 되면 해당 크기만큼의 연속된 메모리 주소를 할당 받게 된다. 연속된 메모리 주소를 할당 받고 있기 때문에 데이터가 인덱스(index)라는 것을 갖게 된다. 일반적으로 array[0] 같은 식으로 배열에 접근할 때 대괄호([]) 안에 숫자가 index이다. index를 갖게 된다는 것은 즉 임의 접근이 가능하다는 장점이 있어 접근과 탐색에 용이합니다. 하지만 크기를 미리 정해놓았기 때문에 수정하는 것이 불가능하며 이미 크기를 정해 놓은 터라 해당 배열 크기 이상의 ..
- Total
- Today
- Yesterday
- 자바
- 코딩테스트 준비
- 알고리즘
- 취업준비
- 프로그래머스 카카오
- 알고리즘 공부
- 백엔드 개발자
- 제로베이스 백엔드 스쿨
- 백준
- 코딩테스트 공부
- 제로베이스 백준 장학금
- 개발자 취업 준비
- 프로그래머스
- 코테공부
- 개발자 취준
- 코딩테스트
- 백엔드 개발자 기술 면접 준비
- 코테준비
- 취업 준비
- 주니어 개발자 취업 준비
- 개발자 면접 준비
- 취준
- 코테 준비
- 프로그래머스 자바
- 알고리즘공부
- 자바공부
- java
- 코딩테스트공부
- 백엔드 개발자 취업 준비
- 기술 면접 준비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |