개요 공식 사이트의 소개를 둘러 보았음. 특히나 Encoding 부분이 재미있었음 - https://developers.google.com/protocol-buffers Overview "Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data." - 구조화된 데이터를 직렬화하는, 확장가능한 매커니즘이며, 프로그래밍 언어, 플랫폼에 무관하게 사용할 수 있다. Developer Guide 링크: https://developers.google.com/protocol-buffers/docs/overview Serialize 하고픈 정보를 .proto 파일에 정의하면 된다..
개요 Protocol Buffers 와 grpc 를 공부해보고자 한다. justforfunc 라는 유튜브를 통해서 대략의 개요와 함께 실전 코드로 감을 잡을 수 있겠다. YouTube: justforfunc #30: The Basics of Protocol Buffers: https://youtu.be/_jQ3i_fyqGA GitHub: https://github.com/campoy/justforfunc/tree/master/30-protobuf justforfunc #30: The Basics of Protocol Buffers: https://youtu.be/_jQ3i_fyqGA justforfunc #31: gRPC Basics: https://youtu.be/uolTUtioIrc justforfu..
개요 코딩 인터뷰 문제이다. 정리를 통해 확실히 이해하고, 이를 Golang 으로 구현해본다. 참고 링크: https://www.geeksforgeeks.org/count-ways-reach-nth-stair/ 참고 유튜브: https://youtu.be/5o-kdjv7FD0 문제 정의 1) N 개의 계단을 1칸, 혹은 2칸 단위로 오를 수 있다고 할 때에 오를 수 있는 방법의 개수는 몇 개인가? 예를 들어 N = 4개의 계단이라면 5개의 방법이 있다. 1) {1, 1, 1, 1} 2) {2, 1, 1}, {1, 2, 1}, {1, 1, 2} 3) {2, 2} 2) 좀더 일반화 하..
개요 지난 번 계란 2개, 100층 건물이 주어졌을때의 The Two Egg Problem 을 풀어보았다. - 링크: https://jusths.tistory.com/117 이번에는 임의의 계란 개수 e, 건물층수 k 일때의 해법을 찾아보자. 참고 링크: https://www.geeksforgeeks.org/egg-dropping-puzzle-dp-11/ 문제 계란이 깨지지 않는 특정 층 수를 알아내는 최적의 투척 횟수를 찾아내는 것이다. 떨어뜨려도 깨지지 않으면, 다시 던질 수 있다. 계란, 건물은 상징적인 것이다. 물리적인 고려가 아닌 수학적인 관점에서 풀 것. 문제에 대한 접근 egg 개의 계란이 있는 상황에서 floor 층 건물의 n 층에서 계란을 던지면 1) 깨지거나 2) 안깨질거다. 1) 깨지..
개요 아래 링크를 참고하여 Dynamic Programming 이 뭔지 알아보자. 유튜브 링크: https://youtu.be/vYquumk4nWw 유튜브 내용 피보나치 수열은 재귀 함수를 이용하여 값을 구할 수 있는 대표적인 경우이다. 이때 문제는 Recursion 을 사용하면 중복된 연산이 반복된다는 것이다. 불필요한 반복, 중복을 짱 싫어하는게 개발자이다. 일단은 Recursion 으로 피보나치 수열의 답을 알아보고, Memoize 와 Bottom-up 방식으로 문제를 풀어가보자. 1. Recursion: 재귀적으로 문제를 해결 2. Memoize: Top-down 방식으로 볼 수 있다. Memorize 가 아님에 주의 3. Bottom-up: 아래에서 부터 차근차근 올라감. 재귀적 호출을 사용하지..
개요 실제 프로젝트의 일부를 떼어와서 구현중인데, 이때 local의 모듈들을 import 해서 사용하려 한다. 하나씩 순서대로 해보며 정리하겠다. * 실제 프로젝트를 기반으로 하는지라 포스팅에서는 이름을 바꾸어서 정리함. 단계1. 구조 잡기 - 실제로 구현을 하려는 녀석는 mymodule 모듈이다. - 각각 폴더마다 다른 모듈들이 있으며, 각각의 모듈은 하나의 패키지로 구성되어 있으며 - 하나의 패키지는 하나 이상의 Go source file 로 이루어져 있다. +---common | +---constants | +---types | +---message | +---queue +---log +---mymodule 왼쪽과 같은 폴더 구조를 가지고 있으며, 각각의 모듈명은 아래와 같다. (폴더 명과 같도록 ..
개요 1) Go Modules Wiki 의 일부를 세세히 들여다보자 2) Local Module 이라는 표현이 적절한지는 모르겠으나 Go Modules 기능을 통해 Local Path 에 있는 Module 들을 import 하고 사용할 수 있도록 해보자 참고링크 - Golang Wiki: https://github.com/golang/go/wiki/Modules - stackoverflow1: http://bit.ly/2VyG3Sr - http://bit.ly/2VB69Er (참고) Package 와 Module Module 이 더 큰 개념이다. 관련이 있는 Go Package 들을 모아서 하나의 유닛처럼 버저닝 해주는 것이다. 사용된 각각의 Package 들의 정확한 버전정보들을 기록해 두기에 depe..
개요 지난번 포스팅에 이어 실제 코드 구현을 해보자 - 실제구현은 "권경모"님과 함께 하였다. 덤으로 Constant time comparison 에 대해서도 알아보자 . (참고) 현재까지 관련 포스팅 모음 - Slack slash command: Verifying requests from Slack: https://jusths.tistory.com/75 - Golang: Github - Travis-CI - Heroku: https://jusths.tistory.com/69 - Slack slash command + Golang server: https://jusths.tistory.com/72 - Slack slash command 는 무얼 보내주는 걸까: https://jusths.tistory.c..
개요 Slack slash command 가 메시지를 보내올때에, 그것이 Slack 에서 보내온 것인지 검증해보자. 링크: https://api.slack.com/docs/verifying-requests-from-slack (참고) 현재까지 관련 포스팅 모음 - Golang: Github - Travis-CI - Heroku: https://jusths.tistory.com/69 - Slack slash command + Golang server: https://jusths.tistory.com/72 - slack slash command 는 무얼 보내주는 걸까: https://jusths.tistory.com/73 Signing secret Slack 에 앱을 등록하면 Slack 은 unique 한 ..
개요 원문: https://dave.cheney.net/2014/03/19/channel-axioms 참고링크 - channel 의 초기값 nil 은 무쓸모일까? https://goo.gl/K72ZNU Axioms 란 공리라고 쓰는게 맞겠지만 자명한 이치라고 풀어써본다. 자명하다는 건 따로 설명이나 증명할 필요조차 없다는 것을 말한다. 따라서, 여기서는 Golang Channel 의 그야말로 자명한 이치를 알아보는 것이다. → 번역에 가까운, 원문을 나 자신이 이해하고 정리하며 쓰는 글이다. 개발자가 막연히 받아들이는 채널의 개념 1) 값들이 들어오고 나가는 Queue 2) Channel 이 꽉 차거나, 비어 있으면 블록된다. - 꽉 차있는데 넣으려 하거나, - 비어있는데 빼내려 하면 코드의 그 부분에서..
- Total
- Today
- Yesterday
- solid
- go
- 독서후기
- ChatGPT
- clean agile
- intellij
- API
- OpenAI
- 엉클 밥
- 2023
- 오블완
- 클린 애자일
- bun
- 영화
- github
- 티스토리챌린지
- Bug
- 제이펍
- agile
- strange
- Gin
- golang
- 노션
- 체호프
- websocket
- 잡학툰
- 인텔리제이
- notion
- folklore
- 독서
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |