분류 전체보기 20

호이스팅

핵심키워드 : 호이스팅, 스코프 , 변수의 선언, 메모리 할당, 변수 초기화 본 포스트에서는 스코프의 개념보다 호이스팅이라는 기능 자체에 초점을 다뤄서 이야기 해볼까 한다. 변수의 선언, 메모리할당, 변수의 초기화의 개념이 없다면 글을 이해하는게 힘들 수 있음으로 공부 후 읽기를 권장한다. 호이스팅이란? MDN공식문서에 적혀진 내용은 다음과 같다. JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다. 반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다. 즉, var은 변수객체에 변수를 등록하는 동시에 un..

Language/JavaScript 2022.12.17

Ajax란?

정의 AJAX란 비동기 자바스크립트와 XML (Asynchronous JavaScript And XML)을 의미한다. 도입배경 서버랑 비동기적으로 JS기술을 이용하여 정보를 주고받는 기술이다. 즉 웹페이지를 새로고침 없이 서버에서 데이터를 받아오고 Dom을 조작하여 페이지를 서버에서 받아온 데이터로 렌더링 해 줄 수 있다. WEB에서 ajax 요청하기 위해서는 JS기술(XML HTTP Request객체)이 필요하다 참고사항 ajax라고 무조건 json을 보내야하는것은 아니고 텍스트, json, xml 여러데이터 형식을 보낼 수 있다. jQuery와 연관성 JQuery는 Ajax는를 보다 더 쉽게 사용할 수 있기에 우리는 JQuery와 Ajax를 함께 묶어서 말할 때가 많지만 다른 기술이다. 장점 웹페이지..

Web 2022.12.07

JS / == 과 ===차이

▶참조형 변수같은 경우는 비교연산을 수행시 무조건 참조값을 비교하게 됩니다. [] == [] // false [] === [] //false 다음과 같은 결과가 나오는 이유는 두 배열의 참조 값이 다르기 때문에 두 배열의 생긴 모습이 같다고 하더라도 항상 False가 나오게 됩니다. ▶ == ==연산은 자료형이 다를 경우 자동으로 타입을 같게만들어준 뒤 비교합니다. ex) 1 == '1' // 결과값 : true ▶ === === 연산은 엄격한 비교입니다. 따라서 형변환 없이 비교하여 같으면 true 다르면 false를 리턴합니다. ex) 1 === '1' //fasle

Language/JavaScript 2022.12.04

Js의 깊은 복사 얕은 복사

1. const answer = Array(n).fill(Array(m).fill(0)) //얕은복사 2. const answer = Array(n).fill().map(()=>(Array(m).fill(0))) //깊은 복사 행열이 n,m이고 0으로 찬 2차원 배열이 나오는데 1번은 Array(m).fill(0)의 참조변수 3개가 복사된 형태이고 2번은 각각의 행마다 배열이 생성 된 것이다.(1번은 하나의 숫자를 바꾸면 전체 행이 변경되게 된다.즉, 각 행에 존재하는 배열이 다 서로 같은 주소를 가지고 있다.) 아직 js에 익숙하지 않아서 쉬운 실수를 반복하는 하게 된다.

Language/JavaScript 2022.11.26

PS시 유용한 Python 메소드

1. zfill 나는 외우기 쉽게 zero fill이라고 외웠다. 숫자를 1 2 3 이 아니라 떄로는 결과에따라 01 02 03 이런식으로 출력해야 할 경우가 발생하는데 이때 사용하기 쉬운게 zfill이다. '123'.zfill(5) #출력결과 : 00123 이런식으로 매개변수 개수만큼 zero가 채워져서 출력된다. 이때 기존 문자열길이보다 매개변수가 작으면 아무일도 일어나지않는다. 2.rjust zfill과 비슷하지만 0 이아닌 원하는 문자를 넣을 수 있다. 두번째 매개변수에 0대신원하는 문자를 넣으면 된다. 예를 들어 rjust로 zfill과 똑같은 효과를 내고싶다면 두번째 매개변수에 '0' 을 넣으면된다

Language/python 2022.11.26

nodemon : 'nodemon' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다.

nodemon을 설치했음에도 nodemon이라는 명령어를 찾을 수 없다는 오류가 뜬다. (이때 package.json, devDependency에 nodemon은 있고 npm run dev할 때 실행됨) 원인 : nodemon을 생성한 노드 서버에서만 사용할 수 있도록 설치함(npm i -D nodemon). package.json의 script로 nodemon을 실행하면 node_modules에 설치된 nodemon을 가져다가 사용하게 되서 이 때는 문제가 없지만, 터미널에 바로 nodemon 명령어를 사용하게 된 경우 컴퓨터입장에서는 nodemon이 뭔지 몰라서 이러한 오류가 뜨게된다. 해결책 : 모듈을 설치 할 때 -g를 추가(npm i -g nodemon) 이떄 package.json에는 추가가 ..

Error 2022.11.15