코딩캠프/내일배움캠프

[ TIL ] 11.18(금) 5일차

고랑E 2022. 11. 18. 21:00
728x90

오늘은 4일 동안 준비한 미니 프로젝트를 발표하는 날이다.

너무 떨리고 드디어 끝나는 날이어서 좋았다

 

미니 프로젝트

배포한 사이트 링크 - http://nojojojo.site/

개인 서버에 배포한 사이트 링크 - http://gotiger.ipdisk.co.kr:21118/

GIT 링크 - https://github.com/git-github-com-Taeyeony-test-git/NoJo-Landing

(배포한 사이트 링크는 언제든지 닫힐 수 있습니다)

 

발표가 끝나고 나서 7시에 CS - 프로세스, 스레드, 비동기 특강이 있다.

 

각 정의들

 

프로세스 - 메모리에 적재되어 실행되고 있는 프로그램의 인스턴스

스레드 - 프로세스 내에서 프로세스의 자원을 이용하는 여러 실행 흐름의 단위

비동기 - 비동기(asyncronous) 하면 항상 따라다니는 block과 non-block, sync와 async 개념을 이해해야 하고 제어권, 동시성을 먼저 짚고 넘어가야 한다.

  • 제어권 : 제어권은 자신(함수)의 코드를 실행할 권리 같은 것이다. 제어권을 가진 함수는 자신의 코드를 끝까지 실행한 후, 자신을 호출한 함수에게 돌려준다.
  • 동시성 : 함수 A와 함수 B가 동시에 진행되는 것(처럼 보이는 것). 그러기 위해서는 특정 함수 A가 다른 함수 B의 결과값에 의존하는지가 중요하다.

블로킹(block) - 리턴 값이 올 때까지 기다린 후 제어권을 넘겨주는 것

논블로킹(non-block) - 작업 완료 여부와 상관없이 진행되는 것 (제어권을 넘겨주지 않는다)

동기(sync) - 리턴 값을 계속 확인하면서 신경 씀

비동기(sync) - 작업 완료 여부는 신경 쓰지 않음

 

듣긴 했지만 아직 까진 이게 무슨 차이 긴가 모르겠다.. 추후 이해되면 수정하겠습니다..

 

 

추가 첨부(2022-11-18 23:07)

 

동기 : 1 - 2 - 3 - 4 - 5 - 6.... 순서대로 하는 것

비동기 : 한 번에 여러 일을 하는 것

 

카페 점원 1명, 손님 5명이 있다고 가정할때

블로킹 : 점원이 세워놓고 한 사람당 주문을 받고 나올 때까지 대기

논블로킹 : 손님들 주문받고 진동벨 주고 진동벨 울리면 와서 받아가라~

 

JavaScript의 비동기 내용입니다. 시각화된 자료가 있어 가져왔습니다.

https://velog.io/@jjunyjjuny/%EB%B2%88%EC%97%AD-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%8B%9C%EA%B0%81%ED%99%94-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EB%A3%A8%ED%94%84