분류 전체보기 83

S1 unit10 | koans 문제로 알게 된 것들

📌 test 작성 방법 test를 위해서 koans은 두가지 모듈을 사용하고 있는데, 바로 mocha와 chai이다. 이때 테스트하는 값과 기대값을 비교하기 위해 expect() 함수를 사용하게 된다. expect(true).to.be.true // 통과 expect(테스트하는 값).기대하는 조건 이런 형태로 사용하게 되는데 여기서 기대하는 조건에 해당하는 것을 matcher함수라고 부른다. chai는 matcher를 다양한 language chains과 assertions으로 만드는데,[여기](http:// https://www.chaijs.com/api/bdd/#method\_not)에%EC%97%90) 다양한 체인과 assertion들이 소개되어 있다. koans에서는 to.be , to. 체인만 ..

[javascript] 함수 선언문, 함수 표현식, 화살표 함수 정리

오늘은 함수에 대해서 다시 공부해 보려고 한다. 점점 DOM으로 넘어가면서 javascript의 함수가 헷갈리고 있기 때문이다... 😢 우선 함수를 만드는 데에는 세가지 방법이 있다. 함수 선언문function isOdd(num) { if(num % 2 === 1) { return true; } } 내가 가장 많이 사용하고 익숙한 방법이다. 호이스팅이 일어난다. 표현식함수 let isOdd = function (num) { if(num % 2 === 1) { return true; } } 화살표 함수 let isOdd = (num) => {if(num % 2 === 1) {return true;}} 위와 동일하게 사용하기 위해 if를 넣었지만 보통은 아래 예제처럼 사용하는 것 같다. 그리고 {return..

개발/Javascript 2022.11.10

[linux] 리눅스 'drwxr-xr-x' ls -al하면 나오는 이건 뭘까?

리눅스에선 해킹이나 사용자가 실수로 중요한 프로그램을 삭제하는 걸 막기 위한 사용자 계정 컨트롤이 존재한다. 사용자 계정 컨트롤이란 하나의 OS를 여러 계정으로 나누어 마치 여러 대의 컴퓨터처럼 사용하는 걸 말한다. 그래서, 어떻게 해킹이나 실수를 막느냐 하면 관리자 계정을 따로 두는 게 그 방법이다. 특히 내가 지금 사용하는 Ubuntu는 절대 사용자가 관리자 권한에 접근할 수 없도록 되어있다. 하지만 프로그램을 삭제하거나 설치할 때는 관리자 권한이 반드시 필요하기 때문에 우분투는 sudo 명령어를 사용하여 관리자 권한을 잠시 빌려준다. 터미널에서 ls -al 로 파일, 폴더와 상세정보를 띄워보면 아래 사진처럼 확인된다. 맨 앞 부분의 d는 derectory의 약어로 폴더라는 의미이다. 그렇다면 뒷부분..

개발/Linux 2022.11.10

S1 unit9 회고 | 배열과 객체

📌 배열 : 순서가 있는 값 [] 로 감싸져 있음 index가 존재함, length 속성이 있음 typeof array // object 배열 메서드 array.push : 배열의 맨 뒤에 요소를 추가 array.pop : 배열의 맨 뒷 요소를 삭제 array.unshift : 배열의 맨 앞에 요소를 추가 array.shift : 배열의 맨 앞 요소를 삭제추가하는 메서드(push, unshift)는 추가된 length를 리턴하고 삭제하는 메서드(pop, shift)는 제거된 요소를 리턴한다. Array.isArray(attribute) : attribute가 배열인지 아닌지 boolean 값을 리턴 array.slice(start, end) : start에서부터 end 전까지 복사한 배열을 리턴 let ..

[추가 정리] 계산기 목업 만들면서 배운 CSS 속성들

📌position: static : 요소를 일반적인 문서의 흐름에 따라 배치 relative : 요소를 일반적인 문서의 흐름에 따라 배치하고 자기 자신을 중심으로 top, right, bottom, left 값에 따라 배치 absolute : 요소가 일반적인 문서의 흐름에서 제거하고 조상 요소에 대해 상대적으로 top, right, bottom, left 값에 따라 배치 ,단 조상요소 중 위치 배치 요소가 없다면 초기 컨테이너 블록이 기준 sticky :요소를 일반적인 문서의 흐름에 따라 배치하고 조상 요소에 대해 상대적으로 top, right, bottom, left 값에 따라 배치 가장 가까운 조상 요소에 대해 끈끈한 움직임을 보임 그 조상 요소는 스크롤이 불가, 스크롤 가능한 조상 요소일 경우는 끈..

[2주차 주간일기] 술은 절대 마시지 말자...

2022.11.02 수요일 오늘은 엄청 일찍 일어났다. 잠을 제대로 못 잔 것 같은데 이상하게 몸은 개운해서 아침부터 맛있는 밥을 해서 먹었다. 밥도 영양제도 다 챙겨서 먹고 나니까 기분이 좋다. 하루의 시작이 뭔가 좋은 느낌? 사실 해야할 건 많지만... 오늘부터는 복습을 조금 열심히 해야겠다고 생각했다. 복습할 게 너무 많아서 주말에 예습을 할 수 있을지 모르겠다. 2022.11.06 일요일 금요일엔 아침부터 수업이 있어서 열공했다. 새로운 페어님과도 또 다시 작별인사를 하게 되었다. 페어가 너무 금방 바뀌어서 아쉽다...😢 이제 정들었는데... ㅠㅠ 그래도 열정적으로 공부해서 후회는 없다! 아 아니다... 후회가 있다. 페어로 내가 열심히 알려드려서 결국 이해하셨는데 깜빡하고 이 결정적인 순간을 녹..

S1 unit8 회고 | node.js(nvm, npm) & git

📌 node.js javascript의 런타임 중 하나 원래 자바스크립트의 런타임은 웹브라우저가 유일했지만 지금은 node.js도 있다. 런타임 : 프로그램 동작 시, 프로그램을 동작시키는 곳 📌 nvm : node version manager node.js의 버전을 관리하는 프로그램( like 패키지매니저 ) nvm으로 node.js 설치 wget으로 nvm 설치 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash nvm 버전 확인 nvm --version node.js 설치 nvm install --lts node.js 버전 확인 node -v nvm use 버전 넘버 : nvm으로 node.js의 버전 바꾸..

S1 unit8 회고 | Linux CLI & 패키지

💡 CLI : command-line interface prompt : CLI의 명령 대기줄 I/O : input/output 컴퓨터 조작위한 입출력 📌 CLI 명령어 pwd : print working directory 현재 위치 출력 cd : change directory 위치 이동 mkdir : make directory 폴더 생성 ls : list 현재 디렉토리에 있는 폴더, 파일 보여줌 [ -a : 숨겨진 모든 파일, 폴더 포함 , -l : 상세정보 ]' touch : 파일 생성 rm : remove 파일 삭제, 삭제된 파일이나 폴더는 휴지통에 가지 않고 즉시 삭제된다. [ -rf : 폴더 삭제 ] cp : copy 파일 복제 [-r : 폴더 복제 ] (ex) cp A.txt B.txt : A...

S1 unit7 회고 | 실제 작동하는 계산기 만들기 (상급)

과제 이름부터가 nightmare 라니ㅋㅋㅋ 일부러 '못해도 괜찮아' 라고 안심시켜 주시는 것 같았다 ㅎㅎ 그래도 난 꼭 풀고 말거야! 결국 풀고야 말았지만 엄청 지저분? 하게 풀어버렸다. 이번에는 내가 푼 코드와 운도님 설명을 듣고 다시 푼 코드를 비교도 해가면서 적어보겠다! (1) 3,*,3,Enter,Enter,Enter,Enter를 연속으로 누르면 243이(가) 화면에 표시되어야 합니다. (2) 3,-,3,Enter,Enter,Enter,Enter를 연속으로 누르면 -9이(가) 화면에 표시되어야 합니다. (3) 3,+,3,Enter,Enter,Enter,Enter를 연속으로 누르면 15이(가) 화면에 표시되어야 합니다. (4) 3,/,3,Enter,Enter,Enter,Enter를 연속으로 누르면..

S1 unit7 회고 | 실제 작동하는 웹 계산기 만들기 (중급)

📌advanced 계산기 advanced는 오히려 bare minimum을 하면서 감을 잡아서 나쁘지 않았다. 막혀도 금방 풀리는 느낌이었다. 먼저, advanced는 계산기 화면이 따로 되어있지 않고 하나로 이어져 있다. 물론 bare minimum 처럼 한자리수 숫자를 넣는 게 아니다. const display = document.querySelector('.calculator__display--for-advanced'); // calculator__display 엘리먼트와, 그 자식 엘리먼트의 정보를 모두 담고 있습니다. let firstNum, operatorForAdvanced, previousKey, previousNum; buttons.addEventListener('click', funct..