설정에 shortcut 이 다 나와 있지 않아, 매우 불편했었다;;;
특히나, 에디터 탭간 이동을 몰라서 무척 난감했었는데...
ALT+R / ALT+Q 을 아래에서 발견했다~ :)
https://shortcutworld.com/SAP-Web-IDE/win/SAP-Web-IDE_Shortcuts
설정에 shortcut 이 다 나와 있지 않아, 매우 불편했었다;;;
특히나, 에디터 탭간 이동을 몰라서 무척 난감했었는데...
ALT+R / ALT+Q 을 아래에서 발견했다~ :)
https://shortcutworld.com/SAP-Web-IDE/win/SAP-Web-IDE_Shortcuts
### Closuser
출처 : 단일페이지 웹 어플리케이션 (위키북스)
Closure 역시나 내용이 쉽지 않으나, 설명이 참 좋다.
위에서의 this 는 prison 이며, closure 처리됨.
이런 경우에 Closure 처리를 함으로서 원하는 바를 얻을 수 있다.
Ajax 호출에 대한 응답은 최초 비동기 호출이 발생했던 실행 컨텍스트 밖에서 발생하게 된다.
### 실행 컨텍스트란 ( p.62 )
함수가 호출될 때마다 새로운 실행 컨텍스트(executioin context)가 생긴다.
실행 컨텍스트는 함수가 실행되는 동안 일어나는 모든 내용으로 구성된다. 실행 컨텍스트는 함수 선언과는 다르다. 함수 선언이 함수가 실행될 때 어떤 동작을 하는지 설명하는 데 반해, 실행 컨텍스트는 함수 실행 그 자체다.
... 중략...
실행 컨텍스트에 속한 변수 및 함수는 실행 컨텍스트 객체에 저장된다.
자바스크립트 엔진이 실행 컨텍스트를 통해 2단계를 거치면서 변수를 선언하고 초기화한다.
1차 : 인자와 함수가 선언되고 대입
2차 : 자바스크립트를 실행하고 지역 변수의 값을 정의함
[ECMAScrpt6] Arrow 함수 (0) | 2018.04.03 |
---|---|
[javascript] 계산기 만들기 (0) | 2017.05.16 |
Closure (0) | 2018.07.04 |
---|---|
[javascript] 계산기 만들기 (0) | 2017.05.16 |
아래와 같이 이쁘게 UI 도 바뀌었다.
나도 클라우드에 개발환경을 가져보자(#1) (0) | 2018.02.28 |
---|
Bash 를 잘 좀 써보기 (0) | 2018.02.21 |
---|---|
[CMD] 사용법 (0) | 2017.04.14 |
리눅스랑 친해보고 싶어서 매일매일 아래 과정을 1번부터 계속 해보고 있습니다 :)
내용 중에 틀린 부분이 있을 수 있고, 시간상 이해없이 넘어간 부분도 있습니다.
vps 를 제공받을 수 있는 클라우드 서비스에 가입한다.
나는 conoha 에서 서비스를 받고 있는데, 테스트 서버 사양으로 한달에 690엔입니다.
네트웍 트래픽은 무제한이다!!
1시간에 1엔정도 인데… 아직 돌릴만한 서비스도 없고
쓸때만 쓰고, 그외는 삭제시켜버린다.
몇 번이고 만들었다, 삭제하는 것을 반복해볼 수 있어서 좋다.
아래 링크를 통해 들어가면, 일본어가 떠서 정신없다.
ConoHa 에 가입시에 아래 링크로 가입하면, 사용에 따른 쿠폰이 지급된다.
ConoHa를 지인분께 소개하시고 선물 쿠폰을 받으세요.
지인분께서 2,000엔 상당의 ConoHa 서비스를 이용하시면, 소개자 분께 각각 2,000엔씩 선물 쿠폰을 드립니다.
https://www.conoha.jp/referral/?token=30kMggaB1XdoYEnxbFfpOPOursdQuUAW7Iwlg6ZUgbeYIgYdx8s-13P
위 링크를 누르시면, 기본언어인 일본어로 나와서 정신없다.
한국어로 바꿔주고 회원가입한다.
나는 신용카드로 1000엔 정도의 포인트를 충전하여 포인트로 사용료 지불하는 식으로 하고 있다.
기본적으로 제일 싼놈으로 설정되어 있는데,
Os Ubuntu 16.04(64bit)
를 선택한다.
1시간에 1엔하는 착한 녀석이다.
root 패스워드는 필수 입력 사항이다. (대소문자, 특수문자가 필수로 알고 있다)
추가하기 누르면 끝!!
약 20초 정도 지나면, 고정 서버접속가능한 ip를 받을 수 있다.
저 같은 경우는 개인적인 사정으로 모바일환경에서 개발을 합니다.ㅠ
Termux 가 리눅스환경을 제공하긴 하지만, 쓰다가 보니, 제한도 많고, 다르다.
flask(파이썬 웹서버) 를 통해 로컬서버를 띄우고 간단히 만져볼 정도는 된다.
conoha 에서 서버를 추가하고 받은 고정ip(xxx.xx.xxx.xx)를 이용해서 아래와 같이 입력한다.
$ ssh root@xxx.xx.xxx.xx
매번 root로 사용하면 찝찝하니… 리눅스와 친해질겸 매일 하는 과정에 포함시킨다.
root@xxx.xx.xxx.xx:~# adduser dev1
: 비밀번호 입력하라고 나온다.
root@xxx.xx.xxx.xx:~# usermod -G sudo dev1
: dev1 에 sudo 권한 부여하기위해 sudo라는 그룹의 권한을 추가해 준 것임.
(참고 : http://kanziw.com/133 )
root@xxx.xx.xxx.xx:~# su dev1
: su는 switch user 이다. 맞나?
dev1@xxx.xx.xxx.xx:~$
: #에서 $로 프롬프트가 바뀌었다. root 계정에서 그외 계정으로 바뀌면 바뀌는 걸로 알고 있다.
$ python --version
을 해보면, 2.7.12 가 기본으로 설치되어 있는 것을 확인했다.
pip 이것저것 편리하게 python 관련 프로그램을 설치해 주는 편리한 도구이다.
$ sudo apt-get install python-pip
$ pip --version
: 현재 python 버젼이 2 이므로 pip는 python2 버젼 기준으로 되어 있다.
virtualenv 는 프로그램을 설치할 때, 시스템에 등록이 되는데, 여러 버젼이 설치되면
개발환경이 꼬이게 된다. 그래서, 개발환경 ID를 정해놓고, 그 ID로 이름지어진 공간에만
프로그램 환경변수 등이 등록되어 개발환경이 ID별로 달리 적용할 수 있도록 해주는
편리한 프로그램 이다.
이것을 설치해서 python2, python3 을 구분해서 사용하겠다.
$ sudo pip install virtualenv
$ mkdir dev_space
$ cd dev_space
$ mkdir proj1
$ pwd
/home/dev1/dev_space/proj1
$ virtualenv .venv_py2
$ . .venv_py2/bin/activate
(.venv_py2) $
: 활성화 시킨다.
앞에 (.venv_py2) 라고 “이 개발환경은 .venv_py2 라는 환경이야” 라고 설명이 나와있다.
(.venv_py2) $ sudo apt-get install python-dev \
build-essential libssl-dev libffi-dev \
libxml2-dev libxslt1-dev zlib1g-dev
(venv_py2) $ deactivate
$
$ . venv_py2/bin/activate
: 를 실행해주면, 다시 venv_py2 라고 이름 붙이 개발환경으로 셋팅된다.
연습 겸 python3 버젼으로 설정해보자.
$ virtualenv venv_py3
$ . venv_py3/bin/activate
(venv_py3) $ sudo apt-get install python3 python-dev python3-dev \
build-essential libssl-dev libffi-dev \
libxml2-dev libxslt1-dev zlib1g-dev \
$ sudo apt-get install python3-pip
$ python3 --version
$ pip3 --version
: 이렇게 설치로 py2, py3를 구분하는게 맞는지는 나중에 알아보고 일단 계속 진행하겠다.
$ vim hello.py
$ python hello.py
로 실행시켜 본다.
$ cd ~/dev_space/proj1
$ git init
$ vim hello.py
i 키를 누르면, 입력모드
esc 키를 누르면, 커맨드 모드
esc 키를 누르고 :wq 라고 입력하면 저장 된다.
$ python hello.py
$ git status
: 를 해보니, .venv_py2 폴더가 보인다. 예외처리 하자.
$ vim .gitignore
.*/
.*
이렇게 입력하고, 저장하고 다시
$ git status
하면 내용이 안보인다.
$ git add hello.py
$ git commit -m "first commit"
라고 하면, 내가 누군지 알려달라고 git config 를 통해 설정하라고 메세지가 나온다.
$ git config --global user.email "ohnewdev@gmail.com"
$ git config --global user.name "ohnew"
$ git remote add mytwisted https://github.com/ohnewdev/learnTwisted.git
$ git remote -v
$ git pull mytwisted master
$ git status
$ git commit -m "ok commit"
$ git push mytwisted master
: 잘반영된다.
다음 to do…
eclipse che, vim 로 코딩환경 개선하기...
나도 클라우드에 개발환경을 가져보자(#2) (0) | 2018.03.08 |
---|
출처 : [책]배시 핵심 레퍼런스
늘 헷갈리는 부분을 두고두고 보려고 메모합니다.
cmd &
백그라운드에서 cmd 실행
cmd1 ; cmd2
다수의 cmd를 실행함
{cmd1;cmd2;}
현재 쉘에서 명령들을 그룹으로 실행
(cmd1; cmd2)
하위 쉘에서 명령들을 그룹으로 실행
cmd1 | cmd2
파이프. cmd1의 출력을 cmd2 의 입력으로 사용함
cmd1 \`cmd2\`
cmd2 가 명령으로 치환되며 cmd1의 인자로 사용
cmd1 $(cmd2)
POSIX 쉘 명렬 치환, 중첩허용됨
cmd1 $((expression))
POSIX 쉘 산술치환. 수치결과가 인자로 사용
cmd1 && cmd2
cmd1 이 성공하면 cmd2 실행
cmd1 || cmd2
cmd1 이 성공하면 cmd2는 실행되지않고, cmd1 이 실패하면 cmd2 는 실행된다.
!cmd
NOT
cmd > file
# cmd 의 출력을 file 로 보냄(덮어쓰기)
cmd >> file
# 추가로 보냄
cmd < file
# file에서 cmd에 대한 입력을 받음
cmd << text
# text 와 동일한 라인까지의 쉘 스크립트 내용이 cmd 에 대한 표준 입력이 된다.
# cat, ex, sed
cmd <> file
# 표준 입력에 읽고 쓰는 file을 연다.
cmd >| file
cmd >&n
# cmd출력을 파일 서술자 n으로 보낸다.
cmd >&-
# 표준 출력을 닫는다.
cmd <&n
# 파일 서술자 n에서 cmd에 대한 입력을 받는다.
cmd <&-
# 표준 입력을 닫는다.
cmd <&n-
# 파일 서술자 n을 복사하여 표준입력으로 옮긴 후 원래 것을 닫는다.
cmd >&n-
# 파일 서술자 n을 복사하여 표준 출력으로 옮긴 후 원래 것을 닫는다.
[gitlab] 프로젝트 CLI 생성 (0) | 2018.03.07 |
---|---|
[CMD] 사용법 (0) | 2017.04.14 |
개인적인 학습목적으로 작성한 포스트 입니다.
SAP의 Front-end 프레임웍 입니다.
사용자경험 기반의 UI로 새롭게 단장하고 폰, 테블릿, PC에서도 같이 보여집니다.
SAP UI5 에 기반한 기반한 UX 입니다.
[SAP 기존 UI vs Fiori UI 비교 동영상]
https://www.youtube.com/watch?v=_morrLqAZTQ
참고 : Fiori 소개
https://blogs.sap.com/2016/09/17/understanding-sap-fiori/
UI add-Ons(Fiori App Repogitory) + SAP NetWeaver Gateway
로 구성됩니다.
// 샘플로 oData 를 만듬.
var oData = { recipient : { name : "world"} };
//위에서 만든 oData 를 model 로 구성함.
var oModel = new JSONModel(oData);
this.getView().setModel(oModel);
// model 에는 데이터가 실려있고, 이 model 을
// View 쪽에 연결(데이터 바인딩)
// 이렇게 데이터가 바인딩 되면....
// 화면에 데이터를 변경하면 연결된 데이터들도 함께
// 변경된다. 즉, 화면값과 연결된 model 내부의
// 값도 변경된다.
// 예를들어 화면의 world 값을 ABC 로 바꾸면,
// model이라는 그릇내의 world 값이 ABC로 바뀝니다.
// 이것을 다시 ABAP Back-end로 전달하면, 되겠지요.
1) web IDE
2) web ide personal edition
3) Eclipse 플러그인
웹화면 개발하는 것과 거의 유사.
SAP 에서는 클라우드 플랫폼에서 개발하도록 권하긴 합니다.
가입을 하면 트라이얼 환경에서 개발을 해볼 수 있습니다.
가짜 서버도 띄워보고 할 수 도 있습니다.
1) 아두이노 설치
https://www.arduino.cc
레퍼런스
https://www.arduino.cc/en/Reference/HomePage
2) 시뮬레이터 설치
이 글을 작성하는 곳이 실습할 수 없는 환경이라…
시뮬레이션 해볼 수 있는 도구를 찾아보니,
Fritzing 이란 도구가 있었다.
https://kocoafab.cc/tutorial/view/652
참조하여 설치를 진행하고~~
kocoafab 은 설명이 너무너무 잘되어 있다.
http://pawns.tistory.com/entry/아두이노가-없을-때-사용하자-Fritzing
(http://pawns.tistory.com/entry/%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8%EA%B0%80-%EC%97%86%EC%9D%84-%EB%95%8C-%EC%82%AC%EC%9A%A9%ED%95%98%EC%9E%90-Fritzing)
PWM이란
https://opentutorials.org/module/2106/12246
아두이노 digital 쪽 단자를 보면, ~# 으로 된 단자들이 있다. 이들은 PWM 단자인데,
PWM 이란 Pulse Width Modulation 로서 펄스의 폭을 컨트롤 하는 주기 제어 방법입니다.
출력되는 전압값을 일정한 빙율(duty) 동안은 high 상태를 유지하고, 나머지는 low 상태를 유지 시킬 수 있습니다.
아두이노의 analogWrite 함수를 통해서 이런하 PWM 출력을 제공합니다.
실습 : http://eskelt.tistory.com/3
pwm(펄스폭 변조)를 통해 입력전압을 점점 높이거나 낮추는 것과 같은 효과를 낸다.
센서들을 다루다 보면, 다루고자 하는 범위가 각각 있다. 이것을 다른 것의 범위를 맞추고자 할 때 유용한 함수가 map() 이라는 함수가 있다.
아두이노에서 사용하는 모터는 보통 다음 3가지를 쓰는데,
1) DC모터
2) 스테핑모터 : 스텝에 의해 구동되는 모터.
3) 서보머터 : 명령을 따르는 모터를 서보모터라고 합니다. 펄스에 따라 각도를 제어하는 모터입니다.
이중 서보모터는 일정한 각도내에서만 회전을 하는 모터이다.
서보의 작동은 일정 시간 동안 신호를 보내면 그 신호 펄스 폭이 서보의 작동 각도가 된다.
이것저것 만들고 싶은게 많은데, 아두이노 보드는 몇 없고…
포트를 많이 제어할 수 있을까 했는데~ 요렇게 유용한게 있었다니.. 이 포스트는 참 유용하다.
래치를 내린다음, 데이터를 래치에 싣고, 그 다음 다시 래치를 올려 그 데이터를 유지시키는 것 같군요.
[간단 용어]
. 클럭 : 클럭을 사용하는 이유는 입력 신호와의 동기화를 위한 것임.
. 래치 : 신호가 회로에 공급되다가 끊어지면 그 신호도 같이 없어지게 된다. 그래서, 래치 또는 플립플롭을 통해 그 신호를 저장하기 위해서 사용합니다.
플립플롭은 클럭을 가지고 있고, 래치는 클럭을 가지지 않습니다.
참고 :
https://m.blog.naver.com/PostView.nhn?blogId=miniskirtzia&logNo=220054685053&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F
클럭 소자
http://blog.naver.com/PostView.nhn?blogId=jinohpark79&logNo=220251467901&parentCategoryNo=&categoryNo=7&viewDate=&isShowPopularPosts=true&from=search
https://ko.wikipedia.org/wiki/%ED%81%B4%EB%9F%AD_%EC%8B%A0%ED%98%B8
Manuals and Curiiculum(Link) (0) | 2017.09.04 |
---|
* 아두이노 메뉴얼
http://playground.arduino.cc/uploads/Main/arduino_notebook_v1-1.pdf
* 아두이노 메뉴얼 및 강좌
https://playground.arduino.cc/Main/ManualsAndCurriculum
아두이노 가지고 놀기 #1 (0) | 2017.09.05 |
---|