🤔 클라우드 서버에 배포
개요 이전 프로젝트들을 배포하며 과정을 기록하려 한다. 👉Spring Project (쇼핑몰) WAR 파일로 빌드 Eclipse라면 Export를 WAR로, STS라면 프로젝트 우클릭 -> Run as -> Maven Clean, Maven Install 클라우드 서버에 톰캣을 설치 나는 vultr을 통해서 클라우드 컴퓨팅을 했다...
개요 이전 프로젝트들을 배포하며 과정을 기록하려 한다. 👉Spring Project (쇼핑몰) WAR 파일로 빌드 Eclipse라면 Export를 WAR로, STS라면 프로젝트 우클릭 -> Run as -> Maven Clean, Maven Install 클라우드 서버에 톰캣을 설치 나는 vultr을 통해서 클라우드 컴퓨팅을 했다...
JWT는 유저를 인증하고 식별하기 위한 Token 기반 인증이다. 토큰 자체에 사용자의 기본 정보 또는 Auth가 포함된다. JWT의 구조 JWT는 Header, Payload, Signature로 구성된다. 각 요소는 .으로 구분된다. Header JWT에서 사용할 Type(typ)과 해시 알고리즘(alg)의 종류가 담겨있다. { "t...
개요 이번에 예전에 만든 golang 웹 프로젝트를 리팩토링하며 웹 프레임워크를 사용하려 했다. Java -> Spring Python -> Django 처럼 다른 언어들은 절대적인 프레임워크가 있지만, go는 비슷한 편의성의 프레임워크가 있어 상황에 맞게 선택해서 개발하게 된다. Why Echo? 깃허브에서 go의 web frame...
개요 Robert C. Martin의 Clean Architecture를 읽고, 나름의 이해를 위한 노력과 실제 프로젝트에는 어떻게 적용할 것인지에 대한 고민에 대해 포스팅하려 한다. (정리와 별개로 개인적인 생각이 들어있어 틀린 부분이 있을 수 있습니다.) (다른 점에 대해서는 의견을 공유해보고 싶습니다!!) The Clean Architec...
예전에 업무보고 관리 (BSMG)라는 토이프로젝트를 진행했었다. golang과 친해지기 위해 진행했던 작업물이었는데, 다시 보니 너무 중구난방이라 이참에 공부하는 마음으로 Refactoring을 해보고자 했다. 💡 변경점 코드의 모듈화 이전 코드는 handler에서 DB에 쿼리 전달 코드까지 한 곳에 몰빵했었다. 이전 코드 ...
프로젝트를 리팩토링 하려 하는 중에 발견한 에러를 기록하려 한다. Gorm MariaDB 연결 에러 DB.Close , HasTable()등 편리한 기능을 제공해주는 github.com/blue1004jy/gorm 으로 gorm을 변경하는데 Open이 안되는 이슈가 있었다. 에러 내용 dbm.DB, err = gorm.Open("mysql", ...
이번 포스팅의 주제는 Channel이다. 👉Channel 채널은 고루틴끼리 메세지를 전달할 수 있는 메세지 큐이다. 멀티 스레드환경에서 Lock없이 쓸 수 있다! (Thread-Safe) var messages chan string = make(chan string, 3) messages <- "This is a message" // 송신 v...
이번 포스팅의 주제는 Go Routine이다. 👉Thread 스레드는 프로세스의 흐름을 의미한다. 하나의 프로세스에 여러 개의 스레드를 가지면 멀티 스레드라 한다. CPU 코어 1개에 스레드를 빠르게 전환해가며 연산하는 것.(커널 레벨) 스레드 전환에는 비용이 발생한다. (Context Switching...
이번 포스팅의 주제는 자료구조다. 👉자료구조 자료를 어떤 형태로 저장할 것인지를 나타낸다. 자료구조에는 크게 배열, 리스트, 트리, 맵 등이 있다. 리스트 배열과 함께 가장 기본적인 선형 자료구조이다. 선형 : 하나의 데이터의 다음 데이터는 하나만 있는 것. 비선형 : 하나의 데이터의 다음 데이터가 여러 개 (트리 등) type Elem...
Golang의 문법중 부족했던 부분들만 따로 요약하여 포스팅하려한다. 이번 포스팅의 주제는 함수다. 👉함수 가변 인수 함수는 … 키워드를 사용하여 가능하다. func add(nums ...int) { // nums는 슬라이스로 취급된다. sum := 0 for _, val := range nums { sum +=...