전체 글 164

[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

[오류해결/VS코드] 터미널 입력 실행 안되는 오류? 호환모드 체크해제!

VS코드 사용 시 터미널 입력 실행이 되지 않는 오류가 발생했을 때의 해결 방법에 대해 안내하고자 한다. 1. 노드js의 npm을 설치하는 건 별다른 문제 없이 잘 되었지만, 파일이 실행되지 않는 오류가 발생 터미널창에 node app.js를 입력했지만 실행되지 않음 2. 바탕화면에 있는 VS코드 바로가기 아이콘을 마우스 우클릭한 후 '속성' 클릭 3. 호환 모드가 체크 해제되어 있어야 하는데, 이미 체크가 해제되어 있는 상태에서는 1) 호환 모드 체크한 후 '적용' 클릭 2) 다시 호환 모드 체크 해제한 후 '적용', '확인' 클릭 4. VS코드를 껐다 다시 켜면 정상적으로 터미널 입력 실행이 되는 것을 확인할 수 있음

카테고리 없음 2022.12.15