본문 바로가기

전체 글

AsyncTask 파라미터 정리 AsyncTask AsyncTask AsyncTask AsyncTask AsyncTask Params : doInBackground 파라미터 타입이 되며, execute 메소드 인자 값이 됩니다. Progress : doInBackground 작업 시 진행 단위의 타입으로 onProgressUpdate 파라미터 타입입니다. Result : doInBackground 리턴값으로 onPostExecute 파라미터 타입입니다. 출처 : http://arabiannight.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9CAndroid-AsyncTask-%EC%82%AC%EC%9A%A9%EB%B2%95 http://mommoo.tistory.com/.. 더보기
OAuth의 개념과 원리 DB의 종류를 바꾸어서 마이그레이션을 하는 과정에서 하나 발견한 JSON token을 발견했습니다. FaceBook에서 사용하는 Token인데, 여기서 OAuth를 사용을 하는데 정확히 원리와 개념에 대해서 몰랐습니다. 그래서 정리를 한번 해보려고 합니다. OAuth 란? "웹, 앱 서비스에서 제한적으로 권한을 요청해 사용 할 수 있는 키를 발급해주는 것입니다." 사용하는 이유는 엄청나게 많은 각 서비스별 ID와 Password를 다 기억하고 로그인시 입력을 해야하는 경우가 생깁니다. 그런데 이 OAuth API를 사용하는 사이트는 그렇지 않습니다. 제한된 설정으로 연결하여 인증하면 그만이죠. 다음은 그 예입니다. 예를 한번 들어보겠습니다. 그런데 당황스럽게도 이 예에서 본인의 소득수준에 따라서 이해도가.. 더보기
쿠키와 세션 개념 쿠키와 세션은 개발자 뿐만아니라 일반 사용자들도 인터넷을 사용하면서 꽤 많이 들어본 단어입니다. 저 또한 개발은 하지만 개념에 대해서 정리해서 글을 쓴 적이 없습니다. 그래서 정리를 한번 해보려 합니다. HTTP의 특징과 쿠키와 세션을 사용하는 이유 HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다. 서버와 클라이언트가 통신을 할 때 마다 서버는 클라이언트가 누구인지 인증을 계속해야 합니다. 그 이유는 HTTP 프로토콜이 connectionless, stateless한 특성이 있기 때문입니다. connectionless 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징 HTTP는 먼저 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 요청에 맞는 respon.. 더보기
네트워크 전송 GET, POST 비교 발을 하면서 서버에 요청을 하면서 굉장히 당연스럽게 POST, GET을 겸해서 사용해왔습니다. GET방식과 POST방식은 도대체 무슨 차이점이 있을까요? 일단은 왜 사용하는 지에 대해서 일단 정리를 하겠습니다. "GET, POST 방식의 request는 서버로 본인이 가지고 있는 data를 전달하기 위해서 사용합니다." Data를 전달한다라는 본질적인 기능적 측면에서는 똑같다고 볼 수 있습니다. 그런데 세부적으로 보안, 전달형식, 전달할 수 있는 data의 량 적인 측면에서 봤을 때 차이점이 발생합니다. 이제 GET과 POST 방식이 가지고 있는 특징을 살펴보겠습니다. *GET 방식 - 클라이언트로가 입력한 query의 이름과 값이 결합되어 스트링 형태로 서버에 전달됩니다. - TAG의 METHOD 속성.. 더보기
Could not find manifest-merger.jar Could not find manifest-merger.jar (com.android.tools.build:manifest-merger:26.1.0). 불러오는 중입니다... stackoverflow에 나온 방법은 allprojects { repositories { jcenter() maven { url 'https://maven.google.com/' } google() } } 에서 jcenter() 를 맨위에두지말고 순서를 바꿔라 였는데 해결 안됨. ----- 해결법은 project gradle에서 buildscript repositories에 jcenter() google() maven { url 'https://maven.fabric.io/public' } // Add this to your pr.. 더보기
mysqli query 데이터베이스 연결 및 해제 mysqli_connect() - 서버 및 데이터베이스에 연결한다 mysqli_connect(host, username, passwd, dbname, port, socket) mysqli_close() - 데이터베이스 연결을 해제한다 mysqli_close(link) mysqli_connect_errno() - 데이터베이스 연결시 에러가 발생하였을 경우 해당 에러코드 번호를 반환한다 mysqli_connect_error() - 데이터베이스 연결시 에러가 발생하였을 경우 해당 에러 메시지를 반환한다 mysqli_select_db() - 데이터베이스를 변경한다 mysqli_select_db(link, dbname) mysqli_errno() - 가장 최근에 호출한 함수의 에러 코드.. 더보기
MySQL 데이터베이스에서 mysqli(MySQL Improved) 사용법 PHP에서 MySQL 데이터베이스에 연결해서 작업하는데 사용되는 API 가 세 종류 있다. 1. mysql API : 가장 오래전 부터 사용되어져 오는 것으로 mysql_ 로 시작하는 함수들로 구성되어 있다. 현재는 deprecated 되어서 더이상 사용하지 않는 것이 좋다. 2. mysqli (mysql improved) API (PHP 5, PHP 7) : mysql 함수를 개선한 것으로 prepared statement 를 사용할 수 있다. 3. PDO (PHP Data Object) API (PHP 5 >= 5.1.0, PHP 7) : PDO 는 PHP 를 사용하여 서로 다른 종류의 데이터베이스에 접근하는 공통 API 를 제공하는 것을 목표로 만들어 졌다. 객체 기반의 API 이고, prepare.. 더보기
Retrofit 2 사용법 Retrofit 2.0 사용법 1. Retrofit - interface public interface RestService { //서버의 root URL public static final String BASE_URL = "http://api.github.com/user/"; //GET 방식 아래의 메소드는 다음의 URL를 호출한다 //http://api.github.com/user/{id} // users/{id} 중에 id 에는 파라메터 변수인 String id 의 값이 들어간다 @GET("users/{id}") Call getUser(@Path("id") String id); @GET("users/{id}/followers") CallgetFollowers(@Path("id") String id).. 더보기