목록남기면 좋잖아 (55)
남기면 좋잖아
Support for password authentication was removed on August 13, 2021. 에러 https://hyeo-noo.tistory.com/184 블로그에서 에러를 해결해서 기록해둡니다.
docker 혹은 docker compose를 쓰며 컨테이너간 API 통신이나 DB연결 등 서로간의 연결이 필요하다. 나같은 경우 외부 API서버(container1)에서 django서버(container2)로 데이터를 가져와야 했는데 (curl container1:8000) Connection Refused 에러가 나왔다. 1. 외부 서버의 AllowHost 체크하기. 설정 잘되어 있었다.. 2. 도커-컴포즈 컨테이너 간 통신은 도커가 자동으로 생성해준 브릿지 네트워크안에서 컨테이너 이름으로 서로 통신할 수 있다. 이때 실제 서로간의 ping test로 통신을 확인했지만(ping container1), 여전히 curl container1:9000 명령으로는 Connection Refused.... 3...
맥북과 아이폰 사이에 USB 연결시 1초간격으로 연결되었다 해제되었다 반복될때가 있습니다. 애플케어에 연락해봤는데 케이블 문제라고 하셨지만 정품을 사용하고 있었고, 개인적으로 아이폰이나 맥북 사이에 단자에 이상이 있다고 생각했습니다만.. sudo killall -STOP -c usbd 결론부터 말씀드리자면 이 맥북 터미널에 이 명령어 한번이면 연결이 된다고 합니다. 저 같은경우에는 맥북의 블루투스를 끄니까 바로 연결되었습니다. 출처: www.clien.net/service/board/lecture/11804930 맥북과 아이패드 연결 됐다안됐다 반복되는 문제 해결 (저의 경우) : 클리앙 처음에는 잘 연결 되었는데 어느 순간부터 아이폰과 아이패드 둘다 맥북에 연결하면 연결이 됐다 안됐다를 1초단위로 반복..
팀원이 본인 브랜치에서 프로젝트의 README.md 파일을 의도치않게 삭제했습니다. 저는 git pull을 하고 원치않게 README.md 파일이 삭제된채 merge가 되었습니다. 이 경우 README.md 파일을 충돌로 인식하지 않아서 많이 당황스러웠지만 다른 파일에서 충돌이 발생해 merge 전에 충돌을 해결해야 하는 상황이 발생했습니다. 제 서칭능력이 부족한건지 이때 README.md 파일을 복구할 방법을 찾지 못하다가 git status 명령어에서 힌트를 얻어 기록해보려 합니다. 상황 : git status 에서 README.md 파일의 삭제된 정보가 stage에 올라간 상태 # stage 영역에서 빼오기 git reset HEAD # 파일 복구하기 git restore 당장은 이렇게 해결했지만 ..
django channels 라이브러리는 장고의 소켓통신을 위한 대표적인 라이브러리 입니다. 장고의 기본적인 데이터흐름과 굉장히 비슷해 학습하는데 큰 어려움은 없습니다. 하지만 저처럼 웹소켓을 처음 다뤄보는 초보자의 경우 몇몇 부분은 이해하기 힘든 부분이 있었습니다. 그 중 consumer 부분은 가장 핵심적이면서도 이해하기 힘든 부분중 하나인데, 크게 4가지 메소드를 사용합니다. connect() receive() disconnect() group_send()와 type 메소드 이 4가지 메소드에 통해 자바스크립트와 장고 사이의 소켓통신 데이터 흐름을 다뤄보려 합니다. connect() connect() 메소드는 자바스크립트에서 웹소켓 생성시 django에서 처음으로 응답받는 메소드입니다. const ..
동적 프로그래밍 개념 하나의문제는 단 한 번만 풀도록 하는 알고리즘 즉, 한 번 푼 것을 여러 번 다시 푸는 비효율적인 알고리즘을 개선시키는 방법이기도 함 분할 정복 기법은 동일한 문제를 다시 푼다는 단점이 있다.(정렬 제외) 단순 분할 정복으로 풀게 되면 심각한 비효율성을 낳는 대표적인 예시로 피보나치 수열 DP는 다음의 가정 하에 사용할 수 있다. 큰 문제를 작은 문제로 나눌 수 있다. 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일하다. EX) 메모이제이션 기법 문제 정수 삼각형 출처: 프로그래머스 문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼..
1. 너비 우선 탐색 (BFS) 개념 너비를 우선으로 하여 탐색을 수행하는 탐색 알고리즘 큐 자료구조를 사용 큐에서 하나의 노드를 꺼낸다. 해당 노드에 연결된 노드 중 방문하지 않은 노드를 방문하고, 차례대로 큐에 삽입한다. 루트 노드부터 가까운 노드들 탐색이 이루어짐 BFS는 그 자체로는 큰 의미가 없고 다른 알고리즘에 적용한다는 것이 핵심 2. 깊이 우선 탐색 (DFS) 개념 깊이를 우선으로 하여 탐색을 수행하는 탐색 알고리즘 스택 자료구조를 사용 스택의 최상단 노드를 확인 최상단 노드에게 방문하지 않은 인접 노드가 있다면 그 노드를 스택에 넣고 방문처리. 방문하지 않은 노드가 없다면 스택에서 최상단 노드를 뺀다. 재귀 함수 자체가 스택의 원리이기 때문에 짧은 코드로 구현할 수 있음 DFS 또한 그 ..
1. 선택정렬 개념 가장 작은 것을 선택하여 맨 앞으로 보낸다. 구현하기 쉽다. 무조건 큰 경우대로, 무조건 작은 경우대로, 무조건 긴 경우대로, 무조건 짧은 경우대로 등 극단적으로 문제에 접근한다는 점에서 정렬 기법이 함께 사용되는 경우가 많음. 대표적으로 크루스칼 알고리즘으로 모든 간선을 정렬한 이후에 짧은 간선부터 연결하는 최소 비용 신장 트리 알고리즘이 있음. 최적의 해를 보장하지 못하는 경우 다이나믹 프로그래밍 등의 기타 알고리즘 기법을 적용해야 하기도 함. 시간복잡도 선택 정렬은 대략 N * (N+1) /2 번 가량의 연산을 수행하므로 시간 복잡도는 O(N^2) 2. 버블 정렬 개념 바로 가까이에 있는 두 숫자끼리 비교를 해서 당장 더 작은 숫자를 앞으로 보내주는 것을 반복 구현은 쉽지만 가장..