이 게시물은 Node.js 교과서 책을 읽고 정리한 내용입니다.노드는 V8과 더불어 libuv라는 라이브러리를 사용한다.libuv 라이브러리는 노드의 특성인 이벤트 기반, 논 블로킹 I/O 모델을 구현하고 있다.이벤트 기반(event-driven) : 이벤트가 발생할
기업과제로 자판기 알고리즘을 구현해보았다.사용자가 사용가능한 결제수단a. 현금 : 100원 / 500원 / 1,000원 / 5,000원 / 10,000원권 사용가능b. 카드 : 카드결제 가능구매 가능한 음료수a. 콜라 : 1,100원b. 물 : 600원c. 커피 : 7
배열은 내부 인덱스를 이용하여 자료의 검색이 한번에 이루어지기 때문에 빠른 검색 속도를 보이는 반면 데이터의 삽입, 삭제 시 많은 데이터가 밀리거나 빈자리를 채우기 위해 이동해야 하기 때문에 많은 시간이 소요된다.반면에 연결리스트는 삽입, 삭제 시 인근 노드들의 참조
2022.02.202장. 의미있는 이름 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수(혹은 함수나 클래스)의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.여러 계정을
2/17~2/18 이틀간 스터디원들과 함께 코딩 챌린지 '어썸27'을 진행했다.이틀 동안 개인 프로젝트를 진행하는 챌린지였고, 나는 CS 네트워크 부분을 공부할 때 궁금했던 양방향 소켓 통신을 이용해 터미널에서 작동하는 간단한 채팅 서버를 구현해보기로 했다.양방향 소켓
2022.02.191장. 깨끗한 코드깨끗한 코드를 작성하려면 '청결'이라는 힘겹게 습득한 감각을 활용해 자잘한 기법들을 적용하는 절제와 규율이 필요하다. 열쇠는 '코드 감각'이다. 어떤 사람은 코드 감각을 타고난다. 어떤 사람은 투쟁해서 얻어야 한다. '코드 감각'이
배열은 입력된 데이터들이 메모리 공간에서 연속적으로 저장되어 있는 자료구조이다.메모리 상에서 연속적으로 저장되어 있는 특징을 갖기 째문에, index를 통한 접근이 용이하다.배열의 크기는 처음 생성할 때 정하며 이후에는 변경할 수 없다.탐색 : O(1). 단, 접근하고
컴퓨터 하드웨어인 CPU는 여러개의 프로세스를 동시에 실행할 수 없다.언제나 한순간에 오직 1개의 프로세스를 수행한다.다만, 운영체제의 멀티태스킹(Multi tasking)과 스케줄링 기법으로 여러개의 프로세스가 동시에 실행되는 것처럼 보일뿐이다. New : 프로세스가
TCP/IP란? Transmission Control Protocol/Internet Protocol의 줄임말 인터넷 통신에서 가장 표준이 되는 약속이자 규약 과거 전화 통신 (서킷 통신) 의 문제점 회선을 사용하려면 이전 사람이 통신을 끝낼 때까지 기다려야 함 회
동기 함수(sync function) : 함수가 완료될 때까지 리턴하지 않는다. 함수를 호출하게 되면 함수의 처음부터 진행하다 함수의 끝에 도달하거나, 도중에 return문을 만나게 되면 함수는 종료되고, 제어권은 다시 호출자에게 되돌아간다. 이 경우 호출자는 자신
파이썬은 인터프리터 언어이기 때문에 컴파일 언어보다 느리고 따라서 실시간 거래 시스템처럼 매우 짧은 응답시간을 필요로 하는데 사용할 수 없다. 파이썬은 동시다발적인 멀티스레드를 처리하거나 CPU에 집중된 많은 스레드를 처리하는 데 적합하지 않다.\-> GIL(Globa
프로세스(Process)란? 프로그램 : 어떤 작업을 위해 실행할 수 있는 파일. 정적인 개념 프로세스 : 프로그램이 메모리에 올라와 cpu를 할당받고 프로그램이 실행되고 있는 상태. 동적인 개념 프로세스 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 메모리에 올
프로그램 실행순서프로그램 실행순서프로그램이 실행되기 위해서는 운영체제(os)가 프로그램의 정보를 메모리에 로드(load)해야 하고, 프로그램이 실행되는 동안 CPU가 코드를 처리하기 위해서는, 메모리가 명령어와 데이터들을 저장해야 한다.코드(code) 영역데이터(dat
Input/Output 입출력 연산. 입출력은 컴퓨터 내부 또는 외부 장치와 프로그램간의 데이터를 주고 받는 것을 말한다.호출된 함수가 작업이 완료될 때까지 블로킹 상태가 되는 함수를 블로킹(Blocking) 함수라고 한다. 이 함수들을 활용한 입출력 연산을 동기(sy
2021/12/13~2021/12/23FE : 정소영 원소연 이용우BE : 박정현 이재문 이태연 퀘스트 101 - 클래스를 통해 자신을 키우는 현실 캐릭터 빌드업 서비스 1\. 다양한 카테고리의 강의를 제공합니다.2\. 강의를 통해 자신의 역량이 빌드업되는 것을 시
1주차 소셜로그인의 늪에서 헤어나온 후 2주차에 나를 고통 속으로 몰아넣었던 바로 그.... 크리에이터 센터 클래스 생성/편집 기능...!우리 팀은 정규 클래스 생성이 아닌, 원포인트 클래스를 생성하는 기능을 구현했고, 너무 후회했다....위 이미지는 클래스 101의
시스템 테스트 전략 3가지 1. End-to-End (E2E) Tests : 10% 전체적인 Flow (ex. 브라우저 상 클릭 후 생기는 변화에 대한 검증), 자동화할 수 있는 Tool → cypress 2. Integration Tests (통합 테스트):
2차 프로젝트가 시작되었고, 새로운 팀원들과 함께 Class 101이라는 플랫폼을 클로닝하게 되었다.프론트엔드 팀원 분께서 게임에서 퀘스트를 깨듯이 class를 수강하면 재밌을 것 같다는 반짝이는 아이디어를 주셨다. 우리는 이를 반영하여, class를 수강하면 해당 c