지금 하고 있는 프로젝트를 express에서 Nest.js로 리팩토링하면서 있었던 일을 정리해보겠습니다. 공식문서를 기반으로 DTO를 재설계하면서 공부한 내용을 정리해봤습니다. (Nest.js는 9.2.0버전입니다) Mapped types란? CRUD와 같은 기능을 만들 때 기본 Entity Type에 변형해서 생성하는 것이 유용한 경우가 많습니다. Nest는 이 작업을 보다 편리하게 하기 위해 타입 변환을 수행하는 여러 유틸리티 기능(이하 4개의 함수)을 제공합니다. - PartialType, PickType, OmitType, IntersectionType PartialType input validation types(이하 DTOs라 칭함)을 만들 때, 우리는 종종 create와 update vari..
전체 글
테라폼이란? 테라폼(Terraform)은 HashiCorp가 개발한 오픈-소스코드형 IaC이다. HCL(.tf)이라는 선언형 구성 언어나 JSON을 사용하여 infrastructure를 정의하고 제공할 수 있습니다. - https://en.wikipedia.org/wiki/Terraform_(software) Setting 1. AWS IAM 계정 생성, 이때 엑세스키 발급을 같이 해주도록 합니다. 권한은 테스트를 위해서 poweruser 권한을 부여했습니다. 2. 테라폼 설치 (macOS 기준) & AWS CLI 설치 brew install terraform brew install awscli 3. terraform -v로 설치 확인해줍니다. 4. (선택) VSCode terraform Extensio..
Snort를 공부하다가 설치부터 오류가 나고... 설치 방법도 옛날버전에 맞춰져있어서, 공부한 것들을 정리하면서 포스팅해봅니다. Snort(스노트)란? Snort는 오픈 소스 NIPS(네트워크 침입 차단 시스템)이자, NIDS(네트워크 침입 탐지 시스템)이다. NIDS는 실시간 트래픽 분석과 IP에서의 패킷 로깅을 수행하는 기능이 있다. 이외에도 프로토콜 분석, 내용 검색, 매칭을 할 수 있다. 크게 3가지 주요 모드가 있는데 스니퍼, 패킷 로거, 네트워크 침입 탐지 모드(NIDS)가 있다. 스니퍼 모드는 네트워크 패킷을 읽고 콘솔에 보여준다. 패킷 로거 모드는 패킷을 디스크에 기록한다. 침입 탐지 모드는 네트워크 트래픽을 모니터하고 사용자에 의해 정의된 규칙에 반하는지 여부를 분석한다. - 출처 : h..
백준 16202번 MST 게임 문제 파이썬 풀이입니다. https://www.acmicpc.net/problem/16202 16202번: MST 게임 첫 턴에 찾을 수 있는 MST는 총 5개의 간선 {(1, 3), (1, 2), (2, 4), (4, 6), (4, 5)}로 이루어져 있고, 비용은 16이다. 두 번째 턴에는 첫 턴에서 구한 MST에서 간선의 비용이 최소인 (2, 4)를 제거한 후 남아있 www.acmicpc.net 문제 이름에서 대놓고 알고리즘을 알려주고 있기 때문에 MST를 푸는 방법인 Kruskal 알고리즘으로 풀 수 있었습니다. Edge의 최대가 10000개여서 O(ElogE)인 알고리즘으로 K번 돌아도 충분한 문제였습니다. 주요코드 line 10 ~ 22 : 유니온파인드 함수 lin..
백준 14217번 그래프 탐색 1 문제 파이썬 풀이입니다. https://www.acmicpc.net/problem/14217 14217번: 그래프 탐색 남규나라의 왕 zych는 도로 정비 계획을 발표하였다. 두 도시를 잇는 도로들을 새로 만들거나, 안전상의 문제로 도로를 없애기도 할 계획이다. 도로 정비 계획은 두 도시와, 만들건지, 없앨건지에 www.acmicpc.net 비슷한 버전의 '그래프 탐색 2'를 풀었다면 아주쉽게 풀 수 있는 문제였습니다. 도로가 사라졌을 때는 원래 최단 거리였던 길이 없어진 경우도 있기 때문에 매번 distance 배열을 초기화 시켜야 한다는 사실만 주의하면 이전 버전 문제와 거의 유사했습니다. 주요코드 line 18 ~ 33 : 1부터 시작해서 각 node까지 BFS를 ..
백준 14218번 그래프 탐색 2 문제 파이썬 풀이입니다. https://www.acmicpc.net/problem/14218 14218번: 그래프 탐색 2 첫째 줄에는 도시의 개수 n,도로의 개수 m이 주어진다. 다음 m개의 줄에는 두 도시가 주어진다.(2≤n≤1,000,1≤m≤100,000) 다음 줄에는 도로 정비 계획에 들어가 있는 도로의 수 q가 주어지고, 다음 q www.acmicpc.net 실버1 치고는 널널한? 문제였습니다. N이 1000이라 최적화없이 대충짜도 어째저째 돌아가는 문제였습니다. INF로 초기화 시킨 distance 배열을 만들어 두고, 테스트가 들어올 때마다 node 1에서 시작해서 BFS를 돌며 최소거리로 갱신시켜 나가는 방식으로 해결할 수 있었습니다. 주요코드 line 1..
백준 5546번 파스타 문제 파이썬 풀이입니다. https://www.acmicpc.net/problem/5546 5546번: 파스타 상근이는 매일 저녁으로 파스타를 만들어 먹는다. 상근이가 만들 수 있는 파스타는 총 세 종류로 토마토 소스, 크림 소스, 바질 소스이다. 상근이는 앞으로 N일 동안 먹을 파스타를 계획하려고 www.acmicpc.net 너무나도 DP스러운 문제기 때문에 점화식을 찾아서 구현해주면 되는 문제입니다. dp 테이블는 dp[N번째 날짜에][직전에안먹은거,직전에먹은거][파스타종류] 가 되고 fix 배열에 고정된 파스타에 대한 정보를 저장합니다. 주요코드설명 더보기 line 13~20 : 1일차에 먹는 경우를 세팅해줍니다. line 22~38 : 2일차부터 N일차까지 토마토 소스, 크..
0. 환경 react-native : 0.70.6 react-native-call-log : 2.1.2 typescript : 4.8.3 macOS M1 1. 문제의 발생 react-native-call-log 라는 통화기록을 가져올 수 있는 react-native 패키지를 사용하다가 아래와 같은 에러를 만났다. https://github.com/wscodelabs/react-native-call-log 종종 보이던 에러라 TS용 패키지 추가로 설치하면 되겠다 싶어서 yarn add @type/react-native-call-log 를 했는데... 음... 암튼 TS용으로 만들어진게 없다는 말인거 같네요... (이거 TS 모듈을 만들어서 npm에 배포해보는 프로젝트도 할 일 큐에 넣어보겠습니다) 2. 구..
중간평가 이후 최종발표까지 있었던 일에 대해서 회고하고 공유해보려합니다. 사실 소마 후기를 언제쯤 작성할까 고민하다가 우수자(인증자) 발표가 나면 써야겠다고 생각하고 있었는데, 마침 오늘 발표가 났고..! 13기 우수자로 선정되어서 속 시원하게 후기를 적어보려합니다. 8월 중간발표 중간발표는 8월말에 있었습니다. 사실 당시에 발표를 준비하면서, 다른팀에 비해서 뒤쳐진다는 생각을 많이 했던 것 같네요. 기획에 고민이 깊었던만큼 열심히 개발속도를 끌어올렸지만 중간발표 때까지는 빠르게 치고 나간 다른 팀들 사이에서 명함도 못 내밀 정도였지 않나... 중간발표에서도 전체적으로 주제에 대한 피드백이 많았던 것 같은데, 차라리 완성도나 비즈니스적인 해석이 문제라면 덜 문제였을텐데, 근본적인 프로젝트 주제에 대한 피..
지난번 필기 후기에 이어서 실기 후기를 남겨본다. https://pypystory.tistory.com/35 [후기] 정보처리산업기사 22년도 제3회 필기 합격 후기 22.07.05. 자격증 시험 후기를 남겨보려한다. 딱 열흘전에 '정보처리산업기사' 필기를 봤다. 군대갈 때(아마 내년...) 정보보호병 뿐만 아니라 SW개발병도 써보려고, 응시를 하게 되었다. 정말 보탬 1도 없이 pypystory.tistory.com 솔직히 이번달에 너무 바빠서 실기 책을 사놓고, 한참동안 방치해뒀다가 시험 이틀전부터 본격적으로 펼쳐봤다. 책을 안 사기에는 올해 기준 커리큘럼이 바뀌었는데, 인터넷에 돌아다니는 자료는 옛날것들 뿐이라 결국 샀다. 필기 때 봤던 책이랑 똑같은 출판사것으로 샀다. 소감부터 말하자면 꽤나 사길..