반응형 Golang38 [Go] Google OAuth2.0 적용 OAuth 적용 시작하기 전 OAuth에 대한 설명은 아래 포스팅을 봐 주시면 감사하겠다! 2022.06.02 - [Study/Server] - [Server] OAuth 알고 쓰기 [Server] OAuth 알고 쓰기 OAuth란? 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜이다. 아마 다양한 환경에서 알게 모르게 OAuth를 사용한 인증을 해 보았을 것이다. 당장에 생각나는 예시를 들자면 첨부한 roy-jang.tistory.com Google의 OAuth2를 이 포스팅에 작성된 절차를 기준으로 하나씩 살펴볼 것이다. OAuth 적용 절차 1. Client는 OAuth를 사용하기 위해 사전에 Resource Server에게 OAuth에 대한 사용에 대한 동의를 받아 둔다. -> 이 과.. 2022. 8. 29. [Algorithm]Programmers_KAKAO_118667_두 큐 합 같게 만들기_Go 문제 설명 풀기 전 생각 1. 큐를 둥글게 이어 붙이면 링(Ring) 형태가 된다. 2. 투포인터를 사용하여 타겟 넘버를 찾는다. ∵ 큐는 Pop과 Push를 이용해 연속된 데이터 처리만을 할 수 있기에 투포인터를 사용해도 된다 판단. 3. 시나리오를 분리하여 큐를 만드는데 필요한 수행 횟수 계산. 시나리오 1. 시작 포인터와 끝 포인터가 같은 큐에 있다. i) 끝 포인터가 큐의 마지막 인덱스 값이다. ii) 끝 포인터가 큐의 마지막 인덱스 값이 아니다. 2. 시작 포인터와 끝 포인터가 다른 큐에 있다. 사용 자료구조 tmpq []int - 링 형태를 직접 구현하기보다 1번 큐, 2번 큐, 1번 큐를 이어 붙여 링 형태로 사용. 코드 package main import ( "fmt" "math" ) fu.. 2022. 8. 26. [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. [Go] GC(Garbage Collection) 심화 GC 내가 참조하고 있는 글은 2019년에 Go 1.12v 때, 포스팅 된 글 이므로 최근의 Go와 다를 수 있다. 내가 알기론 STW도 제거하기 위해 시도하고 있다고 들었는데.. 이또한 찾아보아야겠다. GC 과정 GC가 실행될 때, 세가지의 페이즈가 존재한다. 두가지는 STW 방식이고 한가지는 어플리케이션에 지연을 유발하는 동시성 방식이다. 세가지 페이즈는 순서대로 Mark Setup - STW(Stop The World) Marking - Concurrent Mark Termination - STW 이다. 하나씩 살펴보자. Mark Setup - STW 처음 GC가 실행되면 쓰기를 제한하는 튜닝을 하게되는데 이는 GC 고루틴과 어플리케이션 고루틴의 무결성을 위해서이다. 쓰기를 제한하기 위해 모든 고루.. 2022. 8. 5. [Go] 고루틴(GoRoutine) 심화(6) - 고루틴 에러 처리 아무리 잘 짜여진 코드에서도 에러는 발생하기 마련이다. 그 원인이 내부적인 문제가 아니라 외부 환경에 의한 문제일 수 도 있고 아직 내가 겪어보지 못한 다양한 이유가 존재할 수 있다. 그렇기에 안정적인 서비스를 위해선 효율적인 에러 처리가 필수적이다. 그리고 Go라는 언어는 다른 언어에서 채용하는 에러 처리방법인 예외 모델을 사용하지 않고 더욱 직접적으로 에러를 다루는 형식을 채용한다. 그렇기에 다른 프로그래밍 언어에 비해 귀찮지만 조금 더 효율적이고 직관적인 에러 처리를 할 수 있다. 그렇다면 동시성 프로그래밍을 적용한 작업에선 어떤식으로 처리하는 것이 좋을까? 에러 처리에서 중요한 것 에러 처리를 함에 있어서 가장 중요한 것은 에러를 처리하는 주체이다. 동시에 프로세스가 병렬적으로 진행되는 동시성 프.. 2022. 6. 20. 이전 1 2 3 4 ··· 7 다음 반응형