기업형 IT 연합 동아리 YAPP에 합류하기까지 여정과 포부
·
생각 메모
기업형 IT 연합 동아리, YAPP 이번에 기업형 IT 연합 동아리 YAPP 21기에 백엔드 파트로 합류하게 되었다. 지원과정부터 앞으로 포부를 작성해볼까 한다. 백엔드 파트 기준으로 설명하자면 YAPP는 클라이언트 개발자, 기획, 디자인분들과 함께 6개월 동안 프로젝트를 진행한다. 또한 원하는 경우 팀 내 세미나와 스터디를 진행할 수 있다. 주로 ZEP이라는 메타버스 플랫폼과 디스코드, 오프라인을 통해 소통하는 분위기다. YAPP 공식 홈페이지에 적혀있는 YAPP의 풀이는 아래 인용과 같다. 'Your ㅡ Action, Passion, Potential' 도 중요한 키워드다. Your own idea can change the Actual world at anytime with Passion and P..
IT 서비스 개발 모임, 프로그라피 7기 회고
·
생각 메모
서당개도 삼 년이면 풍월을 읊는다. 사실은 군대 가기 전부터 알고 있었던 몇 안 되는 개발 커뮤니티 중 하나였고, 들어가고 싶단 생각이 컸었다. 시간이 흘러 전역 이후 백엔드 개발을 본격적으로 한 지 6개월이 됐을 무렵 우연히 공고를 보게 되었고 망설임 없이 지원했었다. 서당개도 삼 년이면 풍월을 읊는다는 말이 틀리지 않았다. 실제 활동하면서 훌륭한 사람들과 좋은 환경에 같이 있으니 많이 부족했던 나 또한 좋은 습관들을 배우고 좋은 영향을 받을 수 있었다. 우아한 형제들, 쿠팡, 푸른 망아지, IBM, 크래프톤에 다니시는 분들이 운영진으로 계셨으며 주기적으로 하는 세션에서 값진 이야기들을 많이 들을 수 있었다. 프로토타입 세션이 가장 재밌었고 전부 받아 적느라 조금 손가락이 아팠었다. (링크) 전형과 일..
데이터베이스 관리 시스템의 아키텍처(DBMS Architecture)
·
CS/데이터베이스
데이터베이스 관리 시스템 아키텍처 쿼리 평가 엔진 쿼리 평가 엔진은 사용자로부터 입력받은 SQL 구문을 분석하여 어떤 순서로 기억장치의 데이터에 접근할지 결정한다. 이때 결정되는 계획을 '실행 계획'이라고 한다. 이러한 실행 계획에 기반을 둬 데이터에 접근하는 방법을 '접근 메서드'라 한다. 쿼리 평가 엔진은 계획을 세우고 실행하는 DBMS의 핵심 기능을 담당하는 모듈이다. 디스크 공간 매니저 DBMS에서 가장 낮은 Layer에서 디스크의 공간을 관리한다. 상위 컴포넌트에서 페이지를 할당하거나 할당 해제, 페이지를 읽거나 쓰는 요청을 받아서 처리한다. 디스크 공간 매니저는 성능을 위해서 페이지들을 최대한 순차적으로 배치한다. 왜냐하면 seek time이나 rotation 지연을 최대한 줄이기 위함이다. ..
[백준 #1644] 소수의 연속합, 자바스크립트 풀이
·
CS/알고리즘
문제 난이도 유형 🥇골드 3티어 소수판별, 에라토스테네스의 체, 투 포인터 알고리즘 문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 29230 12431 8657 41.498% 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문..
[백준 #1806] 부분합, 자바스크립트 풀이
·
CS/알고리즘
문제 난이도 유형 🥇골드 4티어 투 포인터 알고리즘 문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.5 초 128 MB 59814 15970 11186 25.388% 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. 출력 첫째 줄에 구하고자 하는 최소의 길이를 출력한다. 만일 그러한 합을 만드는 것이 불가능하다면 0을 출력하면 된다..
트랜잭션의 병행 수행(concurrency)와 병행 제어(concurrency control)
·
CS/데이터베이스
일반적인 데이터베이스 개론에서 트랜잭션 개념과 회복 다음 내용이므로 순서대로 공부하는 것을 선호하신다면 데이터베이스 트랜잭션 개념과 회복까지 학습하시면 도움이 될 수 있습니다. 잘못된 부분이 있다면 피드백 부탁드립니다. 들어가기 앞서 이 글을 읽기 전에 이전에 다룬 견고하게 트랜잭션 스케줄(Transaction Schedules) 개념 잡기 를 먼저 읽는 다면 도움이 될 것이다. 일반적으로는 트랜잭션의 병행 수행에 의한 문제를 다루고, 스케줄링을 공부한 이후 병행 제어를 배운다. 하지만 반대로 나는 문제가 생기지 않는 병행 수행을 이해하기 위한 스케줄링에 대한 개념을 먼저 다루었다. 비직렬 스케줄에 따라 여러 트랜잭션을 인터리빙 방식으로 병행 수행한다면 갱신 분실, 모순성, 연쇄 복귀 등의 문제가 일어날..
[백준 #1916] 최소비용 구하기, 자바스크립트 풀이
·
CS/알고리즘
문제 난이도 유형 🥇골드 5티어 데이크스트라, 최단 경로, 우선 순위 큐 문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 0.5 초 128 MB 59634 18383 12030 32.072% N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다. 입력 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 ..
[백준 #7576] 토마토, 자바스크립트 풀이
·
CS/알고리즘
문제 난이도 유형 🥇골드 5티어 BFS, 그래프 탐색 문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 135198 50338 31779 35.199% 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 ..
[백준 #17144] 미세먼지 안녕!, 자바스크립트 풀이
·
CS/알고리즘
문제 난이도 유형 🥇골드 4티어 시뮬레이션, 구현 문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 512 MB 26125 14224 9548 53.674% 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1 ×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있고, (r, c)에 있는 미세먼지의 양은 Ar,c이다. 1초 동안 아래..
이하눌