프로그래밍 358

Java 사다리 게임 소스

Java로 만들어본 간단한 사다리 게임 소스다.사다리는 랜덤하게 만들어지며, 대각선 길은 없다. (넘복잡 ㅎㅎ) STRAIGHT ( ㅣ )TURN_RIGHT( ㅏ )TURN_LEFT( ㅓ ) 라고 생각하면 된다. 주석으로 달아놓은 visit() 함수를 이용해서 해당 칸의 이미지를 업데이트해서 사다리를 타는 것처럼 효과를 내 볼 수도 있겠다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071public class main { public static final int STRAIGHT = 1; public static f..

안드로이드 ListView 스크롤 끝날때 물결 없애는 방법

오랜만의 포스팅이다.그 동안 너무 바쁘고... 쉴땐 쉬고 싶어서 이런 저런 핑계로~ 블로그 일을 미뤄뒀는데, 간만에 간단하면서 유용한 팁하나 적어보려한다. 안드로이드 ListView는 더이상 스크롤을 할 수 없을 때 기본 값으로 물결이 생기도록 되어있다.유용하기는 하지만, 직접 설정한 padding 값이 보이기도하고, 앱의 디자인 테마랑 맞지 않을 때 상당히 걸리적거린다.이럴때는 android:overScrollMode="never" 한줄로 해결할 수 있다.나는 스크롤바까지 전부 없애버렸다 ㅎㅎ.. 12345678cs

[C++] Exception / Error Handling 연습하기

C++에서 Error Handling은 에러가 날 부분에서 throw, throw 코드를 동작시키는 부분에서 try/catch를 통해 이루어진다.Java와 똑같다. 그리고 당연하게도 Exception 클래스를 직접 만들 수도 있다.아래는 학교 PPT에 나온 예제를 바탕으로 코드를 완성시켜 본 것이다.내 git hub 에서도 찾아볼 수 있다. https://github.com/lx5475/cpp_practice/blob/master/error_handling.cpp 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727..

[C++] 이진 탐색 트리 구현하기 (Binary Search Tree)

이진 탐색 트리 (Binary Search Tree)이진 탐색트리는 데이터의 크기에 따라 노드의 위치가 다르다.정의는 아래와 같다. (1) 모든 원소는 서로 다른 유일한 키를 갖는다.(2) 왼쪽 서브 트리에 있는 원소의 키는 그 루트의 키보다 작다.(3) 오른쪽 서브 트리에 있는 원소의 키는 그 루트의 키보다 크다.(4) 왼쪽 서브트리와 오른쪽 서브트리도 이진 탐색 트리이다. 이진 탐색 트리 C++ 구현이제 이진 탐색트리를 구현할텐데,- 탐색(search)- 삽입(insert)두 가지 기능을 수행하도록 할 것이다.구현해볼 이진 탐색트리는 아래와 같이 생겼다. 주황색 표시된 부분은 새로 추가해볼 노드다.1234567891011121314151617181920212223242526272829303132333..

[C++] 이진 트리 구현하고 순회하기 (Binary Tree in C++)

이진트리(Binary Tree)란?모든 노드의 차수를 2 이하루 정하여 전체 트리의 차수가 2 이하가 되도록 만든 것이 이진트리다.이진트리는 왼쪽 자식노드와 오른쪽 자식노드 2개만을 가질 수 있으며, 공백노드도 이진트리의 노드로 취급한다.이진트리의 서브트리 모두 이진트리이다. 이진트리의 종류이진트리는 포화 이진 트리(Full binary tree), 완전 이진트리(Complete binary tree), 편향 이진트리(Skewed binary tree) 3가지가 있다.포화 이진트리는 모든 레벨에 노드가 꽉찬 이진트리를 말하며, 공백 노드가 없다.즉 트리의 높이가 h 일때 2^(h+1) - 1 개의 최대 노드수를 갖는 이진트리이다. 완전 이진트리는 노드 개수가 n 개일 때, 노드의 위치가 포화 이진트리의 ..

[안드로이드] Retrofit으로 API 통신하기

이번 강의에서는 안드로이드를 위한 HTTP 클라이언트 레트로핏을 이용해서 API 통신을 구현 해 보도록 하겠다.먼저, JSON 값을 돌려주는 서버가 준비 되어 있어야한다.여기서는 간단히...깃헙 contributors를 통해 살펴보겠다.주소는 https://api.github.com/repos/square/retrofit/contributors 이다. 목표https://api.github.com/repos/square/retrofit/contributors 에 들어가면 아래와 같이 JSON 형식으로 된 정보들이 나온다. 오늘 해볼 것은 저 정보들 중에서 특히 'login' 정보를 TextView에 받아 오는 것이다. build.graddle (app) 12345dependencies { ... compi..

[Retrofit] 안드로이드로 HTTP 통신하는 Retrofit 소개

Retrofit 안드로이드 앱을 개발하면서 백엔드는 거의 필수 요소가 되었다.백엔드를 개발할 줄 몰랐을땐 Firebase 처럼 손쉽게 백엔드 기능을 구현해주는 BasS를 사용했지만,요새는 Node.js를 이용해서 손 쉽게 백엔드 서버를 만들 수 있게 되었다. 2012년 부터 쭉- 나는 안드로이드와 REST API 서버 간에 HTTP 통신을 할때는 주로 AsyncTask를 사용 했었다.귀찮기는 했지만 그게 유일한 길인 줄 알았는데, 이번에 새로운 라이브러리를 하나 알게 되었다.바로, Retrofit이다. Async보다 성능이 뛰어나대서 다음 프로젝트에 바로 적용시킬 예정이다. 공식 홈페이지에 사용법이 친절하게 적혀있다. >> http://square.github.io/retrofit/친절하게 영어로...^..

Node.js 앱에서 NPM으로 Bootstrap/JQuery 다운 받아 사용하기

static redirect를 사용해서 npm install로 다운받은 패키지들을 사용할 수 있다. First install the packages: npm install jquery npm install bootstrap Then on the server.js: var express = require('express'); var app = express(); // prepare server app.use('/api', api); // redirect API calls app.use('/', express.static(__dirname + '/www')); // redirect root app.use('/js', express.static(__dirname + '/node_modules/bootstrap..