학습 TIL
2021. 01. 13 목요일 여기에서 무료로 CS 강의를 들을 수 있고, 여기서 들은 것을 바탕으로 정리해보고자 한다. CS50 강의 3일차이다. 코드스테이츠를 통해서 한 번 배워봤던 부분이라서 그런지 다시 보니까 처음 배웠을 때보다 더 이해가 잘되었다. 오늘은 알고리즘, 선형 탐색, 버블 정렬, 선택 정렬 강의를 들었다. 아래는 강의 자료를 기반으로 다시 정리해본 것이다. 생각해보기 부분은 나의 생각이므로 정답이라고 할 수는 없다. 1. 알고리즘 알고리즘이란? 입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야하는지에 대한 규칙들의 순서적 나열. 이러한 일련의 순서적 규칙들의 나열 방법에 따라 알고리즘의 종류가 달라지고, 같은 출력값이라도 그 값에 도달하는 시간이 서로 다를 수 있다. 정확..
2022. 01. 12 수요일 CS50 강의 2일차이다. 아직까지는 무언갈 깊게 생각하고 고민해봐야 하는것이 많지 않은 것 같다. 그래서 일단은 그냥 개념 정리 위주로 정리할 예정이다. 여기에서 무료로 CS 강의를 들을 수 있고, 여기서 들은 것을 바탕으로 정리해보고자 한다. 개인 노션에도 따로 전체적으로 정리할 것이다. 오늘은 2진수, ASCII, 16진수, 이미지 강의를 들었다. 아래는 강의 자료를 기반으로 다시 정리해본 것이다. 4. 2진수 💡 개요 컴퓨터는 0과 1만을 사용하는 2진수라는 수 체계를 사용합니다. 사람은 0부터 9까지의 숫자의 조합으로 10, 826, 29325와 같은 숫자를 만들어 낼 수 있듯이, 컴퓨터도 0과 1의 조합으로 크고 작은 숫자와 다양한 문자를 만들 수 있습니다. 수 ..
2022. 01. 11 화요일 코드 스테이츠를 수료하고 CS 기초지식을 쌓으며 기술면접을 준비하고자 한다. 💪 여기에서 무료로 CS 강의를 들을 수 있고, 여기서 들은 것을 바탕으로 정리해보고자 한다. 개인 노션에도 따로 전체적으로 정리할 것이다. 오늘은 하드웨어, 기억장치, 비트와 바이트 강의를 들었다. 아래는 강의 자료를 기반으로 다시 정리해본 것이다. 1. 하드웨어 🖥 개요 하드웨어는 컴퓨터를 물리적으로 구성하는 요소이며, 컴퓨터에 연결되어 추가적인 기능을 수행합니다. 컴퓨터 내의 하드웨어 중앙처리장치(Central Processing Unit, CPU) : 입력장치에서 받은 명령을 실제로 처리합니다. CPU가 1초에 얼마나 많은 연산을 할 수 있는지 속도를 측정하는 단위는 기가헤르츠(GHz) 입니..
1. Set Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있다. 즉, 중복된 요소가 제거된 값들을 저장할 수 있다. 반환 값은 새로운 Set 객체이다. → set을 Array로 변환하기 위해서 전개 연산자를 사용해야한다. const arr = [1, 2, 3, 3, 1, 4]; const set = new Set(arr); // {1, 2, 3, 4, __proto__:{...}} const uniqueArr = [...set]; // [1, 2, 3, 4] 2. indexOf(), filter() indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환한다. 일치하는 값이 없으면 -1을 반환한다. filter() 메서드는..
문제 설명 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽으로 이동하면 마지막 문자에 커서) ▶ - 커서를 오른쪽으로 이동 예를 들어 아래의 방법으로 "JAZ"를 만들 수 있습니다. - 첫 번째 위치에서 조이스틱을 위로 9번 조작하여 J를 완성합니다. - 조이스틱을 왼쪽으로 1번 조작하여 커서를 마지막 문자 위치로 이동시킵니다. - 마지막 위치에서 조이스틱을 아래로 1번 조작하여 Z를 완성합니다. 따라서 11번 이동시켜 "JAZ"를 ..
문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때..
1. 비동기 1) blocking vs non-blocking - blocking : ex) 전화. 하던 일을 멈추고 받아야 한다. 요청에 대한 결과가 동시에 일어난다. (synchronous) - non-blocking : ex) 문자. 확인 후 나중에 답장 할 수 있다. 요청에 대한 결과가 동시에 일어나지 않는다. (asynchronous) 2) 커피 주문으로 알아보는 동기 vs 비동기 - 동기 : 요청에 대한 결과가 동시에 일어난다. / 비동기 : 요청에 대한 결과가 동시에 일어나지 않는다. 2. 비동기 Javascript 클라이언트가 요청을 해놓고 다른 작업을 하다가 응답을 받고, 그 응답을 받은 것을 실행시킬 수 있는 비동기적인 작업이 좋다는 것은 알겠는데, 비동기라 함은 예상할 수 없다는 것과..
1. Redux 세 가지 원칙 Single source of truth : 동일한 데이터는 항상 같은 곳에서 데이터를 가지고 온다. 즉, 데이터를 저장하는 store라는 하나뿐인 공간이 있다. State is read-only : React에서 useState로 state를 변경해주는 것 처럼 Redux에서는 action이라는 객체를 통해서 state를 변경할 수 있다. Changes are made with pure function : 변경은 순수함수로만 가능하다. Reducer와 연결되는 개념이다. 2. Redux 기본 개념 정의 : Redux는 자바스크립트 앱에서 예측가능한 상태관리를 해주는 Container. 1) Store : 상태가 관리되는 오직 하나의 공간 컴포넌트들과 별개로 Store라는 ..
CSS position 속성은 문서 상에 엘리먼트를 배치하는 방법을 지정한다. top, left, right, bottom 속성이 엘리먼트를 배치할 최종 위치를 결정한다. -값으로 줄 수 있는 것. static : 엘리먼트를 일반적인 문서 흐름에 따라 배치한다. top, right, bottom, left, z-index 속성이 아무런 영향도 주지 않는다. 기본값임. relative : 엘리먼트를 일반적인 문서 흐름에 따라 배치하고, 원래 문서의 흐름대로인 자기 자신의 위치를 기준으로 top, right, bottom, left의 값에 따라 오프셋을 적용한다. 오프셋은 다른 요소에는 영향을 주지 않는다. 따라서 페이지 레이아웃에서 요소가 차지하는 공간은 static일 때와 같다. absolute : 엘리..