간단한 API 서버를 제외하고는 웹서비스의 전형적인 HTTP API server를 실무에서 개발한 적이 없다. 유튜브에서 Golang의 대표적인 web framework인 Gin을 이용한 좋은 강좌를 만나 이를 하나씩 따라하려고 한다. 다섯 번째로 미들웨어에 대해 알아본다. Playlist: Rest API in Golang using Gin Gonic: https://bit.ly/3hsZKbv YouTube. Grouping Rest API's in Golang using Gin: https://youtu.be/sh80Do4yIqA 구현해본 GitHub repo: https://github.com/nicewook/gin-gonic-study 이번 블로그 포스팅 소스코드: https://github.co..
간단한 API 서버를 제외하고는 웹서비스의 전형적인 HTTP API server를 실무에서 개발한 적이 없다. 유튜브에서 Golang의 대표적인 web framework인 Gin을 이용한 좋은 강좌를 만나 이를 하나씩 따라하려고 한다. 네 번째로 API들을 묶어서 그룹처리하는 방법을 알아본다. Playlist: Rest API in Golang using Gin Gonic: https://bit.ly/3hsZKbv YouTube. Grouping Rest API's in Golang using Gin: Grouping Rest API's in Golang using Gin 구현해본 GitHub repo: https://github.com/nicewook/gin-gonic-study 이번 블로그 포스팅 소..
간단한 API 서버를 제외하고는 웹서비스의 전형적인 HTTP API server를 실무에서 개발한 적이 없다. 유튜브에서 Golang의 대표적인 web framework인 Gin을 이용한 좋은 강좌를 만나 이를 하나씩 따라하려고 한다. 세 번째로 사용자의 아바타 파일을 올리면 그것을 저장할 수 있도록 하면서, uri와 form도 복습을 해보겠다 Playlist: Rest API in Golang using Gin Gonic: https://bit.ly/3hsZKbv YouTube: Post files to API server using Gin in Golang: https://youtu.be/M5KhqwOrBGc 구현해본 GitHub repo: https://github.com/nicewook/gin-g..
Photo by Alain Pham on Unsplash 구조체를 정의하고 잘 사용하고 있었는데 특정 필드의 타입이 변경이 된다면 어떻게 데이터를 옮길 수 있을까? 두가지 사례로 실제 코드를 통해 이해해 본다 TL;DR: 기존 구조체 인스턴스를 marshal해서 새로운 구조체 인스턴스로 unmarshaling 해주면, 타입이 달라 충돌이 나는 필드를 제외하고는 가져올 수 있ㄷ. 사례1. string to []string Playground: https://play.golang.org/p/erJmWKSowPy Foo 구조체 인스턴스를 Bar 구조체 인스턴스로 옮기려 한다. 여기서는 필드가 두 개 뿐이지만, 필드가 많다면 하나씩 일일이 옮기기 번거롭고 실수를 할 수 있다. // from type Foo st..
Photo by Alex Motoc on Unsplash HTTPS server를 운영할 때에 보안과 관련한 설정에 있어서 TLS version과 Cipher suite에 대해 정리해본다. 지나치게 깊이 들어가지는 않으면서도 전체적인 개념이해가 되는 방향으로 하였다. 큰 개념의 이해후에 각자가 필요한 만큼 좀더 파고들어갈 수 있겠다. 거친 개념정리 - HTTPS로 일단 연결이 되면 중간에 내용을 가로챈다 하여도 안전하다. 이 보안을 담당하는 녀석이 TLS이다. - 현재 시점(2021-09-27) TLSv1.3을 권장하며, 최소 TLSv1.2 이상을 사용하자. (다만 TLSv1.3은 모니터링에 제약이 있을 수 있다.) - HTTPS로 보안연결을 하는 작업이 TLS handshake이며 server와 cli..
간단한 API 서버를 제외하고는 웹서비스의 전형적인 HTTP API server를 실무에서 개발한 적이 없다. 유튜브에서 Golang의 대표적인 web framework인 Gin을 이용한 좋은 강좌를 만나 이를 하나씩 따라하려고 한다. 두 번째는 HTTP Client가 server로 보내는 data를 Gin Gonic에서 어떻게 받을 수 있는지 보겠다. Playlist: Rest API in Golang using Gin Gonic: https://bit.ly/3hsZKbv YouTube. How to bind data from request in Golang using Gin Gonic: https://youtu.be/OoNeWiJ1Ebk 구현해본 GitHub repo: https://github.co..
간단한 API 서버를 제외하고는 웹서비스의 전형적인 HTTP API server를 실무에서 개발한 적이 없다. 유튜브에서 Golang의 대표적인 web framework인 Gin을 이용한 좋은 강좌를 만나 이를 하나씩 따라하려고 한다. 첫 번째는 간단한 REST API 작성이다. Handler를 테스트하는 방법을 곁들였다. - 전체 Playlist: Rest API in Golang using Gin Gonic: https://bit.ly/3hsZKbv - 이번 포스팅 YouTube. Create basic rest API using Gin Gonic framework in Golang: https://youtu.be/xJ8ryXFobGA - Test를 위해 참고한 링크: https://kpat.io/2..
Photo by Alex Motoc on Unsplash AES-GSM 알고리즘을 이용할 때에 nonce를 포함시키거나 aditional data를 추가시키는 경우를 알아보았다. 블로그 포스팅 링크: https://jusths.tistory.com/232 그 중에서 additional data를 활용하여 보안을 강화시키는 방법 하나를 공유해 본다. 더욱 널리쓰이는 활용법이 있는지 모르겠으나 (있다면 알려주시면 많은 공부가 되겠습니다). 렇게 사용할 수도 있다는 예로서 보면 되겠다. additional data를 쓰지 않는 상황 Device A에서 data를 만들었는데 Device B에서도 쓰고 싶다. 하지만 보안상 안전해야 한다. 상황: 서버와 디바이스들 사이에는 HTTPS(TLS)를 이용하여 통신상의 ..
Photo by Alex Motoc on Unsplash 가장 널리 쓰이는 대칭키 암호화 알고리즘중 하나인 AES(Advanced Encryption Standard)에 대해 간략히 알아보고 실제 Golang 코드를 들여다 보자 개요 비밀키 하나로 메시지를 암호화하고 다시 원래 메시지로 복호화 하는걸 대칭키(symmetric) 방식이라고 한다. 그 중에서도 현 시점 보안성과 성능을 충분히 만족하는 녀석이 AES라고 보면 되겠다. AES-128, AES-192, AES-256 그런데 AES는 비밀키(secret key)의 길이(= 비트수)로 128, 192, 256으로 나눌 수 있다. AES-128만으로도 충분히 보안이 우수하지만 AES-256이면 보안성은 더욱 나으면서도 성능도 나쁘지 않으니 성능에 매우..
Photo by Markus Spiske on Unsplash Go언어로 HTTP API server를 만들어보려 한다. 두 개의 endpoint를 가지는데 /signup은 사용자 추가, /signin은 로그인 시도에 사용한다. 포스팅의 핵심 의도는 bcrypt 알고리즘을 이용해서 안전하게 password를 저장하고, 로그인을 할때에 password가 맞는지 확인하는 것을 정리하는 것이기에 사용자 추가시 이미 사용중인 username인지 등등 세부적인 구현은 생략하였다. Bcrypt란 참고링크: https://jusths.tistory.com/158 비밀번호를 위해 특화된 해시 알고리즘중의 하나이며 가장 보편적으로 쓰이는 알고리즘이다. 비밀번호용 해시 알고리즘의 특징은, 일반적인 SHA2 등에 비해서 해..
- Total
- Today
- Yesterday
- 오블완
- 제이펍
- ChatGPT
- websocket
- 2023
- 인텔리제이
- Gin
- solid
- 독서후기
- golang
- 엉클 밥
- OpenAI
- go
- 티스토리챌린지
- clean agile
- 노션
- 체호프
- strange
- 영화
- 잡학툰
- intellij
- 독서
- bun
- github
- notion
- API
- 클린 애자일
- folklore
- Bug
- agile
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |