![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bv7PD6/btr892HWatk/7BD7oRv3UvNKaKLqA8HIdK/img.png)
대략 네 달쯤 전에, JVM의 기본 구조에 대해 다루면서 스택과 힙에 대해 다루기는 했다. 2022.12.11 - [Development/Technical Interview] - [면접 준비 - Java]JVM 구조(2), Runtime Data Area [면접 준비 - Java]JVM 구조(2), Runtime Data Area 지난 글에선 JVM의 대략적인 구조와 Workflow에 대해 알아보았다. 2022.10.30 - [Development/Technical Interview] - [Java]JVM 구조(1), JVM Workflow [Java]JVM 구조(1), JVM Workflow JVM(Java Virtual Machine) JVM(Java Virtual Machine)이 gnidinger..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bezbPJ/btr8BfHPKEh/yUjvl7giS2MDe4M2m7NscK/img.png)
파이썬에서 Django를 이용해 프로젝트 생성 후 디비를 생성하면 기본적으로 SQLite가 생성된다. 다른 디비는 실력이 좀 더 늘면 사용하기로 하고, 한동안은 만나게 될 SQLite에 대해 짧게 정리하고 넘어가자. SQLite SQLite는 데이터베이스 엔진이다. 당연한 소리다. 조금 더 구체적으로 들어가자면 오픈소스 SQL 데이터베이스 엔진으로써, SQL이 붙었기 때문에 역시 당연하게도 관계형 데이터베이스를 관리하는 역할을 한다. 2000년에 미 해군이 이지스함에서 운용할 목적으로 개발하였으며, 그 덕분에 필요없는 기능을 전부 제거했기 때문에 Lite라는 이름에 걸맞게 굉장히 경량이라고 한다. 추가로 macOS, iOS, 안드로이드 등에는 기본으로 탑재되어 있으며 디비 전체를 하나의 파일에 저장하는 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/BGqpy/btr7TkYwYdW/VulkpyqjNQ63JTK6FJWqKk/img.png)
목차 오늘 오전 내내 수직적, 수평적 분할에 대해 공부했지만 지금도 헷갈려 죽겠다. 사람마다, 게시글마다 쓰는 단어도 다르고 개념도 뒤죽박죽이라서.. 그 혼란에 내가 한 스쿱 더하는 느낌이 없지 않지만, 그래도 내가 이해한 분할에 대해 정리하고 넘어가야겠다. 기존의 모놀리식 아키텍처는 위 그림과 같이 모든 서비스와 레이어를 하나로 뭉쳐서 개발했다. 이는 초기개발이 쉬운 등 장점이 있지만 확장성이 떨어지는 단점도 함께 존재했는데, 장점과 단점에 대한 이런저런 기초는 이전 글에 정리했으니 여기선 넘어가기로 한다. https://gnidinger.tistory.com/800 [MSA]Microservice Architecture(MSA) 튜토리얼 MSA란 정확하게 정의된 어휘는 아니지만 대략 서비스를 잘게 쪼..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/d1imFV/btr7gQRDOBB/7K8TE0hfJ0VwxhEUqgQCh0/img.png)
목차 개인 프로젝트를 진행하면서 이름만 많이 듣던 Reactive mongo DB를 사용하고 있다. 잘 모르는 채로 더듬더듬 쓰면서 경험치가 쌓이다 보니, 이제야 전반적인 개념이 궁금해져서 정리 시작. MongoDB 몽고 디비는 HUMONGOUS DB를 줄인 표현이다. 그 이름대로 대용량 환경에 대응하기 위해 개발되었다. 또한 몽고디비는 대표적인 NoSQL DB 중 하나이며, 문서 지향(Document-Oriented) 데이터 모델을 사용하고 JSON과 비슷한 동적 스키마형 도큐먼트(몽고DB에서는 이를 BSON이라 부른다)로 데이터를 저장 및 조회한다. 이베이, 뉴욕 타임스, 구글, 페이스북 등이 이 몽고디비를 주력으로 사용하고 있으며, 메모리 내에서 작업하도록 설계되어 있기 때문에 같은 조건에서 RDB..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/x1rEl/btr7iMN2aaH/AW3Jut2FFPYeia98WBHWrk/img.png)
목차 MSA에 대한 논문을 읽고 리뷰하면서, MSA자체에 대한 개념도 개념이지만 새로운 단어를 많이 접하게 됐다. 일단 되는대로 메모장에 옮겨 적어두기는 했는데, 오늘부터 하나씩 쪼개며 머릿속에 집어넣어 보자. CAP Theorem CAP 정리, 혹은 가설을 제시한 사람의 이름을 딴 브루어 정리는 이론 컴퓨터과학의 정리 중 하나이다. 정확한 단어 사용을 위해 굳이 다시 강조하자면, CAP는 2002년에 증명이 끝난 정리이다. 이는 마치 피타고라스의 정리와 같이 법칙보다 엄밀하게 증명된, 신뢰할 수 있는 대상이라는 뜻이다. 그 내용을 요약하면 다음과 같은데, C, A, P 세 가지를 모두 만족시키는 분산 데이터 저장소는 없다. 여기서 C, A, P란 각각 아래와 같은 그림으로 나타낼 수 있다. Consis..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bnJU7w/btr6RZtcIpz/rK34QGqBtfk7pRIkoyWPDk/img.png)
목차 이것저것 찾아다니며 공부하는 게 지치면 정리된 글을 읽고 싶어 진다. 해서 아무런 특별한 의도도 없이 구글 스칼라에 Microservice Architecture를 검색해 가장 최근의 논문을 읽어보았다. https://www.sciencedirect.com/science/article/pii/S0164121222001972?casa_token=H_ZPkvzR5BoAAAAA:y5nUVUo_z_icZDbrVcEUAT1p5sNg1ucc8_Slx25UcZSLMNx-ulqObgquyjlUDoSBwL2Np5WCLg Revisiting the practices and pains of microservice architecture in reality: An industrial inquiry Seeking an a..
컴퓨터공학에서 유독 16진수를 많이 사용하는 이유는 2진수를 4자리씩 끊어 표현할 수 있기 때문이다. 참고로 16진수는 0부터 9의 숫자, 그리고 A부터 F까지의 알파벳으로 수를 표현하는데, 읽는 법을 조금이라도 훈련받은 사람이라면 16진수 숫자를 바로 2진수로 변환하는 게 쉽고 언제나 가능하다. 즉 0과 1의 세계인 컴퓨터공학에서 길게 늘어지는 2진수를 가독성 좋게 축약하기 위해 선택한 진법이며, 8도, 32도 아닌 16인 이유는 위의 이유에 더해 16진수 두 자리가 1바이트(2^8)를 표현할 수 있기 때문이다. 그렇다고 1바이트를 한 자리로 표현하려면 64진수가 필요해 가독성이 심각하게 떨어지고, 8진수는 조금 미묘하므로 16진수를 필연적으로 골랐다고도 할 수 있겠다. 코딩을 하거나 알고리즘을 풀다 ..
다른 글을 읽다가 32비트 운영체제에선 메모리, 즉 램의 크기가 4기가로 제한된다는 것을 보았다. 크게 중요한 것 같지는 않지만 그래도 알고 있어야 하는 지식인 것 같아서 짧게 정리. 32bit 32비트 운영체제란 데이터 버스의 크기가 32비트, 즉 4바이트인 운영체제를 가리킨다. 참고 1바이트 = 8비트 1킬로바이트(kb) = 1024바이트 1메가바이트(mb) = 1024킬로바이트 ... 1바이트가 8비트로 정해진 것은 기술적인 이유라기보다는 역사적인 이유에 가깝다. 미 표준연구소(NIST)에서 확장 아스키코드를 8비트로 발표했고, 비슷한 시기에 IBM이 개발한 System/360의 데이터버스도 1바이트를 8비트로 정했기 때문이다. 그 이전에는 6비트, 7비트를 1바이트로 사용하기도 했다고 한다. 다시..
목차 지난 글에는 DB 인덱싱에 대한 소개와 그때 사용하는 자료구조인 B-Tree에 대해 적었다. 2023.03.20 - [Development/Database] - [Database]Index에 대하여 + B-Tree [Database]Index에 대하여 + B-Tree Index 인덱스란 말 그대로 색인이다. 여기선 주어진 데이터베이스에서 원하는 자료를 빨리 찾을 수 있도록 도와주는 일종의 자료구조라 할 수 있다. 원하는 테이블의 컬럼(둘 이상도 가능하다)에 gnidinger.tistory.com 요약하자면 인덱싱이란 원하는 데이터를 빨리 찾을 수 있도록 테이블 외부에 별도의 색인을 생성하는 작업이며 B-Tree란 이를 저장하기 위해 사용되는, 이진트리의 확장버전이라 할 수 있다. 추가로 B-Tree..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/btDxPm/btr45lY8A7O/fAlB7QQYMTz6FSbxqQoHCK/img.png)
목차 https://gnidinger.tistory.com/651 [면접 준비 - Network]CORS에 대하여 - 1 CORS 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여 웹 애플리케이션이 다른 출처의 선택한 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 메 gnidinger.tistory.com 벌써 세 달이나 이전 일이 되었지만, 처음 적은 CORS의 개념과 관련된 글에 이어 조금 실제적인 부분을 정리하려고 한다. CORS라는 게 무엇인지 경험적으로는 알고 또 처리할 수 있지만 구체적으로 어떻게 표현되는지 알고 싶어서. 짧은 글이 될 것 같지만, 시작! Origin in CORS CORS에서 Origin이..
- Total
- Today
- Yesterday
- 남미
- 여행
- 세계일주
- 유럽
- a6000
- 면접 준비
- 야경
- 알고리즘
- RX100M5
- 동적계획법
- BOJ
- 자바
- spring
- Python
- 칼이사
- 리스트
- 스트림
- 파이썬
- 백준
- 기술면접
- 세모
- 지지
- Algorithm
- 중남미
- java
- 맛집
- 유럽여행
- Backjoon
- 스프링
- 세계여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |