달력

7

« 2019/7 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

Visual Studio Code의 새로운 Release(November 2018, Ver 1.30)가 나왔다.

기능적인 주요 Feature들은 다음과 같다.




최근에 사용하는 기능중에는 Search 관련 기능들이 많이 개선되고 있는데, 이번에는 "Multiline Search"에 대한 기능이 소소하게 개선 되었다. 기존에 Regular Expression 을 사용하여 여러라인에 걸처져 있는 Text를 검색하던 것을 "Shift + Enter" 키를 이용하여 Line을 구분하여 주면 찾아올 수 있는 기능이다. 

(개인적으로는 자주 사용할 것 같지는 않다. ) 


아래와 같은 파일이 있을 경우에, 


Window버전의 경우는 "Control + Shift + F"를 눌러 검색 창을 띄우거나, 또는 

MacOS의 경우에 "Shift + Command + F"를 눌려 검색 창을 띄우고, 검색어로 "latest" 를 치고 "Shift + Enter" 를 치고 "Untagged"를 입력한다. 그리고 "Enter"를 치면 멀티라인 검색이 된다.


결과는 다음과 같다.


"Choose extension version"는 개인적으로 있었으면 했던 기능이었는데, Extention Plugin에 대한 설치 버전들을 보고 이전 버전을 설치 할수 있는 기능이다. 설치된 Plugin이 문제가 있을 때 유용할 것 같다.


설치가 되어 있는 Extention Plug인의 오른쪽에 설정 버튼(톱니바퀴모양)을 누르면, 아래와 같이 Pop-UP 메뉴가 나타난다. 메뉴중에 "Install Another version..."을 선택하면 된다. 



현재 설치가 되어 있는 버전들과 이전에 만들어진 설치 가능한 버전들이 나타난다. (아래 화면 참조) 


이중에 한개의 항목을 선택하며, 이전 버전으로 변경하거나, 새로운 버전으로 선택해서 바꿀수 있다.


Posted by 행복상자

Visual Studio Code의 단축키들을 정리한 파일들이다. 가끔식 확인이 필요하거나 책상에 프린트에서 붙여 놓으면, 참고하는데 도움이 될 것이다.  VS Code의 메뉴상에서는 "도움말" > "바로가기 키참조"에서 확인 가능하다.


아래는 각 OS별로 작성된 Shortcut 키 매핑에 대한 파일들의 링크와 위치이다.



[MacOS용 Shortcut 파일] 

   https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf






[Windows용 Shortcut 파일

    https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf





[Linux용 Shortcut 파일]

    https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf



Posted by 행복상자

아주 오래전(약 2년 6개월전)에 글을 쓰기는 했는데, 마무리 짓지 못했던 글인데, 요즘은 await과 async 키워드를 통해서 자연스럽게 사용하고 있어서 필요가 없을 수 있다. 이전에 내부에 Timer와 간단한  Queue를 만들어서  batch 작업을 수행하는데 사용했었다. 


(Async와 Awat 키워드를 사용하거나, Promise를 이용해서 제어하는 것이 아래 방식보다는 훌륭하다.)


Node Js를 이용하여, 개발할 경우에 싱글 쓰레드가 하나의 CPU Core에서도 자연스럽고 부드럽고 너무도 가볍게 동작하는 것을 보고 놀랐었다.

I/O에 대한 Blocking 문제를 자체적으로 처리해주는 똘똘한 녀석이라고, 자랑스러워하였지만, Callback hell이라고 불리우는 지저분해지는 코드는 또다른 문제를 안겨주기도 한다. 


개인적으로는 시각적으로 가독성이 떨어지는 코드는 좋아 하지 않기 때문에, 머신의 성능이 보장해주는 한도에서 가능하면 가독성이 좋고, 이해하기 좋은 코드를 쓰는 것을 좋아한다.

그리고, 리펙토링을 꼭 해서 좀 더 중복을 없애고, 보기 좋은 짜임새 있도록 만들고는 혼자 좋아라 한다.


Node Js의 Callback 함수 호출은 굉장히 개발을 쉽게 해주기도 하지만, 중첩된 콜백과 이벤트 방식으로 인해 사용하기가 쉽지 않다. 오히려 UI가 있는 Visual Basic은 event호출에 의한 callback 함수가 UI 개발에 직관성을 높이고 코드를 분리해 줄수 있지만, 스크립트와 같은 순차적인 작업은 불편하기 짝이 없다.


이때문에 node Js에서는 Sync함수들을 별도로 제작해서 제공하고 있는 것으로 보인다.

(→ node의 file system과 관련된 라이브러리 참고: https://nodejs.org/api/fs.html)


아래는 개인적으로 이러한 환경에서 사용할 수 있는 non-sync 환경에서 Timer를 이용한 간단한 Queue 방식으로 실행할 수 있는 코드이다. 예를 들명 파일에서 라인별 데이터를 읽어 들이고, 이을 Mysql과 같은 DB에 쿼리를 실행하여 데이터를 저장하거나, 반대로 데이터를 읽고 이를 분석하는 기능을 동시에 실행할 경우에 이용할 수 있다. 


var count = 10;
var queue = [];

for(var i = 0; i < 3; i++)
{
    queue.push(i+5);
}

var tid = setInterval(function() {
    if(count == 0){
     if(queue.length > 0){
            console.log("queue: " + queue.length )
          count = queue.shift();
            return;
        }

        clearInterval(tid);
    }

console.log("count " + count--);
}, 1000);


Posted by 행복상자