분류 전체보기
-
[AWS] Lambda 적용기AWS 2022. 11. 6. 22:04
회사에서 개발중인 백오피스에 일정한 간격으로 DB의 특정 데이터를 업데이트 해야 되는 요구사항이 생겼다. 이 요구사항을 AWS의 람다를 활용하여 충족시키기로 결정 되었고, 이 업무는 내가 맡게 되었다. AWS의 람다는 처음 써보는 것이기도 했고, 다음 번의 람다를 사용하게 될 때 똑같은 삽질은 반복하지 않기 위해 기록한다! 람다는 서버리스 함수이다. 찾아보면 정말 자세하고 디테일하게 설명된 곳이 많지만 내가 사용하는 현 수준에서 쉽게 정의하자면 서버가 없이 실행되는 함수이다. 말 그대로 서버가 없이 동작하는 함수다.(사실 엄밀히 말하면 서버가 없는 것은 아니고 함수가 돌아가는 서버는 AWS에서 관리하고, 사용하는 개발자 입장에서는 서버가 없으니 이해하기 쉽게 서버리스라 말함) 1. 서버리스 프로젝트 생성..
-
[CI/CD] Vue.js GitHub Actions 적용기 #3 (sandbox, qa)CICD 2022. 8. 16. 14:55
https://honggom.tistory.com/199 [CI/CD] GitHub Actions 적용기 #1 (Front-prod) 회사에서 기존에 모든 프로젝트를 GitLab을 통해 관리하고 있었는데 여러 이유로 GitHub으로 이전하기로 결정했다. 그래서 GitLab에 구축 해놓은 CI/CD를 GitHub에 맞게 다시 구축해야 됐고 그 일을 나도 honggom.tistory.com https://honggom.tistory.com/202 [CI/CD] GitHub Actions 적용기 #2 (test) https://honggom.tistory.com/199 [CI/CD] GitHub Actions 적용기 #1 (Front-prod) 회사에서 기존에 모든 프로젝트를 GitLab을 통해 관리하고 있었..
-
[CI/CD] Vue.js GitHub Actions 적용기 #2 (test)CICD 2022. 8. 16. 14:00
https://honggom.tistory.com/199 [CI/CD] GitHub Actions 적용기 #1 (Front-prod) 회사에서 기존에 모든 프로젝트를 GitLab을 통해 관리하고 있었는데 여러 이유로 GitHub으로 이전하기로 결정했다. 그래서 GitLab에 구축 해놓은 CI/CD를 GitHub에 맞게 다시 구축해야 됐고 그 일을 나도 honggom.tistory.com 이전 글에서는 prod의 워크플로우를 다뤘고, 이번 글에서는 test 워크플로우를 다룬다. test의 워크플로우는 prod의 워크플로우에 비해 간단하다. test는 tag가 push됐을 때를 제외하고는 매번 동작하는데, 따로 build된 소스를 업로드 하거나 push, commit 등의 과정이 없기 때문에 그냥 lint,..
-
[CI/CD] Vue.js GitHub Actions 적용기 #1 (prod)CICD 2022. 8. 6. 15:52
회사에서 기존에 모든 프로젝트를 GitLab을 통해 관리하고 있었는데 여러 이유로 GitHub으로 이전하기로 결정했다. 그래서 GitLab에 구축 해놓은 CI/CD를 GitHub에 맞게 다시 구축해야 됐고 그 일을 나도 맡게 되었다. GitLab CI/CD 작업을 내가 직접 해보진 않아서 정확히는 모르지만 GitHub Actions를 사용하면서 내가 느낀 점은 GitLab은 상대적으로 내가 직접 스크립트로 로직을 만들어줘야 하는 것들이 많은 반면에 GitHub Actions는 대부분의 기능을 플러그인으로 제공하기 때문에 사용하는 개발자 입장에서는 그냥 갖다가 쓰면 되기 때문에 매우 편했다. 워크플로우는 총 3개다. prod를 deploy하는 워크플로우 sandbox, qa를 deploy하는 워크플로우 ..
-
[Vue.js] useVModel 사용하며 겪은 이슈Vue.js 2022. 6. 18. 16:27
useVModel vueuse 라이브러리에서 제공하는 함수다. 양방향 데이터 바인딩을 간략하게 구현할 수 있게 해준다. 사용법 import { useVModel } from '@vueuse/core' export default { setup(props, { emit }) { const data = useVModel(props, 'data', emit) console.log(data.value) // props.data data.value = 'foo' // emit('update:data', 'foo') }, } 겪었던 문제 ParentComponent.vue ChildComponent.vue 대충 위와 같이 구현돼 있었는데 ChildComponent에서 vModel값을 바꿔도 ParentComponen..
-
[백준] 2011번 문제 (암호코드) 파이썬(Python) 풀이Problem Solving 2021. 8. 20. 13:21
s = list(input().strip())length = len(s)dp = [0 for i in range(length + 1)]dp[0], dp[1] = 1, 1if s[0] == "0": print(0)else: for i in range(2, length + 1): if int(s[i - 1]) > 0: dp[i] += dp[i - 1] num = int(s[i - 1]) + int(s[i - 2]) * 10 if 10 한 20분 정도 규칙을 찾으려고 노력했으나, 솔루션이 떠오르지 않아 다른 사람의 풀이를 보았다.풀이를 보니 생각보다 복잡하지는 않았다. 입력으로 주어진 숫자들을 하나부터 끝까지 훑어보며 dp에 경우의 수를 추가..
-
[백준] 1463번 문제 (1로 만들기) 파이썬(Python) 풀이Problem Solving 2021. 8. 19. 15:56
n = int(input())dp = [0] * (n + 1)for i in range(2, n + 1): dp[i] = dp[i - 1] + 1 if i % 3 == 0: dp[i] = min(dp[i], dp[i // 3] + 1) if i % 2 == 0: dp[i] = min(dp[i], dp[i // 2] + 1)print(dp[n])처음에는 dp의 개념이 없었기 때문에 풀지 못 한 문제였다.대부분의 사람이 그리디 문제인 줄 알고 그리디식으로 접근하다가 틀리는 것 같았다. 핵심은 dp에 항상 해당 숫자를 최소한의 연산으로 1로 만든다 가정했을 때,그 연산이 걸린 횟수를 저장하는 것이다. 숫자 2가 1이 되는데 필요한 최소 연산은 1번이다. 2로 나누거나 ..
-
[자료구조/Data Structure] 파이썬으로 이진 탐색 트리(Binary Search Tree) 자료구조 알아보기Data Structure 2021. 6. 25. 11:24
트리 구조란?노드와 브랜치를 이용해서 사이클을 이루지 않도록 구성한 데이터 구조,그 모습이 마치 나무 같아서 트리(Tree)라고 부른다. 트리의 용어Node : 트리에서 데이터를 저장하는 기본 요소 (데이터와 다른 연결된 Node에 대한 Branch 정보 포함)Root Node : 트리 맨 위에 있는 노드Level : root node를 level 0으로 하였을 때, 하위 branch로 연결되 노드의 깊이를 나타냄Parent Node : 어떤 node의 이전 레벨에 연결된 nodeChild Node : 어떤 node의 다음 레벨에 연결된 nodeLeaf Node : child node가 하나도 없는 nodeSibling : 동일한 Parent Node를 가진 nodeDepth : 트리에서 node가 가질..
-
[백준] 1929번 문제 (에라토스테네스의 체, 소수 구하기) 파이썬(Python) 풀이Problem Solving 2021. 5. 24. 11:14
def is_prime(num): if num == 1: return False else: for i in range(2, int(num ** 0.5)+1): if num % i == 0: return False return Truem, n = map(int, input().split())for i in range(m, n+1): if is_prime(i): print(i)내가 작성한 코드 우선 처음 접근은 주어진 숫자 n에 대하여 2부터 n-1까지 나눠보면서 나눠지면 소수가 아니게 되므로 그 외의 수를 구하는 방식으로 접근했다. 하면서 예상은 했지만 이런 식으로 접근하게 되면 n이 1,000..