분류 전체보기(42)
-
[GM] GatherMate 개발기(1) - 프로젝트 개요
개요 넷플릭스 등 다인 이용 가능 서비스에 인원을 모집하는 웹 사이트 Java / React 활용 (예정 & 기술 추가) 해당 프로젝트를 개발하며 겪는 이슈와 주요 로직을 기점으로 기술. 규칙 Git Moji로 Commit Message 관리 프로젝트 빌드 세팅 Invalid Source release 19 Error : Initializr를 통해 만들어진 프로젝트가 JDK 19를 사용하고 있기 때문에 해당 버전과 일치 시킨다. java: warning: source release 17 requires target release 17 Error : 프로젝트의 버전과 참조하려는 JAVA의 버전을 일치 시켜주면 된다. (SDK도 참조하는 버전으로 통일)
2023.02.02 -
[CS : JAVA] BE 면접 대비 질문 리스트(2)
참고 링크 : https://github.com/ksundong/backend-interview-question jvm 자바 가상 머신 자바 어플리케이션을 클래스 로더를 통해 읽어 자바 API와 함께 실행하는 것 메모리 관리를 수행하며 스택기반의 가상머신이다. gc HEAP 영역에 존재하는 사용하지 않는 객체들을 제거하는 작업을 수행한다. 개발자가 직접 메모리를 해제할 수 없기 때문에 필요하다. mark를 통해 사용하지 않는 객체를 표시하고, sweep을 통해 지운다. 그 후 단편화된 메모리를 compact한다. gc동안은 gc를 하는 스레드 이외의 모든 스레드는 정지한다. 컬렉션 프레임워크 객체, 데이터 등을 효율적으로 관리할 수 있는 자료구조들이 있는 라이브러리 제너릭 자바의 타입안정성을 보장하는 역..
2022.05.01 -
[CS : DB] BE 면접 대비 질문 리스트(1)
참고링크 : https://github.com/ksundong/backend-interview-question 1. DB에서 인덱스를 사용하는 이유와 그 장/단점 이유 : 검색 성능을 향상시키기 위해서(실제 성능 개선을 위해서는 index 사용여부, 카디널리티, Selectivity 같은 요소를 고려해야함.) 장점 : 빠른 검색 성능 단점 : 인덱스 구성 비용(추가, 수정, 삭제 연산 시에 인덱스를 형성하기 위한 추가적인 연산) 2. 트랜잭션이란? DB의 상태를 변화시키는 하나의 논리적인 작업 단위. 하나의 트랜잭션에는 여러개의 연산이 수행될 수 있다. 수행중에 한 작업이라도 실패하면 전체 트랜잭션이 실패하고, 모두 성공해야 성공이라고 할 수 있음.(Atomicity : 원자성) 3. ACID에 대해 설..
2022.04.27 -
[CS : DB] 관계 데이터 연산 - 관계 대수
1) 관계 대수(Relational algebra) : 릴레이션간 연산을 통해 결과 릴레이션을 찾는 절차를 기술하는 언어이다. 관계 대수 연산은 보통 수학적 집합 이론으로부터 나온 일반 집합 연산(Set Operations)과 관계 데이터베이스에 적용할 수 있도록 특별히 개발한 순수 관계 연산(Relational Operations)으로 나뉜다. 2) 순수 관계 연산(Relational operations) Selection 릴레이션으로부터 주어진 조건을 만족하는 튜플을 가져오는 연산을 수행한다. Projection 릴레이션에서 원하는 컬럼을 연산 대상으로 하여 수직적 부분 집합을 결과로 한다. 수학적 집합을 기본으로 하고 있기 때문에 튜플이 중복되게 되면 하나만 제외하고 나머지는 제거한다. Natura..
2022.02.02 -
[CS : DB] SQL 개요
1) 관계형 DB의 역사 IBM이 1970년 최초의 RDBMS인 시스템 R 프로젝트의 일부로 SQL 초기버전을 개발하였고 이를 Sequel라고 불렀다. Sequel은 현재 SQL로 명명된다. 1986년 ANSI와 ISO가 SQL의 표준인 SQL-86를 만들었고 이를 시작으로 89, 92 1999 등 다양한 표준들이 만들어졌다. 2) DDL & DML DDL : 스키마를 정의, 수정, 또는 삭제할 때 사용 DML : 데이터의 검색, 삽입, 삭제, 수정 등을 요청할 때 사용 3) Data Definition Language : 릴레이션에 관한 정보, 즉 릴레이션의 스키마, attribute들의 도메인, 무결성 제약조건을 명시하는데 사용된다. 그 밖에 릴레이션의 index에 대한 정보나 보안과 권한에 대한 정..
2022.01.18 -
[프로그래머스 - 2] [3차] 파일명 정렬
접근법 String 배열이 주어지고 그 안의 파일명을 문자 / 숫자 / 나머지로 구분하여 정렬하는 문제라고 생각했다. Character의 isDigit을 활용해서 숫자가 나올 때까지를 잘라서 Head라고 구분하고 return배열의 0번째 인덱스에 저장했다. 그 후 index부터 Digit이 안나올 때까지를 다시 탐색해서 숫자로 구분하고 0을 제거하기 위해 Integer형으로 변경해서 1번째 인덱스에 저장했다. 그 뒤는 숫자, 문자와 상관없이 TAIL로 구분하여 2번째 인덱스에 저장한 후 해당 String 배열을 반환한다. Digit이 끝까지 나오는경우(ex, F-51) return값이 달라지므로 for문 밖에서 returnStr[1], returnStr[2]를 따로 지정한 후 반환해줬다. 다시 Solut..
2021.12.17