Back-end/Nest.js

[Nest.js] Nest.js에서 Firestore 커스텀 모듈 만들어서 활용하기

요즘 회사 프로젝트에서 Firestore를 사용하고 있습니다. GCP 생태계에서 개발을 하고 있기 때문인데요. Nest.js에서 Firestore을 사용하다 보니 구글에서 제공해주는 sdk를 사용하고 있지만 한계에 부딪혔습니다. 바로 하나의 서비스에서 여러 개의 Firestore 프로젝트를 가져와서 연결을 해줘야 하는 것이었습니다. 열심히 찾아봤지만 multiple instance를 single project에서 사용할 수 없다는 결과만 나왔죠.. Firebase(Firestore) doesn't support multiple instance in a single project. How to create multi environment DB's with Firestore I've been looking ..

2022.04.03 게시됨

Back-end/Server & Cloud

[Server] Restful API란?

Rest API, 백앤드 개발자들은 물론이고 많은 개발자들이 알고 있는 정의인데요. 이전 게시물에서 Restful API에 대해서 간단하게 정리를 했었습니다. 단순히 HTTP 기반으로 필요한 자원에 접근하는 방식을 정해놓은 규칙을 뜻하면서 url을 정하는 Rule이 있다 정도만 알고 있었는데 알고 보니 그렇게 간단하게 끝낼 개념이 아니라는 걸 알았습니다. 특히 백앤드 개발자는 Restful이 무엇이고, 왜 사용하는지에 대해 자세히 알아야할 필요가 있다고 판단했고 이번 기회에 자세히 살펴보려고 합니다. 0. 먼저 Restful 이란? Rest는 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, D..

2022.03.29 게시됨

Language/Java & Kotlin

[자바/Java] Static 이란?

최근 싱글톤 패턴에 대해 공부하게 되었습니다. 싱글톤을 이해하기 위해서는 Static의 개념을 확실히 알고 있어야 한다는 블로그 글을 보았고, static에 대해서 이번 기회에 확실히 정리해보려고 합니다. 0. 먼저, Static이란? public static void main(String[] args) Java를 사용하다보면 정말 많이 보는 키워드가 하나 있습니다. 바로 Static인데요. main함수를 선언할 때도 사용하는 아주 익숙한 키워드입니다. Static을 사용한다는 것은 메모리에 한번 할당되고 프로그램이 종료될 때 해제된다는 것을 의미합니다. 메모리 영역과 관련지어서 설명을 해보겠습니다. 먼저 JVM구조에서 메모리 영역을 보면 Static영역과 Heap영역, Stack영역이 있습니다. 여기서..

2022.03.16 게시됨

CS & Network/운영체제(OS) & 컴퓨터구조

[운영체제(OS)] 스와핑(swapping), 가상메모리(virtual memory) 란?

저번 시간에는 페이징과 세그멘테이션 방법에 대해서 살펴봤습니다. 모두 메모리를 어떻게 효율적으로 쓸 것이냐에 대한 고민을 바탕으로 나온 방법들이었는데요. 그렇다면 페이징 + 세그멘테이션 방법을 사용하면 모든 프로세스를 효율적으로 실행시킬 수 있을까요? 정답은 아닙니다. 바로 메인 메모리 크기가 한정되어있기 때문인데요. 이번 시간에는 메모리 크기가 다 찼을 때, 프로세스를 실행시킬 수 있도록 도와주는 스와핑(swapping) 방법과, 메모리 크기보다 크기가 큰 프로세스를 실행시킬 수 있게 해주는 가상 메모리(virtual memory)에 대해서 알아보려고 합니다. 0. 스와핑(swapping) 이란? swap이란 단어는 두 개의 값을 맞바꾼다, 교환한다 의 의미를 가지고 있습니다. 운영체제에서도 의미가 비..

2022.03.03 게시됨