분류 전체보기 61

[친절한 SQL 튜닝] 1장 데이터 저장 구조 및 I/O 메커니즘

옵티마이저 힌트 SQL 옵티마이저는 순식간에 엄청나게 많은 연산을 한다. 그 과정에 옵티마이저가 사용하는 정보는 다음과 같다.-테이블, 컬럼, 인덱스 구조에 관한 기본 정보-오브텍트 통계: 테이블 통계, 인덱스 통계,  (히스토그램을 포함한) 컬럼 통계-시스템 통계: CPU 속도, Single Block I/O 속도, Multiblock I/O 속도 등-옵티마이저 관련 파라미터 주의사항1. 힌트 안에 인자를 나열할 땐 ','(콤마)를 사용할 수 있지만, 힌트와 힌트 사이에 사용하면 안된다./*+ INDEX(A A_X01) INDEX(B, B_X03) */ -> 모두 유효/*+ INDEX(C), FULL(D) */ -> 첫번째 힌트만 유효2. 테이블을 지정할 때 스키명까지 명시하면 안 된다SELECT /*..

[백준] 퇴사2 15486 java - dp

https://www.acmicpc.net/problem/15486 dp에 대한 연습이 많이 필요하겠다...일단 범위를 봐서는 완탐으로 풀면 시간초과가 날 것매일의 이익을 dp 배열로 두고 풀어야 한다 !! import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[] T = new int[N+2]; ..

스터디/Algorithm 2024.06.20

[백준] 말이 되고픈 원숭이 1600 java - bfs

https://www.acmicpc.net/problem/1600 처음에 말의 이동이 잘 이해가 가지 않아서 어려웠고두 번째 난관은 같은 위치에 있을 때에도k를 쓴 갯수에 따라서 다른 경우로 봐야하는데, 이를 간과해서 어려웠다 !  틀린 코드import java.io._; import java.util._;public class Main { static int K, W, H; static int\[\]\[\] graph; static boolean\[\]\[\] visited; static int\[\] dx1 = {0,0,1,-1}; static int\[\] dy1 = {1,-1,0,0}; static int\[\] dx2 = {2,2,1,1,-2,-2,-1,-1}; static int..

스터디/Algorithm 2024.06.20

[백준] 빙산 2573 java - bfs, dfs

https://www.acmicpc.net/problem/2573 bfs와 dfs를 모두 활용한 문제빙산이 분리됐는지 확인할 때에는 dfs녹는 과정에 대한 처리는 bfs로 처리해줬다동서남북 바다의 개수를 카운트 한 후에 빙산에서 그 값만큼 빼야하는데이 때에 원래 빙산 상태를 어떻게 저장해야하나.. 고민하다가빙산 상태를 매번 copy(깊은 복사) 해주었더니 시간초과가 발생했다따라서 초반에 빙산을 모두 queue에 넣은 후에 visited 처리를 하는 방식으로코드를 수정했다 !! (그렇다면 이후에 변화된 빙산에 영향을 받지 않고 맞닿은 바다를 계산해줄 수 있다) 내 풀이import java.io.*;import java.util.*;public class Main { static int N, M; ..

스터디/Algorithm 2024.06.18

[백준] 직사각형 탈출 16973 java - bfs

https://www.acmicpc.net/problem/16973 생각보다 어렵게 풀린 문제 ㅜ_ㅜ이 문제의 핵심 포인트는 다음과 같다1. 직사각형 중 첫번째 좌표의 범위를 잘 잡기(1~N-H+1,1~M-W+1)2. 사각형의 범위 안에 1이 있으면 안되는데 이를 판별할때이중 for문으로 만들어진 사각형마다 확인하면 시간초과가 발생한다따라서 먼저 1(벽)을 ArrayList에 추가한 후에 벽의 좌표를 꺼내서사각형의 범위 안에 있는지 역으로 확인해야 함!!=> walls에 벽의 x좌표, y좌표를 추가함  1번 조건을 고려하지 않았을 때 반럐5 50 0 0 0 00 0 0 0 00 0 1 0 00 0 0 0 00 0 0 0 02 2 1 1 5 4정답: -1 내 답안import java.io.*;import ..

스터디/Algorithm 2024.06.15

운영체제 기술 면접 대비

프로세스와 쓰레드의 차이프로세스는 실행 중인 프로그램을 말하며 완전히 독립적이기 때문에메모리 영역(Code, Data, Stack, Heap)을 다른 프로세스와 공유하지 않는다.프로세스는 최소 1개의 쓰레드를 가지고 있다.쓰레드는 프로세스 내에서 Stack만 따로 할당 받고 그 이외의 메모리 영역(Code, Data, Heap)을공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있다.쓰레드는 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용하여 실행된다.  멀티 프로세스와 멀티 쓰레드의 특징멀티 프로세스는 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않고 계속 실행된다는 장점이 있지만멀티 쓰레드보다 많은 메모리 공간과 CPU 시간을 차지한다는 단점이 있다.멀티 쓰레드는 멀티 프로..

스터디 2024.06.08

네트워크 기술 면접 대비

HTTP 프로토콜HTTP 프로토콜은 데이터를 주고 받기 위한 프로토콜이며 서버/클라이언트 모델을 따릅니다.상태 정보를 저장하지 않는 stateless, 클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 connectionless의 특징을 가지고 있습니다.장점은 통신간의 연결상태처리나 상태정보를 관리할 필요가 없으므로 서버 디자인이 간단하고HTTP 요청에 독립적으로 응답만 보내주면되서 편리하다.단점은 이전 통신의 정보를 모르기 때문에 매번 인증을 해줘야 하고쿠키나 세션을 통해서 데이터를 처리한다. HTTP와 HTTPS의 차이점HTTP는 평문 데이터를 전송하는 프로토콜이기 때문에 제3자에 의해 조회될 수 있습니다.이를 해결하고자 HTTP에 암호화가 추가된 프로토콜이 HTTPS입니다.HTTP는 원래 TCP..

스터디 2024.06.08

데이터베이스 기술 면접 대비

데이터베이스의 특징실시간 접근성, 지속적인 변화, 동시 공용, 내용에 대한 참조 데이터베이스 언어에 대해 설명해주세요DDL(Data Definition Language)는 데이터베이스 구조를 정의, 수정, 삭제하는 언어(create, alter, drop)DML(Data Manipulation Language)는 데이터베이스 내의 자료 검색, 삽입, 갱신, 삭제를 위한 언어(select, insert, update, delete)DCL(Data control Language)는 데이터에 대한 무결성 유지, 병행 수행 제어, 보호와 관리를 위한 언어(commit, rollback, grant, revoke) SELECT 쿼리의 수행 순서FROM, ON, JOIN > WHERE, GROUP BY, HAVIN..

스터디 2024.06.08

백엔드(Web, Spring) 기술 면접 대비

WAS와 WS의 차이WAS는 Web Application Server로 비즈니스 로직을 넣을 수 있으며 대표적인 예시로 Tomcat, PHP 등이 있다.WS는 Web Server로 비즈니스 로직을 넣을 수 없으며 대표적으로 Nginx 등이 있다. Spring Framework?스프링 프레임워크는 자바 개발을 편리하게 해주는 오픈소스 프레임워크입니다.경량 컨테이너로서 자바 객체를 직접 관리하기 때문에 객체의 생성부터 소멸까지 라이프 사이클을 관리합니다.제어의 역전을 통해 컨트롤러의 제어권이 사용자가 아닌 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출합니다.의존성 주입을 지원합니다.관점 지향 프로그래밍(AOP)를 지원하여 트랜잭션이나 로깅, 보안과 같이 공통적으로 사용하는 기능의 경우 해당..

스터디 2024.06.07

[운영체제] CPU 스케줄링 (3) + Process Synchronization

Algorithm Evaluation Queueing models확률 분포로 주어지는 arrival rate와 service rate 등을 통해각종 performance index 값을 계산 Implementation(구현) & Measurement(성능 측정)실제 시스템에 알고리즘을 구현하여 실제 작업(workload)에대해서 성능을 측정 비교 Simulation (모의 실험)알고리즘을 모의 프로그램으로 작성후 trace를 입력으로하여 결과 비교  Process Synchronization -E-box가 여럿 있는 경우 Race Condition(경쟁 상태)의 가능성이 있음-Multiprocessor system-공유메모리를 사용하는 프로세스들커널 내부 데이터를 접근하는 루틴들 간(ex. 커널모드 수행..