IT/개발 공부7 JavaScript - Closure(클로져) 란? 클로져란? 클로져는 내부함수가 외부함수의 context에 접근하여 참조하는 함수를 클로져라고 합니다. 확인해볼까요? inner 함수에는 x가 선언되어 있지 않지만 외부함수인 outer함수에 선언되어 있는 변수 x를 가져와서 x++를 실행하는 것을 확인 할 수 있습니다. Javascript에서는 클로져를 통해 내부함수에 존재하지 않는 외부함수의 변수를 접근하여 값을 사용 또는 변경 할 수 있습니다. 또, 클로져는 외부함수에 선언된 변수를 내부함수에서 사용하는 경우 외부함수에 선언된 변수를 내부함수에도 사용하는 동안 외부함수는 소멸되지 않고 함수가 호출 되었을 당시의 환경을 메모리에 저장했다가 사용할 수 있습니다. 예를들어, outer()를 test에 저장한 후 test()를 두번 호출한 경우, 첫번째 x2.. 2020. 6. 23. JavaScript 함수사용 방법 (함수 선언문, 함수 표현식, 익명함수, 애로우펑션, 생성자 함수) JavaScript에서 함수를 선언하는 방법에 대해서 설명드리고자 합니다. 1. 함수 선언문 함수 호출이 선언문 위에 있을 때 helloWorld("hello", "world"); function helloWorld(first, second) { console.log(first + second); } 함수 호출이 선언문 아래 있을 때 function helloWorld(first, second) { console.log(first + second); } helloWorld("hello", "world"); 함수의 호출이 선언문의 위치와의 관계가 있을까요? 함수 선언문에서는 위치와 관계없이 실행이 됩니다. 둘 다 되는데 왜 말했을까요? 그건 함수 표현식에서 보겠습니다. 2. 함수 표현식 우선 함수 선언문을.. 2020. 6. 21. CORS & crossorigin 개발 공부를 하면 할수록 공부할게 많아지는 것 같아요. 그냥 사용하는 것이 아니라 그게 무엇인지 알아보려고 검색하면, 그 안에 새로운 게 나타나고 또 나타나고 꼬리를 물면서 엄청나게 많아지는 것 같아요. 초보자인 제가 어디까지 깊게 들어가고, 글을 작성하면서 어디까지 설명해야 할까 라는 고민이 생기더라고요. 이번 글을 React의 기본 개념을 공부하기 위해 라이브러리를 추가하게 되면서 crossorigin라는 것을 보게 되고 나서 이게 무엇일까?라는 궁금증으로 찾아보다가 작성하게 되었어요. 기본 개념 정도만 설명하고 다음에 좀 더 깊게 들어가 볼까라는 생각으로 글을 쓰는 점 참고해주세요. 1. CORS (Cross Origin Resource Sharing)? CORS는 간단하게 말하면 도메인 또는 포트.. 2020. 6. 18. 이클립스(Eclipse) UTF-8 인코딩 UTF-8은 가변 길이 유니코드 인코딩입니다. 엄밀히 따지면 UTF-8은 유니코드의 데이터를 전송하기 위한 규격입니다. 제가 알기로는 한글을 사용하기 위해서는 예전에는 EUC-KR인코딩으로 사용한 것으로 알고 있어요. 동아시아 권에서의 문자(한글, 한자, 중국어, 일본어)들은 EUC-KR과 같은 자국어 인코딩을 사용해야 하는 불편함이 있었습니다. 요즘은 자국어 인코딩이아닌 단일 인코딩 방식으로 혼동 없이 사용할 수 있는 UTF규격을 사용합니다. 한글은 주로 3바이트 영역에 집중되어 UTF-16에 비해 크기가 커지지만, 대부분의 문자는 UTF-8로 인코딩 시 더 적은 바이트를 소비할 수 있어서 UTF-16보다는 UTF-8을 선택하여 사용합니다. 또, 유니코드가 서구권 중심으로 퍼져나갔기 때문에 이점이 많은.. 2020. 6. 7. MySQL 설치 MySQL을 설치해보도록 하겠습니다. 우선 MySQL은 오픈소스이며, 관계형 데이터베이스(RDBMS)의 대표주자 중 하나입니다. MySQL은 AB 제작사에서 제작되었는데 이후 썬 마이크로시스템즈에게 인수되었습니다. 그러나, 2010년 오라클이 썬 마이크로시스템즈를 인수해서 현재 실질적인 소유주는 오라클입니다. 제가 듣기로는 오라클은 또 다른 데이터베이스 대표주자인 오라클 DB를 보유하고 있으며, 오픈소스를 그다지 좋아하지 않는 편이라고 합니다. 그래서 MySQL을 사용하는 많은 개발자들과 회사들은 걱정을 하고 있다고 하네요. 어쨌든, 이번 글은 데이터 베이스를 공부하고자 하는 페이지는 아니므로 MySQL을 바로 설치해보도록 하겠습니다. 1. 우선 다운로드할 수 있는 페이지에 접속해주세요. 구글에 MySQ.. 2020. 6. 7. 아파치 톰캣 - 간단한 설명, 설치, 이클립스 연동 아파치 톰캣 은 웹 애플리케이션 서버(WAS : Web Application Server)입니다. 아파치는 클라이언트로부터 요청을 받으면 정적인 처리(html, css 등)를 하는 서버입니다. 아파치 톰캣은 동적인 처리(DB 관련, 로직 처리 등)와 정적인 처리를 모두 처리할 수 있는 서버입니다. 일반적으로 정적인 처리는 Web Server에서 하고 동적인 처리는 Web Container에서 수행합니다. 클라이언트가 요청을 하면 Web Server에서 요청을 받고 동적인 부분이 필요하면 Web Container에 전달하여 처리하고 Web Server로 요청 정보에 대해 응답해주면 Web Server는 다시 클라이언트에 응답해주는 방식입니다. 자세하게 알고 싶으신 분은 구글에 검색하시면 뛰어나신 분들이 잘.. 2020. 6. 4. 이전 1 2 다음