본문 바로가기

전체 글

(142)
아마존웹서비스(AWS) 기초 이해하기 aws AWS 알아보기 OS : Ubuntu 16.04 LTS 이번 포스팅에서는 아마존클라우드웹서비스(AWS)에 회원가입을 하고, 간단하게 로컬환경에 있는 폴더를 아마존 서버에 올리는 것까지 연습하는 것을 목표로 한다. AWS를 처음 보면 웹 홈페이지가 굉장히 딱딱해보이고, 절차도 생각보다 복잡하다. 이 포스팅을 위해서 계정을 두 번 갈아 엎었다. 세번째 시도해서야 내 생각대로 조금씩 동작하는 느낌을 받을 수 있었다. 사실 처음에는 인스턴스라는 말이 굉장히 딱딱해보이는데, AWS에 배정받는 새로운 컴퓨터 한대라는 느낌만 가져가도 충분히 성공한 포스팅이라고 생각한다. 아마존 웹서비스와 클라우드 클라우드의 핵심적인 아이디어는, 인터넷으로 또 다른 컴퓨터(크고, 복잡하고, 성능이 좋은)를 연결해 사용할 수 있..
[Django] get_or_create 함수 get_or_create get_or_create 장고(Django)를 이용해 웹개발을 하다보면 종종 get_or_create라는 메서드를 마주치곤 한다. 이번 포스팅은 이 글을 참고해 작성했다. get_or_create 메서드는 객체(object)를 조회할 때 유용하게 사용되는 메서드이다. 이 메서드는 (object, created) 라는 튜플 형식으로 반환을 한다. 첫번째 인자(object)는 우리가 꺼내려고 하는 모델의 인스턴스이고, 두번째 인자(created)는 boolean flag이다. flag란, TRUE 또는 FALSE를 갖는 온오프 스위치라고 생각하면 된다. 딸깍하고 스위치를 키면 TRUE, 스위치를 끄면 FALSE이다. 아무래도 두번쨰 인자가 TRUE 또는 FALSE를 갖고 있으니 중요..
[파이썬] 사각형의 나머지 한 좌표값 반환하기 rect 문제 직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 반환하는 solution 함수를 완성해 주세요. 단, 직사각형의 각 변은 x축, 혹은 y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다. 입출력 예 #1 주어진 점의 좌표가 [[1, 4], [3, 4], [3, 10]] 일때, [1, 10]에 점이 위치하면 직사각형이 됩니다. 입출력 예 #2 주어진 점의 좌표가 [[1, 1], [2, 2], [1, 2]] 일때, [2, 1]에 점이 위치하면 직사각형이 됩니다. 문제 출처 SK 주식회사 C&C “Code Genius 2017” 데모테스트 문제 (https://programmers.co.kr/tryouts/3/challenge..
[파이썬] 다음 큰 숫자(next big number) 다음큰숫자 문제 (http://tryhelloworld.co.kr/challenge_codes/173) 어떤 수 N(1≤N≤1,000,000) 이 주어졌을 때, N의 다음 큰 숫자는 다음과 같습니다. N의 다음 큰 숫자는 N을 2진수로 바꾸었을 때의 1의 개수와 같은 개수로 이루어진 수입니다. 1번째 조건을 만족하는 숫자들 중 N보다 큰 수 중에서 가장 작은 숫자를 찾아야 합니다. 예를 들어, 78을 2진수로 바꾸면 1001110 이며, 78의 다음 큰 숫자는 83으로 2진수는 1010011 입니다. N이 주어질 때, N의 다음 큰 숫자를 찾는 nextBigNumber 함수를 완성하세요. 나의 풀이 def nextBigNumber(n): ''' 정수형태의 파라미터 값(n)을 받는다. (1) make_nu..
[Django] OneToOne 모델 이해하기 Model OneToOneField와 ForeignKey의 차이 스택오브플로우 OneToOneField는 ForeignKey(model, unique=True)와 개념적으로 같다. 둘의 차이점은 역관계(reverse relationships)에 있다. One-to-one 모델의 역참조는 하나의 객체(single object) 를 반환하지만, ForeignKey의 역참조는 QuerySet 을 반환한다. 역관계(reverse relationships)란? 먼저, 역관계(reverse relationships)가 무엇인지 알아야 할 필요가 있다. from django.db import models class Group(models.Model): name = models.CharField(max_length=2..
[파이썬] pyenv, virtualenv, pip 이해하기 pyenv 개요 pyenv : 다양한 파이썬 버전을 설치하고 사용할 수 있도록 함. pyenv를 통해서 파이썬 버전에 대한 의존성을 해결할 수 있다. virtualenv : 로컬에 다양한 파이썬 환경을 구축할 수 있도록 도와준다. 일반적으로 pip install 명령어를 통해서 패키지를 설치한다. autoenv : autoenv 스크립트를 이용해서 (가상환경으로 설정한) 특정 프로젝트 폴더로 들어가면 .env파일을 찾아서 자동으로 개발 환경을 로딩해준다. pyenv 설치, 버전확인 pyenv version : 현재 사용하고 있는 파이썬 버전을 알려준다. pyenv versions : 로컬에 설치된 파이썬 리스트를 보여준다. pyenv install --list : 설치할 수 있는 파이썬 리스트를 보여준다..
[파이썬] 정규표현식(regular expression) 정규표현식 정규표현식(Regular Expressions) re 모듈 : 파이썬 정규 표현식을 지원한다. 파이썬에서는 정규 표현식을 지원하기 위해 re(regular expression) 모듈을 제공한다. 자바(JAVA)에서 패턴 객체(p)의 메서드는 조금 다르니, 자바 API 를 참고하도록 하자. import re 를 통해 모듈을 임포트한 뒤, p = re.compile('정규표현식')을 통해서 정규표현식을 컴파일하고, 컴파일된 패턴 객체(p)를 이용하여 이 객체가 가지고 있는 메서드를 통해 작업을 수행할 수 있다. 어떻게 사용하는가? 첫번째 방법 : 컴파일 후 매칭 import re # 정규표현식 모듈 p = re.compile('[a-z]+') # re 내장모듈 내(.) compile 메서드를 사용..
[파이썬] get/set 속성값과 프로퍼티(property) get, set 프로퍼티 0. 들어가기 전에 이번에 다룰 내용은 객체의 속성(attribute)을 다루는 주제로 포스팅할 것입니다. 오늘 배울 getter메서드와 setter 메서드는 객체의 변수(속성)를 읽고, 변경하는데 사용합니다. TIP : 객체(Object) = 속성(attribute) + 기능(Method) 1. get/set 속성값과 프로퍼티의 개념 자바와 같은 객체 지향 언어에서는 외부로부터 바로 접근할 수 없는 prviate 객체 속성을 지원합니다. 이러한 언어에서는 private 속성의 값을 읽고(get) 변경(set)하기 위해 getter 메서드와 setter 메서드를 사용합니다. 하지만, 파이썬에는 getter 메서드나 setter메서드가 없습니다. 파이썬에서 선언되는 모든 속성(변수..