코딩(12)
-
AWS Lambda란 무엇인가?
AWS Lambda는 특별히 서버를 운영하거나 관리하지 않아도 클라우드 상에서 소스코드를 실행시켜주는 클라우드 서비스를 말합니다.근래의 서비들은 대다수 Client - Server 구조로 되어 있습니다. 네트워크를 통해 다양한 데이터를 주고 받고, 사용자에게 맞춤형 데이터를 제공하기 위해서는 Server라는 존재가 필수적입니다. Server는 Client의 요청에 따라 데이터베이스에서 사용자가 원하는 데이터를 가공하여 보내줍니다. 이렇게 Sever는 서비스에서 중추역할을 하기 때문에 만약 Server가 제대로 동작하지 않으면 서비스 운영에 큰 타격을 입게 됩니다. Server를 직접 운영하는데에는 꽤나 번거로운 작업이 필요합니다. 개발 언어에 따른 환경 설정이 번거롭고 여러 패키지들이 얽히고 섥힘에 따라..
2019.04.08 -
Django에서 Many To Many 필드 다루기
Many To Many 관계란? Django에서 Many To Many 관계는 하나의 모델이 다른 여러 모델과 관계를 가질 수 있고, 이것의 역도 가능한 관계입니다. 위의 그림에서 사람과 고양이가 존재합니다. Mike는 Tigger와 Max의 주인입니다만, Max는 또 다른 주인으로 Eva를 섬기고 있습니다. 이렇게 모델들이 서로 다 대 다의 관계를 가지는 것이 바로 Many To Many 관계라고 할 수 있습니다. One To Many 관계라면 Max는 Mike나 Eva 둘 중 한명을 주인으로 정해야 할 것입니다. 위의 관계를 Django는 아래처럼 데이터베이스에 관계가 저장되는 테이블을 생성합니다. 자, 이제 코드를 살펴봅시다. Many To Many구조가 아래와 같이 잡혀있다고 가정합니다. # mo..
2019.03.27 -
Ajax 사용하기
Ajax는 뭐죠? 웹 어플리케이션을 만들 때 번거로운 부분을 생각해보면 아마 서버와의 데이터 통신 부분이 손에 꼽힐겁니다. 보통 HTTP 통신으로 클라이언트(웹)가 서버에 요청을 보내면 서버에서는 클라이언트가 요청한 페이지 혹은 데이터를 보내주게 되죠. 그러면 HTTP 응답으로 온 HTML 문서 혹은 JSON 데이터등을 클라이언트에서 처리해서 사용자에게 보여주게 되는거죠. 자, 이때 매우 비효율적인 부분이 발생하는데요. 게시판을 예로 한번 들어보죠. 게시판에는 많은 글들이 있습니다. 흔히 페이징이라고 하는 기법으로 구현이 되어있죠. 위의 페이지 번호들을 생각하시면 이해가 빠르실 겁니다. 저 번호를 누를 때마다 알맞은 데이터들을 가져오는 방식이죠. 자 이때, 게시글을 제외한 나머지 영역들은 변하지 않습니다..
2018.03.07 -
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와 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