분류 전체보기 51

AsyncTask를 사용해보자

AsyncTask란?안드로이드에서는 AsyncTask라는 클래스를 상속받아 사용할 수 있습니다.왜 AsyncTask를 사용해야 할까요? 안드로이드는 UI를 담당하는 메인 쓰레드가 존재하는데, 이 쓰레드는 우리가 함부로 접근이 불가능하게 막아뒀습니다.그런데 UI변경은 메인 쓰레드에서만 가능하고, 우리가 만든 쓰레드에서는 화면을 바꾸는 어떠한 일도 할 수 없습니다. 이러한 이유로 안드로이드는 Background 작업을 할 수 있도록 AsyncTask를 지원합니다.AsyncTask는 쓰레드와 핸들러를 통해 UI를 처리했던 것을 한번에 작업할 수 있도록 지원해줍니다. 즉, UI작업을 위해 만들어야 했던 Handler가 필요없어지는 겁니다.개발할 때의 부담을 덜어줍니다.또한 백그라운드 작업을 하면서 진행 상황을 ..

Android 2018.11.20

HttpURLConnection으로 웹서버 통신하기

1. 안드로이드의 서버 통신 안드로이드는 서버와 통신하기 위한 방법으로는 HTTP통신과 Soket통신이 있다. 오늘 다룰 내용은 HTTP통신으로 URL 접속을 통해 데이터를 읽어오는 방법이다. 우리는 주로 DB에 존재하는 데이터를 가져오기 위해 서버 통신을 한다. 하지만 안드로이드의 특성상 외부 DB에 직접 접근할 수 가 없도록 되어있어 중간 매체인 WEB을 활용해야한다. 이해를 위해 그림으로 쉽게 표현했다. [그림 1] 안드로이드와 WEB, 그리고 DB 통신 과정 안드로이드 통신은 보통 위와 같이 이뤄지며 본 포스팅에서는 'ANDROID-WEB'의 통신 방법에 대해 다룰 것이다. 우선 막연하게 WEB이라고만 하면 정확히 어떤 것을 말하는 것인지 헷갈릴 수 있다. 여기서 말하는 WEB은 HTML, JSP..

Android 2018.11.11

HTTP 통신 VS Socket 통신

단말기와 웹서버와 통신 방식은 다음과 같이 크게 두 가지로 구분할 수 있습니다. ① HTTP 통신 ② Socket 통신 HTTP와 Socket의 가장 큰 차이점은 접속(Connection)을 유지하는지의 여부입니다. 물론 파일 전송만을 전문으로 처리하는 FTP도 있지만 이것은 HTTP를 확장한 개념이므로 HTTP에 포함시키겠습니다. 1. HTTP 통신 HTTP 통신은 웹브라우저에 정보를 표시하는 것과 같이 클라이언트의 요청이 있을 때 서버가 해당 페이지에 대한 자료를 전송하고 곧바로 연결을 끊는 방식입니다. 현재 여러분이 제 블로그를 보고 있지만 맨 처음 이 페이지가 보여지는 순간만 서버와 연결되고 현재는 서버와 접속이 끊어진 상태입니다. 이 상태에서 F5 키를 눌러 새로고침을 하거나 다른 페이지로 이동..

Android 2018.11.11

프록시란?

프록시란? 프록시(Proxy)란 '대리'라는 의미로 네트워크 기술에서는 프로토콜에 있어서 대리 응답 등에서 친숙한 개념입니다.보안 분야에서는 주로 보안상의 이유로 직접 통신할 수 없는 두 점 사이에서 통신을 할 경우 그 상이 있어서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부릅니다. 프록시 서버의 특징 프록시 서버는 클라이언트 입장과 서버의 입장에서 볼 떄 서로 상반되는 역할을 하는 것처럼 인식됩니다. 다시 말해서, 클라이언트 호스트에서의 입장에서 본다면 프록시 서버는 마치 원격 서버처럼 동작하는 것이고, 원격 서버에서의 입장에서 본다면 마치 클라이언트처럼 동작한다는 것입니다. 프록시 서버는 단순히 보안상의 이유만으로 설치하는 것은 아닙니다...

Web 2018.10.28

[안드로이드]웨이팅 어플

[작품 설명] 1.앱 이름 기다림 2. 앱 설명 음식점의 웨이팅을 음식점 앞에서 줄을 서서기다리며 시간을 보내는 것이 아니라 어플을 통한 웨이팅 등록 및 현재 웨이팅 상태 및 현재 자리 상태를 확인 할 수 있는 앱입니다. 3.주요기능 (1) 회원 가입 - 프로필 사진을 추가(사진촬영,앨범에서 선택) - 사진 CROP 기능 (2) 지도 - 다음 map 활용 - GPS를 활용하여 현재 자신의 위치를 지도상에 표시 이동시 현재 위치 표시 마크도 같이 이동 함. (3) 단체채팅 - 파이어베이스를 이용한 단체 채팅 구현 - 실시간으로 여러 사용자들과 대화를 할수 있음. (4) 게임 - 간단한 게임으로 에니메이션을 통한 쥐잡기 게임 - 쓰레드를 통한 쥐와 캥거루 이미지를 생성 및 이동. - 터치시 터치 효과로 번개..

프로젝트 2018.10.25

프로젝트: A* 탐색시스템 개발

(1) 내용 설명: 15-puzzle 탐색 문제는 8-puzzle 탐색 문제와 동일하나 다만 3 X 3 타일 블록 대신에 4 X 4 타일 블록을 사용하는 것이다 ( 아래 그림 참조.) 15-Puzzle 문제에 대하여 경로를 찾는 프로그램을 개발한다. 프로그램은 맨 처음에 start 노드와 goal 노드를 입력받는다. 그 다음 탐색을 수행하여 그 두 노드(상태) 사이를 연결하는 경로를 출력하고 종료한다. (주의: 주어진 start 상태에 대하여 goal 상태를 아무렇게나 임의의 state 를 넣으면 경로가 없을 수도 있고 아니면 너무 거리가 먼 goal 일수도 있다. 따라서 반드시 종이로 타일 블록을 만들어서 실지로 7 ~ 23 번의 이동 만에 도달 가능한 state 를 알아 내서 그것을 goal 로 넣어..

Neural Network 기반 숫자인식 시스템 개발

[프로젝트:"Neural Network 기반 숫자인식 시스템 개발 ] o 개발 시스템 설명 우리가 디자인할 neural network 은 다음과 같은 구조를 가지도록 한다: - 입력으로 들어 오는 feature 는 N 개 ( N 은 상수기호로 정의됨) 이다. 결국 총 입력 시그날의 수는 N+1 이다. - 전체 층(layer)의 수는 3 개이다.각 층의 뉴론의 수는 기호상수 m0, m1, m2 로 선언함. - 츨력층의 뉴론의 수 = m2 우리의 시스템은 문자인식 시스템이다. 가능한 문자 집합은 { 0, 1, 2, …, 9} 로 한다. [1] Training data : - 인공지능 연구집단에서 많이 사용하는 MNIST data 를 이용한다. traindata.txt, testdata.txt 의 두 개의 파..

MIME-Type,Content-Type이란?

MIME이란?MIME이란? Multipurpose Internet Mail Extensions의 약자로 간략히 말씀을 드리면 파일 변환을 뜻한다.MIME는 이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기 위해 개발되었기 때문에 이름에 Internet Mail Extension 입니다 그렇지만 현재는 웹을 통해서 여러형태의 파일 전달하는데 쓰이고 있다. MIME 사용 이유 MIME을 사용하기전에는 UUEncode 방식을 이용하고 있었으며 UUEncode에는 치명적인 단점이 있었습니다 그러한 담점을 보강하여 새로운 인코딩 방식이 등장하게 되었으니 이것을 MIME이라고 합니다. 예전에는 텍스트파일을 주고받는데 ASCII로 공통된 표준에 따르기만하면 문제가 없었습니다 하지만 네..

Web 2018.10.24

[jQuery]노드 찾기

1. 노드 찾기 - 태그 이름으로 노드 찾기 : $("태그이름"), $("선택자") - 클래스 이름으로 노드 찾기 : $(".클래스이름") - ID로 노드 찾기 : $("선택자") - 속성으로 노드 찾기 : $("[속성이름=값]") - 찾은 요소 개수 구하기 : .size() , .length - 찾은 요소 n번째 접근하기 : .eq(index) , .each(function(index){}); - 찾은 요소에서 특정요소만을 걸러내기 : .filter("선택자") - 찾은 요소에서 특정 자식요소만 찾기 : .find("선택자") 2. 자식 노드 찾기 - 전체 자식 노드 찾기 -- 텍스트 노드 포함 전체 자식 노드 찾기 : $("선택자").contents() -- 텍스트 노드 제외한 전체 자식 노드 찾기 ..

Web/Javascript 2018.10.24