달력

8

« 2019/8 »

  •  
  •  
  •  
  •  
  • 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
2019.06.07 19:55

요즘 내가 공부하는 것 공부하는 것2019.06.07 19:55

몇 개월 전에 Visual Studio 2019가 새로이 나왔다.

몇 개월 전에 나오기는 했지만, Beta 버전도 개인적으로 사용하면서 VS 2017과 비교해보려고 했으나, 이전에 만들어 놓은 Application을 고치거나 개선할 일이 없어서, 현 상태를 유지가 전부였다.

 

요즘은 Windows Application이나 프로그램을 개발하는 사람을 주변에서 찾기가 어렵다.

내가 알고 있던 개발자분들은 벌써 오래전에 JAVA나 서버 개발자로 전환하거나 다른 길을 찾아서 일을 하고 있다.

 

회사에서도 10년 전에는 조직내에서 Server 개발자가 단지 4명 밖에 없고, 외주와 협력업체를 통해서 프로젝트를 진행하는 경우가 많았다. 10년도에는 iOS와 안드로이드로 전향한 개발자들이 많았었는데, 지금은 그 쪽 분야도 거의 Red Ocean이다. 하지만 정말 Red Ocean은 Windows 환경에서 개발하는 분야쪽이 아닐까라는 생각이 든다.

 

Windows Phone은 이미 사업적으로 실패한지 오래되어서, Windows Phone을 위한 개발 환경은 의미가 없어진지 이미 오래 되었다.

 

MS는 이미 오래전에 Cloud로 방향을 선회하고, 개발자들을 잘 지원하기 위한 툴들을 제공하는데 많은 노력을 해오고 있다. 이미 내가 가장 많이 사용하는 툴은 Visual Studion Code이다. Ultra editor를 사용한지는 오래되었지만, 요즘은 큰 파일을 열어볼때 가끔 한번씩 사용하고, VS Code를 매일같이 사용하고 있다. 

가볍고, 기능 지원이 정말 빠르고, 윈도우 환경과 Mac에서도 지원을 한다라는 장점이 크다.

 

VS 2019가 나오고 별다른 차이점을 느끼고 있지 않았다.

VS 2017은 이전에 사용하던 VB에 대한 추억을 잊지 못해서, 개발 환경을 지원하기 위한 간단한 Rest API를 호출하고 테스트 할 수 있는 툴을 만들었었다. (사실, Java console 버전, nodejs로 만든 Web버전 등이 있다.)

그런데 Window 10환경의 지원을 위해서 UWP나 WPF가 필요해 보였기 때문에, 이 둘을 살펴보면서 XAML에 대해서 보고, 테스트 해보고 있는 중이다.

 

사실 XAML을 이용하는 UWP와 WPF가 WinForm 환경보다 좋다라고는 이야기 못하겠다.

기본적으로 HTML의 느낌이 물씬 나는데, 개발을 더 쉬게 만들어 준다고는 이야기 하기 어렵기 때문이다. 

다른 의미의 직관을 주기도 하지만, 익숙하던 기능을 사용하지 않고 새로이 익혀야하기 때문인지 낯설기도 하지만 생각되로 UI가 만들어 지지 않기 때문이다.

 

기존에 WinForm에서는 바로 되던 것이 안되는 것이 혼란스럽기도 하지만, 배우는 과정이기 때문에 계속 시행착오가 필요하다라고 생각한다.

 

그런데, 불편하다고 생각하는 것은 나만의 생각일까?

정말 Designer가 UI를 만들어 줄까?

 

UI에 Style을 넣고 고급진 UX를 만드는 것에는 필요해 보이기는 한데, 간단한 툴을 만들어 사용하려는 개발자에게는 너무 과하지 않나 생각이 든다. 

반응형 UI를 UWP에서 제공한다고 하는데, 웹의 그것에 비해서 얼마나 많이 사용할지는 모르겠다.

 

오늘도 짬짬히 Layer를 나누고, Split과 그리드로 화면을 나누어서 그리면서 생각나는대로 글은 남겨본다.

'공부하는 것' 카테고리의 다른 글

새로운 Text.Json APIs  (0) 2019.06.16
요즘 내가 공부하는 것  (0) 2019.06.07
Visual Studio Code 1.0 정식 Released  (2) 2016.04.16
알고리듬 성능비교 - Selection Sort  (0) 2016.02.27
Byte and Bit에 대해서...  (0) 2009.10.20
GRails 공부 자료들...  (0) 2009.10.04
Posted by 행복상자
2018.12.18 23:30

nodeJS와 Express 설치하기 공부하는 것/Node Js2018.12.18 23:30

VS Code는 회사에서도, 집에서도 많이 사용하는 IDE이다.

오늘은 간단하게 테스트할 것이 있어서 띄웠는데, MacOS에는 nodeJS가 설치가 되어 있지 않았다.

간단하게, "nodeJS"를 설치하고, 내친김에 Express를 설치하려고 한다.


NodeJS는 "https://nodejs.org/ko/" 또는 "https://nodejs.org/en/" 에서 다은 받아 설치하면, 된다. 
브로우저가 설치되어 있는 OS에 따라서 다운해서 설치할 바이너리가 달라진다. 



위 화면에 두개의 버전이 있는데, "10.14.2 LTS" 버전을 설치하기로 한다.

윈도우즈와 MacOS 버전 모두 바이너리 버전으로 설치하기 때문에, 다운 받아서 실행하면 바로 설치가 가능하다. (다른 방식으로 cli 명령으로 설치도 가능한데, 오늘은 쉽게 가기로 한다.)


설치가 완료되었으면, 설치 버전을 확인해 본다. nodeJS설치할때 같이 설치되는 패키지 매니져인 npm의 버전과 nodeJS의 버전을 아래과 같이 확인해 본다.

mymac$ npm -v

6.4.1

mymac$ node -v

v10.14.2


이번에는 nodeJS를 이용하여 웹을 개발할때 사용하는 Express 라는 Framework을 설치할 차례다.

Express는 "https://expressjs.com/ko/starter"에 나오는 순서대로 설치하면 된다.


아래와 같이 npm을 이용하여 express 패키지를 설치한다.  만약 설치시 권한문제로 설치가 단되면 sudo 명령을 사용해서 "sudo npm install express"와 같이 실행하면 된다.

mymac$ sudo npm install express

...


mymac$ sudo npm install express-generator -g 

...


자 이제 마지막으로, express를  이용하여 web 프로젝트를 생성해 본다.

아래의 "- e" 옵션은 templet엔진을 "ejs"를 사용하겠다는 옵션이다.

mymac$ express -e showdata

   create : showdata/

   create : showdata/public/

   create : showdata/public/javascripts/

   create : showdata/public/images/

   create : showdata/public/stylesheets/

   create : showdata/public/stylesheets/style.css

   create : showdata/routes/

   create : showdata/routes/index.js

   create : showdata/routes/users.js

   create : showdata/views/

   create : showdata/views/error.ejs

   create : showdata/views/index.ejs

   create : showdata/app.js

   create : showdata/package.json

   create : showdata/bin/

   create : showdata/bin/www


프로젝트가 생성이 되었으면 실행을 해보자.

아래와 같이 "showdata" 디렉토리로 이동해 들어가서, npm을 이용하여 기본 패키지를 설치하고, "npm start" 명령으로 서버를 동작시킨다.

mymac$ cd showdata

mymac$ npm install

mymac$ npm start


기본 포트는 3000번 포트를 사용하므로, 브라우저에서 "http://localhost:3000"을 치면 다음과 같은 화면이 나타나게 된다. 


만약, 실행 포트를 바꾸고 싶다면, "showdata/bin/www" 파일을 열어서 변경하면 된다.


 


  


 

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 행복상자

지난 며칠전에 Windows 환경에서 리눅스나 Unix에서 사용하는 kill 명령과 비슷한 프로그램으로 "taskkill"에 대해서 이야기하였다. 내가 "taskkill"에 대해서 찾아보게된 계기는 Visual Studio의 Debug Mode상에서 생성된 Process를 중단할 필요에 의해서 였는데, 실제로 해보고 결과를 이야기하기로 하였었다. (지난 글)


"Taskkill"을 이용해서 Visual Studio개 생성한 Process의 제거는 결론적으로 실패였다.


우선 Visual Studio의 실행을 중단하고, 

TASKKILL /IM myprogram.exe /F /T

을 실행하거나 또는


TASKKILL /PID 1004 /F /T


를 실행해 보았지만, "Access Denied" 메시지를 보이고, 중단을 원하던 Process는 그대로 남아 있었다.


그래서, 또하나의 방법으로 "Power Shell"에서 제공하는 "Stop-Process" Cmdlet을 이용해 보기로 하였다. "Power Shell"은 kill 이라는 Alias명으로 이미정의 정의되어져서 "Stop-Process" 대신 사용이 가능하다.

(Power Shell의 "Stop-Process" 참조 사이트 : Version 6기준)


Powershell을 실행하고, 콘솔창에서 다음과 같이 실행하여 보았다.

Stop-Process -Name "myprogram.exe"

그러나 역시나 "Access Denied" 메시리즐 보이면서 Process를 중단하는 것을 실패했다. (다른 옵션들도 주고 테스트했지만 실패했다.)



뭔가 강력한 어떤것이 필요하다고 생각이 들어서, 이리 저리 찾아보니, WMI를 이용하는 방법을 찾았다. 

이전에 알던 WMI의 사용법은 Windows시스템에 대한 정보들을 얻어오는 방법으로 이용을 하곤 하였는데, 좀 다른 방식의 사용법으로 Process를 Kill하는 방법도 제공하고 있었다.


WMI를 사용하여 Process를 제거하는 방법은 다음과 같다.

WMIC process where name='myprogram.exe' delete


결과적으로는 그토록 중단시키려고 했던, 좀비 프로그램을 메모리에서 삭제해버리고야 말았다.


여러가지 방법들을 찾아서 실행하면서 이전에 모르던 많은 것들을 알게 되어서 나름 즐거웠다.

오랜만에 WMI를 살펴보니, Program 이름과 PID를 가져오는 방법도 제공하고 있는데, 좀 더 살펴보고 시간이 되면 정리해 봐야겠다.


공부할 것은 많다. 알게되는 것도 많지만, 잊어버리는 것도 그만큼 많은것 같다.


Posted by 행복상자
마이크로 소프트 사이트에 "5 ways to speed up your PC" 라는 제목의 글이 올라와 있어서 잠시 일어 보았다. 위 링크의 사이트를 열어보면, 5가지 방법에 대해서 항목별로 정리도어 있는 것을 볼수가 있다.

간략하게 정리하면,
  • 1. Free up disk space
    - Remove temporary Internet files.
       (인터넷 임시 파일을 삭제한다.)
    - Remove downloaded program files (such as Microsoft ActiveX controls and Java applets)
       (ActiveX와 Java applets 같은 다운로드한 프로그램들을 삭제한다.)
    - Empty the Recycle Bin
       (휴지통을 비운다.)
    - Remove Windows temporary files
       (윈도우즈 임시저장 파일을 삭제한다.)
    - Remove optional Windows components that you don't use
       (사용하지 않는 윈도우즈 컴포넌트를 삭제한다.)
    - Remove installed programs that you no longer use
       (더 이상 사용되는 않는 프로그램을 삭제한다.)

    사용하지 않는 임시파일들과 프로그램들을 삭제한다. 윈도우의
    "시작>모든 프로그램>보조프로그램>시스템 도그>디스크 정리" 순으로 메뉴를 찾아 실행 시키면 디스크의 저장된 임시 파일들을 삭제할 수 있는 툴을 이용하여 정리하면 된다.
  • 2. Speed up access to data
       - 디스크 조각 모음을 실행시켜서, PC의 실행 속도를 향상시킨다.
       - 윈도우에서 제공하고 있는 툴은 다음 경로에서 실행시킬 수 있다. 
           "시작>모든 프로그램>보조프로그램>시스템 도그>디스크 조각 모임"
  • 3. Detect and repair disk errors
    - Check Disk를 실행하여 디스크의 Error가 있는지 확인한다.
    - 실행하는 방법은 "내 컴퓨터"에서 드라이브를 선택하고 왼쪽 마우스 버튼을 클릭하여, 나타난 메뉴중에서 등록정보를 선택한다. 

    그리고 위와 같은 화면이 나타나면, 도구 템을 선택하고, 이어서 상단의 "지금 검사(C)..." 버튼을 클릭한다.   그러면 아래와 같은 Pop-up화면이 나타나는데, 여기서 "불량 섹터 검사 및 복구 시도(N)"에 설정을 하고 시작 버튼을 누르면 된다.



  • 4. Protect your coputer against spyware
       - spyware를 검사하고 이를 제거한다.
  • 5. Learn all about ReadBoost
       - Windows Vist에서 지원한다. ReadBoost에 대한 세부 내용을 여기를 참고하면 된다.

 




Posted by 행복상자