분류 전체보기 145

[CS/기술면접] 동기 (Synchronous)와 비동기 (Asynchronous) 코드 실행 방식

동기 (Synchronous)와 비동기 (Asynchronous) 코드 실행 방식에 대해 설명해보세요. 자바스크립트는 동기식 언어이다 기본적으로 단일 쓰레드와 이벤트 루프(event loop)를 이용한 비동기 방식으로 동작 https://ljtaek2.tistory.com/142 자바스크립트 - 동기(Synchronous)? 비동기(asynchronous)? 들어가기 전에, 필자는 자바스크립트를 처음 접하고, 오로지 문법적인 것에만 집중해서 공부를 했었다. 하지만 개발할 때 더 중요한 것은 자바스크립트가 어떻게 동작하는지를 먼저 알고 개발 ljtaek2.tistory.com 1. 한마디 정리 동기는 코드가 순차적으로 실행되는 방식인 반면 비동기는 이벤트 루프의 동작 방식에 따라 코드 실행 순서가 결정됩니..

카테고리 없음 2023.04.14

[CS/기술면접] 콜백 함수 (Callback Function)

콜백 함수 (Callback Function)가 무엇인지, 어떻게 사용되는지 설명해보세요. 1. 한마디 정리 콜백 함수(Callback Function)란 함수를 실행할 때 인자(argument)로 전달되는 함수로 주로 1) 비동기 처리(asynchronous processing) 시 사용되어 비동기적인 작업에서 작업이 완료되었을 때 호출되어 추가적인 작업을 수행합니다. 추가적으로 2) 콜백 함수는 함수의 인자로 전달될 수 있으므로 함수를 동적으로 생성 3) 이벤트 처리에 사용됨 4) 함수의 인자로 전달되어 함수를 동적으로 조작 5) 중첩된 콜백 함수를 통해 비동기 작업을 관리할 때에도 사용할 수 있습니다. 2. [상세내용] 역할 1) 비동기적인 작업에서 작업이 완료되었을 때 호출되어 추가적인 작업을 수..

컴퓨터공학 2023.04.13

[CS/기술면접] 이벤트 루프 (Event Loop)

이벤트 루프 (Event Loop)에 대해 설명해보세요. 1. 한마디 정리 이벤트 루프는 자바스크립트 엔진이 비동기 처리를 하기 위해 사용하는 메커니즘으로 1) 콜 스택과 태스크 큐를 관리하고, 2) 콜 스택이 비어있을 때, 태스크 큐에서 콜백 함수를 꺼내와 콜 스택에 쌓아 실행하고, 3) 콜백 함수를 비동기 처리하는데 사용합니다. 2. [상세내용] 역할 아래의 역할을 통해 이벤트루프는 자바스크립트에서 비동기 처리를 가능하게 하며, 콜백 함수를 사용하여 비동기 처리가 완료된 후 실행할 함수를 미리 등록할 수 있습니다. 이를 통해 자바스크립트에서 비동기 처리를 보다 간편하게 처리할 수 있습니다. 1) 콜 스택과 태스크 큐를 관리합니다. - 콜 스택 : 현재 실행 중인 코드의 실행 컨텍스트를 저장하는 스택 ..

카테고리 없음 2023.04.13

[오류해결] 직접 겪은 무한로딩 ZEP 이슈 파헤치기? bandwidth, 무중단 배포, 로드밸런서 health check, 고가용성/다운타임!

이슈 관련 키워드 일단 네트워크 탭부터 확인 (콘솔, 네트워크만 볼 줄 알아도 아주 급한 건 트러블슈팅이 가능) 네트워크 대역폭(bandwidth) 무중단 배포(Rolling 배포, Blue Green 배포, 카나리 배포) 로드밸런서 health check 고가용성/다운타임 부트캠프 교육장소인 ZEP을 접속하려는데 무한로딩으로 오류가 발생했다. 부트캠프 동료가 공유한 서버 에러 화면이다. 30분 뒤 무한로딩 오류가 해결된 후의 개발자 도구 콘솔창이다. 여전히 트러블슈팅 중인지라 여러 에러 메시지가 뜬다. 부트캠프 선발대에서 추정한 시나리오는 이러하다. 고가용성의 중요성을 알게 해주는 대목이다. zep이 로직을 업데이트하면서 새로운 버그가 발생됨 Rolling Update 정책으로 서버를 업데이트하는 과정..

카테고리 없음 2023.01.19

[에러해결 / Node.js] (Sequelize) ERROR: Error reading "config\config.json". Error: Error: Cannot find module

남의 팀 플젝 코드 뜯어보기를 하기 위해 sequealize db:create를 하려는데 아래와 같은 에러가 발생했다. 터미널창 에러메시지 Sequelize CLI [Node: 18.12.1, CLI: 6.5.2, ORM: 6.28.0] ERROR: Error reading "config\config.json". Error: Error: Cannot find module 'C:\Users\user\Desktop\bootcamp_nodejs\99_teamstudy\wonbin\src\config\config.json' Require stack: - C:\Users\user\Desktop\bootcamp_nodejs\99_teamstudy\wonbin\node_modules\sequelize-cli\lib\..

카테고리 없음 2023.01.17

[팀스터디] 남의팀 플젝 뜯어보기(키보드를 구해조 - 포시코딩님)

가. 아 파일분리 정신혼미해 백엔드 파일 순서(users 관련) 1. server.js 2. app.js 3. index.js 4. users.routes.js 5. output.routes.js : 콘트롤러 output 모음 + render(authMiddleware) 6. users_output.controller.js : render 코드 모음 7. users.controller.js 8. users.service.js 9. users.repository.js 나. 아 파라미터 정신혼미해 1. userInfo 찾아 삼만리 Users 테이블의 id 필드를 참조하는 외래키 userId였음 * 5_token_FK5.js await queryInterface.addConstraint('Tokens', { ..

카테고리 없음 2023.01.14

[VS코드] (윈도우) 특정 포트의 사용 프로세스 종료하기? netstat!

WIndow에서 특정 포트번호의 사용 프로세스를 종료하는 방법을 안내하고자 한다. 1번 netstat -ano | findstr 포트번호 2번 PID 확인 ( 1번 명령어 결과의 맨 우측에 있는 번호 ) 3번 taskkill /F /PID PID번호 1. 사용 중인 포트 확인하기 1) 사용 중인 '전체' 포트 확인하기 터미널창에 아래 명령문을 입력 netstat -ano 2) 사용 중인 '특정' 포트 확인하기 터미널창에 아래 명령문을 입력 netstat -ano | findstr 포트번호 *유의사항 포트번호에 '3000'와 같이 작은따옴표를 붙이면 실행되지 않음 2. 해당 포트의 프로세스 종료하기 맨 우측의 pid 번호를 확인 터미널창에 아래 명령문을 입력 taskkill /f /pid pid번호 *유의..

카테고리 없음 2022.12.15