2015년 12월 27일 일요일

windows vim 사용 시 backkey 안먹을 때 설정 방법, source code formatting 단축키


http://stackoverflow.com/questions/5419848/backspace-doesnt-work-in-gvim-7-2-64-bit-for-windows



49
down voteaccepted
Does it entirely not work, or does it just not backspace past where you went into insert mode? There's an option backspace which controls this:
Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
mode.  This is a list of items, separated by commas.  Each item allows
a way to backspace over something:
value       effect
indent      allow backspacing over autoindent
eol         allow backspacing over line breaks (join lines)
start       allow backspacing over the start of insert; CTRL-W and CTRL-U
            stop once at the start of insert.
owen_water's suggestion is the same as Carpetsmoker's comment, enabling all three of these. That's generally what people want, since it's a bit surprising to have Vim refuse to let you backspace text that's right there. So take your pick of the two equivalent choices - I'd go with the more verbose and clear one:
set backspace=2
set backspace=indent,eol,start
In some cases, bad terminals can mess with backspace and delete, but I doubt that's your problem in Windows. There is some ability to fix this; see :help fixdel.
shareimprove this answer

http://vim.wikia.com/wiki/Format_a_code_block

 Formatting a functionEdit
Here are some basic formatting commands:

= is an operator (by default, it formats/indents text).
i{ is a text object that specifies the surrounding code block.
vi{ visually selects the inner code block around the cursor.
=i{ formats the code block.
=2i{ formats the current block and the block around it.
You can format the entire buffer with gg=G.

2015년 12월 17일 목요일

W3C HTML5 Conference 2015 (오전) - 개인 메모 정리

개인 메모 저장

모든 기술 문서는 여기에
http://www.html5forum.or.kr/front/knowhow/tech.jsp

--------------------------------------------

Keynote 1 : 네이버가 바라보는 웹기술 및 환경 전망. 박종목 이사


요약 기사 :  http://www.zdnet.co.kr/news/news_view.asp?artice_id=20151209130727
Slide : http://www.slideshare.net/NaverEngineering/w3c-html5-conference-2015-naver


웹 파편화는 진행 중.

. adaptation cost 발생
. 사용자의 71%가 문제로 인식
. Browser. Web engine. Os. 제조사 등의 다양한 부분에서의 파편화

Native app을 HTML로 구현 시 기능 구현 가능율

 - Mobile browser, 37%
 - Web to native converter (ex 코도바), 63%
 - Native javascript api (ex 파폭), 97%

W3C Advancing web platform application testing cg 파편화 대응 그룹 생성됨.

Blink는 구글에서 주도하지만 opera에서도 함께 사용.

Chrome이 HTML5 feature를 잘 지원. 그에 반해 safari는 좀 떨어짐.

HTML5 지원은 600점 만점에 500대 이하. ECMA6 지원은 아직 요원함.


--------------------------------------------

Keynote 2 : 웹개발의 현재와 미래. 윤석찬


요약 기사 : http://www.zdnet.co.kr/news/news_view.asp?artice_id=20151210164611
Slide : http://slides.com/channy/keynote-html5-korea#/


웹의 수명은? Hakon Wium Lie 500년 이라고 함 (at 한국웹 20주년)

하지만 현실은 암울..

웹에서는 스펙을 기다리지는 말고 먼저 앞서 나가는 자세를 가지자.

웹기술에서 파편화는 당연한거다. 파편화가 사라지는 시점에서 웹기술 발전이 지지부진해 진다. (ex. 한국에서의 Internet Explorer 사용)

웹은 living standard이고 항상 진화한다.

웹 5년 주기설
 : 1995 웹의 탄생. 2000년 포털기반. 2005년 1인 미디어. 2010년 소셜웹 모바일

Front-end 변천
 : 1999 document
 : 2000 apps
 : 2010 frameworks

앱 종류 변천
 : Miltipage app >Singlepage app >Isomorphic application (Meteor, React)

새로운 스펙들의 범람으로 브라우저 업체들의 대응에 한계
> 개발자들은 라이브러리를 통해 대응(폴백 방식) => polyfill library 증가


[웹 기술의 미래 키워드들]

#ExtensibleWeb

. Wb는 기본수준 api집중
. 개발자는 높은 수준 기능 구현
. 새로운 기능들을 표준화 하는 선순환 구조 마련

#API as a Service

. 여러 js library dependency
. Api call의 증가
. Api의 business model 있음.
. Internal API 사용 증가. 예 netflix
=> #MicroServices


#MicroServices

. Bounded context
. Death star architecture desin
. 작은 서비스를 담당하는 팀이 구성되어 진행. Devops형태

Clould <- Devops -> 바른개발 <- Microservice -> SOA


--------------------------------------------

Keynote 3 : Future-proof Responsive Design (Florian Rivoal)

Slide : http://florian.rivoal.net/talks/responsive-design/


어떤 기기에 상관없이 device의 특성에 따라서 최상의 경험을 제공해 주는 것


Viewport
. 표준이 아님
. Vss에서 처리 되어야 함.

@viewport를 사용하라.

CSS Device Adaptation을 참고!!!
. 데스크탑에사도 사용 가능
. Ms edge는 다름. @-ms-viewport


Media query
. 컨텐트에 따라서 적용해야자 특정 디바이스에 따라서 미디어쿼리를 적용해서는 안된다.
. SVG에도 적용 가능하다.


Css tools
. Css multi column layout
 : 컬럼 수. 컬럼의 픽셀로 설정 가능.

. Flexbox
 : 버튼 배치할 때 도움이 될 수 있음.

. CSS frid layout
 : 아직 활성화 되지 않음.
 : 페이지 레이아웃 정할 때 손쉬움.
Longlive media features

사진 참고

Media query시 화면의 특징을 잘 잡아서 적용하라.
. 화면 hover. Update frequency
. 인쇄. Minresolution
. 예제: 사진 참고


--------------------------------------------

Session 1.1 : HTML5 이후 웹의 진화 (ETRI 전종홍 책임)


발표자료 : http://www.html5forum.or.kr/api/filedown.jsp?filename=%EC%98%A4%EC%A0%84%EC%84%B8%EC%85%981_1_ETRI_%EC%A0%84%EC%A2%85%ED%99%8D%EC%B1%85%EC%9E%84_20151209-AF-HTML5-r4.pdf&folder=upload/board

... 발표자료를 다시 봐야 할 듯

예상하는 2020년까지 발전 방향

. Web as a platform
. Native 대비 80% 성능
. Multi device multi screen
. 100억대의 bt 디바이그 연동 재어
. JS는 IoT의 기본 언어
. Web은 universial client


TOWARD WEB PLATFORM

. Open web platform
. HTML groups와 WebApps group간 차이 없음.
 => Web Platform Working Group 시작 2015 10. 9

HTML5 사용 시 문제점 순위
. 성능 > API > Tool

Application foundation
. 웹앱 관련 표준을 foundation 단위로 모아서 준비
. App life cycle foundation

WoT 관련 표준 들
. PresentationAPI
 : https://w3c.github.io/presentation-api/
. WebBluetoothAPI
 : https://webbluetoothcg.github.io/web-bluetooth/
. WebNFCAPI
 : https://w3c.github.io/web-nfc/
. SensorsAPI
 : https://w3c.github.io/sensors/


--------------------------------------------

Session 1.2 : Web Payment 동향 및 전망 (이동산 이사)


웹 결재 표준화

. 2011년 Web payments CG 시작
. US FRB에서 적극 참여 중.
. Manu Spony leading.
. 알리바바 표준 참여.
. 페이팔은 특허로 참여 안함.

Payment를 Automotive쪽으로 응용 시나리오를 고려 중
: Streamimg Payments. 운행비. 톨비


Inter Ledger protocol
. 다양한 Ledger간 상호교류를 위한 방법론
. Ledger 은행 계정. 페이팔 계정. 알리페이 계정 등의 서비스를 제공하는 업체들
. Escrow를 사용한 transaction 사용

2015년 12월 6일 일요일

Windows에서 Ubuntu 원격 접속을 위한 CygwinX 사용법

사용하던 CygwinX가 환경이 바뀌고 업데이트가 되더니 접속이 안되어
관련하여 문제를 찾아보고 해결함.

Ubuntu 원격 접속 방법 (Xrdp, VNC, Cygwin X)
http://charlie0301.blogspot.kr/2014/01/ubuntu-xrdp-vnc-cygwin-x.html

예전에는 이것 처럼 사용하면 되었었는데

X server 1.17 부터는 TCP/IP connection을 listen하지 않아 문제가 되는 상황

News

X server 1.17 and X.Org X11 Release 7.7 are now included in Cygwin. Details are available in the announcements here and here.
Since X server 1.17, by default the server does not listen for TCP/IP connections, only accepting local connections on a unix domain socket. See this FAQ for more details.

그래서 FAQ의 항목 중 여러 해결방법이 있는데

http://x.cygwin.com/docs/faq/cygwin-x-faq.html#q-xserver-nolisten-tcp-default

그 중 3번째 방법인 -listen tcp option을 사용하면 기존 처럼 tcp connection을 listen하게 되어 문제 없이 동작함.

좀 정리하지만

Windows와 Ubuntu로 구성된 2대의 PC가 있고 
주로 사용하는 Windows PC에서 네트워크를 통해 원격으로 
Ubuntu의 GUI application들을 Windows 바탕화면에서 띄워서 사용하고자 할 때 
CygwinX를 사용하여 위 처럼 설정하여 사용하면 됨.

사용을 위해서는

1. 당연히 Cygwin과 CygwinX 설치 필요 하고 
 > 위 링크 참고 : Ubuntu 원격 접속 방법...

2. CygwinTerminal에서 XWin을 -listen tcp option과 함께 실행 해야 하고


XWin 실행 스크립트관련해서는 아래 링크들 참고

C:\cygwin\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; /usr/bin/xinit /etc/X11/xinit/startxwinrc -- /usr/bin/XWin :0 -multiwindow -listen tcp"
http://superuser.com/questions/898781/putty-cygwin-x11-forwarding-cant-open-display-error

http://www.trueblade.com/knowledge/automatically-starting-a-cygwin-x-server
C:\opt\cygwin\bin\run.exe -p /usr/X11R6/bin XWin -listen tcp -multiwindow -clipboard -silent-dup-error


3. xterm에서 DISPLAY 설정하고 필요한 application을 실행해서 사용 하면 됨.

http://x.cygwin.com/docs/ug/using-remote-apps.html#using-remote-apps-ssh

$ export DISPLAY=:0.0 

$ ssh -Y username@remote_hostname_or_ip_address

4. putty가 있다면 XWin만 띄워 놓고 putty에서 바로 실행해서 사용 가능함.

putty > Connection > SSH > X11 > X11 forwarding > Enable X11 forwarding 체크