본문 바로가기

전체보기21

프로그램, 프로세스, 스레드 최근과 같은 비동기의 시대에 프로세스, 스레드, 프로그램이 동작 방식에 대한 부분은 기술면접에서 자주 등장한다. 이번 글에서는 프로그램, 프로세스, 스레드에 대한 개념적인 부분을 알아보려고 한다. 프로그램, 프로세스, 스레드의 사전적 의미 프로세스의 사전적 개념을 먼저 알아보자 프로그램은 컴퓨터에서 실행될 때 특정 작업(specific task)을 수행하는 일련의 명령어들의 모음(집합)이다 프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다 음... 어렵다. 단순한 사전적의미로 이해하기.. 2024. 3. 30.
[AWS] Bastion서버 구축기 (2) - EC2, Public Subnet, Private Subnet, Bastion 터널링 [AWS] Bastion서버 구축기 (1) - VPC, Region, AZ, CIDR 설정 까지 최근 갑작스럽게 BE ~ AWS 환경 구축까지 담당을 하게되었다. 당시 상태는 AWS 인프라는 VPC도 모르는 상태에서 요구조건을 맞춰야 했고, GPT, 인프런, 유투브 등 활용할수있는 모든 것을 동원한 신선 michael-cho.tistory.com 까지 완료했다면 우린 아래와같은 인프라를 구현한것이다. (더 정확히는 앞에서 설정한 AZ에 따라 2개의 Public과 2개의 private Subnet이 생성되었겠지만, 이 예제에서는 한쪽의 Subnet에서만 작업을 이어서 할것이므로 그림에서는 생략하도록 한다) Bastion 서버란? 이제 나머지 부분을 이어가보자, 우선 우리가하려는 것은? Bastion 인프라.. 2024. 2. 25.
[AWS] Bastion서버 구축기 (1) - VPC, Region, AZ, CIDR 설정 까지 최근 갑작스럽게 BE ~ AWS 환경 구축까지 담당을 하게되었다. 당시 상태는 AWS 인프라는 VPC도 모르는 상태에서 요구조건을 맞춰야 했고, GPT, 인프런, 유투브 등 활용할수있는 모든 것을 동원한 신선한 뉴비 그 자체였다. 따라서, AWS인프라를 모르는 사람의 입장에서 최대한 쉽게 작성해보려고 노력해보았다. 우선 우리가 최종적으로 완성할 인프라의 구조도는 아래와 같다. 1. PrivateSubnet에 API 서버를 두고 보안을 더욱 강화한다. 2. publicSubnet에는 Bastion서버를 두고 privateSubnet과 소통하는 역할을한다. 3. NatGatway를 통해 PrivateSubnet을 인터넷과 통신되도록한다. 이 구조도 사이에는 IGW(InternetGateway)나 다른 여런 .. 2024. 1. 30.
2023년 회고 이번 한해를 어떻게 보냈는지, 처음으로 회고를 작성해보려고 한다. (어떤 정보에 대해서 공유하는 글은 많지 작성해봤지만, 나의 이야기를 이렇게 글로 표현하는것은 익숙치 않은편이다. ) 작성할 내용이 적은 순으로(블로그, Git 1Day 1Commit, 이직), 작성해보려고한다. 0. 블로그 2023년에 들어오면서, 블로그를 이전했다. 몇년간 꾸준히 글을 써오며, 네이버 블로그로 약 19만이 되는 방문자를 유입할 수 있었지만, 한계가 너무나 명확했다. 나조차도 네이버블로그를 통하여 검색을 하지않는데, 다른 개발자들도 마찬가지였을 것이다. 이전하면서 작성한 글은 15개 내외로 한달에 한개정도 작성한 꼴이다. 여러이유가 있겠지만, 이직을하면서 블로그에 신경을 쓰지못한게 첫번째 이유고, GPT등 생성 AI가 대.. 2023. 12. 31.
Index [AWS] Bastion서버 구축기 (1) - VPC, Region, AZ, CIDR 설정 까지 [AWS] Bastion서버 구축기 (2) - EC2, Public Subnet, Private Subnet, Bastion 터널링 2023. 12. 31.
[Python] 파이썬 - 13. 리스트활용(2) 1. index() 해당하는 값이 리스트에 몇번째에 위치하는지 출력해준다. ,를 사용하여 x.index(3, 4)를 입력한다면 리스트 값 3을 4번째 수부터 검색하라는 의미이다. 2. count() count()는 해당하는 값이 리스트에 몇개 들어있는지 카운팅하는 것을 의미한다. 3. sort() 리스트를 오름차순으로 정렬하여 출력해준다. reverse=True 를 활용하면 역순으로 정렬이 가능해진다. 단순히 reverse() 메소드를 사용하는 방법도 있다. 4. split() 제시된 매개인자를 기준으로 단어를 나누어 리스트로 변환하여 출력해준다. 5. join() split()과는 반대로 리스트의 요소들을 매개인자를 기준으로 합쳐준다. Index로 돌아가기 2023. 12. 3.