개발을 파헤치다(101)
-
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 -
Django Admin 기본 설정하기
Django Admin이란?Django는 Python으로 개발된 풀 스택 웹 프레임워크입니다. 수 많은 웹 프레임워크가 존재하지만 그 중 Django를 사용하는 이유 중 하나는 바로 관리자 페이지 즉, Admin 사이트가 함께 제공이 된다는 것입니다. 어떤 서비스를 운영할 때 관리자 페이지는 반드시 필요합니다. 따라서 실제 서비스의 서버단에는 아래와 같은 항목들이 필요한 것입니다. 데이터베이스 설계 및 구성모바일 클라이언트와 통신을 위한 REST API서비스 운영을 위한 관리자 페이지서비스 규모에 따라 다르지만 위의 모든 일을 소수의 서버 개발자로 처리하기는 어려움이 따릅니다.특히, 규모가 크지 않은 서비스 초기의 스타트업에서는 말할 것도 없지요. Django는 위의 세가지를 좀 더 쉽게 할 수 있도록 ..
2019.03.25 -
Android 기본 4대 구성요소
Android 4대 Component액티비티서비스컨텐트 프로바이더브로드캐스트 리시버안드로이드를 구성하는 4대 핵심 구성요소가 바로 위의 네가지입니다.어떤 어플리케이션을 만드는지에 따라 위의 구성요소를 모두 사용할 수도 있고 그렇지 않을 수도 있습니다.각각의 구성요소가 어떤 역할을 하고 사용자에게 어떤 기능을 제공하는지 알아보도록 합니다.Activity액티비티는 사용자가 어플리케이션과 상호작용하는 단일 화면을 의미합니다. 모든 어플리케이션은 액티비티로 구성되어 있습니다. 어떤 어플리케이션이든 사용자에게 가치를 제공하기 위해서는 화면을 보여주고 상호작용을 해야하기 때문입니다. 기억해야 할 점은 액티비티는 레이아웃이 아니라는 점입니다. 레이아웃은 사용자가 액티비티를 통해 상호작용하기 위해 나타내는 형식이라고 ..
2019.03.18 -
AWS 기존 EC2 인스턴스에 스냅샷 복원하기
AWS EC2 인스턴스를 사용하다 보면 아래와 같은 상황이 발생할 수 있습니다. 복잡한 환경설정을 구성하다가 패키지가 꼬여버린 상황명령어를 잘못 입력하여 시스템의 일부가 망가진 상황현재 상황상 급하게 특정 시점의 서버 환경으로 되돌려야하는 상황이외에도 개발을 진행하다 보면 다양한 상황이 발생할 수 있습니다. 기존의 온프레미스(On-Premise) 환경에서는 위와 같은 상황에 대처하기가 매우 힘들었습니다.시간과 인력 및 비용이 굉장히 많이 드는 작업이었습니다. 하지만 클라우드 환경이 보급되면서 위와 같은 상황 대처를 할 수 있는 편리한 도구들을 제공하기 시작했습니다.AWS 플랫폼은 기존에 서버 개발자가 모두 수작업으로 해야 했던 많은 일들을 간편하게 제어할 수 있는 도구들을 제공하는 것입니다. 대표적인 클..
2019.02.22 -
오픈소스 데이터베이스 관리자 HeidiSQL을 AWS RDS에 연결하여 사용하기
오픈소스 데이터베이스 관리자로 널리 알려진 HeidiSQL을 AWS RDS에 연결하여 사용하는 방법을 알아보도록 합니다. 네트워크 유형 : MySQL/MariaDB를 사용하는 경우 MySQL (SSH tunnel)을 선택합니다. 이는 HeidiSQL에서 바로 RDS의 DB 인스턴스에 접속하는 것이 아니고 SSH tunnel인 EC2 인스턴스를 통해서 접속해야 하기 때문입니다.호스트명/IP : 여기에는 RDS의 End Point를 적어줍니다. 해당 정보는 AWS Consol의 RDS 파트에서 확인할 수 있습니다.사용자 : RDS의 Database에 등록된 사용자 이름을 적어줍니다. RDS 인스턴스를 생성할 때 따로 지정하지 않았다면 root가 기본 Master 사용자 이름이 됩니다.암호 : RDS 인스턴스..
2019.01.16