분류 전체보기
![npm 만드는 법 && 출시](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTEDMe%2FbtrsysXlr3W%2FDVZ32IbpkzlQvWzL0jvRCk%2Fimg.png)
npm 만드는 법 && 출시
간단한 node package를 만들고 출시까지 진행하는 방법을 알아보겠습니다. 진행 순서는 다음과 같습니다. 1. 패키지 만들기 2. 로컬에서 해당 패키지 테스트 3. npm 사이트 회원가입 4. npm cli 이용해서 배포 5. npm으로 다운받고 테스트 해보기 1. 패키지 만들기 1-1 제일 처음에 폴더를 만들고 (이름을 조금 특이하게 지었습니다.) mkdir npm_my_dist_test npm init -y npm init -y 를 하게 되면 package.json 파일이 생성됩니다. 잠시 package.json에 대해 살펴보고 가겠습니다. package.json이란?? npm으로 출시를 진행하려면 package.json은 필수입니다. 다른 이들이 설치와 관리를 쉽게 하기 위해 추가할수 있습니다..
왜 웹팩을 사용해야할까요?
이 포스팅은 아래의 사이트를 번역한 글입니다.(오역과 개인의 생각 또한 포함되어 있습니다.) https://webpack.js.org/concepts/why-webpack/ Why webpack | webpack webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset. webpack.js.org 왜 웹팩일까요? 웹팩의 사용이유에 대해 이해하기 위해서 번들러가 유행하기 전에 자바스크립트를 웹에서 어떻게 사용하였는지 ..
![.npmignore](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8zpOg%2FbtrsC9QtDEY%2FkB5BtXBCHJKtK538kOD2gK%2Fimg.png)
.npmignore
최근 npm을 하나 만들면서 npmignore에 대해 궁금중이 생겼습니다. .npmignore은 package에 포함되지 않을 내용을 지정할 수 있습니다. .npmignore이 존재하지 않을시에는 .gitignore의 내용을 패키지에 포함 시키지 않습니다. 제가 겪었던 상황은 다음과 같습니다. .npmignore에 추가했지만 npm으로 배포를 했을때 npmignore의 내용들이 포함이 되어서 배포가 되었습니다. 제가 내린 결론은 다음과 같습니다. (공식적인 정답은 찾지 못하였습니다) 공식문서에서의 내용 package.json의 files에 포함된 파일들은 .npmignore와 .gitignore로 인해 제외될수 없습니다. 1. package.json에 있는 entry_point들의 내용들과 files의 ..
![algorithm-cli 생성기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFccG7%2FbtrsLv5UT6g%2FpItEGN6HqAwBOprVHCiVRK%2Fimg.gif)
algorithm-cli 생성기
아래의 포스팅은 algorithm cli를 만들어 보면서 고민했던 내용들에 대한 기록과 프로젝트 구조에 대한 내용입니다. npm을 이용해서 node 패키지를 만들었습니다. https://github.com/woobottle/algorithm-cli GitHub - woobottle/algorithm-cli Contribute to woobottle/algorithm-cli development by creating an account on GitHub. github.com https://www.npmjs.com/package/algorithm-cli algorithm-cli algrorithm solve file create program. Latest version: 0.0.3, last publish..
![신나는 함수 실행 [백준 9184] - python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr3uLD%2FbtrsaRWy4uV%2FTL5Cn28WnbxEmikfZWz96k%2Fimg.png)
신나는 함수 실행 [백준 9184] - python
import sys input = sys.stdin.readline def BOJ9184() : dic = {} def w(a,b,c) : if (a,b,c) in dic : return dic[(a,b,c)] if a 20 : return w(20, 20, 20) if a < b and b < c : dic[(a,b,c)] = w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c) return dic[(a,b,c)] else : dic[(a, b, c)] = w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1) return dic[(a, b, c)] while True : a,b,c = map(int, input(..
![피보나치 함수 [백준 1003] - python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbobINt%2FbtrsaTmugyX%2Fr2uiBoPy1SVzSdg26oPUJ1%2Fimg.png)
피보나치 함수 [백준 1003] - python
import sys input = sys.stdin.readline def BOJ1003() : T = int(input()) dp = [0] * 41 dp[0] = [1, 0] dp[1] = [0, 1] dp[2] = [1, 1] for i in range(3, 41) : temp = [] for a, b in zip(dp[i-1], dp[i-2]) : temp.append(a+b) dp[i] = temp for i in range(T) : print(*dp[int(input())]) BOJ1003() 이 문제에 대해 포스팅을 하는 것은 zip과 array spread에 대해서 서술하고 싶어서 였다. a = [1, 2, 3] b = [100, 200, 300] c = [4, 5, 6] for i, j,..
![치킨 배달 [백준 15686] - python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6M7lu%2Fbtrr3oup7WT%2FdMIcO0FDe0dgiXwaKnXjiK%2Fimg.png)
치킨 배달 [백준 15686] - python
import sys from itertools import combinations def BOJ15686() : N, M = map(int, sys.stdin.readline().split()) graph = [] for _ in range(N) : graph.append(list(map(int, sys.stdin.readline().split()))) chiken_store_list = [] house_list = [] for x in range(N) : for y in range(N) : if graph[x][y] == 1 : house_list.append([x+1, y+1]) elif graph[x][y] == 2 : chiken_store_list.append([x+1, y+1]) chiken_..
![이분 그래프 [백준 1707] - python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdKlmfl%2FbtrsfWWZFS5%2FivKlFVl7jOJFuLiQaxrkMK%2Fimg.png)
이분 그래프 [백준 1707] - python
from collections import deque import sys def BOJ1797() : def bfs(start) : bi[start] = 1 queue = deque() queue.append(start) while queue : curr = queue.popleft() for i in graph[curr] : if bi[i] == 0 : bi[i] = -bi[curr] queue.append(i) else : if bi[i] == bi[curr] : return False return True k = int(sys.stdin.readline()) for _ in range(k) : global graph global flag global bi global queue flag = "YES..
![가운데를 말해요](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoVrNN%2Fbtrsc2DnvSv%2FHle215KgQt8nNE0aSwLZj0%2Fimg.png)
가운데를 말해요
import heapq import sys def BOJ1655(): n = int(sys.stdin.readline()) leftheap = [] rightheap = [] for _ in range(n) : input_num = int(sys.stdin.readline()) if len(leftheap) == len(rightheap) : heapq.heappush(leftheap, (-input_num, input_num)) else : heapq.heappush(rightheap, (input_num, input_num)) if rightheap and leftheap[0][1] > rightheap[0][1] : leftmin = heapq.heappop(leftheap)[1] rightmin ..
![아기 상어 [백준 16236] - python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAQU4K%2Fbtrr2SPjNRO%2F7Ek0RKHZzc0FJqVMxj2HHK%2Fimg.png)
아기 상어 [백준 16236] - python
import heapq def BOJ16236() : n = int(input()) graph = [] q = [] for i in range(n) : line = list(map(int, input().split())) graph.append(line) for j in range(len(line)) : if line[j] == 9 : heapq.heappush(q, (0, i, j)) graph[i][j] = 0 direction = [[0,1], [0,-1], [1,0], [-1,0]] result = 0 body, eat = 2, 0 visited =[[0] * n for _ in range(n)] while q : dist, curr_x, curr_y = heapq.heappop(q) if 0 <..