목록분류 전체보기 (150)
김 양의 멋따라 개발따기
디지털 컴퓨터 1) 한 개 이상의 프로세서와 다양한 종류의 메모리가 들어있습니다. 프로세서는 단순한 명령어드릉ㄹ 매울 빠르게 실행하고 기존 계산 결과와 외부 입력에 기초하여 다음에 무슨 일을 할지 결정할 수 있습니다. 메모리는 데이터뿐만 아니라 데이터 처리 방식을 결정하는 명령어도 담고 있습니다. 2) 무어의 법칙 회로 구성 요소의 크기와 가격이 급격히 줄어들고 낮아지면서 일정한 공간과 자본으로 구현 가능한 컴퓨팅 성능이 기하급수적으로 높아진다는 법칙입니다. 회로 소자의 크기가 계속 줄어들어 이제 원자 몇 개 크기 정도가 되었기에 집적회로 기술이 위기에 봉착한 것은 분명하지만 아마도 어떤 새로운 발명이 나타나서 무어의 법칙 곡선이 계속 이어질 수 있게 해줄 수도 있습니다. 3) 이진수 디지털 장치는 이진..
옵셔널 체이닝 (Optional chaining) 옵셔널 체이닝(Optional chaining) 연산자 (?.)는 체인의 각 참조가 유효한지 명시적으로 검증하지 않고, 연결된 객체 체인 내에 깊숙이 위치한 속성 값을 읽을 수 있을 수 있습니다. ?. 연산자는 . 체이닝 연산자와 유사하게 작동하지만, 만약 참조가 null 또는 undefined 라면, 에러가 발생하는 것 대신에 표현식의 리턴 값은 undefined로 단락됩니다. 함수 호출에서 사용될 때, 만약 주어진 함수가 존재하지 않는다면, undefined를 리턴합니다. 따라서 참조가 누락될 가능성이 있는 경우 연결된 속성으로 접근할 때 더 짧고 간단한 표현식이 생성됩니다. 어떤 속성이 필요한지에 대한 보증이 확실하지 않는 경우 객체의 내용을 탐색하..

1. 자바스크립트에서 유사배열 유사 배열은 함수에서 처리 결과로 배열을 반환하고 싶을때 또는, Array에서 기본으로 내포되어있는 기능을 제공하고 싶지 않거나 Array에 내포되어있지 않은 기능을 제공하고싶을때 사용합니다. 유사배열을 사용하기 위해서는 숫자 형태의 indexing이 가능해야하고, length 속성을 포함해야 합니다. 유사배열 요소를 수정하는 방법 Array.from() 메서드 사용 Array.from() 는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운 Array 객체를 만듭니다. call, apply, bind 사용 유사배열에서는 forEach와 같은 배열 매서드를 사용하면 배열이 아니므로 에러가 발생합니다. 이..
1. map 배열에 속한 항목을 변환할 때 사용합니다. 어떤 배열에 속한 항목을 원하는 대로 변환하고, 변환한 값을 새로운 배열로 만들어줍니다. 원본 배열은 값이 변하지 않습니다. let arr1 = [1, 2, 3, 4, 5]; let arr2 = arr1.map((item) => { return item + 1; }); //결과 //arr2 = [2, 3, 4, 5, 6] //arr1 = [1, 2, 3, 4, 5] =>원본 배열은 그대로 2. filter 어떤 조건을 만족하는 항목들만 골라서 새 배열로 만들어주는 함수입니다. 원본 배열은 변하지 않습니다. let arr1 = [0, 1, 2, 3] let arr2 = arr1.filter((item) => { return item > 1 }) //결..

1. 캐시와 캐싱 캐시는 용량이 작고 속도가 빠른 메모리로, 용량이 더 크지만 훨씬 느린 주 기억 장치에 매번 접근하는 것을 피하고자, 최근에 사용된 정보를 저장하는 데 사용됩니다. 주기억장치와 CPU 사이에 위치하고 자주 사용하는 데이터들을 기억합니다. 캐싱은 캐시 영역으로 데이터를 가져와서 접근하는 방식을 말합니다. 다른 의미로는 메모리 상에 있는 데이터를 연산하는데, 이 연산을 더 빠른 CPU메모리 영역으로 가져와서 처리를 수행하는 것도 캐싱한다고 표현합니다. 캐시은 어플리케이션 성능을 대폭 개선하고 비용을 크게 절감해 줍니다. 2. 캐싱의 작동법 캐시의 데이터는 일반적으로 RAM과 같이 빠르게 엑세스를 할 수 있는 하드웨어에 저장되며, 소프트웨어 구성 요소와 함께 사용될 수 있습니다. 캐시의 주요..
이번주는 알고리즘 문제들로 가득 찬 주였다. 알고리즘 문제를 해결하느라고 머리가 터질 것만 같았다. 처음에는 막막함이 가득했는데 문제를 풀다보니 자신감이 생겼다. 그런데 다시 막막함이 생겼다. 리액트 개인 프로젝트가 힘들다. 내가 잘 할 수 있었으면 좋겠다. JavaScript의 ES란? ES라는 것은 'Javascript의 표준 규격'을 의미하는데, 이것이 탄생한 배경에는 '브라우저 전쟁'이라고 하는 웹 브라우저 시장에서의 점유율 싸움이 있었습니다. 넷스케이프 사에서 개발한 Javascript가 선풍적인 인기를 끌기 시작하자 마이크로소프트 사에서도 IE 3(우리가 알고있는 인터넷 익스플로러)에 JScript라는 이름으로 자바스크립트를 탑재했지만, 실제적으로는 둘의 내용이 매우 달라서 같은 기능을 구현하..

007 연속과 불연속 1. 컴퓨터가 정보를 표현하는 방식 1) 디지털 컴퓨터는 불연속적인 덩어리로 입력받고, 불연속적인 값을 갖는 정보를 저장하고 처리합니다. 디지털 방식은 뒤에도 나오지만 불연속적인 값을 다룹니다. 2) 정보를 비트로 표현 비트는 이진숫자로 0 또는 1인 수입니다. 사람들에게 익숙한 십진수가 아닌 비트(이진수)로 표현됩니다. 3)비트는 모여서 더 큰 정보를 표현 숫자, 문자, 단어, 이름, 소리, 사진, 영화부터 정보를 처리하는 프로그램을 구성하는 명령어까지 모두 비트가 모여 표현됩니다. 2. 아날로그와 디지털 아날로그 디지털 다른 어떤 것이 변함에 따라 연속적으로 변하는 값이라는 개념을 전달하는 단어. 불연속적인 값을 다루므로 가능한 값의 수가 정해져 있음. 예시) 3. 디지털방식의 ..
1. JavaScript의 자료형과 JavaScript만의 특성 1) 느슨한 타입(loosely typed)의 동적(dynamic) 언어 -JavaScript는 느슨한 타입(loosely typed)의 동적(dynamic) 언어입니다. JavaScript의 변수는 어떤 특정 타입과 연결되지 않으며(타입을 체크하지 않습니다) 모든 타입의 값으로 할당 및 재할당 가능합니다. 2) JavaScript 형변환 -JavaScript는 타입이 매우 유연한 언어이기 때문에 형 변환이 가능합니다. -JavaScript에 언어의 타입은 원시 값과 객체로 나뉩니다. => 기본 또는 원시형 (primitive) 타입: 객체를 제외한 모든 타입은 변경할 수 없는 값 숫자(number), 문자열(string), boolean,..
1. 저번주는 로그인 기능을 구현한 프로젝트를 만들었다. 팀을 구성해 API를 설계했다. 로그인 페이지를 만들고(JWT 방식) 커피 캡슐을 선택하기 위한 취향을 선택하는 방식을 고르고 결과창을 띄워주는 것이었다. 2. API? API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말입니다. 요청을 보내는 애플리케이션을 클라이언트라고 하고 응답을 보내는 애플리케이션을 서버라고 합니다. 예를 들어 저희가 만든 페이지의 커피 캡슐 데이터 베이스는 서버이고 결과창을 보여주는 것이 클라이언트였습니다. 3. JWT? JSON Web Token의 줄임말로, JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준입니다. Session / Cookie 방식과 함..

문제 1. 접근 방식 3. 내가 짠 코드 function evenOrOdd(num) { if (num % 2 == 0) { return "Even"; } else { return "Odd"; } } if문을 사용해서 정리했다 4. 다른 사람이 짠 코드 function evenOrOdd(num) { return num % 2 ? "Odd" : "Even"; } if문을 삼항연산자로 나타내는 방법으로 짧고 간단하게 적었다. 0은 false이므로 뒤에 0을 붙이지 않는 것도 인상적이었다.