일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Redux
- ecs
- javascript
- #api 문서화
- React
- 프로세스
- #Swagger-editor
- Kubernetes
- AWS
- React.js
- docker
- 모두의캠퍼스
- 프로세스 통신
- 쿠버네티스 컨트롤러
- #Swagger
- #Swagger-codegen
- #스웨거
- server
- #Swagger-ui
- SRE
- 기술PM
- Reducer
- 북딜
- IP
- 카카오게임즈
- Site Reliability engineering
- fluentd
- action
- 쿠버네티스
- 모캠
- Today
- Total
목록분류 전체보기 (166)
탕구리's 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cq2Log/btqwUC9nhQM/o10aSA733tVYkfG6Rgbom1/img.png)
개발 배경 모두의 캠퍼스는 강의평가나 학습자료를 기반으로 운영되는 서비스였기 때문에 크게 이미지 관련해서 처리해야 할 부분이 많지 않았어요. 자료를 이용하는 부분이 유료는 아니었지만, 신뢰도가 떨어지는 자료들이 다수 섞여있게 되었고 이에 대해 미리 확인해 볼 수 있으면 좋을 거 같다는 피드백이 상당히 많이 들어왔었죠. 이때 까지만 해도 썸네일보다는 좀 더 중요하게 처리해야 할 작업들이 많았기 때문에 우선순위가 항상 밀려있는 느낌이었죠. 그래서 계속 미뤄두다가 피드 형식의 게시판을 개발하게 되었습니다. 내용은 아래와 같아요 1. 사용자들이 자유롭게 의견을 공유하고 글을 올릴 수 있다 2. 물론 좋아요, 공유하기가 가능하다. 3. 자유롭게 이미지도 올릴 수 있다 (게시물당 최대 5개) 사실 요구 사항은 훨씬..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nmz8M/btqwPZculyQ/TVortGM0k0ZgWAxKcVDBZ1/img.png)
S3 (Simple Storage Service) S3는 Simple Storage Service의 약자이며 AWS에서 제공하는 파일서버입니다. 저는 평소에 생각보다 S3를 사용할 일이 많이 생기더라고요. 도메인과 연결하여 정적 사이트를 제공하기도 하고 일반적인 파일서버로 사용하거나 배포 파일을 관리할 때 사용하기도 합니다. 그럴 때마다 항상 헷갈리는 부분이 버킷 정책과 접근권한에 대한 부분이에요. 그래서 이번엔 그 부분을 정리해두려 합니다. 권한 관리 생각보다 헷갈린다? 저는 S3를 통해 총 3가지의 권한에 대해 설정해 보았습니다. Public Access, ACL(사용자, 버킷, 객체), Bucket Policy입니다. 각각 권한에 대한 설정을 통해 퍼블릭, 버킷, 객체에 대한 설정을 할 수 있으며,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b6UcZs/btqwPYR4o2a/mAFgOy7YNCSPeU0xP2MPZ0/img.png)
WillSon에서는 왜 nginx를 사용했나요? willson을 처음 설계 할 때 총 3개의 서버를 이용하려고 했어요. API 서버, Push 서버 그리고 socket.io를 이용할 chatting 서버 입니다. chatting 서버는 결국 firebase로 대체하기로 했지만 실시간 통신 관련해서 개발해보고 싶었는데 약간 아쉬움이 남아요. 불필요한 이야기는 각설하고 본론으로 들어가 봅시다. AWS를 이용해서 서버를 구축했기 때문에 다양한 서비스를 이용하게 되면 추가적인 비용이 발생하게 되요. 그래서 생각한게 클라이언트에서 API에 대한 요청이 들어오면 각 API에 대해 적절한 서버로 redirect 시켜주는 방법을 이용하기로 했어요. 물론 API gateway를 사용한다거나 ALB(application ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NYV9a/btqwLUo0yLK/KKJwK5ud63Ad8ZSjbcVEb0/img.png)
WillSon 서버에는 무엇을 했나요? 회고록에서 적었던 것처럼 우선 해보고 싶었던 CI/CD (Continuous Integration / Continuous Delivery)를 한번 구축해보고 싶었기 때문에 간단하고 쉽게 구축할 수 있는 서비스를 수소문하여 Travis CI와 AWS code deploy 서비스를 연동하여 사용하기로 하였습니다. 전체적인 흐름은 어떻게 될까? 순서대로 차근차근 알아보면 다음과 같아요. 1. 깃헙에 코드를 업로드합니다 2. 코드가 업로드되면 Trigger가 발생하고. 3. Travis CI의 가상 머신을 통해 CI 작업을 진행 4. CI 작업이 완료되면 코드를 압축하여 S3 버킷에 저장 5. deploy agent가 설치된 ec2 서버에서 이를 확인 6. S3를 통해 다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bFR08c/btqwMWeCQm9/90dmFXdH1HauyAZLHhaInK/img.png)
개요 개인적으로 시간적인 여유가 생겨서 전국 IT 벤처 창업동아리 S.O.P.T에서 매 학기 진행하는 2주짜리 해커톤에 참가했어요. 물론 동아리를 수료한 지 1년도 더 지났지만 얼마 전부터 특별히 동아리 출신 OB들도 해커톤에 함께 참여하는 방식으로 변경되었기 때문에, 수료 후 두 번째 참가를 하게 되었어요. 해보고 싶었던 것들 1. TypeScript를 사용해보자! 2. CI/CD 배포 자동화를 위해! 3. Unit Test 4. Nginx 공부하기 단순히 시작했던 내용이 나중에 고통을 불러올 줄 생각지도 못했지만.. 우선은 위의 두 가지를 해보는 것을 목표로 삼았습니다. 이후에 프로젝트를 설계&개발하며 생각지도 못한 Flask와 NLP에 대해서 공부하고 건드려보는 기회까지 덤으로 생겼지만 말이에요....
CPU 프로그램의 기계어 명령을 실제로 수행하는 컴퓨터 내의 중앙 처리 장치이다. 프로그램 카운터(PC : Program Counter) 현재 CPU에서 수행할 코드의 메모리 주소 값을 가지고 있는 레지스터이다. 프로그램의 수행을 서로 다른 두 단계의 조합으로 나누어 볼 수 있다. 첫 째는 프로그램이 CPU를 직접 가지고 빠른 명령을 수행하는 단계, 둘 째는 I/O 요청이 발생해 커널에 의해 입출력 작업을 진행하는 비교적 느린 단계이다. 첫 번째 작업을 CPU 버스트, 두 번째 작업을 I/O 버스트라고 한다. 프로세스 또한 CPU 작업에 치중이 되어있는 CPU 바운드 프로세스와 I/O 작업에 치중이 되어있는 I/O 바운드 프로세스로 나누어 볼 수 있다 . CPU 스케줄러 CPU 스케줄러는 준비 상태에 있..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cAA3h5/btqvC6D1R5n/TtqqNDNFGP3J0pSnRenjt1/img.png)
자바스크립트 데이터 타입 자바스크립트의 변수 타입에는 크게 Primitive type(원시타입)과 Reference Type(참조타입)으로 나누어 생각할 수 있습니다. 원시타입이란 자바스크립트 자체에서 제공하는 타입이며 변수 할당시 메모리에 직접 접근합니다. 반면에 참조 타입은 메모리에 직접 접근이 아닌 컴퓨터 바탕화면에 바로가기를 만드는 것 처럼 간접적인 참조를 통해 메모리에 접근하는 데이터 타입입니다. Primitive type : 원시타입 : 기본타입과 복사 자바스크립트의 자료형에는 6가지의 기본 자료형(string, number, boolean, undefined, null, symbol)이 있습니다. 이런 Primitive type의 변수는 변수가 할당될 때, 메모리의 고정 크기로 값을 저장하고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/k2Kye/btqvBppvR65/KxtUMOFkutSIbzHjoFuiRK/img.png)
오늘의 주제 오늘은 자바스크립트의 개념을 처음부터 다시 정리하면서 공부하였던 내용을 하나둘씩 정리하기 위해서 작성하게 되었습니다. 첫 번째 주제로 javascript에서 기본적으로 알아야 하는 구동 원리인 CallStack과 Event Loop에 대해서 작성하게 되었습니다. 자바스크립트의 메모리 구조 자바 스크립트의 메모리 구조는 크게 Heap memory, CallStack Task Queue로 생각해 볼 수 있습니다. 각 영역에서는 무슨 일을 담당하고 이루어질까요? 자바스크립트의 동작은 아래 그림을 통해서 간략하게 알아볼 수 있습니다. Call Stack function call에 대한 관리를 하는 역할을 하며, 이름에서 보듯이 Stack 구조를 통해 function call을 관리합니다. 흔히들 자..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjhadS/btqvnG48wLg/CBJNdOaJaDAZlt0rK5jMR1/img.png)
운영체제란? 운영 체제(Operating System 이하 O.S)란 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 말합니다. 컴퓨터를 구성하는 요소 중, 운영체제의 위상은 다음과 같습니다. 운영 체제의 기능 운영 체제는 컴퓨터 하드웨어 사용자 사이에 존재하며, 사용자가 직접 운영하기 힘든 하드웨어에 대해서 운영체제가 관리하기도 하고 사용자에게는 편리한 인터페이스를 제공하는 역할을 합니다. 우리가 흔히 아는 Windows Sereis, Mac OS 같은 것들을 통해서 말이죠?! 간단하게 정리하면! 컴퓨터 시스템 내의 자원에 대해 효율적인 관리를 돕는다. 사용자에게 편리한 환경을 제공한다. 사용자와 운영 체제 자신을 보호하는 역할 운영 체제의 분류 동시 작업을 지원하는지에 대한 여부에 따라 "단일 작업..