본문 바로가기
반응형

분류 전체보기75

[Network] HTTP 통신은 Stateless가 맞을까? 의문의 시작 Rest API는 HTTP를 기반으로 하는 Client/Server Side 통신을 도와주는 아키텍처이다. 그렇기에 Rest API는 HTTP 프로토콜의 특징을 그대로 가지고 오며, 명확한 표준은 없지만 HTTP 통신에 대해 비 강제적인 제약을 가해 일반적으로 통용 가능한 규칙을 적용시키기 위해 사용된다고 개인적으로 생각한다. 그리고 이 Rest API를 더 자세히 알기 위해서 나는 HTTP를 조금 더 공부해 보기로 했다. HTTP란? HTTP는 OSI 7 계층(애플리케이션 계층)에서 적용되는 프로토콜이며 ... 생략 ... 특징 Stateless TCP/IP 기반 ... ... 생략 ... HTTP는 Stateless한 특징을 가지고 있고 이 특징으로 인해 client/server 구조에서.. 2022. 8. 21.
[Project coin] 단위 테스트(3) - sync.Once가 포함된 코드 Project coin 경과 니코 선생님의 coin 클론코딩이 거의 막바지이다. 강의가 몇개 남지 않았지만 테스트 코드를 싹싹 핥아 먹으며 공부하기 위해 강의를 보기 전 테스트 코드를 만들고 강의를 보고 있다. 문제 발생 스스로 테스트 코드를 만들며 아무리 생각해도 이상한 현상을 발견했다. 테스트하려는 코드 func Blockchain() *blockchain { once.Do(func() { b = &blockchain{ Height: 0, } checkpoint := 블록체인_불러오기() if checkpoint == nil { //새로운 블록 추가 } else { //기존 블록체인 변수 b에 할당 } }) return b } 테스트 코드 func TestBlockchain(t *testing.T) .. 2022. 8. 19.
[Go] Context 패키지 알고쓰기 context를 공부하는 이유 git hub에서 Go를 사용하는 잘 짜여진 프로젝트들은 context를 잘 사용한다. 프로젝트에 엮인 micro service가 많아지면 많아질수록 더 효율적인 스킬처럼 느껴지며 context를 사용하는 부분을 미리 익혀두면 도움이 될 듯 하다. context란? context. 사전적 뜻은 “문맥”이다. 그리고 문맥의 정의는 프로세스 진행 중, 프로세스의 앞 뒤 간 맥락이라 표현할 수 있겠다. Go에서 사용되는 context 또한 크게 다르지 않다. Context는 작업 명세서와 같은 역할로 프로젝트의 앞뒤 흐름을 관찰하고 제어할 수 있게 도와준다. context를 사용하는 이유 context는 다음 작업의 매개변수로 보낼 context를 위해 자식 context를 생성.. 2022. 8. 17.
[Project Coin] 모니터링 시스템 whatap 모니터링 시스템 큰 기업이든 작은 기업이든 운영과 시스템 관리를 위해 모니터링 시스템은 필수적인 요소였다. 하지만 최근 클라우드를 사용하며 MSA 프로젝트를 더 많이 사용하게 되면서 모니터링 시스템에 대한 수요는 훨씬 더 필수적 요소가 돼 버렸다. 또한 기존에 애플리케이션 성능 관측을 위한 APM, 서버 성능 관측을 위한 SMS 등 각각의 요소를 분리하여 모니터링 했다면 모든 서비스들이 작은 요소로 연결돼 있는 지금은 이를 통합하여 관측할 수 있는 통합 모니터링 시스템이 반드시 필요해 졌다. 그렇기에 이러한 변화를 받아들이고 사용법을 익히기 위해 작은 프로젝트인 Coin 프로젝트에도 통합 모니터링이 가능한 국산 SaaS솔루션인 Whatap을 붙여 보려한다. 비록 B2B 시스템이지만 15일 간 무료로 사용.. 2022. 8. 15.
[OOP] 객체지향 설계 5원칙 SOLID (SRP, OCP) SOLID를 공부하는 이유 다른 개발자들은 몇 년의 경험이 쌓여야 잘 이뤄진 객체지향 설계에 대한 필요성을 느낀다 한다. 대부분의 개발자가 그렇게 말하는 것을 보았고 그 말은, 개발자 인생에서 반드시 익혀두어야 하는 개념임은 확실하다 생각했다. 그래서인지 공부를 해 보며 알 수 없는 부분들이 많았다. 굉장히 철학적이고 추상적으로 느껴졌다. 하지만 내용을 알면서 경험하는 것과 그렇지 않은 것은 큰 차이가 있다고 생각하기에 아직 걸음조차 떼지 못한 주니어 개발자이지만 앞으로의 경험을 대비해 지금이 SOLID를 공부하기에 효율적인 시기가 아닐까란 생각이 들었다. SOLID의 탄생 배경 컴퓨터의 연산은 자료구조를 담당하는 memory와 연산을 담당하는 cpu의 합작이다. 초기 이 memory와 cpu의 성능이 .. 2022. 8. 13.
앞으로의 포스팅 방법과 목표 왜 나는 이 글을 작성하는가 제목과 같이 앞으로 포스팅의 방법과 목표를 구체화 하기 위해 이 글을 작성한다. TIL을 진행해 보고 조금 연구가 더 필요한 공부법이라 생각했다. 일딴 내가 공부한 것들을 다시 살펴보는 방법을 생각지 않고 무작정 달려들었던 것이 실패 요인으로 보인다. 태그를 통해 작성한 TIL이 어떤 내용을 포함하는지와 같은 방안을 생각해 보아야 할 듯 하다. 추진해 나갈 방법 왜 글을 작성하는지 최근 읽게된 책에서 객체 지향 설계 5원칙인 SOLID를 살펴보게 됐는데 이게 너무 추상적이고 철학적이다. 또한 제대로 이해하기 위한 나의 경험이 너무 적고 작다. 다시말해 이해가 잘 안된다. 하지만 이 내용을 더 파악하는 것이 다른 사람들과 나의 차별점을 만들기에 충분한 영향을 줄 것 같다는 느낌.. 2022. 8. 13.
반응형