2017년 1월 18일 수요일

DAY001_IoT Embedded Developer in KOSTA (IoT교육 KOSTA)

한동안 긴 공백기를 가지고, 2017.01.18~ 2017.06.27 동안 사물인터넷 임베디드 프로그래밍 개발자 양성과정에 참여하게 되었다.

짧은 오리엔테이션이 끝나고, ICT, IoT, 교육과정 커리큘럼에 대한 설명을 듣고 교육을 시작하였다.

다음 주 일요일까지 영타 200타를 완성하고, 교육이 끝날때 쯤 영타 500타 이상을 목표로 하라고 하였다. 첫번 째 과제라고 할 수 있다. 영타가 빠르면 교육을 쫓아가는 것도 도움이 되고, 같은 작업을 하더라도 멋이 있다는(?) 것을 농담반 진담반으로 이야기 하였다. (개발자 다움 혹은 훌륭한 개발자처럼 보이는 작은 차이) 유머였기도 하지만, 가만 생각해보면 'Social Network' 영화나 매체의 영향을 받고 프로그래머가 되고 싶다는 생각도 했기에 공감하였다. 

커리큘럼에 따르면, Java 계열(?)의 교육부터 시작하여 C를 하게 된다. 이 과정에 얕고 넓게 배워야 할 것 들이 많아서 집중해야겠다.

교육장 내 개발환경 (강사 설명 및 다른 학생들)
PC: HP 2013 laptop 
OS: Windows 7 Home Premium K

내 개인 개발환경
PC: Macbook Pro 13-inch, Early 2015
OS: macOS Sierra 10.12.2


KOSTA 149기 이기에 IOTstudy149 폴더내에 다음과 같이 정리하였다. 
windows 개발에서 C:\에 IOTstudy149를 바로 만들었다.


기본으로 DOC, images, utils 로 나누었다. (temp 와 javaProject는 이후 설명)

utils 엔 설치 파일들을 저장하였고, 
설치 는 Chrome(크롬), JDK, Eclipse 를 설치하였다. 

Chrome 은 구글에서 다운받을 수 있고,
JDK 는 www.oracle.com 에서 Downloads -> Java for Developers 에서

Java SE Development Kit 8u121를 설치하였다. 


Accept 를 반드시 눌러 동의하여야 다운받을 수 있고, Windows 와 Mac OS X의 경우에는 그림의 박스를 각각 클릭한다. 윈도우의 경우는 운영체제 bit에 맞는 것을 다운받는다. OS에 맞게 각자 올바르게 선택할 필요가 있음.


 (과거에 java가 sun에서 개발해서 java.sun.com으로 적힌 서적도 있다고 하는데, 역시나 oracle 로 링크되어 이동된다.)

Eclipse 는 www.eclipse.org 에서 다운받을 수 있다. Eclipse Neon 버전을 받음.

다운받는 동안 cmd.exe 를 실행 Windows + r 로 빠른실행을 실행할 수 있고, cmd 를 입력하여 cmd(명령프롬프트) 를 실행했다. 

*이 후로 $뒤에 나오는 것의 경우 터미널 혹은 명령프롬프트에서 입력하는 명령어를 뜻함

$cd 경로명 : change directory 경로명으로 현재위치 변경
$dir : 현재경로의 파일 확인 
의 명령프롬프트의 명령어 들을 사용하는 방법을 알려주었다. 

나와 같은 Macintosh 개발환경에서는 $cd 는 같으나, $ls 로 현재경로의 파일 을 확인할 수 있다. 

$cd C:\IOTstudy149  //IOTstudy149 경로로 이동
$mkdir temp    //temp 폴더 생성
$cd temp        //temp 폴더로 경로 이동
$notepad Test.java   //메모장으로 Test.java 파일 생성
( Mac에서는 notepad가 없으므로, $vi Test.java 로 vi에디터로 생성하여 편집하였다. 
vi내의 개발은 익숙하지 않을경우 저장과 편집등을 전혀 못할 수 있으므로 'vi 명령어' 를 검색하여 참고하여  편집하면 사용할 수 있다. 그리고 꼭 vi로 생성할 필요는 없으나 터미널 상에서 개발을 설명하는 부분이여서 해볼 필요성 은 있다.)

Eclipse 와 JDK를 설치한다. (긍정적인 반응의 버튼을 누르면 설치할 수 있다.)

Eclipse 사용을 했다. 

우측상단의 Open Perspective 아이콘을 클릭하여 java로 변경하였다. 
eclipse의 모든 기능을 다 사용하는 것이 아니라 java를 사용하므로 java로 단순하게 변경 (변경시에 java application 컴파일등 바로 편리하게 게 최적화 되어 사용할 수 있다.)

new -> java project -> java01Hello 로 생성
java01Hello/src 우클릭 new -> package test
java01Hello/src 우클릭 new -> package test.com 생성
( .의 의미 : 왼쪽 단어 하위에 우측 단어가 위치하게됨)

test.com 우클릭 new class -> Name란에 Test 로 생성 (* 첫번째 글자는 대문자로 해야함! 아닐시 경고)

test.com 우클릭 Properties -> Location 확인 가능! 

Test01hello.java의 내용은 다음과 같고, 후에 cmd혹은 terminal에서 작업하는 temp/Test.java 파일엔 5~15라인을 복사 붙여넣는다.

환경설정 preference General -> Appearance -> Colors and Fonts -> Basic -> Text Font 에서 글자크기 변경 가능 

코딩영역은 package와 public class 사이 혹은 public class Test { } 중괄호 사이

컴파일시 오류 에러 없는 코딩이 문제없는 코딩

sysout  'content assist'  :System.out.println(); 으로 변경됨 (자동완성)

JDK는 C:\Program files\Java\jdk1.8.0_121\bin에 위치하고있다. 
(jdk의 버전은 설치시기에 따라 다를 수 있음)
(Mac은 MacintoshHD/라이브러리/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin 에 위치해있음)

여기에서 javac를 이용하는데 위의 /bin 까지의 경로를 PATH로 잡는다. Windows의 경우 내컴퓨터 속성 -> 환경변수 에서 PATH를 추가하여 경로를 입력하면 되며, 맥의 경우 terminal에서
$vim ~/.bash_profile 
입력 후 
PATH=${PATH}:/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin 
이후에 원하는 경로를 추가한다. 여기서 원하는 경로가 /Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin 인 것이다.

PATH를 잡았으면    
$cd /Users/OKSU/Desktop/IOTstudy149/temp  (Mac)
$cd C:\IOTstudy149/temp (Windows)
를 입력 후 
$javac Test.java    //Test.class 생성됨 (컴파일)
$java Test     //Test.class 실행

System의 S(대문자)를 s(소문자)로 바꾸어서도 컴파일($javac Test.java) 해본다.
오류 내용을 알 수 있다.



그 후 실습한 내용은 위와 같다. 

그외 
System.out.print 와 System.out.println의 차이는 개행 차이이다.
Run configuration 의 오른쪽의 화살표를 누르면 컴파일 했던 여러 클래스 중 선택이 가능하다. 
o^s 그림의 의미는 o: method , s: static 이다.
javadoc 으로 컴파일시 문서화주석만 만들어준다.





*단축키 
Ctrl+ Shift + L : 단축키 찾는 단축키 (Mac은 Command + Shift +  L)
Ctrl+ Space : Content assist 자동완성 (Mac은 Spotlight 버튼과 겹쳐서 Shift + space 로 변경하였음
General -> Keys -> Content assist에서 변경할 수 있다.)

Ctrl+ s , c, v, z, 등을 숙지한다. s(저장) c(복사) v(붙여넣기) z(실행취소)
블럭 후 Ctrl+ shift+ / : 부분주석 (Mac은 Control+ Command+ / ) 
블럭 후 Ctrl+ shift +\ : 부분주석 해제 (Mac은 Control + Command + \ )
F2로 이름을 바꾸어 줄 수 있다. (바꿀 때 코딩 내의 method 도 바꿔준다.)
Ctrl+Shift + F : 줄 정리하기 (Mac은 Command + Shift + F)
Ctrl+Alt + 아래화살표 : 커서 줄 복사해서 아래에 붙여넣기 (* 윈도우에서 Windows 화면이 뒤집어주는데 바탕화면 우클릭 옵션조정으로 없앨 수 있다. )










댓글 1개: