갑을병정 산업구조에서 갑돌이의 잦은 요구사항 변경 통보를 받아보셨을 겁니다. 사람들에게 받은 스트레스를 풀려고 '그래! 난 개발자닌깐' 하고 자리에 앉아서 코드를 짜는데 반복적인 작업을 하다보면 ‘내가 이걸 왜 하고 있나’ 라는 생각까지 들기도 합니다.
안드로이드 작업을 하다보면 다음과 같은 반복적인 작업을 하는 것을 느꼈을 겁니다.
반복적인 보일러(Boiler)코드를 줄일 수 있는 오픈소스를 소개하고자 합니다.
**** 도서관 프로그램 완성 ㅋ(서버(관리자), 클라이언트)
2015/7/22 ~ 2015/8/6 (약 2주)
개발자 : 안병현, 한골드 @한정수
사용한 언어 : 개발자
- JAVA JDK 1.8(Swing, Socket) : 한정수
- C#(WPF) : 안병현
- C/C++(Socket, DLL-Socket) : 안병현, 한정수
* 기능
관리자
(도서 추가/도서 검색/신청 도서 구입/고객 추가/고객 찾기/가입 허가/지출 및 수입 확인)
클라이언트
(도서 검색/대여/반납/도서 신청/회원 가입/로그인)
* Linux(Server)
- Cent OS Release 6.1
- Mysql(5.1.73, RDB)
- GCC version-4.4.7
*VM으로 돌리지 않음.
* 구성
1. JAVA(Swing, Socket)
자바 Swing에 Socket으로 서버소켓과 연결하여 입력된 명령(Command)에 따라 서버에서
해당하는 데이터를 송수신함.
2. C#
C# 소스에서는 주로 UI를 만들기 위한 소스를 만들었고, 소켓 통신을 C에 의존하였음.
이른 바인딩으로 C/C++로 만든 DLL을 참조하였고, 마찬가지로 입력된 명령에 따라 서버에서
해당하는 데이터를 송수신함.
3. C(리눅스 서버측)
-1 JAVA
자바와 통신하는 소스는 do~while 구문으로 하나의 명령에 하나의 소켓으로 일대일 방식으로 구성
* 구분자 '/'
-2 C#
C#과 통신하는 소스는 while 구문으로 해당 클라이언트에 하나의 쓰레드를 할당하였고,
전체 클라이언트 소켓관리는 int형 배열을 만들어 관리함.
* 구분자 ','
* 권장 사양
- JDK 설치
- .NET Framework 설치
- Windows 지원하는 OS
* 생각해니까 굉장히 쓸모 없는 도서관 프로그램임
* 포트 포워딩을 하지않아서 그런지 다른 네트워크 망에서는 리눅스 서버에 접근하지 못함(방화벽을 허물어도 안됨 ㅅㅂ..)
+ C/C++로 DLL 어셈블리 만드는게 처음이라서 개짜증났음. 게다가 C가 CLS에 맞지 않아서 자료형 맞추려다 보니 미치는줄
+ Server socket 예제가 채팅만 줠라게 많아서 미치는줄
갑을병정 산업구조에서 갑돌이의 잦은 요구사항 변경 통보를 받아보셨을 겁니다. 사람들에게 받은 스트레스를 풀려고 '그래! 난 개발자닌깐' 하고 자리에 앉아서 코드를 짜는데 반복적인 작업을 하다보면 ‘내가 이걸 왜 하고 있나’ 라는 생각까지 들기도 합니다.
안드로이드 작업을 하다보면 다음과 같은 반복적인 작업을 하는 것을 느꼈을 겁니다.
반복적인 보일러(Boiler)코드를 줄일 수 있는 오픈소스를 소개하고자 합니다.
**** 도서관 프로그램 완성 ㅋ(서버(관리자), 클라이언트)
2015/7/22 ~ 2015/8/6 (약 2주)
개발자 : 안병현, 한골드 @한정수
사용한 언어 : 개발자
- JAVA JDK 1.8(Swing, Socket) : 한정수
- C#(WPF) : 안병현
- C/C++(Socket, DLL-Socket) : 안병현, 한정수
* 기능
관리자
(도서 추가/도서 검색/신청 도서 구입/고객 추가/고객 찾기/가입 허가/지출 및 수입 확인)
클라이언트
(도서 검색/대여/반납/도서 신청/회원 가입/로그인)
* Linux(Server)
- Cent OS Release 6.1
- Mysql(5.1.73, RDB)
- GCC version-4.4.7
*VM으로 돌리지 않음.
* 구성
1. JAVA(Swing, Socket)
자바 Swing에 Socket으로 서버소켓과 연결하여 입력된 명령(Command)에 따라 서버에서
해당하는 데이터를 송수신함.
2. C#
C# 소스에서는 주로 UI를 만들기 위한 소스를 만들었고, 소켓 통신을 C에 의존하였음.
이른 바인딩으로 C/C++로 만든 DLL을 참조하였고, 마찬가지로 입력된 명령에 따라 서버에서
해당하는 데이터를 송수신함.
3. C(리눅스 서버측)
-1 JAVA
자바와 통신하는 소스는 do~while 구문으로 하나의 명령에 하나의 소켓으로 일대일 방식으로 구성
* 구분자 '/'
-2 C#
C#과 통신하는 소스는 while 구문으로 해당 클라이언트에 하나의 쓰레드를 할당하였고,
전체 클라이언트 소켓관리는 int형 배열을 만들어 관리함.
* 구분자 ','
* 권장 사양
- JDK 설치
- .NET Framework 설치
- Windows 지원하는 OS
* 생각해니까 굉장히 쓸모 없는 도서관 프로그램임
* 포트 포워딩을 하지않아서 그런지 다른 네트워크 망에서는 리눅스 서버에 접근하지 못함(방화벽을 허물어도 안됨 ㅅㅂ..)
+ C/C++로 DLL 어셈블리 만드는게 처음이라서 개짜증났음. 게다가 C가 CLS에 맞지 않아서 자료형 맞추려다 보니 미치는줄
+ Server socket 예제가 채팅만 줠라게 많아서 미치는줄
2. 설치 및 환경설정
Lua 기본 알고가기
TEST : main.lua
화면전환 (컴포저)
캐릭터 넣기 (트랜지션)
앱만들기 실습
코로나로 앱 만들기
2
3. 코로나(Crona SDK)란?
2D 모바일 앱 전문 개발 플랫폼
- 무료
- 실시간 확인 가능한 시뮬레이터
- 물리 엔진 내장
- 다양한 디바이스 대응
- 루아(Lua) 언어 기반
- 픽셀 단위 사용
- 주로 게임을 만드는데 사용
- 일반 앱도 만들 수 있다.
3
4. 작업환경 설정 : JAVA JDK
1. 다운받기
2. 설치
JAVA JDK
32비트
4
5. 작업환경 설정 : 에디터
1. 설치
2. 내용 복사
3. 붙여 넣기
4. 실행
5. 입력
6. 입력
Sublime Text 3
Package Control
View–Show Console
Tools-Command Palette
Install Package
Corona Editor
5
6. 작업환경 설정 : 시뮬레이터
1. 회원가입
2. 다운
3. 설치
4. 실행
5. 로그인
Coronalabs.com
Daily Builds
Daily Build
Corona Simulator
Coronalabs id/pw
6
7. 작업환경 설정 : test 단계1
main.lua 저장
print ("hello")
7
25. 화면에 나타나게 하기
글씨체 고유의 여백
때문인가 봅니다.
생각보다 딱 맞지 않네요
ㅡ,.ㅡ
25
26. 지금까지 배운 LUA 명령어
print (“디버깅창에 출력할 내용”)
display.newText (“화면에 출력할 내용", x, y, font-face, font-size)
변수명.anchorX, 변수명.anchorY = 0, 0
-- 한줄 주석
--[[
여러줄 주석 요건 기본으로 알고 있어야죠!
]]
26
27. 변수이름이 두 가지 였지요?
지역변수와 전역변수
코로나에서는 class(상속)가 없어, 전역이면 다른 lua파일에서 접근이
가능하기 때문에 지역변수로 선언하고 씁니다.
전역(global)변수
지역(local)변수
지역(local)변수
27
31. 지금까지 배운 명령어
display.newImage (“이미지경로", x, y, true)
변수명.anchorX, 변수명.anchorY = 0, 0
매번 중심축을 바꿔주기 귀찮으니 한번에 설정해 두면 편합니다.
display.setDefault (“anchorX”, 0)
display.setDefault (“anchorY”, 0)
31
32. 강좌 참조 사이트
• https://blog.wonhada.com/?p=331
단숨에 루아(LUA) 스크립트 배우기 (사실 단숨에 배워지지 않습니다.)
• https://coronalabs.com/learn-lua/
15분만에 배울 수 있답니다. (절대로!)
• http://studymake.tistory.com/505
루아(Lua)언어 기초 문법 (요런 강좌가 우리에겐 더 잘 맞음)
• http://wikibook.github.io/learnlua/
Lua란?? 한 번 읽어보시는걸 추천한답니다.
• https://www.youtube.com/watch?v=S4eNl1rA1Ns
Learn Lua in an Hour
• https://www.youtube.com/channel/UCEAJ_D1LOjgz2jd7TCZlnhw
뭔가..강좌가 많아
LUA, Corona SDK, Tutorial, Beginners, children // 검색
32
33. LUA 기본 알고가기
33
여러 사이트의 강좌를 활용하여
루아를 살짝 알고 가는게 좋아요.
-- 본 슬라이드는 (원강민)님의 책을 참조하여
-- 프로그래머가 아닌 웹디자이너가 독학 및
-- 코로나SDK 한국커뮤니티의 도움을 받아
-- 코로나SDK의 저변확대를 위하여 작성한 자료입니다.