일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 기사단원의 무기 제곱근
- 알고리즘 1000000007 나누기
- 이코테2021
- Python 1000000007
- 정규화 장단점
- PCB
- build.gradle 설정 오류
- Spring Security 5
- 빌드관리도구 차이
- 백트래킹
- RDBMS와 NoSQL 차이
- DDL DML DCL 차이
- java 동기화
- 프로그래머스 142086
- OOP의 특징
- finalize 수동 호출
- 달리기 경주 파이썬
- 프로세스
- 빌드관리도구
- 기사단원의 무기 파이썬
- oracle where join
- @RequestMapping과 @GetMapping
- oracle 조인 방법
- 달리기 경주 파이썬 시간초과
- Spring Security 버전 문제
- commit message convention
- oracle 암시적조인
- oracle (+) 조인
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 모듈로 연산
- Today
- Total
목록전체 글 (44)
BUILD_SSO
책을 보며 따라하고 있는데 프로젝트 설정 단계에서부터 오류가 엄청나게 발생한다. 아무래도 책에서의 버전과 최신 버전사이의 시간차가 있다보니 버전 충돌이 발생하는 것 같다. 처음 작성한 코드는 다음과 같다. buildscript { ext { springBootVersion = '2.1.7.RELEASE' } repositories { mavenCentral() jcenter() } dependencies { //특정 버전을 명시하지 않아야 아래의 ${springBootVersion}의 버전을 따라가게 됨 classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } plugins { id 'java' id '..
글쓰기에 앞서... 백엔드 개발자라면 개발을 하며, 기업 공고를 보며 REST API, RESTful이라는 단어를 한번쯤은 들어봤을 것이다. 지금까지 나는 REST API를 제대로 이해하고 API를 설계해왔는가?라는 의문이 들어 제대로 복습할겸 REST API를 정리하게 됐다. API(Application Programming Interface) 란? 영어 단어를 그대로 풀이하면, API는 프로그램들과 데이터베이스, 그리고 기능들의 상호 통신 방법을 규정하고 도와주는 매개체이다. 많은 곳에서 API를 매장-손님 사이의 '점원'으로 표현한다. 매장(데이터베이스)과 손님(애플리케이션/요청자) 사이에서 그들의 요청과 응답을 점원(API)이 처리한다고 볼 수 있다. ➡ 간단히 말해 API는 프로그램들이 서로 상..
◼ 클래스와 객체에 대해 설명해주세요. 클래스 객체를 생성하기 위한 설계도나 틀이라고 할 수 있습니다. 객체 클래스를 기반으로 생성되며 자신의 고유한 이름과 상태, 행동을 가집니다. 여기서 상태는 필드(field), 행동은 메서드(method)라고 하며, 객체가 메모리에 할당되어 실제로 활용되는 실체를 인스턴스라고 합니다. ◼ 클래스 멤버 변수 초기화 순서 static 변수 선언부 클래스가 로드될 때 가장 먼저 초기화된다. field(필드) 변수 선언부 객체가 생성될 때 생성자 block보다 앞서 초기화된다. constructor(생성자) 객체가 생성될 때 JVM이 내부적으로 locking (thread-safe영역) ◼ 생성자(Constructor)에 대해 설명해주세요. 생성자는 클래스와 이름이 같은 ..
👉🏻객체 지향 프로그래밍 OOP(Object Oriented Programming) ◼ 객체지향프로그래밍이란? 객체지향프로그래밍이란 데이터를 객체로 취급하여 프로그램에 반영한 것으로, 객체와 객체의 상호작용을 통해 프로그램이 동작하는 것을 말합니다. 객체 지향 프로그래밍의 4가지 특징으로 상속, 캡슐화, 다형성, 추상화가 있고, 모듈 재사용으로 확장 및 유지보수가 용이합니다. ◼ SOLID원칙에 대해서 설명하세요. SRP 단일책임원칙/ 한 클래스는 하나의 책임만 가져야 한다 OCP 개방폐쇄원칙/ 확장에는 열려 있고, 수정에는 닫혀 있어야 한다 LSP 리스코프치환원칙/ 상위타입은 하위타입으로 치환가능해야 한다 ISP 인터페이스 분리원칙/ 인터페이스 내에 메서드는 적을수록 좋다 → SRP와 같은 문제에 대한..
알고리즘 문제를 풀거나 코딩테스크를 응시하다보면 1,000,000,007로 나눈 나머지, 1,000,000,009로 나눈 나머지를 구하는 문제가 종종 보인다. 그렇다면 1,000,000,007가 가진 의미는 무엇일까? ◼ 모듈로 연산(Modulo Operation)이란? 어떤 한 숫자를 다른 숫자로 나눈 나머지를 구하는 연산으로, 나머지 연산(mod)이라고 한다. 즉, 정수의 합과 곱을 어떤 주어진 수의 나머지에 대하여 정의하는 방법이다. ◼ 왜 나눌까? 왜 1,000,000,007 일까? int(정수형)의 경우 4바이트(32비트)로 -2,147,483,648 ~ 2,147,483,647의 범위를 가진다. 이것은 2e9(2*10^^9)의 근사치로 표현할 수 있고, 가끔 문제에서 계산하다 보면 저 범위 이..
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예제 입력: "banana" "footbal" 예제 출력: [-1, -1, -1, 2, 2, 2] [-1, -1, 1, -1, -1, -1] 주어진 문자열 's'에 대해 문자열 내에서 이전에 나타난 위치와의 차이를 계산하고, 그 결과를 answer로 return하는 문제이다. 파이썬 내장함수인 enumerate와 dictionary 타입을 쓰면 문제가 쉽게 해결된다. enumerate..
서브쿼리란? SubQuery 서브쿼리란 SQL문 안에 포함되어있는 SELECT문을 뜻한다. 서브쿼리를 포함하고 있는 쿼리를 외부쿼리( outer query)라고 하며, 서브쿼리는 내부 쿼리(inner query)라고도 한다. 서브쿼리 형태 서브쿼리는 아래와 같이 괄호로 감싸져서 사용된다. SELECT * FROM FOOD_PRODUCT WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT) 프로그래머스 SQL 문제: 가격이 제일 비싼 식품의 정보 출력하기 서브쿼리 특징 실행 순서: 서브쿼리 ➡ 메인쿼리(외부쿼리) SELECT, FROM, WHERE, HAVING 절에서 사용 가능 메인쿼리(외부쿼리) 컬럼 사용 가능 하지만, 메인쿼리는 서브쿼리 컬럼 사용이 불가하다. ..
👉🏻인덱스 Index에 대해 설명하고, 장단점을 설명해주세요 인덱스란 테이블을 처음부터 끝까지 검색하는 방법인 FTS(Full Table Scan)과는 다르게 인덱스를 검색하여 해당 자료를 테이블에 액세스하는 방법입니다. 예를 들어, DB를 책으로 비유한다면 데이터는 책의 내용이 되고, 데이터가 저장된 레코드의 주소는 인덱스 목록에 있는 페이지 번호가 됩니다. 장점 인덱스는 항상 정렬된 상태를 유지하기 때문에 (원하는 값을) 검색에 빠르다. 때문에, 인덱스를 사용하면 ORDER BY에 의한 정렬(Sort) 과정을 피할 수가 있고, MIN, MAX값의 효율적인 처리가 가능하다. 단점 하지만 새로운 값을 추가, 수정 삭제 하는 경우에는 쿼리문 실행 속도가 느려진다. 즉, 인덱스는 DML에 약하다. INSER..
👉🏻정규화는 어떤 배경에서 생겨났는가? 한 릴레이션에 여러 엔티티의 속성을 혼합하면 정보가 중복 저장되어 저장공간을 낭비하게 되며 중복된 정보로 인해 '이상 현상'이 발생하게 되는데, 이러한 문제를 해결하기 위해 정규화 과정이 생겨났다. 👉🏻정규화 normalization에 대해 설명해주세요 정규화란, 하나의 릴레이션에 하나의 의미만 갖도록 릴레이션을 분리하는 과정을 뜻합니다. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법입니다. 👉🏻정규화의 장단점을 설명해주세요 장점 데이터베이스 변경시 이상현상이 발생하는 문제점을 해결할 수 있다. 데이터베이스 구조 확장시 정규화된 데이터베이스는 그 구조를 변경하지 않아도 되거나 일부만 변경하면 된다. 단점 릴레이션 분해로 인해 릴레이션간..
👉🏻JOIN 이란 JOIN 연산은 두 테이블을 결합하는 연산입니다. 데이터의 규모가 커지면서 하나의 테이블로 정보를 수용하기 어려워지면 테이블을 분할하고 테이블 간의 관계성을 부여합니다. 👉🏻JOIN의 종류 INNER JOIN 두 테이블의 교집합, 즉 두 테이블간 JOIN 조건을 만족하는 행을 반환한다. OUTER JOIN OUTER JOIN이란 조인 조건에서 동일한 값이 없는 행도 반환할 때 사용한다. LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN이 있다. CROSS JOIN Cartesian Product(카디션 곱)이라고도 하며 조인되는 두 테이블에서 곱집합을 반환한다 SELF JOIN 자기자신과 자기자신을 조인하는 것으로, 하나의 테이블을 여러번 복사해..