본문 바로가기

전체 글

(117)
CSR 클라이언트 사이드 렌더링 클라이언트 사이드 렌더링에서 클라이언트는 브라우저를 의미! html을 가장 기본적인 것만 가져온 뒤 자바스크립트를 이용해서 DOM을 생성해서 html에 그려주면 어떨까? 라는 접근이 CSR이다. DOM을 js가 직접 그려주기 때문에 html의 용량은 현저히 낮다. 대신 js의 용량이 커짐. 필요한 DOM만 그때그때 만들어 쓸 수 있다는 장점. html을 매번 불러오는 것이 아니라 js로 필요한 것만 그려낸다. 이때 history API를 통해서 라우팅 처리를 하고 DOM을 이용해서 렌더링을 수행하게 된다. 리액트, 뷰, 앵귤러와 같은 SPA 프레임워크는 기본적으로 브라우저에서 컴포넌트를 만들어서 그 컴포넌트를 렌더링 시키는 것을 최우선 목표로 한다. 즉 리액트에서 컴포넌트를 만드는 행위가 DOM을 만드는..
브라우저의 원리 브라우저가 이해할 수 있는 언어는 4가지밖에 없다. html, css, js, wasm html 파싱 -> DOM(Document Object Model) - html 요소 데이터 css 파싱 -> CSSOM - css 요소 데이터 이 둘을 결합해서 렌더 트리를 만들게 됨 렌더 트리를 바탕으로 그리는 일을 수행 레이아웃 - 배치 과정(CPU를 많이 먹음) 페인트 - 그리기 - 이때야 비로소 화면에 나타나게 됨(GPU를 많이 먹음) 렌더 - 다 그려진 상태 DOM이 변경 된 경우 다시 렌더 트리를 그린다 -> 레이아웃 변경시에는(width, height 변경 시) 다시 배치 -> 페인트는 무조건 다시 함 -> 렌더 웹에서 렌더링이 되는 건 모두 60fps를 유지해야 한다. 그래야 유저들이 부드럽다고 느낀다..
웹 애플리케이션 배포 방법 1. 프론트 엔드와 백 엔드의 분리 React, Vue, Angular 등은 JavaScript 라이브러리 혹은 프레임워크이다. 즉, 이것들은 클라이언트의 브라우저 단에서 실행되는 JavaScript를 멋지게 코딩할 수 있도록 도와주는 수단일 뿐이다. 특히 React나 Vue의 경우 JavaScript 코드를 작성할 때 필요한 만큼만 적재적소에 사용할 수 있기 때문에 이것들을 사용한다고 해서 프론트 엔드와 백 엔드가 구분되는 것은 절대 아니다. 다만 이것들을 활용하면 프론트 엔드와 백 엔드를 완전히 구분하여 두 기능을 독립적으로 개발할 수 있게 된다. 그렇다면 그것이 어떻게 가능한 것인지, 그 동작 원리를 한 번 살펴보도록 하자. 개발자가 React 라이브러리를 활용하여 클라이언트에게 제공할 JavaSc..
운영체제 메모 입출력 시스템 구성: 장치 구동기(device driver), 장치 제어기, 장치(예: HDD, SSD) 장치 구동기는 커널 안에 있음. 커널 안에서 파일 시스템이나 응용프로그램으로부터 장치구동기가 시스템콜을 받아서 장치 제어기로 명령을 내리거나 자료를 주고받음. 장치제어기는 장치를 직접 제어함. 장치 제어기 안에는 명령 레지스터, 상태 레지스터, 자료 레지스터가 존재. 명령 레지스터: 장치 가동을 위한 명령 코드 적재 상태 레지스터: busy/done 플래그, 오류코드 표현, 컴퓨터 구조 자료 레지스터: 장치 내의 하드웨어 버퍼 HW 인터페이스 장치 경영 방식 ◦ 접근 방식에 의한 분류(장치제어기의 레지스터 접근 방식) 격리형(isolated I/O): 하드웨어 구조상 주변장치를 위하여 메모리와는 별도..
hyperledger fabric 동영상 강의! www.youtube.com/watch?v=cTYco3L50Og&list=PLlYCl1UOH8dima_f8QOIeY1ieuOAYKo_G&index=12 delegated 모델 - 서버가 유저의 키를 다 가지고 있음. 외부의 클라이언트와 소통할 때는 토큰을 가지고 소통, 서버는 토큰으로 유저를 인식해서 트랜젝션 처리. 완전한 탈중앙화까지는 못감. decentralized 모델. fabric이 모바일 쪽 지원은 좋지 않다. 아직 구현이 쉬운 단계는 아님.. developer.ibm.com/?q=%20&DWContentType[0]=Code%20patterns&DWTechnology[0]=Blockchain Search Results for “ ” – IBM Developer developer...
Java Tree 자료구조, 순회
(개선된)다익스트라 알고리즘
크루스칼 알고리즘 - 최소 스패닝 트리 간선들을 가중치를 기준으로 오름차순으로 정렬 가중치가 작은 간선들부터 확인하면서 사이클이 발생하지 않으면 더해줌.