Golang
-
Golang 기초[2]Go 2021. 4. 13. 00:10
다음과 같은 환경에서 작업한다. > example |--> main.go 1. Struct 사용하기 main.go package main import ( "fmt" ) type User struct { UserID string Password string } func main() { var user User user = User{ UserID: "아이디", Password: "패스워드", } fmt.Println(user) } {아이디 패스워드} type User struct : 구조체를 선언하는 방식이다 User는 구조체 이름을 뜻한다. 중괄호안에는 구조체의 내용이 들어가는데 변수의 이름과 타입을 순서대로 적는다. var user User var을 통해 변수선언을 해주는데 타입을 User로 한다. us..
-
Golang 기초 [1]Go 2021. 4. 12. 23:35
다음과 같은 환경에서 작업한다. > example |--> main.go 1. Go환경에서 프로그램 작동하기 Go는 기본적으로 package가 main인 파일에 main함수를 실행한다. 따라서 main.go에 package를 main으로 설정하고, main함수를 만들면 main의 첫줄부터 코드가 실행된다. main.go package main import "fmt" func main() { fmt.Println("Hello") } Hello package : 현재 파일의 패키지를 뜻한다. (main은 디렉토리 구조와 관계없이 main 패키지를 뜻한다.) import : 사용할 패키지(API 또는 다른 디렉토리에 내용을 사용하기위해 명시한다.)를 가져온다. fmt.Println : fmt패키지안에 Prin..
-
Golang - ORM(1) [7]Go 2021. 2. 7. 23:36
백엔드개발을 하다보면 데이터를 객체화해서 DB에 저장하는 일이 많다. 이 과정에서 DB에서 객체로 객체에서 DB로 변환해주는 과정을 거쳐야 된다. 이런 과정을 줄이고 정리하기위해 ORM이란걸 사용하게된다. ORM 이란? 객체 관계 매핑(Object-relational mapping; ORM)은 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법이다. 객체 지향 언어에서 사용할 수 있는 "가상" 객체 데이터베이스를 구축하는 방법이다. 객체 관계 매핑을 가능하게 하는 상용 또는 무료 소프트웨어 패키지들이 있고, 경우에 따라서는 독자적으로 개발하기도한다. golang에서도 orm을 사용할 수 있도록 해주는 api가 있다. (https://gorm.io/index.ht..
-
RaspberryPi로 Golang 서버만들기 - 회원관리 하기 (3) [6]Go 2021. 1. 6. 23:21
1. API 연결 //현재 패키지를 설정한다. main은 func main()이 있어야한다. package main //필요한 패키지를 import한다. import ( "fmt" "net/http" _ "github.com/go-sql-driver/mysql" "github.com/labstack/echo/v4" "myserver.com/user" ) func main() { //echo 생성 e := echo.New() // '/'로 GET으로 요청이 왔을때 응답을 설정한다.\ //user생성 API e.PUT("/user", func(c echo.Context) error { u := new(user.User) var err error err = c.Bind(u) fmt.Println(u) if e..
-
RaspberryPi로 Golang 서버만들기 - 회원관리 하기 (2) [6]Go 2021. 1. 6. 23:06
1. API 구조 . ├── db │ └── manager.go ├── go.mod ├── go.sum ├── main.go ├── user │ └── user.go └── vendor ├── github.com ├── golang.org └── modules.txt Package는 다음과 같이 구성했습니다. 데이터베이스를 쿼리하고 설정하는 코드는 db폴더에 manager.go에 구현하였고, user관련 비즈니스로직은 user폴더안의 user.go에 구현하였습니다. 따라서 요청이 왔을때 main -> user -> db 순서대로 요청이 가게 됩니다. 2. DB Manager package db import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) /..
-
RaspberryPi로 Golang 서버만들기 - 회원관리 하기(1) [6]Go 2021. 1. 6. 22:20
지금까지 세팅한 라즈베리로 회원관리 시스템을 만들어 보겠습니다. 먼저, DB설계를 하고, 이를 바탕으로 API를 구성해보겠습니다. 1. DB 설계 회원정보 이름 PK 타입 Nullable id * varchar(12) X password varchar(15) X email varchar(30) phone varchar(15) 2. SQL 테스트 데이터베이스 생성 CREATE DATABASE IF NOT EXISTS RASPBERRY_SERVER; 테이블 생성 CREATE TABLE IF NOT EXISTS `user` ( `id` varchar(12) NOT NULL, `password` varchar(15) NOT NULL, `email` varchar(30) DEFAULT NULL, `phone` v..
-
RaspberryPi로 Golang 서버만들기 - MariaDB 설치하기 [6]Go 2021. 1. 3. 21:16
1. 라즈베리파이에 아래 명령어로 MySQL을 설치합니다. apt-get update apt-get install mariadb-server 2. mysql 에 접속합니다. mysql -u root -p 초기비밀번호를 설정합니다. 3. localhost에서 접속할때 localhost를 허용해주어야 됩니다. # 마지막의 raspberry는 위에서 설정한 비밀번호이다. grant all privileges on *.* to 'root'@'localhost' identified by 'raspberry'; 4. mysql에 접속이 되면 설치가 완료되었습니다. 5. 데이터베이스 리스트를 확인합니다. show databases; 6. mysql 데이터베이스를 사용하고, 테이블을 확인합니다. use mysql; s..
-
RaspberryPi로 Golang 서버만들기 - Postman [5]Go 2021. 1. 3. 15:18
Backend개발을 하다보면 Http테스트를 할 일이 정말 많습니다. Http Request를 저장하고 테스트할 수 있는 툴이 있어서 소개 해보겠습니다. 툴 이름은 'POSTMAN' 입니다. https://www.postman.com/downloads/ Download Postman | Try Postman for Free Try Postman for free! Join 13 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster. www.postman.com 위 링크에서 설치하실 수 있습니다. 이툴의 장점은 로그인해서 다른 pc에서도 바로바로 저장된 req..