반응형
🐧 1. DTO란?DTO(Data Transfer Object, 데이터 전송 객체)는 Nest에서 클라이언트와 서버 간 주고받는 데이터의 구조를 정의하는 객체이며, NestJS에서는 컨트롤러가 받는 요청 데이터(Request Body 등)을 미리 정의해, 코드를 더욱 안정적이고 명확하게 동작하도록 도와주는 역할을 합니다.🐧 2. DTO 사용 예제예를 들어, 프로젝트 루트에 유저 생성 API가 있다고 가정해보겠습니다.yarn add class-validator class-transformer// src/api/create-user-dtoimport { IsString, IsEmail, IsInt, Min, Max } from "class-validator";export class CreateUserDt..
🛜 1. Symfony(심포니)란?동적인 웹 페이지를 만들기 위해 개발한 PHP를 공부하며 그 안에 다양한 프레임워크(Laravel, Composer 등)들을 보고 느끼게 됩니다. 그중에서 Symfony(심포니)는 단순히 웹 프레임워크를 구현하는 것을 넘머, PHP 생태계 전체에 큰 영향을 끼치 대표적인 프레임워크라고 해도 과언이 아닐 정도로 사람들이 Laravel(라라벨)에 대중화 되어 있고 사실상 Laravel(라라벨) 자체에도 Symfony 의 여러 컴포넌트를 거쳐 만들 프레임워크입니다. 그래서 Symfony를 이해하면 사실상 PHP 기반 개발에서는 한 단계 더 깊은 수준으로 올라갈 수 있습니다. 🛜 2. Symfony의 특징💠 1.MVC 아키텍처 기반Modal, View Controller..
🐧 1. 제어문과 반복문 Perl은 텍스트 처리 & 시스템 관리부분에서 강력한 기능을 담당하는 스크립트 언어로, 조건문과 반복문을 통한 프로그램의 흐름을 제어할 수 있기에, 프로그래밍에서 제어문(Control Statement)은 프로그램 흐름을 조건에 따라 바꾸거나 반복하게 만드는 핵심 구조 입니다.🐧 2. 조건문(Conditional Statements)Perl에서 조건문은 특정한 조건이 만족할 때만 코드가 실행되도록 하며, Perl에서는 대표적으로 if, unless, else, elseif를 사용하여 조건문을 형성합니다. 💠 2-1. if 문가장 기본적인 조건문으로, 조건이 참(true)일 때문 블록 안의 코드를 실행합니다. 조건이 거짓이면 아무런 동작도 하지 않습니다.use DateTime..
🐧 1. Linux 사용자 그룹의 개념💠 사용자(User)리눅스의 모든 작업은 사용자 계정을 통해 이루어짐각 사용자는 고유한 UID(User ID)를 가지며, 홈 디렉토리(~/)가 생성됨일반 사용자와 달리 (root 계정)(UID=0)은 시스템의 모든 권한을 가짐 -> 실수로 시스템 전체를 망가뜨릴 수도 있음💠 그룹(Group)그룹은 여러 사용자를 묶어 관리하는 단위사용자는 하나의 기본 그룹(Primary Group)과 여러 개의 보조 그룹(Supplementary Group)에 속할 수 있음파일이나 디렉토리의 권한(ls -l)에서 소유자 그룹, 기타 사용자 이렇게 세 가지 권한 구분을 가져옴-rw-r--r-- 1 k-user devgroup 120 Aug 28 09:00 test.txtk-u..
📚 1. Null 병합 연산자란?자바스크립트에서 ??는 Null 병합 연산자라고 불리는데, 이 연산자는 값이 null 또는 undefined 일 때만 오른쪽 값을 반환하고, 그렇지 않으면 왼쪽 값을 반환합니다, 즉 값이 없을때만 대체값을 쓰는 목적을 가진 연산자입니다.📚 2. 기본 문법let 결과 = 값1 ?? 값2;값1이 null 또는 undefined -> 값2를 반환그 와(0, 빈문자열 "", false 값을 falsy 값을 포함) -> 값1반환📚 3. 예제 코드🦖 1.기본 동작let name = null;let defaultName = "Guest";let user = name ?? defaultName;console.log(user);👉 name이 null이라 ??연산자 오른쪽 값인 G..
📚 1. Scala 컬렉션Scala는 함수형 프로그래밍(FP)와 객체지향(OOP)을 결합한 언어이며, 컬렉션 라이브러리가 풍푸하고 불변(immutable)과 가변(mutable) 컬렉션을 모두 제공하는 언어입니다. 데이터 처리 시 불변 컬렉션을 기본으로 사용하고, 필요시 가변컬렉션을 사용합니다.컬렉션특징예시List순서가 있는 불변/가변 컬렉션, 중복 허용List(1,2,3)Set순서 무관, 중복 ❌Set(1,2,3)Map키-값 쌍, 키 중복 ❌Map("a" -> 1, "b" -> 2)VectorList 보다 빠른 임의 접근, 불변 컬렉션Vector(1,2,3)Seq순서 있는 컬렉션의 상위 타입Seq(1,2,3)👉 1-1. Immutable vs Mutable🦖 Immutable 컬렉션값이 한 번 생..
1. 옵셔널 체이닝이란?자바스크립트를 사용하다 보면 객체 속성에 접근할 때 예상치 못한 에러(undefined 나 null)값으로 오류가 발생하는 경우가 흔하게 발생하고 있습니다. 예를 들어 API 응답에서 특정 필드가 누락되거나, 깊은 객체 구조에 중간 값이 비어있으면 흔히 다음과 같은 에러를 보게 됩니다.Uncaught TypeError: Cannot read properties of undefined (reading 'prop')이러한 문제를 해결하기 위해선 기존에 조건문 또는 논리 연산자(&&)를 사용했지만, 코드가 길어지며 점점 가독성이 떨어지는 계기가 되었고 이러한 불편함을 해소하기 위해 ECMAScript 2020(ES11)에서 도입된 문법이 바로 옵셔널 체이닝(Optional Chainin..
🖱️ 1. Vuetify란?Vuetify는 Vue.js 전용 UI 컴포넌트 라이브러리로, 100개 이상의 다양한 UI 컴포넌트를 제공하고, 버튼, 폼, 테이블 등 모든 UI 요소를 포함하고 있으며, Vue 3와 완벽하게 호환하고 있는 라이브러리 입니다. Vuetify를 사용하는 이유로는 다음과 같습니다.프로젝트에 필요한 UI 컴포넌트를 일일이 만들 필요 ❌반응형 디자인이 기본 제공테마 변경과 커스터마이징 가능대규모 애플리케이션에도 일관적인 UI를 제공👉 Vuetify는 초기 개발 속도를 크게 높여주면서 서비스의 퀄리티를 유지 시켜주는 라이브러리라고 말할 수 있음.💿 2. Vuetify 설치 방법 (Vue 3 기준)1 ) Vue 프로젝트 생성먼저 Vue CLI 또는 npm create vue@late..