[개인서버구축일지](3) Oracle Cloud Platform에 신세지기
·
클라우드컴퓨팅·네트워크
OCI에는 프리티어 시스템이 있습니다.프리티어 계정은 기본적으로 요금이 발생하는 서비스가 제한되어 과금 걱정 없이 사용할 수 있습니다. OCI 프리티어프리티어와 별개로 `Always Free` 라는 인스턴스가 두 가지 있습니다.이 상시 무료 인스턴스는 계정이 무료 계정일 때는 물론, 유료 계정으로 전환하고 난 뒤에도 요금이 발생하지 않습니다. 과금 면제 한도는 AMD 계열과 ARM 계열이 별도로 계산됩니다.구분ARM (A1.Flex)AMD (E2.1.Micro)인스턴스 수리소스 분할에 따라 최대 4개최대 2개OCPU총 4 OCPU 내에서 직접 분할 사용인스턴스당 1/8 OCPU메모리총 24 GB 내에서 직접 분할 사용인스턴스당 1 GB네트워크최대 4 Gbps 대역폭최대 480 Mbps 대역폭 유료 계정으..
[Web] Redirect, Proxy와 Forward의 개념과 차이점
·
클라우드컴퓨팅·네트워크
이번에 단축 URL 서비스를 개발하면서 "요청을 전달" 하는 방식에 대해 딥다이브 해보았습니다. 웹 기술에서 요청을 전달하는 방식을 생각하면 세 가지가 떠오릅니다. 리다이렉트, 프록시, 포워드. 이 글에서는 이 redirect, proxy, forward의 특징과 차이점에 대해 알아보겠습니다. Redirect: 경로 재지정리다이렉트는 RFC 7231에서 정의한 3xx 코드를 활용해 요청의 경로를 바꿔 다시 요청할 것을 알리는 통신 방식입니다.https://www.rfc-editor.org/rfc/rfc7231.html RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content www.rfc-editor.org 한 줄 비유:어떤 회사의..
OSI 7 계층 간략히 이해하기
·
클라우드컴퓨팅·네트워크
L4/L7 로드밸런싱에 대해 알아보다보니 OSI 7계층에 대해 정리해보고 싶어졌습니다. 이 글은 OSI 7 Layer에 대해 간략하게 정리한 글입니다. OSI 7 계층우리가 일상적으로 사용하는 "인터넷"은 수많은 물리적인 시스템과 소프트웨어적 시스템을 거쳐 우리에게 제공됩니다.OSI 7 계층은 그 과정을 7단계로 나누어 표준화한 모델입니다. 계층 구조의 특징각 계층은 바로 위 계층에게는인터페이스를 제공하고, 바로 아래 계층의 인터페이스를 활용합니다.계층을 나누었기 때문에 장애가 생긴 구간을 특정하기 쉽습니다.각 계층은 독립적으로 작동합니다. 따라서 특정 계층의 기술이 변경되어도 다른 계층에 영향을 주지 않습니다.최상위 계층에서 하위 계층으로 내려가면서, 각 계층에 대한 제어 정보(헤더)가 붙습니다. 반대..
[Docker] 핫 리로드 적용 기록: Spring Boot와 Vite+React
·
언어·프레임워크·데이터베이스
핫 리로드 기능은 개발 환경에서의 생산성에 큰 영향을 미칩니다. 이 글은 도커 컨테이너에 올릴 Spring boot 프로젝트와 Vite + React 프로젝트를 위한 핫 리로드를 설정하면서 겪은 시행착오에 대한 기록입니다. 스프링부트에 핫리로드 적용하기1. spring-boot-devtools 의존성먼저, Spring Boot에서의 핫리로드 기능은 spring-boot-devtools에서 지원하는 것이기 때문에, 의존성 추가 및 설치를 해줍니다.// build.gradle.ktsdependencies { developmentOnly("org.springframework.boot:spring-boot-devtools")}​ 2. 바인드 마운트 설정spring-boot-devtools에서 변경을 감지하..
테스트 코드가 막막한 개발자를 위한 가이드
·
개발
이 글에서는 테스트 코드를 작성할 때 고려해야하는 "무엇을 검증할 것인가"에 대한 약속인 Given-When-Then 패턴에 대해 다룹니다. 이것만 염두에 두고 테스트코드를 작성하면 테스트 코드의 구조를 잡기 쉽습니다. 테스트 코드의 공식: Given-When-Then모든 테스트는 기본적으로 이 3단계로 구성합니다.Given (준비): 테스트를 위해 필요한 데이터나 상황을 준비합니다.When (실행): 준비된 것들로 검증하려는 알고리즘을 실행합니다.Then (검증): 실행 결과가 예상과 같은지 확인합니다.준비하고, 실행하고, 검증한다.어떻게 보면 테스트를 해야겠다고 느낀 순간부터 본능적으로 알고 있던 과정일지도 모릅니다.하지만 이걸 의식하는 것이 좋은 테스트 코드 작성의 시작입니다. 어디서부터 시작할..
[개발 편의] Scoop 편합니다. Scoop 써 보십쇼.
·
개발
이게 항상 불편했거든요다른 컴퓨터로 작업 환경을 옮기면, 매번 개발 환경을 다시 세팅해줬어야 했습니다.데스크탑에서 너무 편하다며 추가했던 설정이, 노트북으로 가면 또 다시 설정해줘야하는 귀찮음이었습니다. Scoop으로 관리하고 나의 성공시대 시작됐다Scoop은 윈도우용 커맨드 라인 패키지 매니저입니다.그 동안엔 `tcping` 같은 거나 편하게 설치하고 싶어서 `Chocolatey`를 썼는데, scoop이 더 개발자 친화적이라고 느꼈습니다.그것보다, 제일 중요한 '뭘 할 수 있는지'를 얼른 말씀드리겠습니다. 모든 업데이트를 명령어 한 줄로`scoop update` 명령어 한 줄로, scoop으로 설치한 모든 프로그램이 최신 버전으로 업데이트됩니다. 쉽게 옮길 수 있는 설정. 포터블함.scoop으로 설치한..