분류 전체보기

· Git
git 명령어는 자주 사용했지만, 실제 동작 원리에 대한 이해는 부족했던 것 같다. 특히 깃 충돌을 겪을 때, 부족한 개념지식으로 해결이 꼬이는 경우가 간혹가다 있었는데 오늘도 작은 규모의 커밋에서 그런 경험을 했다. 우선 깃 내부 동작 과정에 대해서 학습해보려 한다. Git 내부 구조 살펴보기내부 구조는 어떻게 확인할 수 있을까? 바로 .git이라는 폴더를 통해 내용을 살펴볼 수 있다.특정 경로에 깃을 사용하면 .git이라는 폴더가 생성된다. 맥북의 경우 (command+shift+”.”) 을 누르면 숨겨진 . 파일을 표시할 수 있다. clone을 뜬 폴더에서 (command+shift+”.”)를 수행한 결과이다. 숨겨진 .git 디렉토리가 나타난다.  내부로 들어가 구성 요소들을 살펴보면, 위와 같다..
엘라스틱 서치의 기본 개념과 특징을 살펴보려한다. 그전에 루씬에 대해 간략히 살펴보자.  루씬검색 엔진에는 루씬이라는 시초가 있었다. 루씬이란, 자바로 만들어진 고성능 정보 검색 라이브러리이다.   엘라스틱 서치에서 왜 루씬을 언급하느냐하면, 엘라스틱 서치가 루씬을 기반으로 하기 때문이다. 엘라스틱 서치는 내부적으로 루씬을 통해 검색 기능을 수행한다.   다만, 루씬의 동작 과정이 추상화되어 있어 엘라스틱 서치를 사용하는 사용자 입장에서는 잘 드러나지 않는다. 하지만 루씬의 동작 원리를 이해하면 엘라스틱 서치의 이해에 더 큰 도움이 될 수 있다.  루씬에 대해서 간단히 살펴보겠다.  루씬 검색 어플리케이션 구조  위 그림처럼, 루씬의 검색 어플리케이션 구조는 검색 대상을 분석하는 과정과 검색 과정으로 나..
· JavaScript
https://level.goorm.io/exam/194982/%EC%9E%A5%EB%A7%88/quiz/1 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io  위 문제를 풀려고하는데, 입력 인터페이스가 너무 생소했다.// Run by Node.jsconst readline = require('readline');(async () => { let rl = readline.createInterface({ input: process.stdin }); for await (const line of rl) { console.log('Hello Goorm! Your input is', line); rl.close(); } process.exit();..
문제https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이전형적인 BFS 문제이지만, 자바스크립트로 풀려니 구현 방식에서 고민이 많이 되었다. 우선 처음 작성한 코드를 살펴보며 자바와 다르게 고민했던 부분들을 정리해보겠다.function solution(maps) { var answer = -1; const N = maps.length; const M = maps[0].length; const dr = [-1,1,0,0]; c..
· Java/BOJ
문제https://www.acmicpc.net/problem/14658  풀이N과 M의 범위가 500,000이고, 시간 제한은 2초기 때문에 주의해야한다. 별똥별 수인 K는 100개이기 때문에, K를 이용해 문제를 해결하면 시간 초과를 피할 수 있다. K를 이중 for문에서 순회하면서, 별똥별의 위치로 x, y 조합을 만든다.그림에서 노란 점이 별똥별이라면 만들 수 있는 조합은 회색 점과 같다. 즉 탐색을 시작할 후보군 정도로 생각할 수 있다. 회색 점에서 화살표 방향인 우 하단 방향으로 L만큼 측정하며, 범위에 해당하는 star를 카운트하고 가장 최대 값을 구하면 된다.   여기서, 후보군이 아니라 별똥별의 위치에서 탐색하면 되는 것 아닌가하는 의문이 들 수 있다.하지만, 만약 이렇게 다이아몬드 형태라..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이우선 순위 큐를 구현해야하는 문제이다. 자바에서는 라이브러리를 불러오면 쉽게 해결되지만, 자바스크립트에서는 직접 구현을 해야한다. 우선 순위 큐를 어떻게 구현할 수 있을까? 우선 순위 큐는 힙 자료 구조를 알면 쉽게 접근해볼 수 있다. 힙은 완전 이진 트리의 일종이다. 특징은 부모 노도의 키 값이 자식 노드의 키 값보다 항상 큰 이진 트리이다. 여기서 힙의 종류는 두 가지가 있다.어려운 것은 아..
동구름이
'분류 전체보기' 카테고리의 글 목록 (3 Page)