기초 7

Go와 Gin Framework 를 사용한 게시판 만들기 (1) - 시작하기

목표는 간단한 기능을 가진 게시판 API를 제작하는 것이다. 프론트는 안붙일건데, 이유는 귀찮아서이다 하핫 먼저 처음부터 막 진행하기는 좀 곤란하니까, Go에 Gin Framework를 붙이고 이를 확인하는 것까지 해보려고 한다. 프로젝트 만들기 Go를 통해 간단한 Get API를 만들 예정이다. 먼저 개인 폴더(chan_personal_go)를 만들어 준다. 그리고 그 아래에 main.go 폴더를 만들고, controller를 관리해줄 controller 폴더를 생성한다. 이후 해당 폴더 아래에 controller.go 파일을 생성한다. go는 기본적으로 main.go를 동작시킨다. 이제 메인을 작성해줄 것이다. main.go 작성 package main import ( "github.com/gin-g..

terraform의 workflow 기초

Terraform 기초 HashiCorp라는 회사에서 만든 솔루션이다. 이는 인프라를 구축,변경,버전관리를 하기 위한 도구로서 코드로 인프라를 관리할 수 있게 해준다. 코드가 곧 인프라가 되고, 인프라를 코드로 설명할 수 있어야 한다는 것이다. Provisioning Day0, Day1, Day2 이런 식으로 설명한다. Day0 요구사항 분석, 어떤 아키텍쳐를 설계할지에 대한 트레이닝 과정 Day1 설계된 아키텍쳐의 구현 인프라, 네트워크 서비스 구현 등이 여기서 이루어진다. Day2 Day1에서 구성된 요소들을 관리하고, 유지보수하고, 새로운 요청이 있으면 새로운 아키텍쳐를 구성하는 등의 반복 작업을 여기서 수행해준다. Day1을 통해서 인프라 구성 완료를 했다고 가정해 보자. 그리고 이후 Day2에서..

Golang의 기초

Go언어에 관하여 Go의 역사 GO언어는 2009년에 Google에서 만들어진 오픈 소스 프로그래밍 언어이다. 그리고 GO는 UTF-8을 기본 문자로 갖는다. Go의 특징 pakage Go는 1개의 main package와 여러 개의 다른 package를 가지고 있다. 원하는 기능을 가진 package를 가져와서 사용하면 된다. main은 시작점이기 때문에 따로 설정해 줄 수 없고 단 한개만을 사용한다. fmt는 function의 약자이다.(un -> m) fmt는 함수를 정의하기 위해 사용한다. 변수 변수란 값을 저장하는 메모리 공간을 가리키는 이름이다. 값을 저장하는 공간은 크게 하드디스크, memory 두개로 나뉜다. 하드디스크는 느리지만 프로그램이 종료되어도 데이터가 유지된다. memory는 빠르..

Golang - 고랭 이란??

프로그래밍 언어 프로그램이란? 원하는 명령을 원하는 순서대로 실행될 수 있도록 적어 놓은 문서를 뜻한다. 프로그래밍은 어떠한 명령을 실행할 때에 결국 컴퓨터 언어로 실행하게 된다. 정적 컴파일 언어, 동적 컴파일 언어 이 컴퓨터 언어로의 변환 시점에 따라 정적 컴파일 언어와 동적 컴파일 언어로 나뉘게 된다. 정적 컴파일 언어 C, C++, Go 정적 컴파일 언어는 Code를 실행하기 전에 미리 기계어로 변환시킨다.(실행 파일 생성) 이 방식의 장점은 미리 기계어로 변환시켜두었기 때문에 한번 변환하게 되면 속도가 빠르게 사용할 수 있다. 동적 컴파일 언어 JS, python 등등.. 추가로 Java가 동적 컴파일 언어라고 나와있어서 이상해서 찾아 보았는데, java는 동적/정적의 특성을 모두 가지고 있는 ..

Git - Github decktop을 통해 협업하기!!

Git - Github decktop을 통해 협업하기!! 디프만을 통해 최근 프로젝트를 진행하고 있고, 혼자서 공부하던 것에 비해 적용해야 할 것이 많았다. 동아리를 통해 여러 방법을 통해 다른 사람들과 협업하는 것에 배울 수 있었는데, 이 내용에는 Notion, Slack, Kanban등 많은 것들이 있지만 이번에는 Git에 관한 것을 중점적으로 다루려 한다. 공통 개발 저장소 만들고 함께 사용하기 나는 백엔드 팀의 일원이고 동일한 백엔드 직무의 사람들과 함께 개발을 진행해야 한다. 그렇기 때문에 여러 백엔드 팀원이 하나의 프로젝트를 관리하기 위해 공통 개발 저장소를 사용해야 한다. 먼저 함께할 repository를 만든다. 참고로 동아리에서는 이미 동아리 명의로 되어있는 Organizations이 있..

기타 2022.06.12

Entity, DTO의 차이와 사용 이유, 개념

Entity, DTO가 뭐지? 분리해서 쓰라고? 개인적으로 생각할 때에 처음 Spring boot를 배울 때 가장 개념이 잡히지 않는 것들 중 하나가 DTO, Entity일 것이라 생각한다. 특히 처음에 볼 때는 걍 Entity를 쓰니까 다 되는데 왜 굳이 이거 두개를 나누지? 라는 생각을 할 수도 있을 것이라 생각한다. 이 글에서는 이 두 가지의 간단한 개념과 나누는 이유, 사용 방법에 대해 기술한다. Entity란? Entity란 DB의 테이블에 존재하는 Column을 필드로 갖는 객체이다. 여기서 중요한 점은 DB테이블과 관련이 있다는 점이다. 즉, Entity는 DB테이블과 소통하는 데에 사용하는 것이다. DTO란? Data Transfer Object라는 뜻이다. DTO는 계층 간 데이터 교환을..

이론 정리/java 2022.02.28

GraphDB - Neo4j의 기초, 정의

해당 내용은 https://neo4j.com/graphacademy/online-training/ 사이트를 참조하여 작성하였습니다. neo4j 기초 Neo4j의 Grah구성 Nodes Vertex Object와 entities를 표현한다. Node는 반드시 Labels와 Properties를 가질 필요는 없지만, 실제로 구현해 보면 최소 하나씩의 label과 properties를 갖게 될 것이다. Labels Label은 정보를 카테고리화해준다. 예를 들어 이 곳에서 Node는 두개의 Person과 한개의 Car로 category화 되어 있다. 그리고 여기서 labels는 Node를 분류할 수 있도록 해 주었지만, 특정한 정보를 제공하지는 않고 있다. Properties Nodes의 특정 정보를 제공한다..