전체 글

꾸준히 성장하는 개발자 WONOW 입니다. 🤗
· CS/DB
특정 오프셋 까지 데이터를 모두 조회하고 버린다.오프셋의 동작 방식은 0번 오프셋 부터 지정된 오프셋까지 데이터 조회를 모두 수행합니다.그래서 Disk 인풋, 아웃풋이 오프셋 만큼 일어나게 되어 O(n)의 선형적인 구조를 띄어 느립니다.스트리밍 처리가 아닌 버퍼링 처리를 거칩니다. (완벽한 이유는 아님)쿼리문에 ORDER BY 나 GROUP BY 를 추가되면 버퍼링 방식으로 처리가 됩니다.왜냐하면 결과를 모아두고 정렬 및 그룹핑을 해야하기 때문입니다.개선할 수 있는 방법이 존재합니다.Index Sort 이용하기정렬 조건을 제한하고, 정렬 조건에 따른 인덱스를 생성하여 FileSort 를 사용하지 않게 합니다.
· CS/Kafka
카프카의 개념카프카는 분산형 데이터 스트리밍 플랫폼 입니다.여기서 분산형은 단일 서버에서 처리를 집중시키는 것이 아닌 여러 대의 서버(노드)로 구성된 클러스터 환경에서 데이터를 처리 할 수 있는 것을 의미하고스트리밍은 DB 에 정적인 형태로 누적되는 데이터가 아니라, 실시간으로 연속해서 들어오고 흘러가는 데이터 흐름을 의미합니다.카프카 단어 목록프로듀서프로듀서는 메세지를 생산하는 어플리케이션 혹은 서비스 입니다.프로듀서는 메세지를 클러스터에 보내며, 이때 특정 토픽을 지정합니다.메세지보내지는 메세지 입니다. 예를 들면 Json토픽메세지를 보낼 논리적 파이프라인(관)이라고 생각하면 됩니다.프로듀서가 특정 토픽으로 메세지를 보내면, 컨슈머는 해당 토픽에서 메세지를 읽어 갑니다.클러스터서버 == 브로커카프카는..
퇴사https://www.acmicpc.net/problem/14501 알고리즘 선택과 근거DP + 누적합단순 구현으로 풀 수 있을 듯하나, DP로 푸는 게 더 좋아보임 정답 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
링크https://www.acmicpc.net/problem/14889 알고리즘 선택과 근거브루트포스모든 경우의 수를 따져야한다.백트래킹경우의 수 중복 방지 정답 코드import java.util.*;import java.io.*;public class Main { static boolean[] visited; static int[][] arr; static int answer = Integer.MAX_VALUE; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
링크https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 주의점탐색할 때마다 MAX 값을 구하는 연산을 하면, 효율성 측면에서 매우 불리해진다. 알고리즘 선택과 근거DFS최단 거리를 구하는 문제가 아니다. 그래서 BFS 는 고려하지 않았음MAX 값을 구하는 게 중요하다.메모이제이션탐색 할 때마다 MAX 값을 구한다고 하면, 효율성 측면에서 매우 불리해진다.석유 탐색석유 덩어리를 하나의 Team 이라고 정의하고 DFS 돌릴 때 Team 배열에 해당 Team 석유 매장량을 저장한다.석유 시추팀 방문..
알고리즘 스터디가 필요했습니다.저는 이전에 하루 적어도 한 문제씩 알고리즘을 푸는 것을 목표로 잡고 행동에 옮겼습니다.  결과는 3개월만에 백준 기준 브론즈에서 골드레벨까지 올랐습니다.알고리즘 실력은 늘었습니다. 그러나 제가 기대하는 것만큼 드라마틱하게 늘지 않았습니다.왜였을까요? 솔직하게 말하면, 제가 자신있는 분야만 풀었기 때문입니다.하루에 적어도 한 문제를 풀어야하니, 배움의 목적이라기 보다는 풀이의 목적성이 더욱 강했습니다. 그래서 제가 자신있는 분야는 풀이 속도가 빨라졌으나, 전체적으로 보면 그렇게 실력이 많이 늘지 않았던 것입니다. 또한, 공부법도 명확하지 않았습니다.  저는 제가 자신있는 분야만 풀었고, 해결한 문제에 대해서 복습을 하지 않았습니다. 그래서 잘 몰랐던 분야에 대해서는 장기기억..
wonow_
wonow_