깃허브 Organization 레포지토리 Vercel 자동 배포하기 with Github Action
·
Project
배경GitHub Organization 레포지토리를 Vercel로 배포할 때, 아래 조건을 충족해야 합니다:1. 레포지토리가 Public일 것2. Vercel Pro 계정을 사용할 것 (유료) 저는 무료로 사용하고 싶었기 때문에, Organization 레포지토리를 제 개인 계정 레포지토리로 fork하여 배포하는 방법을 선택했습니다.하지만 Organization에서 작업한 후 main 브랜치로 병합할 때마다, fork된 레포지토리와 동기화해야 한다는 단점이 있습니다. 즉, 수동으로 sync 작업을 수행해야 하므로 정말 번거롭습니다.. 이 문제를 해결하기 위해 GitHub Actions를 활용하여 CI/CD를 구축하여 -> 레포지토리 동기화와 Vercel 배포를 자동화하고 수동 작업의 번거로움을 없앴습니다..
Next.js와 Styled-Components 사용 시 Unknown Prop Warning 해결하기
·
Next.js
1. 문제 상황Next.js 프로젝트에서 styled-components를 사용해 스타일링을 적용하던 중, 다음과 같은 경고 메시지가 콘솔에 출력되었습니다.styled-components: it looks like an unknown prop "bold" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `` (connect an API like `@emotion/is-prop-valid`) or consider using transient pro..
[모던 자바스크립트 Deep Dive] 공부중
·
HTML+CSS+JS
자바스크립트의 기본기를 제대로 잡아보고자 '모던 자바스크립트 Deep Dive'라는 책을 읽어보려고 한다.  예전에 Next.js로 만들어놓은 블로그에 작성하려고 했지만, 해당 블로그는 나중에 대대적인 리팩토링이 필요할 예정이라 어디에 글을 써야 할지 고민이 많았다. 일단 다음의 조건이 필요한데,1. 이후에 Next.js로 만든 블로그와 연동할 수 있어야 함 (GitHub의 README 파일로 정리해야 함)2. GitHub에서 보는 것은 다소 불편하니, 블로그처럼 사이트에서 쉽게 볼 수 있었으면 좋겠음 따라서 GitHub에 새로운 레포지토리를 생성하고 GitBook과 연동하기로 결정했다..  그리고 단순히 책의 내용이나 개념을 공유하는 것은 어디서나 쉽게 찾아볼 수 있는 정보이기 때문에 의미가 없다고 느..
[DFS] 1967. 트리의 지름 (Python)
·
Computer Science/자료구조와 알고리즘
문제 https://www.acmicpc.net/problem/1967 풀이 한 노드 기준에서 각 정점까지 거리를 구하기 가장 먼 길이에 해당하는 노드 찾기 2번의 노드를 기준으로 거리 구하는 과정을 한번 더 반복하면 됨 import sys input = sys.stdin.readline sys.setrecursionlimit(10**5) def dfs(idx,v): for n_idx, n_val in tree[idx]: if visited[n_idx] == -1: visited[n_idx] = v+n_val dfs(n_idx,v+n_val) n = int(input()) tree = {} for i in range(1,n+1): tree[i] = [] for _ in range(n-1): a,b,c =..
[Python] 가장 긴 증가하는 부분 수열(LIS) 구하는 방법
·
Computer Science/자료구조와 알고리즘
가장 긴 증가하는 부분 수열의 '길이'을 구하는 방법은 1. DP(Dynamic Programming) - 동적 계획법 2. Binary Search - 이분 탐색 으로,, 이전 게시글 참고하기 : https://bskwak.tistory.com/259 이번 게시물은 '길이'가 아닌 가장 긴 증가하는 부분 수열(LIS) 자체를 구하는 방법이다. 풀이 방법을 간단하게 설명하면, 1. dp를 통해 LIS 길이 구하기 2. 역추적하여 배열 구하고 뒤집으면 구할 수 있음 관련 문제 : https://www.acmicpc.net/problem/14002 import sys input = sys.stdin.readline n = int(input()) arr = list(map(int, input().split()..
[Python]가장 긴 증가하는 부분 수열(LIS) 길이 구하는 방법 2가지
·
Computer Science/자료구조와 알고리즘
가장 긴 증가하는 부분 수열(LIS) 풀이 방법 부분 수열 : 임의의 수열이 주어질 때, 몇 개의 수를 제거하여 만든 수열 부분 수열 중 가장 긴 증가하는 부분 수열을 구하는 방법은 2가지가 있다. 1. DP(Dynamic Programming) - 동적 계획법 2. Binary Search - 이분 탐색 1. 동적 계획법을 사용한 풀이 (백준 11053) 문제 : https://www.acmicpc.net/problem/11053 import sys input = sys.stdin.readline n = int(input()) arr = list(map(int, input().split())) dp = [1 for i in range(n)] for i in range(n): for j in range(..
[코테 대비] javascript 기본 문법
·
Computer Science/자료구조와 알고리즘
문자열 → 숫자 : parseInt(문자열변수, 10) var str_n = "12"; var int_n = parseInt(str_n, 10); 숫자 → 문자열 : 숫자변수.toString() var n = 10 var str_n = n.toString(); 문자열 길이 : 문자열변수.length console.log(str_n.length) 문자열 → 배열 : [...문자열변수] my_string = '12345; console.log([...my_string]); 배열 뒤집기 : 배열.reverse() num_list=[1,2,3]; num_list.reverse(); 배열 자르기 : 배열.slice(시작,끝) const arr = ['a', 'b', 'c', 'd']; const arr1 = ar..
[누적합] 10986. 나머지의 합 (Python)
·
Computer Science/자료구조와 알고리즘
시도 1 deque로 풀 수 있을 것이라 생각했다.. [value, idx ] (value: 현재까지 값, idx : 현재 위치) 를 deque에 추가 하나씩 꺼내어 idx+1 번째의 값을 value에 더하고 m으로 나눈 나머지가 0인지 아닌지 체크 당연하게 시간초과.. 시도 2 (정답) list = [1,4], m으로 나눈 나머지 r 이라고 할 때, 다음과 같이 식을 작성할 수 있다 tmp1 = list[0] * m + r tmp2 = list[1] * m + r r의 값이 동일하다면, tmp2 - tmp 1 = m * (list[1] - list[0]) 이말은 즉,, 나머지가 같으면? m으로 나누어 떨어진다는 의미와 같다. 만약, list가 누적합 리스트라면, list[1] - list[0] 은 구간..