분류 전체보기242 비동기적 Javascript – 싱글스레드 기반 JS의 비동기 처리 방법(구조 싱글 스레드 (Single-Thread) 로 작동한다고 알려져있는 Javascript 가 어떻게 비동기 작업을 통해 여러가지 Task를 동시에 처리하는지에 대해 알아보자. 특히 Promise 패턴, Async Await 를 제대로 이해하기 위해서는 꼭 공부하고 넘어가자. 비동기적 Javascript C, Java, Python 을 사용하면 상식적으로 별도의 스레드나 프로세스를 사용하지 않는 이상, 먼저 작성된 순서대로 즉, 동기적으로 코드가 실행된다. 가령, 3번째 줄에 있는 코드의 작업이 5번째 줄에 있는 코드보다 늦게 끝나는 비상식적인 일은 발생하지 않는다는 뜻이다. 하지만 자바스크립트는 먼저 실행된 코드의 작업이 끝나기 전에 더 나중에 실행된 코드의 작업이 끝날 수 있다. 아주 간단한 예를 들어보겠.. 2019. 4. 22. Linux 메모리 확인 방법들 1.top 개인적으로 많은 용도로 가장 빈번하게 활용하고 있습니다.^^; 총 메모리 사용량을 모니터링하는데 주로 사용하는데, 프로세스 당 메모리와 CPU사용량도 보여줍니다. 아래 설명할 free 명령어처럼 buffer와 cache 정보도 확인할 수 있습니다. 여기서 짚고 넘어가야 할 것은, 기본적으로 리눅스는 가장 빠른 성능을 위해 실행 중인 프로세스들이 요청하는 메모리를 제외한 메모리들 중 거의 대부분을 Disk cache로 사용한다는 점이다. top 명령어를 실행해 보면 이를 알 수 있는데, Mem영역의 free 메모리 사이즈보다 Swap영역의 cached Mem 사이즈가 훨씬 큰 것을 볼 수 있다. 명령어를 실행하면 실시간 모니터링이 되는데, 옵션 키들을 사용할 수 있다. shift + m - 메모.. 2019. 4. 11. BASH 쉘 profile, bashrc 설정 제목: BASH 쉘 설정: 버전 1.0 Bash은 Bourne Again Shell의 축약어이다. 이것은 원래의 Bourne 쉘과 호환이 가능하며 명령 라인 편집과 같은 몇 가지 점에서 기능이 향상되었다[역자 주: Bash 쉘은 Bourne 쉘에서 작성된 프로그램을 수행할 수 있으며, Bourne 쉘 보다 더 많은 기능을 제공한다]. 또한 Bash 쉘은 리눅스 쉘이며 리눅스에서 가장 널리 사용되는 쉘이다. 쉘이 무엇인지 모르는 사람이 있을지도 모르니 설명하기로 하자. 쉘이란 사용자와 커널 사이의 매개체 역할을 하는 프로그램이다[역자 주: 쉘은 사용자로부터 명령을 받아서 그것을 프로세싱하기 위해 커널에게 넘겨주는 일을 하는 프로그램이다]. 대부분의 리눅스 소프트웨어같이, bash도 상세한 부분까지 설정할 .. 2019. 4. 10. 단축키 find(Ctrl+F) 안될 때 설치했고, 단축키에는 분명 등록되있는데 안된다. 이유는 명확하다. 무언가 다른 plugin에서 해당 단축키를 먹고 있다. 내 경우는 설치 시 같이 추가했던 intellij vim이었고, 해당 플러그인을 disable해서 해결했다. edit창에 대한 조작이라 이것 외에도 많은 플러그인들이 충돌할 수 있을 것으로 생각된다. 플러그인 조작은 File -> Settings(Alt + Ctrl + S) -> plugins -> installed 2019. 4. 9. 좌측 Project View에 파일 목록 안보일 때 1. 정상적으로 import되지 않음. 2. 정상적으로 import하였으나 excluded 되었을 때 1번의 경우는 쉽게 원인 파악이 가능하다. 다시 import해보면 되니까. 2번의 경우는 다시 import해도 설정이 그대로 남아있다. idea폴더를 날리고 다시 import하거나 excluded된걸 찾아야 한다. 1,2 모두 해결을 위한 과정은 비슷하다. >> File > Project Structure > 좌측 Modules탭 intelliJ 파일 구조에서 제외시키기 참 쉽게 되있다. 그래서 고생함. 가령 위 화면처럼 프로젝트의 root폴더가 선택된 상태로 바로 위 Mark as의 Excluded를 클릭하면 전체 프로젝트가 다 excluded된다. 그럼 안보임... 난 탭인줄 알았고, 탭 별로 다르게.. 2019. 4. 8. Express node.js 의 미들웨어 모듈 Express 나름대로 정리 Express가 할 수 있는 일의 단적인 예제 기존의http.createServer(function (req, res) { const method = req.method.toLowerCase(); switch(method){ // get 요청 처리 : 영화 목록 보기, 영화 상세정보 보기 // 영화목록보기 /movies // 상세보기 /movies/1 or 2 or 3 .... case 'get' : handleGetRequest(req,res); break; // 영화 정보 추가 /movies case 'post' : handleSelectMethod(req, res); function handlePutRequest(req, res){ con.. 2019. 3. 13. Javascript type 확인하는 두 가지 방법 JavaScript에서 사용되는 변수들이 가리키는 객체의 유형은 항상 유동적으로 변할 수 있기 때문에 변수에 담겨있는 객체(Objects)의 유형을 검사(type checking)하는 일은 자주 있으며 그 방법에는 두 가지가 있다.첫 번째 방법은 typeof 연산자를 사용하는 방법. 이것은 변수에 담겨있는 객체의 유형을 String 값으로 돌려준다.// Check to see if our number is actually a string if ( typeof num == "string" ) // If it is, then parse a number out of it num = parseInt( num ); // Check to see if our array is actually a string if ( .. 2019. 3. 12. jquery selectors 제이쿼리 선택자(jQuery selector)안녕하세요. 이번 시간에는 제이쿼리 선택자에 대해서 알아보겠습니다.제이쿼리를 선택하는 가장 큰 이유가 제이쿼리 선택자입니다. css 선택자를 그대로 사용할 수 있어 코드 선택이 매우 간단합니다. 요즘 들어서는 document.querySelector과 document.querySelectorAll이 나와서 가치가 좀 떨어졌긴 하지만 구형 브라우저에서는 탁월한 선택입니다.그 전에 알아둘 것은 제이쿼리 선택자는 $( ) 모양인데 이게 그냥 나온 것이 아닙니다. $라는 변수(함수)의 괄호 안에 인자를 제공하는 겁니다. 이 함수가 실행된 후에 내부적인 과정을 거쳐 결과를 반환합니다.아이디(#)document.getElementById('zero');정말 깁니다. ze.. 2019. 3. 4. REST API 제대로 알고 사용하기 REST API 제대로 알고 사용하기목차REST API의 탄생REST 구성REST 의 특징REST API 디자인 가이드HTTP 응답 상태 코드어느 날 뜬금없이 대학교 친구에게 전화가 왔습니다. 그러더니 ‘야, REST API가 정확히 뭐 어떤 거야? 하는 질문에 가슴에 비수가 날아와 꽂힌 듯한 느낌을 받았습니다. 며칠 전 카톡으로 요즘 보통 웹서비스들은 ‘REST API형태로 서비스를 제공한다’고 아는 척을 조금 했던 기억이 머릿속을 빠르게 스쳐 지나갔고 그 순간 대충 얼버무리며 ‘아, 그거 REST하게 클라이언트랑 서버간에 데이터를 주고 받는 방식’을 말한다며 얼렁뚱땅 마무리 지었던 기억이 납니다. 실제로 REST API의 서비스를 직접 개발도 해보고 사용도 해봤는데도 막상 설명을 하자니 어려움을 겪었.. 2019. 3. 2. 이전 1 ··· 9 10 11 12 13 14 15 ··· 27 다음