분류 전체보기
-
비트와 바이트concept/CS50 2021. 6. 16. 00:57
출처 : cs50 edwith.org/cs50 비트 정보를 저장하고 연산을 수행하기 위해 컴퓨터는 비트라는 측정 단위를 쓴다. 0, 1 두가지의 값만 가질 수 있는 측정 단위이다. 우리가 컴퓨터로 접하는 모든 데이터들은 0, 1로만 컴퓨터 내부에 저장되어 있는 것이다. 비트열 비트 하나로는 많은 양의 데이터를 나타내기에 부족하기 때문에 여러 숫자의 조합을 컴퓨터에 나타내기 위해서 비트열을 사용한다. 바이트는 8개의 비트가 모여서 만들어 진 것이다. 하나의 바이트에 여덟 개의 비트가 있고, 비트 하나는 0과 1로 표현될 수 있기 때문에 2의 8승인 256개의 서로 다른 바이트가 존재할 수 있다. 물론 바이트가 모이면 더 큰 단위도 될 수 있다.
-
기억장치concept/CS50 2021. 6. 16. 00:48
출처 : CS50 https://www.edwith.org/cs50/ 기억장치 컴퓨터가 계산을 수행하기 위해서는 비트와 바이트의 형태로 기억장치에 저장할 수 있어야 한다. 기억장치는 종류마다 서로 다른 속도를 내고 내부에 저장할 수 있는 양에 차이가 있어, 서로 다른 장단점을 가지고 있다. 기억장치의 종류에는 CPU 캐시, 하드디스크, RAM이 있다. CPU 하드디스크 RAM 용량이 매우 큰 파일이나 데이터를 처리해야 하지만, 한번에 32 또는 64bit의 블록 단위로 굉장히 적은 양의 데이터를 조작하고 계산한다. 하지만 중앙처리장치(CPU)는 이러한 비트들을 굉장히 빠른 속도로 처리할 수 있다. 이와 정 반대로 하드디스크는 CPU보다 훨씬 많은 양의 데이터를 저장할 수 있다. 하드디스크는 엄청나게 많은..
-
하드웨어concept/CS50 2021. 6. 10. 00:10
출처 : www.edwith.org/cs50 하드웨어 하드웨어는 컴퓨터를 물리적으로 구성하는 요소이며, 컴퓨터에 연결되어 추가적인 기능을 수행 컴퓨터의 하드웨어는 크게 중앙처리장치, 기억장치, 입출력장치로 구성 중앙처리장치(Central Processing Unit, CPU)는 프로세서라고 불리기도 하는데, 입력장치에서 받은 명령을 실제로 처리. CPU가 1초에 얼마나 많은 연산을 할 수 있는지 속도를 측정하는 단위는 기가헤르츠(GHz)이다. 기억장치 입력된 명령이나 데이터가 저장되는 공간 주기억장치와 보조기억장치로 나누어진다. 주기억장치 보조기억장치 RAM 하드디스크(HDD), SSD 기억된 정보를 읽어내기도 하고 다른 정보를 기억시킬 수 있는 메모리로서, 응용 프로그램을 일시적으로 불러오거나, 데이터..
-
Redux 개념 정리concept/React, Redux, RN 2020. 12. 31. 10:34
Store 말 그대로 state가 관리되는 오직 하나뿐인 저장소의 역할을 합니다. Redux 앱의 state가 저장되어 있는 공간이죠. 그래서 우리가 가장 먼저 해 주어야 할 작업은 Store를 만드는 작업입니다. store > store.js 파일에서 createStore 메소드를 활용해 rootReducer를 연결 해 주고 있습니다. Reducer Reducer 는 현재의 state와 Action을 이용해서 새로운 state를 만들어 내는 pure function 입니다. const itemReducer = (state = initialState, action) => { switch (action.type) { case ADD_TO_CART: return Object.assign({}, state, ..
-
react-reduxconcept/React, Redux, RN 2020. 12. 17. 10:51
connect 메소드 : 컴포넌트와 store를 연결시켜주는 역할 import { connect } from 'react-redux'; class Counter extends Component { render() { return ( this.props.value this.props.changeDiff(e.target.value)} /> ) } } const mapStateToProps = (state) => { return { value: state.value } } const mapDispatchToProps = (dispatch) => { return { changeDiff: (diff) => dispatch(action(diff)) } } Counter = connect(mapStateToProps..
-
Redux dev toolconcept/React, Redux, RN 2020. 12. 15. 18:17
redux dev tool 로 시간여행을 할 수 있다. 인스톨 하고 createStore를 할 때 두번째 전달인자로 다음 코드를 전달해주면 된다. Redux.createStore( reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__() ) 그리고 개발자 도구에서 리덕스 데브 툴 아이콘 선택하면 status 바뀌는 것이 눈에 보임 왼쪽 화면에는 type이 찍힘 오른쪽 화면에는 color 가 찍힘 이렇게 리덕스로 버전관리가 가능하다. 리덕스에서 여러가지 콘솔창에 찍어보면서 개발하려면 reducer 함수 내부에 찍어보면 된다.
-
리덕스 적용concept/React, Redux, RN 2020. 12. 15. 02:40
npm install --save redux 리덕스를 이용한다는 것은 store를 만들어서 그 store의 state를 바꾼다는 것이 리덕스의 핵심! 1. store를 만든다. 2. 그럼 state가 자동으로 생긴다. 3. reducer 라는 함수를 만들어서 store에 주입해준다. 1. createStore로 스토어를 만드는데 여기 전달인자로 reducer를 넣어주어야 한다. 여기서 reducer의 역할은? dispatch에 의해서 action이 들어오게 되면 reducer가 그 action 값과 기존에 있었던 state의 값을 참조해서 새로운 state값을 만들어주는 것 (새로운 state 값을 리턴한다. 이 때, 기존 state를 immutable 하게 유지하기 위해서 Object.assign을 통..
-
Redux - 2concept/React, Redux, RN 2020. 12. 10. 03:01
출처: 생활코딩 리덕스를 쓰면 좋은 이유 간단한 애플리케이션 생활코딩 참고 가능 www.youtube.com/watch?v=ijdFixuK1nI&list=PLuHgQVnccGMB-iGMgONoRPArZfjRuRNVc&index=5&ab_channel=%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9 1. n제곱에서 2n으로 시간복잡도가 줄어듬 2. 시간여행을 할 수 있음 크롬 개발자 도구에서 리덕스 데브 툴을 쓰면 애플리케이션 상태 변화 과정을 볼 수 있음 => 즉, 리덕스를 이용함으로써 중앙집중적인 데이터 스토어를 통해서 애플리케이션을 쉽게 개발할 수 있다. 리덕스가 없다면? 아래와 같이 똑같은 코드를 계속 반복해야함 (간단한 앱 만들 때 참고 하기)