profile
숲을 보는 코더

파이썬의 GIL

GIL(Global Interpreter Lock) 정의:멀티쓰레드에서 다른 객체에 접근하는 것을 막기 위해 한번에 하나의 바이트코드를 실행하는 것 (In CPython, the global interpreter lock, or GIL, is a mutex that

2023년 5월 7일
·
0개의 댓글
·

이진탐색

1.두 개의 start,end포인터를 초기화시킨다.2.중앙값과 목표값을 비교한다.중앙값이 목표값보다 작다면 start를 중앙값의 오른쪽으로 옮긴다.중앙값이 목표값보다 크다면 end를 중앙값의 왼쪽으로 옮긴다.중앙값이 목표값과 같다면 종료한다.3.start가 end를 넘

2023년 5월 6일
·
0개의 댓글
·

모의고사2

문제1 구현 문제2 정렬(힙) 문제3 구현(동기적 작업순서)

2023년 5월 5일
·
0개의 댓글
·

http통신의 비동기적 구현

async def fetch(session,url): print(f"{os.getpid()} process | {threading.get_ident()} url : {url}") async with session.get(url) as response:

2023년 5월 4일
·
0개의 댓글
·
post-thumbnail

동시성과 병렬성

\*요리라는 일 안에서 다른 종류의 작업들을 switching을 하면서 한 번에 수행한다.요리라는 일 안에서 다른 종류의 작업들을 각각 독립적으로 병렬방식으로 수행한다.파이썬에서는 GIL으로 멀티쓰레드는 병렬적으로 수행할 수 없다.

2023년 5월 3일
·
0개의 댓글
·
post-thumbnail

프로세스와 쓰레드

프로그램은 정적인 상태(파일)를 의미하고 프로그램을 실행시키면 주메모리에 올라가 실행을 하는 프로세스가 된다.\*프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap)을 할당받는다.스레드는 프로세스 내에서 각각 Stack만 따로 할당받고 Cod

2023년 5월 3일
·
0개의 댓글
·

request 세션

공식문서(https://docs.python-requests.org/en/latest/user/advanced/The Session object allows you to persist certain parameters across requests. It als

2023년 5월 3일
·
0개의 댓글
·

코루틴

파이썬의 비동기적 프로그래밍을 위해서는 코루틴을 활용해야한다.코루틴 또는 서브루틴으로 이루어져 일련의 흐름을 생성한다.예시코드서브루틴은 인자로 인해 하나의 진입점과 return으로 인해 하나의 탈출점을 갖지만 코루틴에서는 await구문으로 여러개의 진입점과 탈출점을 가

2023년 5월 2일
·
0개의 댓글
·

모의고사1

시험일정 2023-05-21(일) 11:00 경향분석 모의고사1 문제1 문자열(hash,stack),22분 문제2 * 문제3 * 문제4 모의고사2 모의고사3 모의고사4 모의고사2

2023년 5월 1일
·
0개의 댓글
·

동기와 비동기

작성된 순서 드대로 즉,delivery("A",5),delivery("B",4),delivery("C",3)라는 함수가 순서대로 실행되었기에 동기적으로 실행되었다고 할 수 있다.delivery("A",5),delivery("B",4),delivery("C",3)라는 함

2023년 5월 1일
·
0개의 댓글
·

바운드와 블로킹

단순히 연산작업으로 CPU에 의해 프로그램의 실행 속도가 느려진다.사용자의 입력을 기다리는 부분으로 인해서 프로그램의 실행 속도가 느려진다.사용자가 google이 됐고 입력(goole로부터 모든 데이터를 받아와 저장)이 모두 끝날때까지 기다림으로 인해 실행속도가 느려진

2023년 5월 1일
·
0개의 댓글
·
post-thumbnail

BFS

개념 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법,즉 인접한 노드들부터 차례로 방문하기에 목표지점까지의 최단거리로 탐색하기 적합 관련문제 https://www.acmicpc.net/problem/2178 구현과정 1.탐색 시작 노드를

2023년 4월 19일
·
0개의 댓글
·
post-thumbnail

위상정렬

사이클이 없는 방향 그래프에서 차례로 수행해야 할 순서를 결정해주기 위해 사용하는 알고리즘https://www.acmicpc.net/problem/2252모든 정점의 indegree(노드에서 들어오는 간서의 갯수)를 설정indegree가 0인 정점들을 큐에 추

2023년 4월 18일
·
0개의 댓글
·
post-thumbnail

ImageUs-https

일반적인 http요청은 데이터가 암호화되지 않아 보안상으로 위험하다.일반적인 브라우저들은 https를 권장하여 http요청으로 보낼 경우 위험표시가 뜨게 되어 미관상으로도 안좋은 인식이 생긴다docker환경에서 certbot이라는 컨테이너를 이용하여 무료로 ssl인증서

2023년 3월 9일
·
0개의 댓글
·
post-thumbnail

ImageUs-도메인 라우팅

이미지서버와 백서버 2개를 가동하는데 처음의 url설계때 포트로 나누어지기 때문에 바로 리소스 표현\*ex)http://localhost:5000/ping=>backserverhttp://localhost:5001/ping=>imageserver도메인

2023년 3월 8일
·
0개의 댓글
·
post-thumbnail

ImageUs-docker

프로젝트를 모두 개발한 상태에서 배포를 하려면 먼저 EC2나 개인의 컴퓨터에 가상머신을 까는 방법등 여러가지가 있다.하지만 깃허브에 올라온 파일을 다운받고 코드를 구동시키기 위한 프로그램들이 필요하다.ImageUs에서는 elasticsearch,mysql,nginx,p

2023년 3월 8일
·
0개의 댓글
·
post-thumbnail

ImageUs-로깅

gunicorn을 통해 app을 운영할 때 로깅이 제대로 안 된 상태에서 에러가 난다면 어느 코드에서 에러가 났는지 원인을 알기가 힘들다.gunicorn의 로깅을 보여주는 인자인 --log-level,--capture-output,--error-logfile인자 옵션과

2023년 3월 3일
·
0개의 댓글
·
post-thumbnail

ImageUs-메모리 모니터링

ImageUs서비스와 같이 사진을 다루거나 큰 파일을 다루는 서버들은 메모리 관리가 매우 중요하다.aws의 ec2나 개인의 데스크탑에서 서버를 운영할 때 보통은 우분투를 쓰는데 기존의 top,free,vmstat 등의 명령어를 통해 메모리를 모니터링 할 수 있지만 특정

2023년 3월 3일
·
0개의 댓글
·
post-thumbnail

ImageUs-이미지서버

ImageUs프로젝트의 서비스는 개인의 이미지 클라우드를 제공하는 것이기 때문에 이미지를 저장하는 및 다운하는 서버가 따로 필요한데 AWS의 s3나 네이버의 사진클라우드를 이용 할 수 있지만 자칫 관리를 잘못하면 비용이 들 수 있다.일반적인 백엔드 서버와 이미지 서버를

2023년 3월 2일
·
0개의 댓글
·

ImageUs-소프트딜리트

user라는 테이블에서 데이터를 완전히 삭제한다면 복구할때 다시 삽입해야함(삽입시 인덱싱을 할 수도 있기에 속도저하까지 생길 수 있음)deleted라는 필드를 추가하여 삭제상태를 나타냄\*deleted는 1비트의 이진수로 해놓았는데 1이면 삭제된 상태,0이면 삭제되지

2023년 3월 1일
·
0개의 댓글
·