일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Site Reliability engineering
- 쿠버네티스
- docker
- 프로세스 통신
- React.js
- Redux
- SRE
- React
- #스웨거
- IP
- #Swagger-editor
- #Swagger-codegen
- ecs
- 쿠버네티스 컨트롤러
- 모캠
- 카카오게임즈
- 프로세스
- Kubernetes
- 기술PM
- #Swagger
- 모두의캠퍼스
- javascript
- AWS
- #Swagger-ui
- 북딜
- action
- Reducer
- server
- #api 문서화
- fluentd
- Today
- Total
목록분류 전체보기 (166)
탕구리's 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nQMPr/btqvibzgA7P/K5kiif4k0biN5AhGt8BG9K/img.png)
컴퓨터 시스템의 구조 내부장치 : CPU, 메모리 외부장치 : 디스크, 키보드, 마우스 .... 컴퓨터 내의 각 하드웨어 장치에는 컨트롤러(controller : 제어기)라는 일종의 작은 CPU에 의해 관리된다. CPU와 I/O 연산 입출력 장치들의 I/O연산은 각 장치에 부착된 컨트롤러에서 담당하고, 컴퓨터 내에서 수행되는 연산은 CPU가 담당한다. 이때 입출력 장치와 CPU사이에는 별도의 작업이 가능하다. 또한, 각 장치에는 이를 제어하기 위해 설치된 장치 컨트롤러에 장치로부터 들어오고 나가는 데이터를 임시 저장하기 위한 메모리인 로컬 버퍼(local buffer)를 가지고 있다. 1. 프로세스에서 외부 입출력에 대한 요청 발생 2. 컨트롤러에 의해서 외부 장치로의 입출력을 제어 3. 외부장치와 입출..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwovTQ/btqvBp24GS1/AxuTAkEaZaQwobodqeEfQk/img.png)
인터럽트란? CPU가 다른 프로그램을 실행하고 있을 때, 입출력 하드웨어 혹은 소프트웨어에 의해 예외상황이 발생하여 처리가 필요한 경우에 CPU에게 이를 알려주는 것을 말한다. 예를 들어, A라는 프로그램이 CPU를 할당받고 명령을 수행하고 있는데 인터럽트가 발생하면 A는 현재 수행 중인 명령의 위치를 저장해 놓고 인터럽트를 처리한 후, 다시 돌아와 A의 작업을 다시 실행합니다. 그렇다면, 인터럽트가 발생했을 때 수행중이던 프로세스의 정보는 어디로 가는 걸까요? 진행 중이던 작업의 내용은 커널(운영체제 중 메모리에 상주하여 일을 처리하는 녀석)의 자료 구조에 저장됩니다. 이 자료 구조를 우리는 PCB(Process control Block :프로세스 제어 블록)이라고 부릅니다. 인터럽트의 종류 인터럽트의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/H7yuC/btqvCflS00p/mQE2hayP2wKkyWL05imFkk/img.png)
프로세스란? 간단하다. 디스크에 존재하던 프로그램이 메모리에 올라가 실행 중인 상태를 나타낸다. 다시 말해 CPU를 보유하고 기계어 명령 실행이 가능한 단계입니다. 프로세스 문맥(Process Context) 프로세스가 현재 어떤 상태에서 무엇을 수행하고 있는지를 알기 위한 정보를 의미한다. 다시말해 프로세스 문맥은 그 프로세스의 주소공간을 비롯해 레지스터에 어떤값을 가지고 있었는지 시스템 콜 등을 통해 커널에서 수행한 일의 상태, 그 프로세스에 관해 커널이 관리하는 각종 정보를 말합니다. 프로세스 문맥은 크게 세가지로 분류합니다. 1. 하드웨어 문맥 2. 프로세스의 주소 공간 3. 커널 상의 문맥 프로세스의 상태 프로세스 상태는 크게 생성, 실행, 준비, 봉쇄, 종료 상태로 나눌 수 있습니다. 실행 상..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cfZc9u/btquNF1n5FM/dAXQw3VlOKPajUp9KX5r5k/img.jpg)
오늘의 주제 오.늘.은. 모캠 리뉴얼 중에서도 가장 고통스러웠던 부분! 데이터베이스 재설계를 진행하며 겪었던 내용에 대해서 포스팅을 하려합니다. 기존에는 어떤게 되어있었고, 리뉴얼하면서 어떻게 변경되었는지! 알아보면서 그때는 생각하지 못했던 빠트린 점이 뭐가 있나... 고민해보는 시간을 갖도록 하겠습니다 :) 강의..어떻게 관리하면 좋을까? 물론 가장 큰 변경점은 데이터베이스 설계 부분입니다. 모두의캠퍼스에는 "학교-학과-교수-수업" 이라는 4개의 큰 카테고리가 연결되어 있습니다. 리뉴얼 전 설계된 데이터는 각 항목에 대해서 관계가 크게 작용하지 않습니다. 일반적으로 생각했을때 대학교라는 큰 틀안에 각 학과 혹은 단과대가 존재하고 속에 학과나 단과대가 존재하며, 그 안에는 교수의 정보, 각각의 교수 마다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vMTgk/btquMBYfbuw/P1eWCXQi19yy71vY4F3oZ1/img.jpg)
오늘의 주제 모캠 서비스 리뉴얼을 준비하며 무엇을 준비했고, 기존의 설계를 어떻게 수정하였는지 차근차근 정리해 놓으려 합니다. 리뉴얼 작업에 대해서는 저도 팀원도 너무너무 하고 싶었던 작업이었기 때문에 힘들기 보다는 데드라인 압박에 대한 아쉬움(?)이 더 많이 컷던 시간인거 같아요. 물론, 정해진 마감동안 결과물을 만들어 내는게 당연하고 그게 제 실력이긴 하지만.. 그래도 뭐 아쉬운건 아쉬운거니까 어쩔 수 없는거겠죠? 무엇이 변했을까 ? 우선, 서비스를 이루고 있던 기술 스택이 전부 변경되었습니다. 기존의 모두의캠퍼스 서비스는 php를 통해서 개발되었고 유지보수를 진행 하고 있었습니다. 하지만 이번 리뉴얼에 사용된 기술 스택은 프론트앤드(React.js), 백앤드(Koa.js)를 기반으로 외부 서드파티(..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ubXTu/btqugTZRd4w/ChH4IuXhXVSGddWeCGojo1/img.png)
오늘의 주제 오늘의 주제는 BOJ 4963번 섬의개수 입니다. 문제는 아래와 같습니다. 이 문제를 보고 첫번째로 "연결된 섬을 찾기 위한 탐색하기", 두번째로 "탐색을 지속적으로 이루어가면서 섬이 아닌 위치, 이미 방문을 했던 위치는 건너뛰고 탐색"을 진행하면 될 것 이라 생각했습니다. 제가 작성한 코드는 다음과 같습니다. public class boj_4963 { static int[][] result; static int[][] arr; static int row; static int col; static int cnt; // 상하좌우, 대각선 4방향 static int[] dx = {0,0,1,-1,-1,-1,1,1}; static int[] dy = {1,-1,0,0,-1,1,-1,1}; publ..
오늘의 주제내가 처음 입사했을 당시에는 "북딜"이라는 중고책 거래 서비스에 대해 양도받을 준비를 하고 있었어요.양도받은 서비스를 운영하기 위해 해당 서비스가 작동하던 환경과 최대한 동일하게 구성하기 위해서 준비가 필요했고 그 외에도 외부 B2B 서비스들을 이용중인 서비스였기 때문에 정말 화나는 일이 많았어요(불칠전한 고객센터 덕분에) 서비스를 양도받기 위해 어떤 작업을 했고 어떻게 구조를 잡았는지 회기해보도록 하겠습니다. 무슨 일을 했지? 1. 로드밸런싱을 위한 로드밸런서(AWS-ALB) 설정하기 2. CloudFront(CDN) 공부하기 그리고 설정하기 3. 각각의 CloudFront와 로드밸런서에 HTTPS 통신을 위한 ACM(Amazon Certificate Manage)를 통해 SSL 인증서를 발..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/7D96l/btqtXWCmJr7/XnKqKHvBKuhyBzjgHY0xRk/img.png)
시작하기 전에 해당 블로그에 작성되는 글은 주인장의 지극히 주관적인 생각이 다수이며, 대부분의 지식은 구글링을 통해 얻고 있기 때문에 옳지 않은 정보가 있습니다. 잘못된 부분이나 수정해야 하는 부분이 있다면 과감히 덧글을 남겨주세요! 모르는게 많은 새싹입니다 오늘의 주제 지난 포스팅에서 AWS CloudFront의 특징에 대해서 알아보았습니다. 까묵었다면 [AWS] - [AWS 파헤치기] #2 CloudFront(CDN)가 뭐야? 를 참고해주세요~ 이번 포스팅에서는 실제로 AWS Console을 통해서 CloudFront를 설정하고 배포하는 방법에 대해서 알아보도록 하겠습니다. CloudFront 설정하기 1. CloudFront page 접근 2. 전편에서 말했던 Web(HTTP통신)과 RTMP(스트리..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nMgXL/btqtVJJN7Tj/IywHyQ9jA8bGRvFbKKZFpK/img.png)
시작하기 전에 해당 블로그에 작성되는 글은 주인장의 지극히 주관적인 생각이 다수이며, 대부분의 지식은 구글링을 통해 얻고 있기 때문에 옳지 않은 정보가 있습니다. 잘못된 부분이나 수정해야 하는 부분이 있다면 과감히 덧글을 남겨주세요! 모르는 게 많은 새싹입니다 오늘의 주제 오늘의 주제는 AWS 서비스 중에서도 CloudFront에 대해서 그리고 설정하는 방법에 대해서 알아보려고 합니다. 운영했던 서비스가 파일 자체를 업로드하고 다운로드가 할 일이 많아서 좀 더 빠른 서비스를 제공하려고 찾다가 CDN을 이용해야겠다는 생각이 들었고, AWS에서 제공하는 CloudFront에 대한 내용을 정리하게 되었으니 재미있게 읽어주세요 :) CloudFront란? CloudFront는 AWS에서 제공하는 CDN 서비스 ..