전체 글
-
[Linux] scp 명령어서버 2016. 10. 6. 17:16
다른 서버로 복사 (보내기)# scp 파일 계정@서버주소:목적경로 scp test.txt testuser@135.79.246.80:/home/testuser/ → test.txt를 135.79.246.80 서버의 /home/testuser/ 폴더에 업로드다른 서버에서 복사 (가져오기)# 기본 포트 사용 scp 계정@서버주소:원본경로 목적파일명 # 다른 포트 사용 scp -P 포트 계정@서버주소:원본경로 목적파일명 # 폴더 복사 scp -r 계정@서버주소:원본경로 목적상위폴더 scp -r testuser@135.79.246.81:/var/www/html/ /var/www/
-
[Python] dict 타입끼리 더하기언어/파이썬 & 장고 2016. 10. 5. 18:03
a = {'a':1,'b':2,'c':3} b= {'d':4,'e':5,'c':4444} # 1. 덧셈 z=a+b print(z) # dict끼리는 +를 지원하지 않아 에러 # 2. z = {**a, **b} # python 3.5부터 지원 이하버젼 x # 3. z = a.copy() z.update(b) # dict끼리 덧셈이 가능하고 동일한 키가 존재하면 키들 간에 가장 큰 값으로 대체됨 # 3.1 응용편 def merge(*dict_args): print(dict_args) result = {} for dictionary in dict_args: result.update(dictionary) return result a = {'a':1,'b':2,'c':3} b= {'d':4,'e':5,'c':44..
-
[Atom] Atom 필수 or 선택 Plug-inIDE & 에디터 2016. 10. 5. 17:18
Atom Plug-inUtilactivate-power-mode : 파워코딩 모드. 팡팡팡 이펙트 linter : IDE 같이 에러가 발생한 부분을 알려줌. 아래의 pylint, golint 같은 것들을 사용하기 위해서는 선행설치가 되어야함minimap : 우측 미니맵 생성minimap-cursorline : 우측 미니맵에 현재 커서위치를 알려줌minimap-find-and-replace : 검색 또는 다중 블록을 설정하면 선택된 텍스트의 위치가 미니맵에 반영minimap-hide : 패널을 분리했을때 활성화된 패널만 미니맵이 나온다. 이것도 강추pane-info : 패널을 분리할때 패널 상단에 파일명을 출력한다. 생각보다 유용하다.pane-jump : ctrl + 1 , 2 , 3 등으로 분리된 패널을..
-
[Django] ORM JOIN언어/파이썬 & 장고 2016. 10. 5. 13:50
django에서 orm을 사용해 join을 하는 방법은 여러가지가 존재합니다. orm에서 제공하는 함수를 사용하기 위해선 먼저 테이블간 foreign key가 잡혀있어야만 가능합니다. 지금부터 foreign key를 논리적으로 잡는 방법 및 foreign key가 잡혀있을 때의 join과 foreign key가 존재하지 않을 때 join하는 방법을 소개하겠습니다.1. test case (sql)CREATE TABLE public."group" ( id integer NOT NULL DEFAULT nextval('group_id_seq'::regclass), name text NOT NULL, age smallint, num integer, CONSTRAINT group_pkey PRIMARY KEY (i..
-
[Django] ORM fields 이름 변경 방법 (select field as other ...)언어/파이썬 & 장고 2016. 9. 30. 16:38
0. sql문select original as change from mymodel1. extra() 사용MyModel.objects.extra(select={'change': 'original'}).values('change')2. annotate() 사용from django.db.models import F MyModel.objects.annotate(change=F('original')).values('change') annotate()에서 F를 사용하는 방법은 Django 1.8이상만 사용가능
-
[PostgreSQL]postgres_fdwDB/PostgreSQL 2016. 9. 27. 17:23
dblink와 마찬가지로 물리적으로 떨어져 있는 원격 테이블에 접속하기 위해 사용합니다. 차이점은 아래에서 설명하겠습니다.CREATE EXTENSIONCREATE EXTENSION [ IF NOT EXISTS ] extension_name [ WITH ] [ SCHEMA schema_name ] [ VERSION version ] [ FROM old_version ]간단하게 설치하는 방법은 CREATE EXTENSION postgres_fdw 입니다. 또한 스키마를 지정하지 않으면 default로 public에 설치가 됩니다.여기서 유의해야 할 것은 dblink extension이 데이터베이스 내에 설치가 되면 (사용자가 정한 디비 스키마라던지, default인 public 스키마 라던지..) 지우지 않..
-
[Django django-filter] FilterSet Guide언어/파이썬 & 장고 2016. 9. 26. 15:50
Meta OptionsAutomatic filter generation with modelFilterSet은 주어진 model의 필드를 위해 자동적으로 필터를 생성 할 수있습니다. 장고의 ModelForm과 마찬가지로, 필터는 기본 모델 필드의 유형에 따라 생성됩니다. 이 옵션은 장고의 ModelForm클래스에서 같은 requirement가 있는 fields나 exclude 옵션 중 하나와 결합되어야 합니다. 자세한 사항은 here 있습니다.class UserFilter(django_filters.FilterSet): class Meta: model = User fields = ['username', 'last_login']Declaring filterable fieldsfields 옵션은 자동으로 필터..
-
[Django django-filter] Django Rest Framework언어/파이썬 & 장고 2016. 9. 26. 15:50
Django Rest Framework의 통합은 DRF-특정 FilterSet 및 filter backend를 통해 제공됩니다. 이것들은 rest_framework 서브 패키지에서 찾을 수 있습니다.Quickstart새로운 FilterSet을 사용하면 import path를 변경해야합니다. django_filters를 import하는 것 대신 rest_framework 서브 패키지를 import 해야합니다.from django_filters import rest_framework as filters class ProductFilter(filters.FilterSet): ... 사용자의 view 클래스는 또한 filter_backends에 DjangoFilterBackend추가하는 것을 필요로 합니다.fr..
-
[Django django-filter] Using django-filter언어/파이썬 & 장고 2016. 9. 26. 15:50
Django-filter는 view에 작성된 일반적인 코드를 계속 쓰는 부담을 덜어주는 일반적이고 재사용가능한 어플리케이션입니다. 구체적으로는 사용자들은 모델의 필드를 기반으로 queryset을 필터링 할 수 있습니다. Using django-filterdjango-filter는 사용자가 제공하는 파라미터에 기초하여 queryset을 필터링 할 수있는 간단한 방법을 제공합니다. 지금부터 예시로 Product라는 모델을 가지고 있다고 가정하고 우리의 사용자의 list 페이지에 제품을 필터링하여 보여질 수 있도록 하는 예시를 들겠습니다.The modelfrom django.db import models class Product(models.Model): name = models.CharField(max_le..
-
[docker] jenkins 설치서버 2016. 9. 24. 16:31
jenkins 이미지 설치$ docker pull jenkins컨테이너 실행$ docker run -d -p 8080:8080 -p 50000:50000 jenkins # 해당 workspace는 /var/jenkins_home에 저장됨 $ docker run -d -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins # 호스트서버에 볼륨을 잡을 경우 # 컨테이너 (jenkins user - uid 1000) 내의 jenkins user가 /user/home에 접근할 수 있는지 확인해야 하고 docker run 이 가지는 -u some_other_user 파라미터를 사용합니다.