golang은 소스코드를 기계어로 번역하여 실행파일을 만들어내는 언어임, 빠른 컴파일 속도를 가짐런타임은 '프로그램이 실행되고 있는 환경' 또는 '프로그램 실행을 도와주는 백그라운드 시스템'을 의미일반적인 Java나 JavaScript 같은 언어는 PC에 런타임을 설치
아래 명령어로 설치 및 버전 확인go 1.11 버전부터 모듈이 도입되어서 간결한 개발 환경 제공함따라서 GOPATH나 GOBIN를 직접 지정하지 않아도 기본적으로 ~/go 폴더를 사용하도록 설계됨GOBIN의 경우 비어있지만 자동으로 GOPATH 뒤에 /bin을 붙여서
기본적으로 모두 소문자 사용하거나 snake_case 사용함.일반 파일명: ex) server.go, user_manager.go테스트 파일명: 테스트하려는 원본 파일명 뒤에 \_test.go를 붙여야함. ex) server_test.go변수명은 기본적으로 camelC
포인터: 데이터가 저장된 메모리 주소를 담는 변수를 의미메모리 주소: 데이터가 저장된 메모리의 주소인스턴스: 구조체에 실제 데이터 값을 담은 데이터 덩어리\*이 int, string 같은 타입 이름 앞에 붙을 때 포인터 타입을 의미함.이는 해당 타입의 데이터의 메모리
익명함수는 단어 뜻 그대로 이름을 적지 않고 정의한 함수를 의미함.일회성으로 사용하거나 특정 로직을 변수에 담아두고 싶을 때 사용고차함수는 함수 자체를 일반 데이터처럼 주고받는 함수를 의미함.아래 두가지 조건 중 하나라도 만족하면 고차함수라고 부름.하나 이상의 함수를

참고https://adjh54.tistory.com/97https://velog.io/@yyjjvv/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC%9E%84프로
관계형 데이터베이스 RDBMS(Relational Database Management System)는 행과 열로 구성된 표 형태로 데이터를 저장하는 시스템데이터 중복을 최소화(정규화)하고 데이터의 무결성을 보장테이블을 의미 단위로 쪼개고 키를 통해 연결핵심 키로는 기본
1. SQLite 한계 SQLite는 애플리케이션에 내장되어 직접 파일을 읽고 쓰는 방식으로 동작. 이로 인해 아래와 같은 한계 발생. File Lock 기반 동시성 제어: 기본 저널링 모드(Rollback Journal)에서는 쓰기 작업이 시작되면 파일 전체에 Loc
채널은 데이터를 주고 받을 수 있는 통로임. 이 포스팅에서는 버퍼 없는 채널의 작동 방시에 대해 작성함.버퍼 없는 채널의 경우 데이터 주는 것과 데이터를 받는 것이 정확히 같은 시간에 이루어져야 함. 이 특성으로 쌍방향 무한 대기(blocking) 상태가 나타남.ch
타입(type): Go에서 type 키워드를 사용하여 기본 타입 재정의 또는 구조체 정의를 할 수 있음.기본 타입 재정의(커스텀 타입): type Won int 처럼 재정의 할 수 있음. 다른 타입과 대입이나 연산이 금지(int와 Won 타입을 가진 변수끼리 연산X),
type A B 와 같은 형식으로 커스텀 타입(완전히 새로운 타입)을 만들 때 사용완전히 새로운 타입 생성: 기존 타입(B)의 형태를 빌려오지만, 컴파일러는 이를 완전히 다른 새로운 타입(A)으로 취급.형변환(Casting) 필수: 근본이 같은 타입이더라도, 다른 타입