반응형
Golang init() 사용법 및 주의 사항
백엔드/Golang2024. 5. 16. 23:48Golang init() 사용법 및 주의 사항

Golang Init의 기본 순서Init 함수는 기본적으로 Application의 상태를 정의하기 위해서 사용합니다.어떠한 Argument를 받거나 return 값을 제공하지도 않습니다.패키지가 처음 불려지면 그때 모든 상수나 변수가 계산되고 그 이후에 Init() 함수가 실행됩니다. 간략하게는 아래 순서로 실행됩니다.import --> const --> var --> init() 조금 더 자세히 설명하자면 아래와 같습니다.만약 패키지가 다른 패키지를 import하면, import한 패키지의 init() 및 initialize 과정이 먼저 실행됩니다.현재 패키지의 constant가 initialize 됩니다.현재 패키지의 variable이 initialize 됩니다.최종적으로 현재 피키지의 init() ..

우리 프로젝트에서 Golang DB 처리 시에 GORM을 사용 해야 하는 이유
백엔드/Golang2024. 5. 1. 11:37우리 프로젝트에서 Golang DB 처리 시에 GORM을 사용 해야 하는 이유

제가 현재 회사에서 개발중인 제품에서 사용하는 Language는 Golang입니다.기존에는 제품에 DB를 도입할 필요가 없었다가 최근에 DB 도입을 하게 되었습니다.DB를 개발자들이 잘 다루기 위한 방법이 필요했는데요. 그 중 찾아낸게 바로 GORM 이었습니다. GORM을 쓰는 근거와 그것을 정리하는 Architecture Decision Record를 작성을 해보려고합니다. GORM 사용시의 장점1. 개발 효율성 관점 1) 테이블 Creation SQL관리가 필요없습니다. Go의 구조체를 테이블로 관리하면 됩니다. 우리 프로젝트에서는 각 서버에 DB를 직접 생성해서 작업을 하기때문에 아래와 같은 Table Creation SQL 코드도 관리해야하고 이를 Golang의 Type들과 datatype syn..

Typescript vs Javascript 간단 비교 - Typescript를 중심으로
백엔드/NodeJS | Typescript2024. 3. 6. 22:32Typescript vs Javascript 간단 비교 - Typescript를 중심으로

Typescript vs Javascript 비교하기 1. Typescript는 Javascript의 모든 기능을 제공합니다. (Super set) 2. Typescript는 Javascript에서 더 많은 기능을 지원합니다. Typescript라는 이름에 걸맞게 주로 type과 관련된 개선점이 주요 추가 기능입니다. 2.1 변수에 타입을 지정할 수 있습니다. (Javascript는 할 수 없습니다.) weight와 height라는 변수를 선언할때 각 변수를 number로 타입을 정의했습니다. let weight : number = 80; let height : number = 176; 2.2 타입을 새로 만들 수 있습니다. 1. Centimeter라는 number에 해당하는 type을 정의하고 2. h..

Typescript - TypeORM 적용
백엔드/NodeJS | Typescript2023. 12. 25. 11:22Typescript - TypeORM 적용

필요 배경 지식 Typescript Prerequisite TypeORM 라이브러리 TypeORM이란? TypeORM은 TypeScript와 JavaScript (ES7, ES6, ES5)를 위한 ORM(Object-Relational Mapping) 라이브러리입니다. 이 라이브러리는 SQL 데이터베이스를 객체지향적으로 조작할 수 있게 해주며, Node.js 환경에서 주로 사용됩니다. 결국 TypeORM은 DB 쿼리문에 대한 직접적인 조작없이 객체지향적으로 DB 조작을 할 수 있게 도와주는 라이브러리다. 그래서 이를 잘 활용하면 코드의 가독성을 올리고 유지보수를 쉽게 할 수 있다는 장점이 생긴다. TypeORM의 권장 디렉토리 구조 Entity Layer - 데이터 베이스 테이블을 클래스로 표현 엔티티는..

Typescript - TypeORM 사용해서 DB 쿼리하기
백엔드/NodeJS | Typescript2023. 12. 13. 22:27Typescript - TypeORM 사용해서 DB 쿼리하기

이전 내용 관련 참고자료 2023.12.09 - [프로젝트/Github Rest API로 프로젝트 관리하기] - Repository 정보 크롤링 및 알림 서비스 구현 요구사항 정리하기 2023.11.26 - [백엔드/Typescript] - Typescript 컴파일 설정 - tsconfig.json Prerequisite Typescript 기본 엔트리 파일 컴파일 및 실행 방법 Typescript - Postgresql 연결 사용법 - pg 라이브러리 설치하기 PostgreSQL DB 스키마 작성 방법 1. TypeORM 및 Reflect-metadata 설치 npm install typeorm --save npm install reflect-metadata --save npm install [DAT..

Typescript 프로젝트의 naming convention
백엔드/NodeJS | Typescript2023. 12. 7. 21:46Typescript 프로젝트의 naming convention

Enforcing a naming convention keeps the code base consistent and reduces overhead when thinking about how to name a variable. We recommend the following: Use camelCase for variable and function names.Use PascalCase for class names and interface names.Use camelCase for interface members.Use PascalCase for type names and enum names.Name files with camelCase (for example, ebsVolumes.tsx or storage...

Typescript 이해하기 - Async/Await 이해하기
백엔드/NodeJS | Typescript2023. 11. 28. 21:20Typescript 이해하기 - Async/Await 이해하기

2023.11.28 - [백엔드/Typescript] - Typescript 이해하기 - 제너레이터 이해하기 2023.11.27 - [백엔드/Typescript] - Typescript 이해하기 - Promise 이해하기 필요 배경 지식 TypeScript Promise 개념 이해 TypeScript Generator 개념 이해 Prerequisite TypeScript 컴파일 환경 구축 Async/Await Async와 Await의 기본적인 규칙은 다음과 같다. 1. async 는 항상 await 과 항상 같이 사용된다. 2. await은 async function 안에서만 사용된다. 3. function 앞에 async를 붙이면 해당 함수는 항상 Promise를 Return 한다. Promise가 아..

Typescript 이해하기 - 제너레이터 이해하기
백엔드/NodeJS | Typescript2023. 11. 28. 00:19Typescript 이해하기 - 제너레이터 이해하기

2023.11.26 - [백엔드/Typescript] - Typescript 컴파일 설정 - tsconfig.json 2023.11.26 - [백엔드/Typescript] - Typescript 변수 타입 2023.11.27 - [백엔드/Typescript] - Typescript 이해하기 - Promise 이해하기 필요 배경 지식 TypeScript 변수 작성 TypeScript Iterator 인터페이스 Prerequisite Typescript 컴파일 환경 제너레이터 문법 제너레이터 함수의 문법은 function * 으로 작성한다. 제너레이터 함수는 호출 중에 제너레이터 객체를 리턴한다. 제너레이터 객체는 iterator 인터페이스를 따라간다. (next, return 그리고 throw 함수가 있다..

Typescript 이해하기 - Promise 이해하기
백엔드/NodeJS | Typescript2023. 11. 27. 22:54Typescript 이해하기 - Promise 이해하기

2023.11.26 - [백엔드/Typescript] - Typescript 컴파일 설정 - tsconfig.json 2023.11.26 - [백엔드/Typescript] - Typescript 변수 타입 필요 배경 지식 Typescript의 기본 변수 선언, 함수 선언 등에 대해서 알고 있어야 합니다. Prerequisite Typescript 컴파일 환경 세팅 Promise가 무엇인가 Promise 의 주요 목표는 동기식 스타일 에러처리를 비동기 / 콜백 스타일 코드로 가져오는것이다. (?) 같은 코드에 대해서 동기식 코드는 다음과 같이 순서대로 이해하기가 쉬울것이다. function loadJSONSync(filename: string) { return JSON.parse(fs.readFileSyn..

Typescript 변수 타입
백엔드/NodeJS | Typescript2023. 11. 26. 15:40Typescript 변수 타입

2023.11.26 - [백엔드/Typescript] - Typescript 컴파일 설정 - tsconfig.json 필요 배경 지식 프로그래밍 언어의 기본 데이터 타입 any 타입 any 타입을 사용하는 이유 기본적으로 Javascript가 변수에 어떤 값이든 재할당 가능하다. (기본적으로 any 타입으로 정해져있다고 보면 될듯.) 다만, 그런 단점을 해소하기 위해서 Typescript는 명시적으로 데이터 유형을 설정해서 정적 형 지정 언어로 타입을 지정해 사용하는것이 권장된다. 그러면 Typescript에서 any 타입을 지원하는 이유는 뭘까? 어플 개발시에 어떤 타입을 할당해야할 지 모르는 경우도 있다. 다음과 같은 경우다. 외부 라이브러리를 사용하는 경우 동적 콘텐츠를 사용하는 경우 ///////..

반응형
image