전체 글 (95) 썸네일형 리스트형 프로그래머스 Lv2. 최댓값과 최솟값 문제문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다.str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요.예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 입출력 예sreturn"1 2 3 4""1 4""-1 -2 -3 -4""-4 -1""-1 -1""-1 -1" 풀이과정Math.max/min 메서드를 쓸 수 있는 형태로 만들면 되겠다.function solution(s) { const answer = s.split(' ') return [Math.min(...answer),Math.max(...answer)].join(' ')} [팀 프로젝트] NestJS Socket.IO를 통한 채팅 서비스 구현 WebSocket, Socket.IO웹소켓은 클라이언트와 서버 간 양방향 통신을 지원하는 네트워크 프로토콜Socket.IO는 웹소켓을 포함한 다양한 기술을 활용하여 더 쉬운 실시간 통신을 가능하게 하는라이브러리라고 한다.폴백 메커니즘 지원, 자동 재연결, 이벤트 프로그래밍 등 기능적인 측면과 구현 난이도로 봤을 때 Socket.IO를 사용하는게 좋다고 판단해 Soket.IO를 통해 구현하려 한다. 게이트웨이https://docs.nestjs.com/websockets/gateways Documentation | NestJS - A progressive Node.js frameworkNest is a framework for building efficient, scalable Node.js server-s.. 개인 프로젝트 DTO API 구현 전 DTO에 대한 개념을 잡고가자 DTODTO(Data Transfer Object)는 데이터 전송 객체로, 주로 애플리케이션 계층 간에 데이터를전송하기 위해 사용되는 객체다. 데이터의 구조를 정의하고 필요한 데이터만 포함해 전송함으로불필요한 데이터 노출을 방지한다. (데이터 캡슐화) NestJS에서 DTO를 사용하는 이유는1. 유효성 검사2. 타입 안정성3. 코드의 일관성4. API 문서화 (API 입출력 형식을 명확히 정의할 수 있어 API 문서 자동 생성 유리)5. 계층 분리등이 있다고 한다.import { IsString, IsEmail, IsNotEmpty } from 'class-validator';export class CreateUserDto { @IsString() @Is.. 개인 프로젝트 - 프로젝트 생성 및 Prisma NestJS 프로젝트 생성$ npm i -g @nestjs/cli$ nest new project-name ORM 사용 -> Prismanpm install prisma --save-devnpm install @prisma/client-> Prisma 설치npx prisma init-> Prisma 초기화 스키마 파일과 .env 파일 저절로 생성DATABASE_URL을 DB에 맞게 수정하고 스키마도 정의 해준다.다 했으면 마이그레이션 실행 (스키마를 DB에 반영)npx prisma migrate dev --name init+ init 부분은 마이그레이션의 이름, 지금은 데이터베이스 초기화 이므로 init 사용 마이그레이션 후 클라이언트 생성npx prisma generate 스키마에 정의된 모델과 데.. 우아한 타입스크립트 with 리액트 / 6장 타입스크립트 컴파일 런타임과 컴파일타임프로그래밍 언어는 일반적으로 고수준(high-level)과 저수준(low-level) 언어로 구분할 수 있다.고수준 -> 사람이 이해하기 쉬운 형식저수준 -> 컴퓨터가 이해하기 쉬운 형식 자바스크립트는 대표적인 고수준 언어에 속하며 컴파일러나 인터프리터에 의해 저수준프로그래밍 언어로 번역되어 실행된다. 개발자가 작성한 소스코드는 컴파일러에 의해 기계어 코드로 변환되어 실행이 가능한 프로그램이되는데 이 단계를 컴파일타임이라고 부르며, 컴파일이 완료되면 프로그램이 메모리에 적재되어실행되는데 이 시간을 런타임이라고 한다.자바스크립트의 런타임자바스크립트의 런타임은 자바스크립트가 실행되는 환경을 의미한다. ex) 크롬, Node.js런타임은 다양한 구성 요소로 이루어져 있고 대표적으로는 자바스크.. 웹 개발 파이프라인 구축 배포/인도 자동화의 중요성전통적 인도 프로세스의 한계느린 인도 기간느린 피드백 주기자동화 미비핫픽스 위험성개발문화 건전성 제한해결척 : 지속적 인도/배포 방식-> 프로세스의 각 단계를 자동화빠른 제품 인도짧은 피드백 주기위험도가 낮은 릴리스: 반복과 롤백유연한 릴리스 정책 결정 가능지속적 통합 (CI; Continuous Integration)코드가 올바르게 빌드 및 통합되는지를 자동으로 확인리포리토지에서 코드를 체크 아웃빌드(컴파일 및 링크 등)를 수행하고 단위테스트를 행함 / 테스트 커버리지 리포트 생성코드 품질을 검증 / 정적 분석을 통한 규칙 검사, 코딩 규약 등의 준수 여부-> 개발팀에 1차적인 피드백 제공 인수 테스트 (UAT; User Acceptance Test)제품이 릴리스할 준비가 되었.. 우아한 타입 스크립트 with 리액트 / 4장 타입 확장하기, 좁히기 타입 확장하기타입 확장은 기존 타입을 사용해서 새로운 타입을 정의하는 것을 말한다.기본적으로 타입스크립트에서는 interface와 type 키워드를 사용해서 타입을 정의하고,extends, 교차 타입, 유니온 타입을 사용하여 타입을 확장한다. 타입 확장의 장점타입 확장의 가장 큰 장점은 코드 중복을 줄일 수 있다는 것이다.코드를 작성하다 보면 중복되는 타입 선언이 생기기 마련인데, 이때 중복되는 타입을반복 선언하는 것보다 기존에 작성한 타입을 바탕으로 타입 확장을 함으로써불필요한 코드 중복을 줄일 수 있다.interface Item { name: string; img: string;}interface CartItem extends Item { quantity: number;} 위 예시에서 CartI.. 오픈소스란? 오픈소스?-> 공개되어 있는 소스 코드+ 검사(리뷰), 수정 등 개선사항을 마음껏 펼칠 수 있는 소스 코드 다른 개발자의 시선: 아이디어, 버그, 업그레이드등이 이뤄질 수 있음 그렇다면 깃허브의 모든 public 프로젝트들은 다 오픈소스인가?-> 라이선스에 따라 다르다. 라이선스의 유래 OSIhttps://opensource.org/licenses LicensesOSI Approved Licenses Open source licenses are licenses that comply with the Open Source Definition – in brief, they allow software to be freely used, modified, and shared. To be…opensource.org .. 이전 1 2 3 4 ··· 12 다음