🚧

· 🚧
JUnit 테스트 실행 시 아래와 같은 에러가 났다. FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > No tests found for given includes: [com.study.springbootaws.web.HelloControllerTest.returnHello](filter.includeTestsMatching) * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full..
· 🚧
프로세스란? 프로세스는 실행중인 프로그램을 말한다. 프로세스의 문맥(context) 특정 시점에서 프로세스가 어디서부터 어디까지 실행됐는지의 상태를 표현한 하드웨어 문맥이다. 아래 내용들을 모두 포함해 프로세스의 문맥이라고 한다. 현대 컴퓨터는 여러 프로세스가 time sharing을 하며 동시에 실행되기 때문에 다음 프로세스로 넘어갈 때 이전 프로세스의 문맥을 저장해놔야 다시 돌아왔을 때 정상적으로 실행할 수 있다. 하드웨어 문맥 다음에 실행할 명령어 주소를 담고 있는 Program Counter 와 각종 register의 정보 프로세스의 주소 공간 code, data, stack 에 어떤 내용이 들어 있는가. 프로세스 관련 커널 자료 구조 프로세스 관리를 위한 자료구조인 PCB(Process Cont..
· 🚧
프로그램들이 하드웨어 위에서 어떻게 돌아가는지... 컴퓨터시스템의 구조 컴퓨터 시스템은 두 가지 부분으로 이루어져 있다. 보통 호스트 컴퓨터라고 말하는 CPU 와 Memory 로 구성된 장치와 Disk, 모니터, 키보드 등 데이터의 입출력이 이루어지는 I/O device 이다. Memory Memory 는 CPU의 작업 공간이다. CPU는 메모리에서 매 clock time 마다 기계어(명령어)를 읽어서 작업을 수행한다. 사실 CPU가 하는 일은 이렇게 Memory 에서 명령어를 읽고 실행하는 것 뿐이다. 이 작업 결과는 Output device 인 모니터, 프린터로 출력되고 명령 수행에 필요한 데이터는 Disk, 키보드 등에서 입력받는다. Disk 는 작업 결과를 보관하는 Output device 역할도..
· 🚧
운영체제란? 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 소프트웨어와 연결시켜주는 소프트웨어이다. 좁은 의미로는 커널을 가리키는데 이 커널은 운영체제의 핵심 코어로 부팅 후 항상 메모리에 상주하는 부분을 말한다. 넓은 의미로는 이 커널을 포함해 주변 시스템 유틸리티, 윈도우즈를 설치했을 때 기본적으로 설치되어 있는 유틸리티들을 전부 포함해 말하기도 한다. 운영체제의 목표 운영체제는 사용자, 각종 소프트웨어와 하드웨어 사이에 위치하기 때문에 크게 두 가지 목표를 가진다. 1) 프로세서, 메모리, IO장치 같은 컴퓨터 시스템의 자원(resource)을 효율적으로 관리 예를 들어 메모리는 한정적인 공간을 가지기 때문에 n개의 프로그램을 돌릴 때 적절한 공간을 분배해줘야 한다. 이 뿐만 아니라 프로세스,..
· 🚧
그래프란? 트리처럼 노드(데이터)들이 연결되어 있는 자료구조로, 노드간의 관계를 표현할 때 주로 쓰인다. 트리와 달리 노드들에 부모/자식 관계가 없이 전부 이어질 수 있다. 그리고 노드와 노드 사이를 잇는 선을 간선이라고 한다. 이 간선은 방향을 나타낼 수도 있다. 방향이 있는 그래프를 Directed Graph 라고 하고 방향이 없는 그래프를 Undirected Graph 라고 한다. 방향 그래프는 단방향 혹은 양방향으로도 표현된다. 참고로 트리는 위, 아래로 흐르므로 방향 그래프인데 방향을 생략한 것이다. 이어지는 노드들을 따라가다보면 처음 시작한 노드로 돌아오는 그래프도 있다. 이것을 사이클이라고 하는데, 사이클이 하나라도 있는 그래프를 Cyclic Graph, 사이클이 하나도 없는 그래프를 Acy..
· 🚧
TypeError Cannot read property 'setState' of undefined class component 에서 함수를 선언할 때 아래와 같은 형태는 명시적으로 bind 를 해줘야 한다. 해주지 않으면 this 를 사용할 때 찾을 수 없다며 오류가 뜬다. handleClick() { this.setState(value); } 아래처럼 생성자에서 bind 해주거나 constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } 함수 선언 형태를 arrow function 으로 해주면 자동으로 bind 된다. handleClick = (e) => { this.setState(value); }
· 🚧
render methods should be a pure function of props and state render 내에 setState 등을 호출해서 계속 렌더링 되면 이런 오류가 뜬다. 난 호출한 적 없는데...?! 알고보니 자식 컴포넌트로 setState 하는 function 을 props 로 전달해준 뒤, onClick 에 할당해줬는데.... 이런 형태로 할당해줘서 생긴 문제였다. handleClick = (e) => { this.setState({value:e}); } onClick={handleClick(value)} handleClick(value) 는 함수 실행문이다!!!! 난 함수를 실행하고 있었던 것이다.... 따라서 아래처럼 수정해줘야 한다. handleClick = (e) => ..
· 🚧
해시 테이블이란? 해시 테이블은 key - value 시스템의 자료구조다다. key 는 배열의 index 처럼 value 에 바로 접근할 수 있도록 하는 값이다. index 와 달리 문자열, 파일 등 다양한 데이터가 가능해서 value와 관련 있는 값으로 설정할 수 있다. fruits = { key: "사과", value: "맛있다", key: "복숭아", value: "딱딱한게 맛있다." } //key값으로 데이터 바로 접근 fruits["사과"] -> "맛있다" 어떻게 가능하지? 사실 해시테이블의 내부는 배열과 비슷하게 index 와 value 로 구성되어 있다. key 는 hash function 을 통해 해시 코드로 계산되고, 이 해시코드는 index 로 환산된다. hash function 은 입..
purpplee
'🚧' 카테고리의 글 목록 (2 Page)