NestJS로 효율적인 백엔드 개발하기 (04) - 서비스 사용하기
·
NestJS/개념과 구조 정리
nest/cli 명령어로 service.ts 만들기이전에 nest g resource users 명령어를 사용하여 프로젝트를 셋팅 했다면 service.ts가 있지만 혹시라도 없는 경우에는 하단의 명령어를 통해서 service.ts를 셋팅하도록 하자nest g service users인터페이스 생성잠시동안 users 타입으로 데이터를 받아줄 인터페이스를 생성한다. 아래의 명령어를 터미널에 입력하자.nest g interface users그리고 인터페이스가 생성이 되면 아래와 같이 타입을 지정해주자.export interface Users { name: string; age: number; job: string;}service.ts 설정import { Injectable } from '@nestjs/..
NestJS로 효율적인 백엔드 개발하기 (03) - 컨트롤러 사용하기
·
NestJS/개념과 구조 정리
컨트롤러(controller)란?NestJS의 컨트롤러는 HTTP 요청을 받아 처리할 메서드로 연결하고, 서비스의 실행 결과를 클라이언트에게 돌려주는 역할을 한다. URL 경로와 HTTP 메서드를 매핑해 애플리케이션의 라우팅을 담당하는 핵심 요소이다.시작 전 셋팅nest g resource users시작 전 위의 명령어를 실행하여 users를 만들어준다.@Getimport { Controller, Get } from '@nestjs/common';@Controller('users')export class UsersController { @Get() findUser(): string { return 'find user page'; }}@Controller('users')를 통해서 localhos..
NestJS로 효율적인 백엔드 개발하기 (02) - 컨트롤러, 서비스, 모듈
·
NestJS/개념과 구조 정리
기본설명Nest는 타입스크립트와 순수 자바스크립트 모두와 호환 됨순수 자바스크립트와 함께 사용하려면 Babel 컴파일러가 필요함25년 12월 기준 Node.js(20) 이상의 버전이 설치되어 있는지 확인이 필요디렉토리 확인하기이전에 01번 포스트에서 정상적으로 진행했다면 보일러플레이트가 정상적으로 설치되었을 것이다. 그리고 src 폴더를 열어본다.보일러 플레이트란?컴퓨터 프로그래밍에서 "보일러플레이트"는 각종 프로젝트의 기본이 되는, 재사용될만한 소스 코드 기반을 의미합니다. 프로젝트를 시작할 때마다 기본이 될만한 세팅들을 매번 넣어준다면 초기 준비 시간이 많이 소요될 수 있기 때문에, 자주 사용되는 "상용구 코드"를 미리 프로젝트화 하여 제작해두는 것입니다. 여러 회사들은 각자 사내에서 주요 기술이라고..
NestJS로 효율적인 백엔드 개발하기 (01) - nest/cli 설치
·
NestJS/개념과 구조 정리
시작Express로 백엔드를 작업하면서 자유도가 높다는 장점을 경험했다. 혼자 작업할 때는 매우 편리했지만, 팀 프로젝트에서는 이 자유도가 오히려 단점으로 작용하기도 했다. 규격과 구조를 어느 정도 정리하지 않으면 협업에서 불편한 상황들이 만들어졌다. 그래서 이후에는 SpringBoot로 옮겨 개발했다. 스프링부트는 큰 규모의 프로젝트에서 안정적이고 구조화된 개발을 지원해, 팀 환경에서 훨씬 효율적임을 느꼈다. 하지만 한 가지 프레임워크에만 의존하다 보니, 프로젝트 상황에 따라 유연하게 대응하기 어렵다는 한계도 있었다. 이러한 경험을 통해, 백엔드 개발자라면 한 프레임워크나 언어에 얽매이지 않고 상황에 맞는 기술을 선택할 수 있어야 한다는 생각을 하게 되었다.Nest CLI 설치하기설치 전 확인 - 25..
자바에서 int[] ↔ List<Integer> 변환 (for문은 이제 그만...)
·
Java/정리
느꼈던 불편함에 대하여코딩을 하다 보면 배열을 동적으로 관리해야 하는 상황이 자주 생긴다. 처음에는 배열을 다루기 위해 for문을 반복해서 돌리며 값을 옮기거나 추가하는 방식을 사용했다. 하지만 이런 방식은 코드가 길어지고 유지보수도 쉽지 않았다. 그러던 중, 배열을 List로 변환한 뒤 관리하는 것이 훨씬 유연하다는 걸 깨달았다. 특히 람다식(Stream)을 활용하면 반복문 없이도 가독성 좋은 코드로 깔끔하게 변환할 수 있어 큰 도움이 되었다.int[] -> List 변환 import java.util.Arrays;import java.util.List;import java.util.stream.Collectors;public class Main { public static void main(St..
오름차순 정렬과 내림차순 정렬에 대해 알아보자
·
Java/정리
시작정렬은 코딩테스트에서도, 실제 프로젝트에서도 가장 자주 쓰이는 기능이다. 이렇게 자주 사용되지만, 자바에서는 배열과 리스트의 정렬 방식이 서로 달라서 헷갈리기 쉽다. 그래서 이번 글에서는 이 부분을 한 번에 정리해보려고 한다. 특히 아래 네 가지 타입은 정렬 방법이 각각 미묘하게 다르므로, 글을 읽기 전에 머릿속에 한 번 떠올려두면 이해가 더 잘 될 것이다.int[]Integer[]ListListint[] 오름차순 정렬import java.util.Arrays;public class Main { public static void main(String[] args) { int[] arr = {1, 6, 5, 3, 2}; Arrays.sort(arr); Syst..
ArrayList가 처음이라면 꼭 알아야 할 핵심 기능
·
Java/정리
ArrayList가 무엇인가?ArrayList는 내부적으로 "동적 배열"을 사용해 데이터를 순차적으로 저장하고 관리하는 컬렉션 클래스이다.연속적인 데이터 리스트이다.크기가 고정되어 있는 배열과 달리 데이터가 담긴 크기에 따라서 가변적으로 공간을 늘리거나 줄인다.데이터 중간에 삽입 또는 삭제를 할 경우, 데이터의 빈 공간을 만들지 않기 위해서 데이터의 요소들을 이동시키기 때문에 삽입 또는 삭제에 있어서는 속도가 느리다.코드로 확인하기import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) { List list = new ArrayList(); ..
새벽 코딩하다가 알게 된 String.repeat() - 반복문 대신 이렇게 쓰자!
·
Java/정리
언제 사용되는 메서드인가?String.repeat(int count) 는 자바 11에서 추가된 메서드로, 문자열을 원하는 횟수만큼 반복해 새로운 문자열을 만들어준다.파라미터를 0으로 지정하면, 빈 문자열을 반환파라미터가 음수라면 IllegalArgumentExceptionthrow public class Main { public static void main(String[] args) { String str = "hello"; String result = str.repeat(3); System.out.println(result); }}기존의 코드는? - (for문 코드)public class Main { public static void main(S..