반응형 Programming150 [JavaScript] 화살표 함수 정의 전통적인 함수 표현보다 더 간편하게 함수를 작성할 수 있는 대안이다. 기본 형태 let func = (arg1, arg2, ...argN) => expression // 아래 함수 표현식의 축약 버전이다. let func = function(arg1, arg2, ...argN) { return expression; } // 인수가 하나도 없다면, 괄호를 비워 놓는다. 이 때 괄호는 생략 불가하다. let sayHi = () => alert("안녕하세요!") sayHi() 본문이 여러 줄인 화살표 함수는 '중괄호'와 'return'을 사용해야 한다. let sum = (a, b) => { let result = a + b retun result } alert(sum(1, 2)) // 3 + 화살표 함.. Programming/Javascript, Typescript 2023. 2. 9. [Next.js 13] Next.js 13버전의 서버 중심 라우팅과 클라이언트 사이드 네비게이션 정리 이번 주에 공식문서 Page and Layouts 까지 읽었고, 이번엔 Next.js의 Linking and Lavigating에 대해 배워 보자. 따로 링크되지 않은 모든 설명은 Next.js 공식문서가 출처다. Routing: Fundamentals | Next.js ... beta.nextjs.org 서론: Next.js 13은 서버가 라우팅하고 클라이언트가 네비게이트한다. pages 디렉토리와는 달리, app 디렉토리의 new! 라우터는 서버 중심 라우팅을 사용한다. 이는 Server Component와 서버에서의 data fetching와 궤를 같이 하는 것이다. 클라이언트는 router 지도를 다운 받을 필요가 없다 . (app directory의 모든 컴포넌트들은 디폴트로 RSC(React .. Programming/Next.js 2023. 2. 5. [혼공스터디 9기] 혼.공.컴.운. - 11. CPU 스케줄링(선택 미션 포함) 11-1 CPU 스케줄링 개요 운영체제는 CPU를 어떻게 프로세스에 배분할까? CPU 스케줄링: 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것. 이는 컴퓨터 성능과도 직결되는 중요한 문제다. 프로세스 우선순위 입출력 집중 프로세스: 비디오 재생 등 입출력 작업이 많은 프로세스. 실행 상태보다는 대기 상태에 많이 머무른다. CPU 집중 프로세스: 복잡한 수학 연산, 컴파일 등 CPU 작업이 많은 프로세스. 대기 상태보다는 실행 상태에 더 많이 머무른다. CPU 버스트: CPU를 이용하는 작업 입출력 버스트: 입출력장치를 기다리는 작업 운영체제는 각 프로세스의 PCB에 우선순위를 명시하고, PCB에 적힌 우선순위를 기준으로 먼저 처리할 프로세스를 결정한다. 그렇게 자연스레 우선순위가.. Programming/Computer Science 2023. 2. 5. [혼공학습단 9기] 혼.공.컴.운. - 10. 프로세스와 스레드 (미션 포함) 운영체제의 핵심 개념인 프로세스와 스레드에 대해 공부해보자 기본 미션 1. 다음은 프로세스 상태를 보여주는 프로세스 상태 다이어그램입니다. 1부터 5까지 올바른 상태를 적어 보세요. 생성 상태 준비 상태 실행 상태 종료 상태 대기 상태 10-1. 프로세스 개요 프로세스: 보조기억 장치에 저장된 프로그램을 메모리에 적재하고 실행한 것 프로세스 직접 확인하기 포그라운드 프로세스: 사용자가 보는 앞에서 실행되는 프로세스 백그라운드 프로세스: 사용자가 볼 수 없는 공간에서 실행되는 프로세스(유닉스에서는 데몬, 윈도우에서는 서비스) 프로세스 제어 블록 프로세스 제어 블록(PCB): 빠르게 번갈아 수행되는 프로세스의 실행 순서를 관리하고, 프로세스에 CPU를 비롯한 자원을 배분하는 도구. 프로세스를 식별하기 위한 .. Programming/Computer Science 2023. 2. 4. [혼공학습단 9기] 혼.공.컴.운. - 9. 운영체제 시작하기 운영체제는 01~08장에 걸쳐 배운 컴퓨터 부품들을 관리하고 프로그램을 작동시키는 특별한 프로그램 09-1. 운영체제를 알아야 하는 이유 운영체제란 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램. 운영체제 또한 프로그램이나, 특별한 프로그램이므로 항상 컴퓨터가 부팅 될 때 메모리 내 커널 영역이라는 공간에 따로 적재된다. 나머지 영역은 사용자가 사용하는 응용 프로그램이 적재되는 사용자 영역이라고 한다. 정부에 비유할 수 있다. 운영체제를 알아야 하는 이유 운영체제와의 대화로 하드웨어와 프로그램을 더 깊이 이해하고, 문제 해결의 실마리를 찾을 수 있다. 09-2. 운영체제의 큰 그림 커널, 이중모드, 시스템 호출, 운영체제가 응용 프로그램에 제공하는 서비스 .. Programming/Computer Science 2023. 2. 4. [혼공학습단 9기] 혼.공.컴.운. - 8. 입출력장치 컴퓨터의 네 가지 핵심 부품 중 마지막인 입출력장치에 대해 알아보자. 08-1. 장치 컨트롤러와 장치 드라이버 장치 컨트롤러와 장치 드라이버라는 개념을 통해 다양한 외부 장치가 컴퓨터 내부와 어떻게 연결되고 소통하는지를 알아보자. 장치 컨트롤러 입출력장치가 다루기 더 까다로운 이유 첫째, 입출력 장치에는 종류가 너무나도 많다. 키보드부터 마이크까지 다양한 입출력 장치들과 정보를 주고받는 방식을 규격화하기 어렵다. 둘째, 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다. 전송률: 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 이런 전송률의 차이는 CPU와 메모리, 입출력장치 간의 통신을 어렵게 한다. 장치 컨트롤러(입출력 제어기, 입출력 모듈): 위와 같은 이.. Programming/Computer Science 2023. 2. 4. 백도어(Back Door)란? 개발을 하다 '백도어'라는 개념을 처음 만났다. 배포할 때 배포가 잘 됐는지 직관적으로 확인하기 어려울 때, 백도어에 살짝 숫자만 바꿔서 배포가 새로 잘 이루어졌는지 확인하기 위해 사용하곤 한다. 하지만 백도어는 이렇게 단순하게만 사용되지는 않는다. 백도어란 정상적인 인증 절차를 거치지 않고, 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 장치다. 설계자나 관리자에 의해 남겨진 시스템의 보안 허점을 말한다. 설계자가 일부러 남겨 놓은 경우는 개발 단계에서의 테스트를 위해, 유지 보수 시의 효율성을 위해 특수 게정을 허용하는 것이다. 중요한 것은 정상적인 인증 절차 없이 시스템에 접근할 수 있기 때문에, 백도어에 뭔가 악성 프로그램을 숨겨 놓는다면 해당 시스템을 사용했을 때 개인정보 유출이나 바이러스와.. Programming/ETC 2023. 2. 2. 이전 1 ··· 4 5 6 7 8 9 10 ··· 22 다음