왕초보 웹개발 종합반 3주 차 Fetch를 적용하는 숙제에서 어려움이 있었다.어려움이 있던 If문에 대해서 전에 했던 파일들을 다시 한번 찾아보며 문제를 풀어보려 했지만 결국 찾지 못했다.결국 3주 차 숙제 해설을 보고 나서야 문제를 해결할 수 있었다.문제를 이해하려
웹개발 종합반을 완강하는 도중 어느 순간부터인지 이해가 아닌 강의 내용을따라 적고 있었다.완강 이후 다시 한번 복습하며 1주 차부터 이해하고 다음으로 넘어가려는 시도를 했다.강의를 듣고 따라 적기만 하는 것이 아닌 어떻게 적용되는지 이해하고 넘어가니 한결 수월했다.웹개
웹개발 종합반을 재수강을 하면서 오랜 시간 앉아 있었더니 집중력이 흩트려지고 강의 내용이 머리에 들어오지 않았다.하루 종일 앉아서 강의만 듣는 것이 아닌 주기적으로 쉬는 시간을 갖기로 했다.50분 동안 강의를 들으며 강의 내용을 이해하고, 10분 동안 휴식을 하며 바깥
강의를 들으면서 비슷한 홈페이지를 한번 만들어볼까라는 생각이 들었다. 아직 혼자 따라 만들기에는 부족하기에 강의를 보면서 적당히 흉내 내는 식으로 만들어보는 중이다. 3번 정도 강의를 들으니 확실히 Html과 Css는 많이 익숙해진 느낌이다. javascript도 익숙
오늘은 미니 프로젝트를 진행한 5개 조의 발표회를 참관했다. 1조부터 5조까지 다들 너무나 잘하시는 거 같아 내가 너무 뒤처지나 걱정도 되면서 한편으로는 열심히 해야겠다는 동기부여도 됐다. 다음 프로젝트 때는 나도 참여하여 좋은 결과물을 낼 수 있도록 열심히 공부하고
현재 작업하고 있는 폴더 보여줘내 폴더 안에 있는 폴더 & 파일 내역을 보여줌숨겨진 파일(보통 . 으로 시작!)도 모두 볼 수 있음Ls명령어에서 확인된 폴더로 이동 가능!한단계 위 폴더로 이동한번에 더 깊이 이동 가능현재 위치에서 폴더를 생성현재 위치에서 파일을 생성g
업로드중..JS 문법 종합반 1주 차 문자열 연습 숙제에서 어려움이 있었다.문제 설명대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. '
업로드중..각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution
배열.Const arr = 1,2,3,;다른 생성 방법Const arr2 = new Array(1,2,3,);배열은 숫자도 문자도 객체도 가능하다연관된 데이터를 모아 놓는것—————————————————배열의 마지막 요소에 추가.push()배열의 마지막 요소를 제거.p
\-git branch 브랜치이름\-git branch\-git switch 브랜치이름\-git checkout 브랜치이름\-git switch -c 브랜치이름\-gitcheckout -b 브랜치이름새로운 브랜치에서 코드 수정 후 새로운 브랜치에서 수정된 코드 저장\-
업로드중..까먹고 있었는데 팀장이었다.팀 과제를 위해선 팀장이 초기에 해야 되는 일이 있다..바로 초기 코드 작성 및 github 업로드다.순서대로라면폴더 생성초기 코드 작성gitinit,add,commitGithub 레포지토리 생성Github 업로드 (gitpush)
업로드중..first class object다른 객체들이랑 똑같이 적용할 수 있음 (매개변수로 전달 가능, return문으로 출력)변수에 함수를 할당우측 부분이 함수, 좌측 부분이 변수의 선언부함수를 어디서나 호출할 수 있다.sayHello라는 이름을 가지고 함수를 어
객체 : 키가 있는 컬렉션을 저장배열 : 순서가 있는 컬렉션을 저장메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.키가 있는 데이터를 저장한다는 점에서 객체와 유사하다.맵은 키에 다양한 자료형을 허용한다는 점에서 차
드디어 끝난 첫 번째 팀 프로젝트!!후련하면서도 아쉬움이 남는다.조금 더 잘해볼걸!!(이라고 하기에는 내가 아직 너무 부족하다)좋은 팀원들을 만나서 성공적으로 프로젝트를 끝낼 수 있어서 매우 만족한다!앞으로 있을 프로젝트도 기대가 되면서 한편으로는 또 얼마나 어려울까.
동기 : synchronousa. 현재 실행중인 코드가 끝나야 다음 코드를 실행하는 방식을 말함!b. CPU의 계산에 의해 즉시 처리가 가능한 대부분의 코드는 동기적 코드c. 계산이 복잡해서 CPU가 계산하는 데에 오래 걸리는 코드 역시도 동기적 코드비동기 : a +
업로드중..class는 학교에서 다양한 종류의 책상을 만드는 설계도와 비슷합니다. 이 설계도를 보면 어떤 종류의 책상을 만들 수 있는지, 책상이 가지고 있는 특징(이 특징은 변수-또는 속성과 메서드)은 무엇인지 알 수 있습니다.instance는 이 설계도를 보고 만들어
자바스크립트는 HTML, CSS와 함께 웹을 구성하는 요소 중 하나로 웹 브라우저에서 동작하는 유일한 프로그래밍 언어이다. 자바스크립트는 기존의 프로그래밍 언어에서 많은 영향을 받았다. 기본 문법은 C, Java와 유사하고 Self에서는 프로토타입 기반 상속을, Sch
지저분함 주의 책장은 부조기억장치 책상은 주기억장치 데이터 타입 숫자 :Number 문자열 :String 불리언 :Boolean Undefind; Null; Object 템플릿리터럴 Const a = 1; 여기서 a는 상수이고, 1은 리터럴 리터럴표기법이란,
mongodb 에러. 터미널에서 포트는 정상적으로 작동됐지만 mongodb 서버에 연결이 되지 않았다.원인을 찾아보니 aws에서 받은 ip로 연결한 후 github을 통해 파일을 clone 했을 때 .env에 숨겨놓은 mongodb의 데이터는 받지 못해서(당연히 못 받
업로드중..req.app : req 객체를 통해 Express.js의 app 객체에 접근할 수 있음.req.body: Request를 호출할 때 body로 전달된 정보가 담긴 객체입니다. (express.json() Middleware를 이용하여야 해당 객체를 사용할
MongoDB에서는 "해야 할 일" 데이터에서 "할 일 완료(doneAT)"필드 같은 경우, 해당 작업이 완료되지 않으면 필드 자체가 존재 X!!이것을 해결하기 위해 데이터의 정규화와 무결성을 보장하면서 정형화된 데이터를 효과적으로 관리할 수 있는 관계형 데이터베이스(
업로드중..데이터베이스에서 사용되는 생성,삽입,조희 명령문을 SQL이라고 함 DDLDMLDCLTCL데이터를 정의할 때 사용하는 언어로 테이블이나 데이터베이스를 생성, 수정, 삭제할 때 사용CREATE 생성 - 데이터베이스, 테이블 등 생성할 때.DROP 삭제 - 데이터
업로드중..Prisma의 메서드는 데이터베이스에서 데이터를 조작하는 데 사용되는 함수임. JavaScript와 TypeScript에서 Prisma를 사용할 때, Prisma Client를 통해 다양한 메서드를 호출하여 데이터를 생성, 조회, 업데이트 및 삭제할 수 있다
용도: 액세스 토큰은 클라이언트가 보호된 리소스에 접근하기 위한 권한을 부여받은 후, 해당 권한을 증명하는 데 사용된다.수명: 보통 짧은 수명을 가짐. 몇 분 또는 몇 시간과 같이 상대적으로 짧은 기간 동안 유효하며, 이는 토큰이 유출되더라도 큰 피해를 최소화하기 위해
업로드중..웹 서버가 클라이언트에게 응답 상태를 알려주는 세 자리의 숫자!정보 응답 100~성공적인 응답 200~리디렉션 메시지 300~클라이언트 오류 응답 400~서버 오류 응답 500~대표적인 메세지..(추가 할 수도)요청이 성공했습니다. "성공"의 결과 의미는 H
JWT(Json Web Token)은 웹 표준으로써, 서버와 클라이언트 사이에서 정보를 안전하게 전송하기 위해 도움을 주는 웹 토큰(Web Token)이다!JSON 형태의 데이터를 안전하게 전송하고 검증할 수 있는 기능을 제공합니다.인터넷 표준으로서 자리잡은 규격입니다
SQL에서 제약조건(Constraints)은 데이터베이스 테이블의 컬럼에 적용되는 규칙이나 조건을 나타낸다. 제약조건은 데이터의 무결성을 보장하고 데이터베이스의 일관성을 유지하는 데 도움이 된다!각 행을 고유하게 식별하는 열로, 중복 값을 가질 수 없습니다. 테이블에는
미들웨어란? 미들웨어는 서로 다른 애플리케이션이 서로 “통신”하는 데 사용되는 소프트웨어 - AWS 운영 체제와 응용 소프트웨어의 중간에서 조정과 중개의 역할을 수행하는 소프트웨어이다 - WIKI 미들웨어는 분산 네트워크에서 애플리케이션
오늘부터 뉴스피드 프로젝트를 시작하게 되었다!우리조의 프로젝트는 비슷한 취미를 가진 사람들이 모여 정보를 공유하고 새로운 취미를 가지고싶은 사람 또한 모임에 참가 할 수 있는 커뮤티니 사이트를 만들기로 했다!초기 ERD에서는 회원가입과 로그인, 프로필 조회를 할 때 필
회원가입 시 비밀번호가 6자리 이상인지 확인회원가입 시 비밀번호와 비밀번호 확인이 일치하는지회원가입 시 이메일이 이미 가입된 이메일인지위 조건에 충족되면 회원가입이 성공적으로 진행되는 코드를 짜보았다.존재하는 이메일인지 확인비밀번호가 일치하는지위 조건에 충족되면 로그인
DB는 정보만 담는것 DBMS는 정보를 관리하는 방법이나 도구DB 물리적으로 존재DBMS 는 그것을 위한 softwareDB는 책장이고 DBMS는 그 책장을 정리해주는 팔DBMS -관계형 데이터 베이스 매니지먼트 시스템 SQL - RDBMS에서 사용하는 언어체계1980
오늘은 뉴스피드 프로젝트 중 좋아요 기능을 만들었다!먼저 해당 게시물이 있는지 postId를 조건으로 찾아내고 게시물이 없다면 "해당 게시물이 없습니다" 라는 메세지를 준다!postId와 userId로 사용자가 게시물에 대해 좋아요를 눌렀는지 확인한 후이미 눌려있는 좋
오늘은 드디어 뉴스피드 프로젝트가 끝났다!!!짧은 기간이었지만 팀원들과 너무너무 재밌었고 좋은 추억을 만든 것 같다.프로젝트를 진행하면서 좋았던 점도 아쉬웠던 점도 있지만 성공적으로 프로젝트를 마무리한 것 같아 기분이 좋다.팀원들과 소통이 너무 잘 되고 서로서로 모르는
SQL JOIN에 대해 알아보았다.데이터베이스 안에 user와 post, comment 라는 테이블이 있을 때!이런식으로 테이블이 있을 때user 테이블을 조회 하고 싶다면이렇게 user테이블의 모든 정보를 볼 수 있습니다만약 user 테이블봐 post테이블을 같이 보
객체 내부의 세부적인 사항을 감추는 것, 즉 중요한 정보를 외부로 노출시키지 않도록 만드는 것을 캡슐화(Encapsulation)라고 합니다.캡슐화 === 현관문getter는 변수의 값을 가져오는 (getName, getAge)setter는 변수의 값을 설정하는 (se
프레젠테이션 계층(Presentation Layer)은 3계층 아키텍처 패턴에서 가장 먼저 클라이언트 요청(Request)을 만나게 되는 계층이며, 컨트롤러가 이 역할을 담당한다하위 계층(서비스 계층, 저장소 계층)에서 발생하는 예외(Exception)을 처리한다.클라
기존에 router를 3계층 분리 하여 생성 코드만 가져와봤다.이런식으로 각각에 계층에 맞게 코드를 작성하여 실행하면 된다.(근데 나도 아직 잘 모르겠따..!)controller, service, repository의 각각 역할
3 계층 분리(1)3 계층 분리 코드에 대해 알아보았다!3 계층 분리에서 controller, service, repository에 각각 어떤 기능을 넣어야 하는지 헷갈렸는데 특강에서 좋은 비유를 들었다!컨트롤 계층은 음식점으로 비유했을 때 홀 직원 이라고 생각하면 된
안정성 향상: 테스트 코드를 통해 애플리케이션의 안정성을 향상시킬 수 있어. 코드 변경으로 인한 예기치 않은 버그를 사전에 발견할 수 있고, 코드의 기능을 신속하게 확인할 수 있다.문서화: 테스트 코드는 코드의 기능과 사용법을 문서화하는 역할을 해. 새로운 개발자가 코
노드메일러 미들웨어를 만들어 준다!그 이후에 유저 라우터에 가서 회원가입 router에 등록해준다
타입스크립트를 시작하기 전에 설치를 먼저 해주삼타입스크립트로 바꾸기 전에 자바스크립트 코드를 먼저 보겠다.사실 이대로 실행해도 JS에서는 user의 name, age, hobbies를 잘 가져오긴 함하지만!! TS는 실행이 안된다!! 왜냐면 지금 이 코드에는 타입이
백오피스 팀프로젝트 KPT 회고록
JavaScript는 변수의 타입이 실행 시간에 결정된다이에 따라 개발자의 실수로 인한 오류가 발생하기 쉽고 찾기도 까다롭다예를 들면, 변수에 잘못된 타입의 값이 할당되어 발생한 오류를 찾기 위해서는 실행 시간에 변수의 값과 타입을 모두 확인해야 하는 번거로움이 있다!
프로그래밍 언어로 작성된 코드 -> 다른 프로그래밍 언어로 변환이러한 변환 과정에서 컴파일러 소스 코드의 구문과 구조를 검사하여 문제가 없는지 확인이를 통해 개발자가 작성한 코드에 오류가 있는 경우 미리 알려주어 문제를 해결tsc = Ts컴파일러주요 명령어.tsc --
Node.js를 처음으로 공부하는 분들은 공부를 하다가 반드시 웹 서버를 개발하는 챕터에 이르게 되는데 이때, 항상 책이나 매뉴얼에서는 Express를 공식 라이브러리처럼 다룬다.웹서버 개발을 할때 최소한의 코드로 빠르게 개발 가능갖고 놀기 좋은 테스트 서버 만드는 것
IoC는 Inversion of Control의 준말로서 제어 역전이라고도 한다.IoC는 개발자가 사용하고 싶은 객체를 직접 생성하는 것이 아니라 객체의 생명주기 관리 자체를 외부(여기서는 Nest.js IoC 컨테이너)에 위임을 합니다! 즉, 객체의 관리를 컨테이너에
AOP(Aspect-Oriented Programming)는 코드에서 여러 부분에 걸쳐서 반복되는 공통 관심사를 분리하고 중앙에서 관리할 수 있게 하는 프로그래밍 기법입니다.이를 통해 코드의 모듈성을 향상시키고 중복을 줄일 수 있다.AOP라는 개념이 Nest.js에서만
인터셉터는 문자 그대로 가로채다라는 의미특정 작업을 수행하기 전이나 후에 추가 로직을 실행할 수 있는 코드 블록.특히, HTTP 요청과 응답을 처리할 때 특히 유용하다주로 로깅, 에러 처리, 데이터 변환 및 인증과 같은 공통 관심사를 처리하는 데 사용된다.이 코드는 N
개발자들이 특정한 규칙을 가지 고 코드를 깔끔하게 짤수있게 도와주는 라이브러리 타입스크립트를 쓰는 가이드 라 인 제시, 문법에 오류가 나면 알려주는 역할 등등주로 코드 형식을 맞추는데 사 용합니다. 작은따옴표(')를 사용 할지 큰 따옴표(")를 사용할지, Indent
파이프는 @Injectable () 데코레이터로 주석이 달린 클래스입니다.파이프는 data transformation과 data validation을 위해서 사용 됩니다. 파이프는 컨트롤러 경로 처리기에 의해 처리되는 인수에 대해 작동합니다.Nest는 메소드가 호출되기
NestJS에서 Middleware들에 대해서 Nest JS에는 여러가지 미들웨어가 있습니다. Pipes, Filters, Guards, Interceptors 등의 미들웨어로 취급되는 것들이 있는데 각각 다른 목적을 가지며 사용되고 있습니다. Pipes > 파이프
이번 팀프로젝트의 주제는 프로젝트 협업 도구인 Trello를 만드는 것입니다!출처 위에 보이는 보드를 칸반 보드라고 합니다. 이 칸반 보드는 프로젝트 관리와 작업 흐름 관리에 널리 사용되고 있습니다. Backlog (TO-DO, ICE BOX)프로젝트를 시작하기 전에
이번 프로젝트의 와이어프레임이다 trello랑 똑같음 ㅋ.ㅋ~! 이번 프로젝트를 하며 사용 할 ERD이다. User는 Board를 생성할 수 있으며 Board안에는 Column이 있고 그 안에는 Card가 있다. Card에서는 유저들이 댓글을 달 수 있고 컬럼과 카드
팀프로젝트 card CRUD중 생성과 수정할 때 마감기한이 현재 날짜보다 늦을 경우 에러를 내보내는 코드를 작성해보았다!먼저 이 코드에서는 마감기한에 대해 에러를 내보내는 코드가 따로 없다!여기서 마감기한을 2024-01-01로 설정했을때 현재 날짜인 2024-03-2
trello 프로젝트중 Card에 상태를 STANBY, DOING, DONE으로 설정할 있는 코드를 작성해 보았다.먼저 Card 폴더 안에 Types란 폴더를 만들고 그 안에 Card의 상태를 설정할 수 있는 코드를 만든다.enum CardStatus를 만들고 enti
오늘은! trello 프로젝트에 카드 내에서 카드 수정을 할 때 작업자 할당과 작업자 변경에 대한 코드를 작성해 보았다!먼저 위에는 카드 수정에 대한 전체 코드이다.전체 코드에서 이부분!! 이부분이 바로 회원가입 된 유저를 카드 작업자에 할당 하는 부분이다.먼저 보드에
keep 이해가 잘 되지 않던 nest의 기초를 다진 것 같아서 좋았고 프로젝트에서 맡은 부분을 도움을 많이 받긴 했지만 잘 마무리 한 것 같아서 좋고 발표도 경험해본 프로젝트여서 만족 스럽다.(민석)이번 프로젝트를 통해 명확하지 않았던 지식들의 경계가 명확하게 그림이
장점유연한 스키마: 데이터 구조를 자유롭게 변경할 수 있습니다.뛰어난 확장성: 대규모 데이터 처리에 적합합니다.높은 성능: 특정 유형의 데이터에 대한 쿼리 속도가 빠릅니다.단점데이터 일관성 보장 어려움: 데이터 중복 발생 가능성이 있습니다.복잡한 쿼리 지원 어려움: 관
실행중에 있는 프로그램메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 객체)스케줄링의 대상이 되는 작업(task)와 같은 의미로 쓰인다프로세스 내부에는 최소 하나의 스레드를 가지고 있는데, 실제로는 스레드 단위로 스케줄링을 한다.프로세스 하나만을 사용해서 프
RDBMS(관계형 데이터 베이스 관리 시스템)의 정규화는 데이터베이스 설계에서 중복을 제거하고 데이터 중복을 최소하하여 데이터베이스를 보다 효율적으로 설계하는 과정.이를 통해 데이터의 일관성, 유지보수성, 확장성 등을 개선할 수 있다.제 1 정규화(1NF): 각 테이블
대용량 트래픽은 웹사이트나 애플리케이션에 대한 갑작스러운 수요 증가를 의미한다. 이는 사이트 성능저하나 다운타임으로 이어질 수 있으므로 이를 효과적으로 관리해야 한다.대용량 트래픽이 발생할 때는 웹사이트 또는 서비스의 성능을 유지하고 사용자 경험을 보호하기 위한 대응
JWT는 웹 표준으로서 두 개체 사이에 속성을 안전하게 전달하기 위한 컴팩트하고 자체적으로 설명을 가지는 방법이다!일반적으로 토큰은 Access Token과 Refresh Token으로 구분 된다.엑세스 토큰은 일반적으로 사용자가 리소스에 접근할 수 있도록 권한을 부여
쿠키와 세션은 웹 애플리케이션에서 사용자 상태를 유지하고 식별하기 위해 사용되는 기술입니다. 그러나 그들 간에 몇 가지 중요한 차이점이 있습니다.HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우,그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는
OSI(Open Systems Interconnection) 모델은 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 분리하여 설명하는 방법입니다. 이 모델은 일반적으로 7개의 계층으로 구성됩니다. 각 계층은 네트워크 통신에서 특정한 기능을 수행하며, 데이터의 전송을
정의: ES6 클래스를 사용해 정의됩니다.라이프사이클 메서드: 여러 라이프사이클 메서드를 가지고 있어 복잡한 상태 관리와 사이드 이펙트 처리가 가능합니다.상태 관리: this.state와 this.setState를 사용하여 상태 관리를 합니다.정의: 단순한 함수로 정의
정의: 배열은 고정된 크기의 연속적인 메모리 공간에 원소들을 저장하는 자료구조입니다.고정된 크기: 배열은 생성 시에 크기가 정해지며, 이후 크기를 동적으로 변경하기는 어렵습니다.인덱싱: 배열의 원소에는 인덱스를 사용해 접근할 수 있으며, O(1) 시간에 해당 원소를 찾
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 인터넷 프로토콜 스택의 핵심 구성 요소로, 데이터를 컴퓨터 네트워크 상에서 전송하는 데 사용됩니다. 둘 다 전송 계층에서 작동하며, 그들 간에 몇 가지
HTTP (HyperText Transfer Protocol)와 HTTPS (HyperText Transfer Protocol Secure)는 웹에서 데이터를 전송하는 프로토콜입니다. 이 둘의 주요 차이점은 보안에 관한 것입니다.암호화 없음: HTTP는 데이터를 평문
사용자 인증 후 서버 측에서 세션을 유지합니다. 이 세션은 서버 측에서 관리되며, 클라이언트 측에는 세션 식별자가 쿠키로 저장됩니다.사용자가 로그인하면 서버는 사용자의 인증 정보를 기반으로 세션을 생성하고 관리합니다. 사용자가 로그아웃하거나 세션이 만료되면 세션은 삭제
객체지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발에서 사용되는 프로그래밍 패러다임 중 하나로, 현실 세계의 사물을 모델링하여 소프트웨어를 개발하는 방법입니다.클래스와 객체: 클래스는 객체를 생성하기 위한 템플릿이며, 객체
멀티 프로세스는 운영체제에서 하나의 응용 프로그램에 대해 동시에 여러 개의 프로세스를 실행할 수 있게 하는 기술프로그램 안전성멀티 프로세스는 각 프로세스가 독립적인 메모리 공간을 가지므로, 한 프로세스가 비정상적으로 종료되어도 다른 프로세스에 영향x자원 공유 비효율성멀
쿼리를 최적화하는 가장 쉬운 방법으로 필요한 칼럼만 조회하는 것입니다. 아스타리스크(\*)를 사용하여 필요하지 않은 칼럼을 조회해야 하는 경우 불필요하게 리소스를 소모합니다.가능하면 와일드카드를 끝에 작성하는 것이 좋습니다.\-- 비추천\-- 추천LIKE 검색시 와일드
쿼리를 최적화하여 데이터베이스에서 필요한 데이터를 효율적으로 가져온다.인덱스를 적절하게 사용하여 쿼리 성능을 향상시킨다.불필요한 JOIN 연산을 피하고, 필요한 경우 LEFT JOIN과 같은 외부 조인을 사용하여 필요한 데이터만 검색한다.ORM 도구를 사용하여 데이터베
의존성 주입(Dependency Injection, DI)과 제어의 역전(Inversion of Control, IoC)는 소프트웨어 개발에서 객체 간의 결합을 줄이고 유연성과 유지 보수성을 향상시키는 데 사용되는 개념입니다.의존성 주입은 객체 간의 의존성을 외부에서
데드락(Deadlock)은 멀티스레드 또는 멀티프로세스 환경에서 발생할 수 있는 상태의 하나입니다. 데드락은 두 개 이상의 프로세스나 스레드가 서로가 가지고 있는 자원을 기다리면서 상호배제(Mutual Exclusion), 점유와 대기(Hold and Wait), 비선
함수형 프로그래밍은 컴퓨터 프로그래밍 패러다임 중 하나로, 함수의 조합을 사용하여 소프트웨어를 구성하는 스타일입니다. 이러한 접근 방식은 상태 변경을 피하고 데이터의 변이를 제한하여 부작용을 최소화하는 것을 중요시합니다. 함수형 프로그래밍은 명령형 프로그래밍과 대조적으
이벤트 루프는 nodejs가 비동기 작업을 관리하기 위한 구현체.이벤트 루프는 실시간으로 두 가지 일을 하는데, 하나는 콜 스택이 비워져있는지 확인하고, 다른 하나는 콜백 큐에 콜백이 있는 지이다. 이벤트 루프는 콜 스택이 비워져 있고 콜백 큐에 콜백이 있으면 그 콜백