목록분류 전체보기 (18)
농's 개발 공부 이야기
고집있는 개발자가 되어보기로 했다. 그렇지만 근거를 곁들인. 개발해오면서 좋다고 하는 방법론이나 기법들에 혹해 이리저리 흔들린 경험이 많다.그러다보면 덕지덕지 근본 없는 코드가 되는 경우가 종종 있게 된 것 같다. 그래서, 이제는 근거를 가진 고집 있는 개발자가 되어보기로 마음 먹었다.근거 없이 고집을 부리는 건 바보니까,, 근거를 마련하기로 했다.그리고 그저 그 고집의 근거를 기록하기 위해서 다시 티스토리를 열어본다.그렇지만 부담 가지지 않기 위해 예쁘게 꾸미고 이런 거 보단 팩트를 주루룩 적어보기로 한다.시작해보자!
Amazon API Gateway 규모에 상관없이 REST, HTTP, WebSocket API 를 만들고, 유지하고, 모니터링하고, 보호하는 AWS 서비스이다. 웹 어플리케이션을 만들 때 컨트롤러나 라우팅 부분에서 URL과 method를 정의하고 각 파라미터 등을 정의한 후 어디에 연결할지 지정할 수 있다. Amazon API Gateway의 HTTP API vs REST API - HTTP API: REST API보다 저렴하게(요청 100만건당 $1) 고성능 RESTful API를 구축할 수 있다. AWS Lambda 또는 HTTP 백엔드로 프록시를 통해 전송하는 API를 구축하는 방법에 최적화되어 있어 서버리스 워크로드에 적합하다. 다만, API Gateway의 핵심 기능을 위주로 서비스를 제공하기..
그래프 순회/탐색 그래프의 각 정점을 방문하는 과정을 의미한다. 보통 DFS(깊이 우선 탐색), BFS(너비 우선 탐색) 두 가지로 분류하는데 DFS가 BFS보다 더 널리 쓰인다. DFS는 보통 스택 혹은 재귀로 구현하며 백트래킹에서 사용하기 좋고, BFS는 보통 큐로 구현하며 그래프 최단 경로를 구하는 문제에 용이하게 쓰인다. 그래프의 표현은 인접 행렬과 인접 리스트 두 가지 방법이 있다. 인접 리스트는 출발 노드를 키로, 도착 노드를 값으로 한 딕셔너리 형태로 표현할 수 있다. 이 때 도착 노드는 여러 개가 될 수 있으니까 리스트로 나타낸다. 인접 행렬은 이차원 배열로 나타내는데 출발 노드 행과 도착 노드 열에 간선이 존재하면 1, 없으면 0의 값을 넣게 된다. 인접 행렬은 노드의 개수가 간선의 개수..
1) 정규 표현식 2) 람다 표현식 딕셔너리 모듈 1) defaultdict : 존재하지 않는 키를 조회할 때, 에러 메시지를 출력하는 것이 아닌 디폴트 값을 기준으로 해당 키에 대한 아이템을 생성한다. 사용시 collections import가 필요하다. import collections ex = collections.defaultdict(int) ex['apple'] = 1 ex['banana'] = 2 ex #defalultdict(, {'apple': 1', 'banana': 2}) #기존에 없는 strawberry의 값 증가시켜보기 ex['strawberry'] += 1 ex #defalultdict(, {'apple': 1', 'banana': 2, 'strawberry': 1}) 2) ord..
시작한 새로운 페이지의 백엔드부터 시작하기로 했다. 새로운 resource를 만들기 위해 다음 명령어를 사용했다. 백엔드에서 일단 필요한 API는 create, find 두 가지라고 생각해서 delete 와 update는 추후에 생각하고 create, find 먼저 만들어 두었다. [nest g resource filename] 두 테이블을 각각의 owner, user entity로 만들고, 이에 해당하는 각 repository를 만들어서 사용하고 있다. 검색 api를 만들 때 dto는 보통 findDto, listDto 형식으로 주로 사용하는데 listDto는 data, total, success 로 이루어져 있다. 이 때, data는 owner entity가 아닌 ownerDto를 따로 만들어서 ow..
긴 연휴가 끝났다!! 아쉽지만ㅠㅠ 이제 또 열심히 일기도 적고 일도 해야지..! 연휴 전에 마지막으로 작업하고 있던 부분을 이어서 했다. 저번 주에 useEffect가 생각하는 대로 동작하지 않아서 고민하다가 끝냈었다. Protable을 렌더링하고 나서 옵션을 선택해서 modal을 띄우면 이상하게 한 column의 값들이 계속 사라지는 문제가 있었다. 그 때 분석하기로는 로딩과 렌더링의 시차라고 생각했었는데 이를 어떻게 풀어야 할지 고민하고 있었다. 그러면서 useEffect의 정확한 동작 원리를 찾아봤다. useEffect는 렌더링 이후에 동작하기 때문에 내 문제가 발생했던 것이었다. 그래서 렌더링 전에 함수를 실행할 수 있는 방법이 없을까 찾아보다가 lifecycle에 대해서도 드디어 공부하게 되었다..

어제 현재 로그인한 사용자의 정보를 아무리 찾아도 props로 전달받지 못하는 문제에 대해 혼자서는 해결할 수 없을 거 같아서 도움을 요청했다. 그래서 코드를 함께 봐 주셨다. 상위 컴포넌트에서 코드를 봐도 잘 모르겠어서 React developer Tools를 사용해 보았다. 예전에 깔아둔 적은 있지만 한 번도 제대로 사용은 못해서 비활성화를 해 뒀었는데 이번에 활성화를 했다. 활성화를 해서 Components를 들어가니까 이렇게 관계를 확인할 수 있었다. 이렇게 보다 보니 동작하는 다른 페이지에서는 있던 Connect 부분이 있다는 것을 알게 되고 코드를 다시 확인해 보니 지금 작업하는 페이지에서는 tablelist를 export 해 주면서 connect 하는 부분이 없다는 것을 확인할 수 있었다. ..