프로그래밍(55)
-
PHP용 AWS S3 Client 사용하기
AWS에서는 Simple Storage Service(이하 S3)라는 유용한 도구를 제공합니다. S3에는 이미지, 파일 뿐만 아니라 데이터베이스 백업, 소스코드 백업 데이터도 저장할 수 있습니다. 대용량 데이터를 저장하는데 유용한 서비스라고 할 수 있습니다. AWS Console로도 관리가 가능하지만 AWS에서는 다양한 언어로 S3의 파일(객체)들을 다룰 수 있는 도구를 제공합니다. 이번에는 AWS S3의 저장소 개념인 Bucket에 객체를 업로드, 가져오기, 삭제하는 기능과 Bucket의 객체 목록을 받아오는 Class를 직접 구현해 봅니다. 또한, S3에서 이미지 객체를 가져오는 경우 어떻게 브라우저 상에서 보여줄 수 있는지 그리고 어떤 점을 주의해야 하는 지도 함께 살펴봅니다. Composer 설치..
2018.01.12 -
PHP로 AWS S3에 파일 업로드 / 삭제
Composer 설치 Composer는 PHP에서 사용하는 의존성 관리 도구입니다. 프로젝트에서 필요한 라이브러리들을 선언해두면 이 Composer라는 녀석이 필요한 패키지들을 프로젝트 안에 모두 설치해주죠. AWS SDK를 사용하기 위해 일단 이 Composer라는 녀석부터 설치해보도록 하겠습니다. curl -sS https://getcomposer.org/installer | php curl을 사용해 Composer를 설치해줍니다. AWS SDK 설치 이제 프로젝트의 최상위 폴더에 composer.json이라는 파일을 만들어 줍니다. vi composer.json 이 파일에 AWS SDK를 설치하라는 선언을 해줄겁니다. { "require": { "aws/aws-sdk-php": "^3.34" } }..
2018.01.11 -
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