전체 글
-
크롬 확장프로그램 (Chrome Extension)웹 2016. 5. 21. 14:05
모바일의 앱스토어 처럼 구글에도 웹스토어가 존재합니다. 이에 어떻게 크롬 확장프로그램을 개발할지와 이를 이용해 ajax를 호출하는 확장프로그램 개발을 설명하겠습니다.개발확장프로그램을 개발하기 위해서는 html과 자바스크립트를 사용할 수 있어야 합니다. https://developer.chrome.com/extensions 해당 url에서 익힐 수 있지만 여기서는 테스트 api에 ajax 호출을 하는 프로그램을 개발할 수 있도록 진행하겠습니다.manifest.json매니페스트에 정의된 것으로 크롬이 해당 확장프로그램을 인식하고 어떻게 동작할 지 확인합니다. 자세하게 확장 프로그램의 이름, 설명, 어떠한 파일이 먼저 실행될 지, 사용하는데에 필요한 퍼미션은 무엇인지 등을 기술합니다.아래의 예는 사무실 문을 ..
-
BOWER저장소/BOWER 2016. 5. 21. 12:42
bower는 트위터에서 만든 프론트앤드용 패키지 매니저 입니다. bower는 node.js로 만들어진 도구이므로 npm을 이용해서 설치하고 커맨드라인 명령어로 사용합니다. npm과 pypi와 마찬가지로 지금부터 private하게 구축하는 방법을 설명하겠습니다.private-bower 설치아래 명령어로 bower 이미지를 다운받습니다. $ docker pull tandrup/private-bower빠른 시작$ docker run -e ADDRESS=ip주소 -i -t -d -v /home/bower:/data -p 5678:5678 -p 6789:6789 -p 7891:7891 --name bower tandrup/private-bower 모든 데이터는 /home/bower에 저장되며 컨테이너 내의 /da..
-
PYPI 업로드시, 옵션 선택하기저장소/PYPI 2016. 5. 21. 12:41
PYPI에 업로드할 때, 파일 또는 패키지를 어떻게 올릴지 정할 수 있습니다. 아래에서는 PYPI에 어떠한 옵션으로 올릴 수 있는지 확인하겠습니다.SETUP의 Attributesetup의 attribute는 다음과 같이 정의합니다.from distutils.core import setup setup( name='untitled8', version='0.3', package_dir={'':'untitled8'}, author='lee', author_email='lee@lee.com', description='test_django_project method', ) namepypi 서버에 올릴 모듈 또는 패키지의 이름입니다.versionpypi 서버에 올릴 버전입니다. 만약 이름과 버전이 이미 pypi 서버..
-
PYPI저장소/PYPI 2016. 5. 21. 12:40
PYPI는Python Packagy Index의 줄임말입니다. PYPI는 간단하게 파이썬 관련 패키지들이 모여있는 저장소라고 할 수 있습니다. 파이썬 개발자들은 자신이 개발한 파이썬 모듈들을 PYPI에 업로드할 수 있습니다. 또한 PYPI에 저장된 이 모듈들은 누구에게나 공개되어 있습니다. 여기서는 PYPI를 private하게 구축하는 방법을 설명하겠습니다. PYPI 설치아래명령어로 pypi 이미지를 다운받습니다.$ docker pull codekoala/pypiUsagesudo mkdir -p /srv/pypi # 패키지를 담는 디렉토리를 로컬에 생성합니다. sudo touch /srv/pypi/.htaccess # 패키지를 추가하기 위한 credential 파일 docker run -t -i -d \..
-
NPM저장소/NPM 2016. 5. 21. 12:29
NPM은 Node Packaged Modules의 줄임말입니다. 단어 그대로 Node.js에서 사용하는 모듈을 패키지로 모아 놓은 곳입니다. 사용자가 사용하고자 하는 패키지들을 다운받을 수 있습니다. 여기서는 공통으로 사용하는 npm이 아닌 private하게 npm을 구축하는 것을 설명하겠습니다.NPM 설치docker에 NPM 이미지를 아래의 명령어를 실행시켜 다운 받습니다.$ docker pull rnbwd/sinopia빠른 시작아래의 명령어로 이미지를 실행시킵니다.$ docker run --name sinopia -d -p 4873:4873 rnbwd/sinopiasinopia는 기본적으로 4873 포트를 사용하고 docker를 실행 시, http://vm주소:4873으로 실행화면을 확인 할 수 있습..
-
[nGrinder]Instrumentation서버 2016. 5. 21. 12:10
Instrumentation이란?그라인더는 스크립트가 record되어야 하는 스크립트 코드의 부분에 표시하는 것을 허용합니다. 이를 instrumentation이라 합니다. 코드는 Test 함수를 위해 instrumented됩니다. instrumented code가 호출될 때, 테스트의 통계는 업데이트 됩니다. 표준 통계는 에러의 수, call의 횟수, 호출된 시간을 기록합니다. 향상된 스크립트는 앞에서 기록한 통계를 추가할 수 있습니다. 사용자는 객체의 자바 바이트 코드를 수정하기 위해 Test 함수를 사용해 객체를 instrument할 수 있습니다.from net.grinder.script import Test from net.grinder.script.Grinder import grinder tes..
-
[nGrinder]스크립트(Groovy) 작성법서버 2016. 5. 21. 12:09
스크립트(Groovy)를 작성하는 법을 조사하기 전, 먼저 Groovy가 무엇인지를 설명한 다음 스크립트 작성법, 스크립트로 테스트 설정 페이지를 수정할 수 있는지, 없으면 nGrinder 소스 조사를 설명하겠습니다.Groovy란?Groovy는 자바에 파이썬, 루비, 스몰토크등의 특징을 더한 동적 객체 지향 프로그래밍 언어입니다. JVM에서 동작하고 자바의 강점 위에서 파이썬, 루비, 스몰토크 등의 프로그래밍 언어에 영향을 받은 특징 및 장점이 있습니다. 자바 기반이기 때문에 자바 프로그래머들이 많은 학습을 하지 않아도 프로그래밍을 할 수 있다는 점과 단순화된 문법을 지원하여 코드를 읽고 유지보수하기 편하다는 장점이 있습니다. 자바와의 비교그루비의 문법체계는 자바를 계승하고 발전시켰습니다. 자바에 없는 ..
-
[nGrinder] 사용법 및 테스트서버 2016. 5. 21. 12:08
앞서 nGrinder가 어떻게 동작하고, 자주 사용되는 용어를 확인했다면, 지금부터는 실제로 테스트를 하면서 테스트 확인 페이지에 나오는 용어 및 그래프들에 대한 설명을 하겠습니다.로컬환경 VirtualBoxVirtualBox CPUVirtualBox Memorycontainer nameGuest OSdocker CPUdocker MEMORYDockercoreos-controller2core2gbcontroller coreos stable(835.11.0) 2core2gb 1.8.3 coreos-agent 2core 4gbagent_1c1g1core1gbagent_1c2g1core2gbagent_1c4g1core4gbagent_2c2g2core2gbagent_2c4g2core4gb위와 같은 환경을 설정하..
-
[nGrinder]nGrinder란? & docker 설치 방법서버 2016. 5. 21. 12:05
nGrinder란?nGrinder는 네이버에서 성능 측정 목적으로 jython(JVM위에서 파이썬이 동작)으로 개발 된 오픈소스 프로젝트이며, 2011년에 공개 하였습니다. 바닥부터 개발을 한 것이 아니라 The Grinder라는 오픈소스 기반에서 개발 하였습니다. nGrinder는서버에 대한 부하를 테스트 하는 것이므로 서버의 성능 측정이라고도 할 수 있습니다. 성능 측정이란 것은 실제 서비스에 투입 되기 전, 실제와 같은 환경을 만들어 놓고 서버가 사용자를 얼마 만큼 수용할 수 있는지를 실험 할 때 사용합니다. 만약 이와 같은 테스트를 하지 않으면, 엔지니어가 동시 접속자를 1000명정도로 예상하고 이에 맞는 설정을 구성하는데 예상에 넘는 동시 접속자가 발생해 버리면 서버가 죽어버려 서비스를 할 수 ..
-
[Django] settings.py 파일 분리언어/파이썬 & 장고 2016. 5. 21. 11:55
base.py """ Django settings for polalis project. Generated by 'django-admin startproject' using Django 1.8.6. For more information on this file, see https://docs.djangoproject.com/en/1.8/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/1.8/ref/settings/ """ # Build paths inside the project like this: os.path.join(BASE_DIR, ...) import os BASE..