개발을 파헤치다(101)
-
PHP와 Javascript에서 JSON 데이터 처리하기
웹이든 어플이든 요즘 서비스에서 서버를 사용하지 않는 경우를 찾기 힘들죠. 서버가 있다는 것은 서버에게 요청과 응답을 받는다는 얘기가 됩니다. 즉, 어떤 형식으로든 정보가 왔다갔다 해야한다는 얘기죠. 공통된 데이터 형식 어쨋건 클라이언트와 서버가 데이터를 주고 받아야 하는 상황입니다. 이런 경우를 한번 생각해보죠. 안드로이드 어플에서 Java Spring으로 만든 서버와 데이터를 주고 받는다고 가정해 보죠. 안드로이드가 Java 기반의 플랫폼이기 때문에 데이터를 주고 받는데 크게 어려움이 없을 겁니다. 하지만 갑자기 새로운 서버와 데이터를 주고 받는다면 어떨까요? PHP기반의 웹서버와 데이터를 주고 받아야 한다면 이야기가 달라지죠. 안드로이드 쪽에서 데이터를 받아서 처리하는 부분을 새로 만들어야 할 수도..
2018.01.10 -
안드로이드 TCP 통신 구현
Server TCP 예제 void callStatusListen() { new Thread(new Runnable() { @Override public void run() { try { ServerSocket call_listen_server = new ServerSocket(PORT); Log.d(TAG, "call status listen... : " + call_listen_server.getInetAddress()); client = call_listen_server.accept(); //클라이언트 소켓이 연결될 때까지 기다린다 while(isCallAlive) { Log.d(TAG, "Client Socket Accepted!"); BufferedReader in = new BufferedRea..
2018.01.09 -
커널을 파헤치다
커널(Kernel)은 무엇인가? 커널은 운영체제의 핵심적인 부분을 의미합니다. 우리가 가장 많이 사용하는 윈도우 10같은 운영체제에는 무수히 많은 프로그램들이 설치되어 있습니다. 이를 응용 프로그램이라고 지칭합니다. 사실 컴퓨터는 몇 가지 전자기판이 합쳐진 기계에 불과합니다. 이 전자기판위에서 우리가 일상적으로 사용하는 응용 프로그램들이 실행되기 위해서는 생각보다 많은 작업이 이루어져야 합니다. 프로그램은 명령어의 집합이라고 생각할 수 있습니다. “이 상황에서는 이렇게, 저 상황에서는 저렇게 동작하라”라는 명령어를 모아놓은 것이 프로그램인 것입니다. 따라서, 컴퓨터의 핵심 기능은 이 명령어들을 실행하는데 있다고 해도 과언이 아닙니다. 그럼 명령어는 누가 실행하나요? 바로 CPU입니다. CPU는 산더미처럼..
2018.01.08 -
Javascript로 Class 만들기
Javascript는 프로토 타입 기반입니다. 따라서 클래스가 존재하지 않습니다. 아, 물론 최근 표준인 ES6에서는 class가 추가되었죠. 하지만 이전에 프로토 타입을 이용한 클래스 만들기를 먼저 알아보겠습니다. 프로토타입이 무엇인가? 그리고 왜 쓰는 것인가? 이는 매우 길어질 수 있는 내용이라 다음번에 다루도록 하겠습니다. 오늘은 클래스가 아닌, 프로토 타입 기반으로 클래스 느낌 나도록(?) 한번 만들어 보죠. ajax HTTP 요청 클래스 구현하기 /* Ajax를 사용한 HTTP POST 요청을 보내는 클래스 * * 성공시 콜백함수 인자값 -> function(data, textStatus, response) 서버로부터 받은 데이터, HTTP 요청결과 - 성공했으면 success, HTTP 응답이..
2018.01.06 -
PHP Class 기본 사용법
Class는 왜 만들어야하는가? 웹 개발을 하다 보면 공통적으로 사용하는 코드가 꽤나 많습니다. 예를 들면, 클라이언트에서 서버쪽으로 HTTP 요청 보내기서버쪽에서 로그인한 사용자의 세션 관리하기서버단 언어(예를 들면 PHP같은)로 데이터베이스에 접근하여 조회, 수정 및 삭제하기 로그인 페이지를 만들다가 회원 목록 페이지를 새로 만들었다고 해보죠. 그러면 세션 관리하는 코드 추가해줘야죠. 서버에서 데이터 받아오려면 HTTP 요청하는 코드도 추가해줘야죠. 데이터베이스에서 가져올 정보가 있으면 DB 연결부터 쿼리날리고 결과값 JSON으로 바꾸는 코드가 또 추가됩니다. 하..... 문제는 코드 수정이 있을 때에요. 만약 호스팅 서버를 이전해서 주소가 바뀐다면?? 페이지들마다 DB 관련된 부분 모두 수정해줘야 ..
2017.12.31