목록나무 숲 (791)
나무 숲
책 [코로나SDK 모바일 게임 프로그래밍] 첫 실행한 화면입니다. main.lua라는 파일을 만들어서 코로나 시뮬레이터에서 open project하여 실행시킨 모습입니다.텍스트는 순서대로 "Hello world", x좌표, y좌표, 글꼴, 글씨 크기 입니다.하단에는 r g b 순으로 텍스트의 색깔을 설정할 수 있습니다. (0~255) 기기를 아이패드로 바꿔 다시 테스트해본 모습입니다.여느 언어들이 그렇듯 텍스트 객체의 이름은 모두 달리 해주어야 합니다.setTextColor에서 4번째 인자는 투명도를 의미합니다. 투명도 0일 때 아예 보이지 않고 255일 때 원상태입니다.저는 10을 시도해보았는데 어째서인지 적용이 되지 않더군요..ㅠㅠ;
arr=['a', 'b', 'c'] 일 때 print arr 하면['a', 'b', 'c']이렇게 나온다. 이것을 abc로 나타내고 싶다면print ''.join(arr)이라고 한다. 마찬가지로 arr2 = [1, 2, 3] 일 때print arr2 하면[1, 2, 3] 이라고 나오는데 123으로 나타내고 싶다면print ''.join(str(x) for x in arr2)라고 한다.''.join(map(str, arr2))이것도 가능하다. +)TypeError: 'int' object has no attribute '__getitem__'라는 에러를 마주쳤는데,str1="abc"와 str2="def" 이 두 문자열을 한 char씩 비교하려고 하니까 나타났다. (str1[0]==str2[0])int랑 딱..
큐큐는 선착순에 비유할 수 있다.먼저 온 사람이 먼저 들어가는 것처럼, 큐라는 자료구조 안에서는 먼저 들어온 데이터가 먼저 나간다.이러한 구조를 FIFO (First-In, First-Out. 선입선출)라고 한다.빈 큐. 큐에서는 앞부분, 즉 머리를 Front로 나타내고 뒷부분, 즉 꼬리를 Rear로 나타낸다. 데이터를 넣은 모습. (enqueue)데이터가 하나뿐이므로 데이터=front=rear이다.데이터를 이렇게 더 채워넣은 상태에서 데이터 삭제 함수(dequeue)를 호출하면 가장 앞의 데이터가 빠져나간다. 따라서 front는 2라는 값을 가진 노드를 가리키게 된다. 양방향 연결 리스트로 구현하였습니다~ (거꾸로도 출력할 수 있어서..)연결 리스트를 이용한 큐 구현0 구조체 정의+초기화 #includ..
(사실 스택과 큐는 C++에서 #include #include 그리고 자바에서 java.util.stack java.util.queue 을 이용하여 직접적인 구현 없이 사용이 가능합니다) 스택 Stack을 한국어로 번역하면 쌓다, 입니다. 이름에서도 알 수 있듯이 데이터를 접시처럼 쌓고, 맨 아래 접시부터 빼면 접시가 무너지기에.. 접시를 사용하려면 맨 위 접시(데이터)를 빼내야 합니다. 이렇게 나중에 들어간 것이 먼저 나오는 구조를 LIFO (Last-In First-Out. 후입선출) 구조라고 합니다. 빈 스택입니다. 맨 위를 top, 맨 아래를 bottom이라고 합니다. 스택에 데이터를 넣는 것을 push라고 합니다. 위 그림은 데이터가 하나뿐이므로 데이터=top=bottom인 상태입니다. 데이터가..
이중 연결 리스트 Double Linked List 이중 연결 리스트입니다. 일반 연결 리스트와 다르게 한 노드를 기준으로 그 전 노드를 가리키는 before, 그 다음 노드를 가리키는 next 포인터가 존재합니다. 첫 번째 데이터가 tail에 삽입된 모습입니다. 노드가 하나뿐이라 head=tail=뉴노드 입니다. 뉴노드를 삽입하는 모습입니다. 뉴노드의 next은 (헌)노드, (헌)노드의 before는 뉴노드 입니다. 이후 뉴노드는 tail이 됩니다. head는 그대로인 모습입니다. 노드를 삭제하는 모습입니다. 더미노드를 만들어 삭제할 부분인 tail를 가리키게 합니다. tail는 tail->before을 가리킵니다. 삭제될 노드를 가리키는 tail->next는 NULL이 됩니다 더미노드의 메모리를 해제..
* 열혈강의 자료구조 책 + 인터넷 + a 원형 연결 리스트 Circular Linked List 원형 연결 리스트입니다.그림처럼 하나로 쭉 이어지며, tail이 별도로, 반드시 필요하지는 않습니다.head와 tail을 구분지어서 tail과 tail->next(head)로 사용하는 경우도 있습니다.저는 구분짓지 않고 head만을 사용하였습니다. (따라서 마치 tail과도 같은 역할을 수행하게 되었습니다..) 리스트가 텅 빈 상태에서 뉴노드를 넣게 되면 보여지는 모습입니다 노드가 하나 이상일 때 노드를 추가하면 나타나는 모습입니다.이러한 구조 때문에 head부터 리스트의 데이터들을 출력하면 생각하던 결과와 다소 다른 값이 출력됩니다.출력값은 아래 스크린샷에 있습니다. (1에서 5.. 순서대로 출력하려면 h..
사용 mySQl에 담긴 데이터베이스를 확인할 수 있는 방법은 두 가지 있습니다 하나는 보기 편한 형태의 localhost/phpmyadmin 페이지로 들어가는 방법입니다. 이 페이지에 정상적으로 들어가기 위해서는 서버를 동작시켜야 합니다 제가 사용하는 비트나미에서 보여지는 화면입니다. 헌데 Apache Web Server 가 아무리 Start를 눌러도 서버가 동작되지 않는 경우가 있습니다 그런 때에 윈도우 서비스 창으로 들어가 동작중인 World Wide Web Publishing Service의 서비스를 중지시켜 주면 정상적으로 동작됩니다. 다른 하나는 콘솔 창을 이용하는 것입니다 창으로 처음 들어가는 화면입니다 mysql -u root -p 라고 입력하면 패스워드를 입력하라는 문구가 뜨고, 입력하게 ..
* 곱하기 연산자 ** 제곱(squared) 연산자 n = 3 n=n**3 하면 n은 n의 3제곱인 27이 된다 / 나눗셈 연산자 (몫, 나머지 표시됨) // 나눗셈의 몫을 나타내는 연산자 % 모듈로. 나눗셈의 나머지를 나타내는 연산자 n=3.0 a=2.0 print(n/a) print(n//a) print(n%a) 결과값은 1.5 1.0 1.0 print("%.2f" % total) 소수점 이하 두자리까지 실수로 total을 출력한다 라는 의미 # 주석 (한 줄) """ 코드~~~ """ 주석 (여러 줄) len(변수) 변수의 길이 변수.lower() 변수의 모든 대문자를 소문자로 변환 변수.upper() 변수의 모든 소문자를 대문자로 변환 str(변수)/int(변수)... 형 변환 연산자 ..ing
* 열혈강의 자료구조 책 + 인터넷 + a 연결 리스트란? (메모리의 동적 할당) 메모리의 동적 할당, 즉 malloc와 free를 이용한 연결 리스트의 핵심 중 하나는 바로 아래 코드입니다 #include using namespace std; typedef struct _Node{ int data; struct _Node *next; } Node; Node 구조체입니다. 여기서 Node란, data, 즉 어떤 값을 가지고 있으며, 동시에 Node형 구조체 변수의 주소 값을 저장할 수 있는 포인터 변수를 포함합니다. (책에서는 바구니에 비유) 더 단순하게 이해해보자면 Node의 값은 data, 그리고 다음 Node의 주소는 next에 있다. 즉 data라는 값을 가진 노드 하나는 next 노드를 가리킨다..
저도 사양 보는 법을 정확히 몰라서 공부할 겸 하여 작성해보려 합니다! http://prod.danawa.com/list/?cate=112758&src=adwords&kw=PT00A0&gclid=CLj76dC8qc4CFQojvQoddl0D5A원하는 사양에 맞춰 노트북을 검색할 수 있는 곳이네요 단순하게는 이렇게, 그리고 옵션 전체보기를 통해 이이렇게 많은 부분을 알아볼 수 있습니다 이중에서 제게 중요하다고 판단되는 몇가지를 알아보도록 하겠습니다. (예시는 제 노트북 사양으로!) 제어판->시스템 및 보안->시스템 에 들어가면 아래와 같이 컴퓨터의 기본 정보를 볼 수 있습니다. 더 자세한 정보를 얻기 위해 위 사이트에서 노트북 제품을 검색했습니다 1 CPUCPU, 중앙 처리 장치.. 정말 많이 들어보고 이론..
설치 https://www.python.org/ 이곳에서 다운로드 가능합니다 파이썬의 장점으로는 쉽고 간단한 문법으로 빠르게 배울 수 있으며, 마찬가지로 쉽고 빠르게 코딩할 수 있다는 점입니다 어디서 주워들은 말로는, 보안 쪽에서도 꽤나 사용된다고 하여 저도 가볍게 배워보려 합ㄴㅣ다 대표적으로 파이썬이 사용된 곳으로는 Youtube, Dropbox 등이 있습니다 사용 우선 아래 그림과 같이 파이썬IDLE를 실행시키면 이런 화면이 뜹니다 간단하게 파이썬 홈페이지에 나와있는 예제 몇 가지를 따라해보았습니다 (파이썬 홈페이지에 있는 것을 그대로 따라했는데 피보나치 함수가 계속 에러가 나서 아래에서는 제 임의로 고쳐보았습니다. 아래에 짝수 찾는 반복문은 잘 돌아가는군요) 반복문을 보니 범위range 2에서 10..
* 열혈강의 자료구조 책 + 인터넷 + a책이 정말 너무 잘 되어있지만 여기엔 간단하게 씀 + 내상각 추가 순차 리스트 (배열 기반) 순차적으로 접근할 수 있는, 구조체와 배열을 이용한 연결 리스트이다. 1. 배열 기반의 구조체 정의 typedef struct _ArrayList{ int arr[100]; int numOfData; //데이터의 개수 int curPosition; //배열의 인덱스 값 저장 } List; //구조체 이름을 List로 정의 2. 구조체 기반 함수 정의(기능 위주)void ListInit(List *list){ //리스트 초기화 list->numOfData = 0; //리스트에 저장된 내용이 없다 list->curPosition = -1; //아무것도 저장하지 않음을 의미 }..
조건 - 원반은 한 번에 하나만 옮길 수 있다 - 작은 원반 위에 큰 원반을 올릴 수 없다 패턴 분석 C를 3으로 옮기고자 할 때, A와 B를 2에 옮겨 놓으면 가능하다. -> B를 2로 옮기고자 할 때, A를 3에 옮겨 놓으면 가능하다. 이번엔 4개 (위에서부터 아래로 A,B,C,D) D를 3으로 옮기고자 할 때, A,B,C를 2로 옮겨 놓으면 가능하다. -> C를 2로 옮기고자 할 때, A,B를 3으로 옮겨 놓으면 가능하다. -> B를 3으로 옮기고자 할 때, A를 2로 옮겨 놓으면 가능하다. ... 같은 방식으로 몇 개의 원반이 있던 간에 어떠한 동일 패턴이 존재한다는 것을 알 수 있다. 이를 다시 일반적으로 표현해보면, n개의 원반이 있다고 할 때 (위에서부터 아래로 1,2...n번째) 1~(n-..
코로나 카테고리가 제가 처음으로 공부할 겸.. 해서 만든 곳이었다면 이곳은 저의 짧은 안드로이드 지식을 조금 다져볼까 하여 만든 곳입니다 (+자바력) 자급자족용 가계부/스케줄러 앱을 만드는 과정에서 나타나는 기능들이 주가 될 것 같습니다 (+자바공부) 우선 안드로이드 스튜디오는 가볍게 아래에서 다운받으시면 될 것 같아유 https://developer.android.com/studio/index.html 그 외에 제가 사용하고자 하는 것들입니다 https://bitnami.com/stack/wamp https://atom.io/ 설치 방법은 다른 블로그들에도 잘 정리되어 있기 때문에 따로 하지는 않았습니다..! (전 이미 설치되어 있어서 스샷 찍기도 힘들어서..) 짧은 지식으로 말씀드리자면, 비트나미 w..
유료였던 코로나SDK가 무료로 풀렸습니다! 현재 아래 사이트에서 다운로드가 가능하구요, 들어가면 스샷처럼 FREE라고 적힌 코로나sdk를 다운받을 수 있습니다 https://coronalabs.com/pricing/ 코로나 SDK는 Lua라는 스크립트 언어로 굉장히 쉽고 빠르게 모바일 애플리케이션을 만들 수 있는 프로그램입니다 대표적으로는 미국 14세 소년의 공을 굴리는 간단한 게임(버블볼)이 히트를 쳤다, 라는 기사가 옛날에 났었는데, 이 코로나 sdk로 만든 작품이라고 하네요 한 번의 코딩으로 간단히 빌드만 하면 안드로이드용/아이폰용을 따로 개발하지 않고도 다양한 디바이스 지원이 가능하다고 합니다 루아 언어란, 빠른 스크립트 언어이며 때문에 주로 게임에 사용됩니다저도 문법을 자세히는 모르지만 코로나를..