본문 바로가기

전체 글

(62)
.yarn 디렉토리가 없는 경우 ## yarn을 이용한 cra 만들기 ``` javaScript yarn create react-app basic ``` 만들고 폴더에 들어가보니, .yarn 폴더가 없는 것을 발견하였다. 왜 없을까 찾아보니, yarn의 버전 문제였다. ### 원인 버전이 낮으면 제대로 폴더가 생성되지 않는데, 살펴보니 내 버전은 1로 시작했다. 1로 시작하면 낮으 버전이라고 볼 수 있다. ### 해결 방법 1. 기존 디렉토리를 삭제하고, 버전을 업데이트 해야한다. 버전을 업데이트하는 방법은 두가지가 있는데 ``` > yarn set-version latest //최신 버전 다운로드 > yarn set version stable //최신 버전으로 업데이트 ``` 두가지 중에서 한가지를 선택해서 업데이트 하면 된다. 저는..
[JS] Number()와 parseInt와 차이점 알고리즘 문제를 풀면서 형변환을 하기위해서 Number()와 parseInt()를 많이 사용하는데, 쓰는 와중에 이 둘의 차이점이 무엇인지 궁금해져서 학습을 하게 되었다. Number(str)란 문자열을 인자로 받으면 해당 문자열을 숫자로 형변환을 시켜줍니다. //1. 문자열을 숫자로 변환 let number = Number("187")//187 //2. 숫자와 문자가 섞여있는 문자열의 경우 let number = Number("580원")//NaN //3. 소수점의 숫자인 경우 let number = Number("19.345")//19.345 ## parseInt(str)란 - Number(str)와 동일하게 문자열을 인자로 받으면 해당 문자열을 숫자로 형변환을 시켜줍니다. ``` javascript..
[JS]함수형 프로그램이란 1. 함수형 프로그램 원칙 1. 입출력이 순수해야한다.(순수 함수) - 입출력이 순수한 것은 반드시 하나 이상의 인자를 받고, 인자를 처리하여 결과물로 도출해야한다. - 인자를 제외한 다른 변수는 사용하면 안된다. 인자를 제외한 다른 변수는 사용하면 안된다. 2. 부작용(부산물)이 없어야한다. - 프로그래머가 바꾸고자 하는 변수 외 바뀌어서는 안된다. - 원본 데이터는 불변해야한다. - 데이터 변경이 필요한 경우, 원본 데이터 구조를 변경하지 않고, 데이터의 복사본을 만들어 작업을 진행한다. // 비상태, 불변성 만족 const person = { name: "jongmin", age: "26" }; function increaseAge(person) { return { ...person, age: pe..
[JS] 형식화 배열이란?(Typed array) 1. 형식화 배열(typed array) - 배열 같은 객체이며 원시 이진 데이터에 엑세스 하기 위한 메커니즘 제공 - 배열에 이용할 수 있는 모든 메서드가 형식화 배열에 지원하지 않는다(push, pop) 1-1. 형식화 배열 구조 - 버퍼: 데이터 부분을 나타내는 객체 - 뷰: 문맥(데이터 형)을 제공해 데이터를 실제 형식화 배열로 변환 1-2. 버퍼(Buffer)란? - 임시로 바이너리 데이터를 저장하기 위한 메모리 공간 혹은 바이너리 데이터 자체 - Binary Data: 컴퓨터가 이해할 수 있는 0100 1001 형태의 이진수로 이루어진 데이터 1-3. ArrayBuffer - 고정된 크기의 메모리 공간에 바이너리 데이터를 저장하는 객체. - 콘텐츠를 조작할 수 없다. - but, 형식화 배열 ..
[JS]연결리스트와 연속 배열의 차이 1. 연결리스트 vs 연속배열 1-1. 연결리스트란? - 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터 저장 자료 구조 1-2. 연속배열이란? - 연속적인 메모리 상 동일한 데이터 타입 요소들을 순차적으로 일렬로 저장하는 자료구조 ### 1-3. 장단점 - 연속배열은 추가/삭제가 느리지만, 인덱스 조회는 빠르다. - 연결리스트는 추가/삭제 빠르지만, 인덱스 조회는 느리다. - 즉, 연결리스트는 추가/삭제 O(1), 데이터 검색은 O(n)가 걸린다. ## 2. 참조 - A 메모리를 통해 B 메모리에 접근할 수 있다 -> B는 A에 참조된다 - 자바스크립트 오브젝트는 prototype을 암시적으로 참조 var x = { a: { b: 2 } }; // 2개의 오브젝트가 생성되었습..
졸업 프로젝트 회고 드디어 저번 달에 졸업프로젝트가 끝났다. 아직 졸업논문이 남아 있지만 개발은 다 끝났다. 처음 컴공을 복수 전공한 게 3학년인데 컴퓨터 전공 공부, 프로그래밍 언어 공부를 하고 나니 1년이 훌쩍 지났고 정신을 차려보니 나는 어느새 졸업프로젝트를 하고 있었다. 처음 졸업프로젝트를 시작할 때 팀원도 직접 구해야 했었다. 그래서 자기 어필 발표 중에서 제일 잘해 보이는 사람을 기억하고, 수업이 끝나자마자 바로 가서 같이 하고 싶다고 말씀드렸다. 그렇게 해서 나 포함 3명이 졸업프로젝트를 진행하게 되었다. 일단 한 분은 인공지능을 하고 싶다고 하셔서 인공지능을 맡으셨고, 다른 한 분은 백엔드를 하고 싶다고 하셔서 백엔드를 맡으셨다. 그래서 하나 남은 프론트엔드를 내가 맡게 되었다. 사실 이때까지만 해도 백엔드는..