이전 글에서 프로세스 동기화가 무엇이고 왜 필요한가?에 대한 글을 작성하였다. 이번에는 프레스 동기화를 이루어내기 위해 어떤 기법을 사용하는지 프로세스 동기화 기법에 대해 이야기 해보겠다. 프로세스 동기화 기법은 프로세스 동기화를 위한 도구를 기준으로 나뉘게 된다
동시다발적으로 실행되는 프로세스들 중에는 공통의 목적을 가지고 서로 협력하면서 실행되는 프로세스들이 존재한다. 예를 들어 워드 프로세스에는 사용자로부터 입력을 받는 프로세스와 입력한 내용을 화면에 출력해주는 프로세스 등이 있을 것이다. 이 프로세스들은 각기 다른 독
모듈(module)이란? 전체를 이루는 부품 하나하나 (node.js에서는 javascript파일 하나를 모듈 하나라고 생각하면 편하다.) 이런 모듈이 모여서 하나의 프로그램이 되기 때문에 하나의 모듈에서 다른 모듈에 있는 기능을 가져다 쓰는 법을 아는 것이 중요하
타입스크립트를 배우면 리액트에 자바스크립트 대신 타입스크립트를 활용해 코드를 짤 수 있다. 어떻게 설정을 해야 자바스크립트 대신 타입스크립트를 활용할 수 있을까? 우선 새로운 파일을 만들고 터미널에 리액트를 생성하기 위해 >npx create-react-app .
보통 웹사이트는 여러 페이지로 되어있다. 그래서 주소창에 특정 주소를 입력하거나, 링크를 클릭하면 다른 페이지로 이동 할 수 있다. 만약 여러개로 이루어진 웹사이트를 html로 만든다면 각 링크마다 각각의 페이지를 지정해놓아야 한다. 그렇지만 리액트에서는 여러 페이
이런 컴포넌트 트리가 있다고 했을때 주황색으로 칠해진 컴포넌트에서만 다뤄야 할 데이터가 존재할 수 있다. 이런 경우는 보통 최상위 컴포넌트에서 전역상태로 데이터를 관리한다. 그리고 최상위 컴포넌트에 있는 데이터를 하위 컴포넌트로 보내주기 위해 props로 전달을
자바스크립트에서 어떤 객체든지 간에 모든 객체는 자신의 부모인 Object.protoype 을 갖는다 그렇다면 객체의 일종인 함수도 Obejct.prototype을 가지고 있을까? 궁금하면 크롬 개발자 도구에서 직접 console.dir을 통해 알아볼 수 있다.
운영체제 모든 프로그램들은 하드웨어를 필요로 한다. 예를 들어 1+2를 실행하는 프로그램이 있을때 이 프로그램은 1+2를 계산하기 위해 CPU를 필요로 할 것이고 이미지를 하드 디스크에 저장해주는 프로그램이 있다면 하드 이 프로그램은 하드 디스크를 필요로 한다.
우리는 다양한 프로그램을 컴퓨터에서 사용할 수 있다. 이러한 수많은 프로그램은 사용하기 전에는 보통 보조기억장치에 적재되어 있지만, 우리가 특정 프로그램을 사용하면 그 프로그램은 메모리에 적재되어 실행된다.이렇게 메모리에 적재되어서 실행하는 순간부터 우리는 프로그램을
리액트로 영화들을 평점이나 개봉순으로 보여주는 작은 실습프로젝트를 진행중이였다. 사진에서 보다시피 각 페이지 상단에 최신순 베스트순으로 영화를 정렬하는 버튼이 있고 각 영화마다 삭제 버튼이 존재한다. 그리고 홈페이지 하단에는 더 보기버튼이 있고 더 보기 버튼을 누르면
이전에 cpu의 성능을 더욱 끌어 올리기 위해 명령어 파이프라이닝과 슈퍼스칼라 기법에 대해 배웠다. 그래서 실제로 이러한 기법들을 CPU에 적용하려면 명령어기 파이프라이닝에 최적화되어 있어야 한다. 조금 더 쉽게 말하면 파이프라이닝, 슈퍼스칼라 기법을 사용하기 위해서
주사위 버튼이 있고 주사위 버튼을 누를 때마다 주사위의 숫자가 정해질 것이고 그에 따라 주사위 이미지도 바뀌도록 만들고 싶다면 어떻게 만들 수 있을까? js의 기본적인 내용을 알고 있는 사람이라면 숫자에 따라 html요소노드의 속성값을 바꿔주거나 아니면 html만 다
\-문제 설명-현재 기찻길에 3개의 열차가 있고 열차들은 플랫폼에 들렸다가 다시 출구로 빠질 수 있다. 열차가 1번부터 3번까지 번호순서대로 들어온다고 했을 때, 입력 순서대로 나갈 수 있는지 없는지 판단하는 프로그램을 작성하시오. case1) 입력값:1,2,3
이 글을 쓰는 이유는 모든 것은 아주 사소하고 쉬운 개념에서부터 시작한다. 그런데 나는 최근에 나를 이틀동안 힘들게 했던 에러는 정말 아주 기본적인 개념을 잊고 말아서 생긴 에러였다는 것을 뼈져리게 느꼈다. 그래서 아주 사소하고 쉬운 개념이라도 나의 기본기에 잘 깔
fetch함수로 api요청도 해보고 다양한 이벤트를 사용해보면서 html과 css로만 만들줄 알았던 웹 브라우저를 더욱 다양한 기능들을 사용해보고 다양한 동작을 구현해보면서 실제로 우리가 사용하는 웹사이트를 구현할 수 있겠구나라는 느낌을 받아 좋았다.많은양의 js코드들
과거 CPU의 성능을 더욱 개선하기 위하여 여러가지 개념들이 등장하거나 기존의 것들의 성능을 더욱 높이는 방식으로 이루어 졌다. 지금부터 어떻게 기존 성능을 개선하거나 또는 어떤 새로운 개념이 등장하였는지 알아보자!!! 클럭 클럭이란 컴퓨터의 모든 부품들이 일사불
ISSUE 특정요소를 js의 이벤트와 css의 transform,transition을 이용하여 특정 버튼을 누르면 튀어나오도록 코드를 작성하였다. 그렇게 버튼을 누르면 내가 원하는대로 잘 작동하였지만 한가지 문제점이 있었다. 바로 새로고침을 하면 특정요소가 웹페이지보다
async는 asynchronous의 줄임말로 비동기를 의미한다. 그래서 함수앞에 async라는 키워드가 있다면 이 함수는 비동기적으로 실행 할 부분이 있다는 것을 나타낸다. await은 promise객체를 리턴하는 코드 앞에 있는데 await은 '기다리다'라는
초창기 웹은 특정 웹 페이지에서 다른 웹 페이지로 갈 수 있는 하이퍼링크를 클릭하면 새로운 웹 페이지가 로드 되는 방식이였다. 물론 이러한 방식은 현재도 사용하기 한다. 하지만 매번 이런식으로 새로운 웹이 로드 되는 방식은 특정 부분만 새로 보여지거나 없어지면 될 것
이때까지 우리는 항상 fetch메소드를 써서 promise객체를 생성했다. 하지만 fetch메소드를 쓰지 않고 promise객체를 생성할 수 있다. 🧩promise객체 만들기 우선 new생성자 함수를 통해 promise객체를 만들 수 있는데 사진을 보면 콜백함수