본문 바로가기

전체 글

(403)
프로세스 메모리 구조 (Stack, Heap, Text 세션) , Node.js에서 가상 메모리 관리, 가비지 콜랙션(GC) 동작 방식 프로세스 메모리 구조와 각 세션의 역할 Java의 메모리 관리 구조 Spring의 메모리 관리 구조 Node.js에서 가상 메모리 관리, 가비지 콜랙션(GC) 동작 방식 리눅스 운영체제를 기준으로 가상 메모리 관리 방식 힙 메모리의 메모리 단편화를 방지할 수 있는 방법 Process 노드 모듈이란?
Parser와 웹 브라우저의 HTML분석 방식 및 정규표현식에 대하여 https://ko.wikipedia.org/wiki/%EA%B5%AC%EB%AC%B8_%EB%B6%84%EC%84%9D 구문 분석 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전.ko.wikipedia.org 컴퓨터 과학에서 파싱((syntactic) parsing)은 일련의 문자열을 의미있는 토큰(token)으로 분해하고 이들로 이루어진 파스 트리(parse tree)를 만드는 과정을 말한다.   tokenizer, lexer, parser 역할과 책임1. 토크나이저 (Tokenizer)역할:입력 텍스트를 의미 있는 단위인 토큰(token)으로 분할합니다.책임:텍스트 스트림을 공백, 구두점, 특수 기호 등을 기준으로 나누어 개별 토큰을 생성합니다.언어에 따라 다를 수 있는 토큰화 규..
Java - Stream 으로 코드 최적화 List walkList = activityRepository.findByUsername(username); List res = new ArrayList(); for(Walk w : walkList){ res.add(new GetWalkDto(w.getDistance(), w.getAvg_heart_rate())); } return res; Walk 리스트를 가져와서 Dto에 맞게 리턴해주는 함수이다. 그러나 이것은 너무 길고 비효율적이다. stream 을 사용해 최적화할 수 있다. List walkList = activityRepository.findByUsername(username); return walkList.stream(..
쉘 스크립트 자동화와 리눅스 환경설정 1. 로컬 컴퓨터와 리모트 컴퓨터- 로컬 컴퓨터는 본인의 물리적 컴퓨터를 의미한다. 리모트 컴퓨터는 가상 컴퓨터나 클라우드 컴퓨터 등 원격으로 접속하여 지금 접속한 물리 컴퓨터의 리소스가 아닌 리소스를 사용할 수 있다. 로컬 컴퓨터에서 작업하여 리모트 컴퓨터에서 배포하는 일은 매우 흔한 일이다. 이 개념은 깃을 관리하며 많이 겪었던 원격저장소와 로컬저장소의 개념과 유사하다. 그리고 이 원격 컴퓨터(자원)에 접속할 때 가장 많이 쓰이는 프로토콜이 바로 SSH이다.SSH보안: SSH는 데이터 전송 과정에서 암호화를 사용하여 데이터의 기밀성을 보호합니다. 이는 네트워크를 통해 전송되는 정보가 노출되지 않도록 합니다.원격 접속: SSH를 사용하여 원격 서버나 컴퓨터에 접속할 수 있습니다. 사용자는 SSH 클라이..
커밋의 단위, 규칙 커밋의 단위는 그 지점에서 반드시 버그가 없고 작업을 시작할 수 있는 지점으로 잡는다. 만약 로그인을 만든다고할 때 로그인 config를 만들었다면 커밋한다. fix: 고침feat: 기능 구현
Git의 작동원리와 기본 사용법, rebase 와 merge, fork의 사용이유 Git 이란?- 어렵게 생각할 필요 없이 많은 개발자들이 특정한 코드들을 함께 관리하고, 버전관리를 쉽게 할 수 있도록 만든 프로그램이다.  Git 용어 정리add : 작업 디렉토리에서 변경된 파일들을 스테이징 영역에 추가. 커밋의 전 단계라고 보면 된다.commit : 스테이징 영역에 있는 변경 사항을 실제 로컬 저장소에 기록한다.branch : 독립적으로 작업 가능한 브랜치를 생성한다. 예를들어 만약 A기능을 실험하고 싶다면 실험A 브랜치를 만들어 실험할 수 있다.checkout (또는 switch) : A 브랜치에서 B로 이동하여 작업하고 싶을 때 사용한다.push : 위에서 커밋한 내용을 실제 원격 저장소에 내보내기 위해 사용한다.pull : 원격 저장소의 변경 사항을 로컬 저장소로 가져온다. p..
엘리스 - 트리 위의 게임(C++) 코딩 첼린지? 문제여서 제공이 되는 지 모르겠다. 문제는 다음과 같다. 트리 위의 게임시간 제한: 1 초정점 N개의 트리에서 두 사람이 게임을 진행하려 한다.각 정점은 1번부터 N번 까지 번호가 매겨져 있고 루트노드는 1번 노드이다.게임은 서로 턴을 번갈아 가며 진행되고 트리 위에 놓을 수 있는 말과 함께 진행된다.두 사람의 점수는 모두 0점으로 시작한다.각 턴마다 두 사람은 다음과 같은 작업을 반복한다.현재 말이 놓여 있는 정점의 번호만큼 자신의 점수에 더한다.현재 말이 놓여 있는 정점의 자식 정점이 없다면 그대로 게임을 종료한다.자식 정점이 존재한다면 자식 정점 중 원하는 자식 정점으로 말을 옮긴다.게임이 종료되었을 때 선공의 점수가 후공의 점수보다 높거나 같다면 선공이 승리하고 아니라면 후공이 승리..
백준 7662번 - 이중 우선순위 큐 (C++) https://www.acmicpc.net/problem/7662 이름 처럼 우선순위큐를 반드시 두개 사용해야 풀 수 있다. 1 2 3 4 가 값으로 들어온다면, 하나의 큐는 1 2 3 4 순으로다른 하나의 큐는 4 3 2 1 순으로 우선순위가 구성되어야 한다. 즉, 최대힙과 최소힙이 필요하다. 아이디어 1.언제나 최대힙의 top > 최소힙의 top 이면 되지 않을까 즉, 만약 최대힙에서 pop을 3번, 최소힙에서 pop을 1번 하게 되면 최대힙의 top은 1이고 최소, 힙의 top은 2이다. 위의 원칙을 어겼다. 이 뜻은 이미 최소힙의 top은 최대힙에서 pop되었다는 의미이기 때문이다. 하지만 이 방법은 20퍼센트에서 틀렸습니다를 받았다. 만약 모든 수가 다르다는 조건이 있었다면 맞았을 지 모르겠으나..