![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bg8KU2/btsl0TGQ5jq/cOpjikMYMhhDhkfadPdfBk/img.png)
목차 _id 몽고디비는 컬렉션에 도큐먼트가 생성될 때마다 자동으로 생성되는 고유한 필드로, ObjectId라는 특수한 데이터 타입을 가진다. 이 타입은 12바이트의 숫자, 정확하게는 24글자의 16진수로 표현된다. 이 숫자는 다시 네 개의 요소로 나뉘는데, 각 요소에 대한 설명은 다음과 같다. Timestamp: ObjectId가 생성된 시간. 이를 이용한 시간순 정렬도 가능 Machine ID: 디비가 돌아가는 머신(컴퓨터)의 식별자이다. 이를 이용해 같은 머신에서 생성된 객체를 구별할 수 있다. Process ID: 몽고디비 프로세스의 ID. 동일한 머신에서 돌아가는 다른 몽고디비 프로세스가 생성한 객체와 구별할 수 있다. Counter: 랜덤값으로 시작하는 카운터 값이다. 동일한 시간, 머신, 프로..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Jh0dC/btsl2JwcUig/PC1o3HdMsv3O8dnQrQKYq1/img.png)
목차 두 대의 EC2로 CI/CD 구현하기 [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(1/3) [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(3/3) 다시 강조하자면, 이 글은 https://backtony.github.io/spring/aws/2021-08-08-spring-cicd-1/#%EB%8F%84%EC%BB%A4-%EC%84%B8%ED%8C%85 Spring & Jenkins & Docker & DockerHub & GitHub 활용한 CI/CD Java, JPA, Spring을 주로 다루고 공유합니다. backtony.github.io 위 글을 사실상 베낀 것이다. 물론 그 사이의 UI 변화나 메뉴명의 변화는 새로 스크린샷을 찍으며 반영했고 오타도 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/QQCVF/btsljStaTz5/u1tDW7gbO8nxHw6oanuK31/img.png)
목차 두 대의 EC2로 CI/CD 구현하기 [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(2/3) [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(3/3) 시작하기 전에, 이 글은 https://backtony.github.io/spring/aws/2021-08-08-spring-cicd-1/#%EB%8F%84%EC%BB%A4-%EC%84%B8%ED%8C%85 Spring & Jenkins & Docker & DockerHub & GitHub 활용한 CI/CD Java, JPA, Spring을 주로 다루고 공유합니다. backtony.github.io 위 글을 사실상 그대로 베낀 것이다. 몇 번이고 젠킨스+도커로 배포를 하면서 수없이 많이 읽었고 도움을 많이 받았으나..
CORS 관련 글 [네트워크]CORS(Cross-Origin Resource Sharing) [면접 준비 - Network]CORS에 대하여 - 1 [면접 준비 - Network]CORS에 대하여 - 2 [Network]TLS, HTTPS [면접 준비 - Network]쿠키, 세션, 토큰, 그리고 응답에 시간이 많이 소요되는 로직을 구현하다 보면 서버에서 지정한 시간에 따라 타임아웃 에러가 발생한다. 그런데 이런 경우 다소 황당하게도 클라이언트 로그를 확인하면 CORS 에러가 함께 뜨는데, 처음에는 순서를 잘못 파악하고 CORS 때문에 타임아웃이 뜨는 거라고 생각해 시간을 제법 잡아먹었다. 결론부터 말하자면, 서버가 정상적인 응답을 보내지 못한 경우 클라이언트에게 필요한 CORS 헤더 역시 전송되지 않을..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/4FpSN/btsffuSTd1Z/XjaPkVZjNVmoYVV2ZDuKlk/img.png)
목차 어쩌다 보니 생성 AI를 이용한 솔루션과 서비스를 개발하는 스타트업에서 일을 하게 되었다. 따라서 가끔 리팩토링 할 때나 사용했던 챗GPT를 위시한 언어모델에 대한 기본적인 이해가 필요해졌는데, 오늘 하루를 투자했지만 아직 잘 손에 잡히지 않는다. 그래도 키워드에 관해 하나씩 정의해 가며 당장 필요한 정보라도 정리하는 걸 목표로. NLP(Natural Language Processing) 자연 언어 처리, 혹은 자연어 처리는 인공지능의 하위 분야로, 기계가 인간의 언어를 알아들을 수 있게 만드는 학문 분야이다. 그 역사는 길지만 이 글에선 크게 중요하지 않고, 현대의 NLP는 머신러닝과 그에 속한 딥러닝을 이용해 대량의 데이터를 기반으로 학습시키고 개발한다. 조금 더 구체적으로는 머신러닝 전반을 이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bgMXto/btseRpL8D2k/EgkM42W0aLHKLbElmXe2ik/img.png)
목차 이 글은 아래의 영상을 시청하고 요약 및 정리한 글이다. https://www.youtube.com/watch?v=LGrjmHDwVwk 갑자기 뭔 블로그로 돈 벌기 글을 올리냐는 의문이 나도 들기는 하는데, 앞으로 일을 하는 데 있어서 해당 도메인에 대한 지식이 필요할 거라는 CTO님의 언급이 있었고 영상 링크를 직접 보내주셨기 때문에 반드시 알아야겠다는 생각이 들었다. 다만 영상 및 제공하는 자료도 정확하게 카테고리가 나뉘어있지 않고 직접 카테고리를 나누기엔 아는 것이 너무 없어서 일단 영상의 흐름대로 정리하려고 한다. 우선 시작. Mindset 당연한 이야기지만 모든 수익화의 핵심은 비즈니스 모델이다. 유튜브를 이용하건, 인스타그램이나 블로그를 이용하건 이 기본적인 사실은 변하지 않는다. 조금 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/D6iqp/btsezCq67zx/7Z1ijzRKHHAJAgK8ar53QK/img.png)
가장 최근에 과제 전형을 경험한 회사에서 MySQL이 아닌 MariaDB를 기본으로 한다는 말을 들었다. MariaDB에 대해 전혀 모르고, 아는 거라곤 '라이선스 문제로 갈라져 나온 MySQL의 갈래 아닌가..?' 정도여서 이참에 개념을 확실히 잡고, MySQL로 진행한 과제전형을 MariaDB로 바꿔보려고 한다. 우선 디비에 대한 소개부터. MariaDB MariaDB는 오라클로 넘어간 MySQL의 라이선스 상태에 반발해 2009년에 최초 출시된, 오픈소스 RDBMS이다. MySQL을 포크 해서 개발한 DB 답게 로고도 역시 해양생물인 바다사자이며, 이름은 개발자 몬티 와이드니어스의 둘째 딸 마리아에서 따왔다고 한다. MySQL과의 높은 호환성을 위해 저작권 공유 정책을 시행하고 있으며, 그 목표는 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b9lYxr/btsdZzW2Yih/qrsP7TL5OKbsg5sULxWYF1/img.png)
목차 지금 진행하고 있는 과제전형에서 웹플럭스+R2DBC+MySQL을 이용해 프로젝트를 구성하게 되었다. 리액티브한 디비는 몽고만 써본 터라 초기 설정에 아주 조금 시간이 소요되었는데, 결론부터 말하자면 리액티브 몽고 디비에 비해 R2DBC는 다소 허접하고 덜 만들어진 느낌을 지울 수가 없었다. 그래도 좋아지겠지.. 하며 내가 구성해둔 기본의 기본 설정을 기록. R2DBC R2DBC는 Reactive Relational Database Connectivity의 약자로, 리액티브 프로그래밍 모델을 기반으로 한 관계형 데이터베이스 연결을 제공하는 라이브러리이다. 2018년 5월에 처음 공개되었으며, 기존의 JDBC 방식으로 접근 가능하면서도 비동기/논블로킹을 지원한다는 장점이 있다. 따라서 당연히 고성능, ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cADBBV/btsdpa91Yhx/PS5OVsOkhJpyIoQtQSYZu1/img.png)
프로세스 스케줄러(Process Scheduler)는 OS의 핵심 기능으로서 동시에 실행되는 프로세스의 실행순서와 우선순위를 관리하는 역할을 한다. 조금 더 자세히 말하자면 여러 프로세스가 시스템의 리소스에 접근할 때 필연적으로 경쟁상태에 놓이게 되는데, 프로세스 스케줄러는 이 경쟁상태를 적절히 조율해서 리소스의 사용 효율성과 짧은 응답시간, 처리량과 처리율 등을 극대화시키기 위해 다양한 알고리즘을 이용해 프로세스의 스케줄을 관리한다. 이와 같은 프로세스 스케줄링 알고리즘은 크게 아래의 두 가지로 나뉘며, 선점형 스케줄링 특정 프로세스가 CPU를 점유하고 있더라도 우선순위가 높은 다른 프로세스가 실행되면 강제로 기존 프로세스를 중단시키고 새로운 프로세스를 실행시키는 방식이다. 우선순위 기반, 라운드 로빈..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c5Tet4/btsc1O7h91K/SWQRAGZXjKq0UKqWFEZx11/img.jpg)
목차 출처: https://bpicolor.com/raster-vs-vector-images-the-important-differences/ 래스터 이미지와 벡터 이미지는 둘 다 이미지를 표현하는 방식이다. 사용하며 몸으로는 느꼈지만, 생각난 김에 둘의 차이를 제대로 정리하고 가기. Raster Image 래스터 이미지는 정사각형의 픽셀로 이루어진 이미지이다. 일반적으로 각 픽셀의 위치와 색상정보를 함께 담은 맵, 혹은 배열로 표현할 수 있으며, 비트(Bit)로 이루어진 지도(Map of Bits)라는 의미에서 비트맵(Bitmap), 혹은 픽스맵(Pixmap)이라고 불리기도 한다. 여기서 비트는 정해진 크기의 정사각형이기 때문에 이미지를 확대하면 픽셀의 크기가 커지며 일종의 깨짐 현상이 발생한다. 예를 ..
- Total
- Today
- Yesterday
- 여행
- 면접 준비
- 동적계획법
- 기술면접
- 세모
- 야경
- 맛집
- spring
- 스프링
- 유럽
- 세계여행
- Algorithm
- 남미
- 중남미
- 지지
- BOJ
- a6000
- RX100M5
- 유럽여행
- 자바
- Python
- 세계일주
- 백준
- 알고리즘
- 리스트
- 스트림
- 파이썬
- Backjoon
- java
- 칼이사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |