반응형 Programming153 [JavaScript] new Date()로 생성된 시간을 한국 시간으로 바꾸기 최근 일하면서 특정 시간대에만 배너를 표시하는 작업을 한 일이 있었다. 당연히 쉽게 반영이 될 거라고 생각했는데, 실제 사이트에서는 마치 코드가 잘못된 것처럼 작동하지 않았다. 이유는 기업 서버가 미국(혹은 다른 나라)을 거쳐 가면서 new Date() 시간이 한국 시간이 아닌 다른 어딘가의 시간으로 출력됐던 것이었고, 이 때문에 항상 한국 기준 (UTC +8)으로 바꿔주는 작업이 필요했다. 소스코드 const now = new Date() // 서버 시간 기준 현재 로컬 시간 const GMTNow = now.getTime() + now.getTimezoneOffset() * 60 * 1000 // GMT 현재 시간 // now.getTime(): 1970년 1월 1일 00:00:00 GMT와 주어진 .. Programming/Javascript, Typescript 2023. 2. 18. [네트워크] SSL이란? Programming/Computer Science 2023. 2. 14. [혼공스터디 9기] 혼.공.컴.운. - 12. 프로세스 동기화(필수, 선택 미션 포함) 필수미션 1. 뮤텍스 락과 세마포에 대한 설명으로 옳지 않은 것을 고르세요. 뮤텍스 락은 임계 구역을 잠근 뒤 임계 구역에 진입함으로써 상호 배제를 위한 동기화를 이룹니다. 세마포는 공유 자원이 여러 개 있는 상황에서도 이용할 수 있습니다. 세마포를 이용해 프로세스 실행 순서 제어를 위한 동기화도 이룰 수 있습니다. 세마포를 이용하면 반드시 바쁜 대기를 해야 합니다. 답: 4 해설: 세마포는 공유 자원이 여러 개 있는 상황에 적용이 가능한 동기화 도구다. 바쁜 대기는 반복적으로 lock을 확인하는 것인데, 이는 자물쇠 방식을 활용하는 뮤텍스 락에 적용된다. 12-1 동기화란 프로세스들은 서로 협력하여 실행되기도 한다. 이런 프로세스들의 실행 순서와 자원의 일관성을 보장하기 위해 반드시 동기화되어야 한다... Programming/Computer Science 2023. 2. 13. [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. 이전 1 ··· 4 5 6 7 8 9 10 ··· 22 다음