728x90
[챌린지] 2주 차 회고회고설계 / 구현 동료분들과 얘기를 나눠보니, 설계를 진행하지 않고 바로 구현을 시작하시는 분이 많았다. 그래서 그렇게 해보았는데, 뭔가 전체적인 흐름을 이해하고 시작하는 게 아니다 보니, 오류도 많이 발생하고 갈아엎기도 많이 갈아엎었다. 다음 주에는 설계 단계를 어떤 함수가 필요한지, 어떤 데이터 구조가 필요한지까지 설계를 하고 구현을 해보도록 해야겠다. 학습 정리 이번에도 학습 정리를 완벽하게 끝내지 못했다. 아무래도 학습 저장소에 더 치중되어서 괜히 촉박하게 학습 정리를 하면, 내용이 의미 없는 것들로 작성되는 것 같다. 그냥 양을 채우는 것에 목적을 두게 되는 것 같아서 몰랐던 개념들만 작성을 해두고, 주말에 정말로 궁금했던 내용을 찾아서 깊게 공부해서 적어야겠다. 학습 정..
[챌린지] 1주 차 회고회고설계 / 구현 설계와 구현의 밸런스를 잡는 것이 너무 어려웠다. 어디까지 설계를 진행한 후 구현을 진행해야 하는지, 설계를 마치고 구현을 하면서 바뀐 설계를 과정으로 다 표현해야 하는지 감이 잡히질 않았다. 미션을 설계하고 구현하는 시간을 줄이는 효과적인 방법을 매일매일 모색하였고, 매일 매일 다른 방식으로 진행했지만 아직 어떤 방식이 나와 맞는지 찾지 못했다. 학습 정리 구현을 하면서 생긴 호기심을 시작으로 해당 부분을 깊게 파고들어 정리하고 싶었지만, 마음먹은 대로 하지 않았던 게 아쉽다. 주말에 호기심으로 시작하여 더 깊게 공부한 내용을 업로드해야겠다. 피어세션 동료분의 코드를 보는 것이 너무 힘들었다. 이런 경험이 없었어서 자세하게 이해하기는커녕, 한 분 한 분 확인..
EventEmitter EventEmitter⸰ event 를 발생시키는 모든 객체는 EventEmitter 클래스의 객체⸰ 하나의 EventEmitter 객체가 발생시키는 이벤트는, 해당 객체 내에서만 유효 > 하나의 EventEmitter 객체에 설정된 콜백 함수가 다른 EventEmitter 객체의 이벤트에 반응하지 않음 ⸰on( ) - 이벤트가 발생했을 때, 실행할 콜백 함수를 등록하는 함수 - 이벤트 핸들러를 설정하는 함수 - addLinster 함수의 역할과 인자가 동일const EventEmitter = require('events');const myEmitter = new EventEmitter();myEmitter.on('test', () => { console.log('Succ..
불변성불변성⸰ 한 번 생성 후 변하지 않는 것⸰ 예상 가능하고, 신뢰할 수 있는 코드를 지향하기 위하여 사용해야 함 Immutable type⸰ 원시 타입(Boolean,String,Number,Null,Undefined,Symbol) ⸰ 메모리 영역 안에서 불변하며, 새로운 값이 재할당let name = 'foo';name = 'bar';name 은 새로운 값이 재할당 됨 Mutable type⸰ 객체 타입(Object,Array,Map등)⸰ 변할 수 있는 값이며, 직접적으로 변경 가능let x = ['foo'];x.push('bar');console.log(x); // ['foo', 'bar']x.push('bar') 라는 코드를 보지 못한다면, x = ['foo'] 라고 생각하여 잘못 코드를 작성할..
Jest 테스트 도구Jest⸰ matcher를 사용하여 사용자가 다양한 방식으로 테스트하도록 도와줌⸰matcher: 기대한 값이 실제 반환된 값과 일치하는지 확인하는 작업 실행 함수 -describe( ): test 단위를 묶는 가장 큰 단위 -test( ),it( ): 테스트를 진행, 기능의 차이는 없으나 it( )은 test( )의 alias라고 함√. test.each( ) 사용하면, 여러 개의 테스트 케이스 동시 구동 가능 -expect( ): 테스트를 진행할 코드 -beforeEach( )/afterEach( ): 테스트를 진행하기 전 / 후 1회 실행하는 전처리기 / 후처리기 실행 순서 1. describe( ) 단위로 test 진행 2. beforeEach( ) 로 전처리 실행..
CPU의 구조 / 원리CPU⸰ 중앙처리장치(Centrol Processing Unit)⸰ 명령어 해석, 자료의 연산 / 비교 등 처리를 제어하는 핵심장치⸰ 다양한 입력 장치로 정보를 받아 처리한 후, 결과를 출력 장치로 보내는 모든 과정을 제어, 조정 CPU의 구성 요소⸰ Control Unit(제어 장치), ALU(연산 장치), Register(레지스터)⸰ 각 요소들은 Data Bus를 통해 데이터를 주고받음 Control Unit(CU, 제어장치) ⸰ CPU 제어하는 장치 ⸰ PC(프로그램 카운터), 명령 해독기, 부호기, 명령 레지스터 등 구성 1. ROM(기억 장치)으로부터 프로그램 명령어를 순차적으로 꺼내 해석 2. 어떤 작업을 수행해야 하는지 결정 3. 실행에 필요한 제어 신호를 전..
JSON.stringify( ) / JSON.parse( )JSON.stringify( )⸰ JavaScript 객체를 JSON 형식의 문자열로 변환⸰ JavaScript 객체를 서버로 전송하거나, 로컬 저장소에 저장하기 위해 필요한 작업 > 데이터를 일관된 형식으로 전송 가능 형식JSON.stringify(value, replacer, space)⸰value(필수) : JSON 문자열로 변환할 값, 배열 / 객체 / 숫자 / 문자 등 가능⸰replacer(선택) : null이거나 없으면, 객체의 모든 속성이 JSON 문자열 결과에 포함, 함수 / 배열 가능⸰space(선택) : 출력에 공백을 삽입, string / number 가능 replacer가 함수인 경우 ⸰ 문자열로 바뀌는 프로세스의 작동을 변..
리눅스 명령어ls⸰ LiSt의 약자, 해당 디렉토리에 있는 파일의 목록을 나열 -ls: 현재 디렉토리 파일 목록 나열 -ls /etc/sysconfig .etc/sysconfig: 디렉토리 목록 나열 -ls -a: 현재 디렉토리 파일 목록 나열(숨김 파일 포함) -ls -l: 현재 디렉토리 파일 목록 자세히 나열 -ls *.(확장자): 확장자인 목록 나열 -ls -l /etc/sysconfig/(글자)*: /etc/sysconfig 디렉토리 중 글자로 시작하는 목록 자세히 나열 cd⸰ Change Directory, 디렉토리 이동 -cd: 현재 사용자의 홈 디렉토리로 이동 (root라면, /root 디렉토리로 이동) -cd ~rocky rocy: 사용자의 홈 디렉토리로 이동 -cd ..:..