<313033C8A35FB0F8C7D05FC6AEB7BBB5E55F E74BFCD5F416E C65C0BB5FC0CCBFEBC7D15FB0B3B9DF5FC8AFB0E65FB1B8C3E05F F E687770>

Size: px
Start display at page:

Download "<313033C8A35FB0F8C7D05FC6AEB7BBB5E55F E74BFCD5F416E C65C0BB5FC0CCBFEBC7D15FB0B3B9DF5FC8AFB0E65FB1B8C3E05F F E687770>"

Transcription

1 Vagrant 와 Ansible 을이용한개발환경구축 Part 2 : Ansible 의이해 [ 제 103 호 ] Ⅰ. ansible 의소개와설치 Ⅱ. ansible의 yaml과 playbook 소개 Ⅲ. vagrant/ansible 테스트시나리오 Ⅳ. 결론

2 SW 공학트렌드 동향분석 Webzine Ⅰ. ansible 의소개와설치 1.1 ansible 선택이유 필자는 agent 기반과 rsh/ssh 기반으로 provision 방식을개발 / 활용해상황에따라맞는 형태가있음을알게되었다. agent 기반이확장성이나추후대규모 provision 를할경우 매우효과적인측면이있다. 또한 agent 는 provision 뿐아니라다양한방식으로활용되 는장점이있다. 대신 provision 서버와통신하는부분이고도화되기때문에빠르고간 단한 provision 을할수없게된다. 반면, rsh/ssh provision 방식은빠른 provision 이가능 하다. 그러나수천대의서버를통제하려면 rsh/ssh 기반은한계가있다. 필자는주관적 으로 puppet 과 chef 와 ansible 을비교해보았다. 이름 puppet chef 개발언어 ruby ruby 정의 DSL ( 독자 ) DSL (ruby 기반 ) agent 인스톨여부통신방법공유리파지토리 ansible python yaml 불필요 ssh/json 학습시간 시스템복잡성 Github 활동성 필요 http ssl 존재중중중 필요 STOMP/rest 존재상상중 존재하지않음 하하상 가장많이사용하고있는 puppet 이나 chef 대신 ansible 을선택하게된배경은다음의조 건이었다. salt 라는 provision 툴도선택가능성안에있지만, ansible 이좀더 community 활동성이좋아서이를선택했다. Mac/Linux 환경을지원해야한다.( 윈도우환경은지원하지않아도됨 ) agent 기반이아니고 ssh 기반이어야한다.( 추후상용환경에서사용할때 agent 기반이면방화 벽이슈, agent 데몬관리라는불편한점이존재한다.) 쉽게사용할수있어야한다. Learning curve 가높지않아야한다. DSL 대신최대한 Standard 를사용해야한다. 테스트환경 (vagrant) 에서사용할수있어야하고서버배포환경에서도사용할수있어야한다. 설정내용은읽기쉬워야한다. 유지보수가편해야하며인수인계가쉽고가능해야한다. 자동배포환경이쉬워야한다. 병렬실행이되어야한다. 앞으로개발가능성이높은오픈소스 (Github 활동성 ) 여야한다. 멱등성 (idempotence) 이보장되어야한다. * 멱등성 (idempotence) 이란? 연산을여러번적용하더라도결과가달라지지않는성질을멱등성 (idempotence) 이라한다. puppet, chef, ansible 등은모두이런특성을가지고있다. 쉽게말하면, rest api 의경우 get, head, put, delete 메소드는멱등성을가지고있다. 그러나 post 는상태를변화시키기때문에멱등성이없다고할수있다. 즉, 서버에변화를주기때문이다 August (No.103)

3 공학트렌드 * ansible 툴에서의멱등성이란? 여러번 ansible 툴을사용하더라도동일한결과값을나올수있도록제공되는형태여야한다. 즉, 매번다른결과가나오거나에러가나온다면비멱등성 (non-idempotent) 하다고할수있다. ansible 툴의거의대부분의모듈은멱등성을제공한다. 또한멱등성을제공하기위해서는조건절을제공하고있다. 예를들면, 처음 ansible 스크립트를실행후다시실행을했다. 상황에따라서는파일이 append 가될수있다. 그러나멱등성의원칙은언제나실행은해도결과가동일하게나온다. 또한파일 / 디렉토리를생성또는삭제하는 create:, remove: 같은 ansible 모듈을실행할때 when: 조건절을이용할수있다. 상태가변경되면 changed_when: 또는 failed_when: 을사용할수있다. 대부분의 ansible 모듈이멱등성 (idempotence) 을보장한다는의미는상태 (status) 를파악할수있다는의미를가진다. 1.2 ansible 소개 ansible 은회사이름 (ansible inc) 으로 ansible 이라는이름의오픈소스 1) 를기반으로 ansible tower 2) 를판매하고있다. 여기서다루는내용은오픈소스버전의 ansible 이다. ansible tower 는 ansible 을쉽게사용할수있도록 UI 버전과 LDAP 을지원하고있다. ansible provision 툴은현재 Atlassian, Twitter, VeriSign, EA, Evernote, Nasa, Gopro, rackspace, juniper, mapr 등해외유명업체에서사용하고있다. ansible 은 application 과시스템을쉽게배포할수있도록한간단한 IT 자동화플랫폼이다. application 을배포, 업데이트할때마다매번서버에접속해서들어가서스크립트를실행하지않아도자동화된형태의언어로 agent 없는리모트환경에서 ssh 를통해접근하여작업할수있다. 현재 ansible 은오픈소스 (GNU GENERAL PUBLIC 라이선스 ) 이며, e/ansible 에서소스를제공하고있다. 특히 793 명의 contributer 가있는것은아주활발히움직이고있음을의미한다. puppet 이나 chef 에서비해서많은개발자들이참여하고있다. 현재 python 으로개발된 Github 프로젝트중 top 10 프로젝트중하나이다. 현재 ( ) 버전은 이며조만간 이출시될예정이다. 필자는 기준으로설명하였다. ansible 은 ssh( 디폴트 ) 로리모트서버로연결후, ansible module ( 이하 ansible 모듈 ) 이라불리는작은프로그램을전송해실행한다. 실행완료후에는해당 ansible 모듈은삭제한다. ssh로연결만된다면어떤서그림 1_ansible 아키텍처버에도접근하여라이브러리모듈을저장할수있다. ansible 모듈은 JSON 으로리턴만하면사용할수있기때문에 ruby, bash, ptyhon 등어떤언어에서라도사용될수있다. 그리고플러그인 (plugin) 을제공하여확장이가능하고 callback, python api 추가기능을구현할수있는큰특징들이있다. 최근에이출처 : 1) 2) 오픈소스 ansible 은무료이고 ansible tower 는유료임 02

4 SW 공학트렌드 동향분석 Webzine 런플러그인이확장되면서좋은기능이추가되고있다. ansible 은 YAML 이라는아주간단한포맷의언어를사용하고있다. 쉬운영문을기반으로한 YAML 을이용하여자동화 job 을기술할수있도록한다. YAML 에대한설명은다음장에서진행한다. ansible 은 YAML 기반으로된 playbook 이라는설정파일을자동화된 job 으로정의한다. 설치부터복사까지모든작업은이 playbook 에서정의할수있다. 그리고 inventory 라는파일을이용하여서버설정을할수있다. 지금까지설명한내용은위 < 그림 1> 과같이한장의 ansibile 아키텍처로설명할수있다. 1.3 ansible 설치 ansible 은 agent 가필요없기때문에서버에만설치하면된다. 서버를 ansible 에서는 control machine 이라부른다. 설치는소스, python, yum, apt, freebsd, mac osx 에서쉽게할수있다. 3) 필자는 Mac OSX 사용자이므로 homebrew 를이용하여 ansible 을설치했다. $ brew update $ brew install ansible OS X Mavericks 버전에서는 pip 설치시에는컴파일러이슈가발생할수있다. 이를해 결하기위해서는아래와같이사용하여 ansible 을설치한다. $ sudo CFLAGS= Qunused arguments CPPFLAGS= Qunused arguments pip install ansible 만약, 그래도 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-comman d-line-argument-hard-error-in-future] 이라는에러문구가표시되며해결이되지않는 다면다음을실행하여 ansible 을설치한다. XCode 부터는 unknown argument 는컴파 일에러가나도록바뀐듯하다. $ ARCHFLAGS= Wno error=unused command line argument hard error in future pip install ansible 참고로 ansible 의 windows 내설치를공식적으로지원하지는않지만, cygwin 을활용해 windows 에서도 ansible 을사용할수있도록작성한개인블로그가있으니참고바란다. 4) 그리고 ansible 의리모트호스트 (remote host), managed node 는특별히할것은없다. ansible 서버에서해당 node 로 ssh 연결이쉽게될수있도록해당 node 에서 ssh 인증키를 생성하고인증키를 ansible 서버에서갖고있도록하면된다. 그리고 node 에서는 python 2.4 이상의버전이설치되어있으면된다. 만약 2.4 버전미만의 python 버전이설치되어 있으면, 2.4 이상으로업그레이드하거나 python-simplejson 을반드시설치해야한다. $ pip install simplejson simplejson 으로눈치챘겠지만 json 형태로데이터가전달된다. 에러또는디버그시에 json 형태로결과를리턴한다. 아래예제는생각없는 copy & paste 를통해서발생한에 러정보를 json 으로보여주고있는것을볼수있다. 3) 4) August (No.103)

5 공학트렌드 TASK: [mysql start mysql] *************************************************** failed: [ ] => {"failed": true, "item": ""} msg: service not found: tomcat Ⅱ. ansible 의 yaml 과 playbook 소개 2.1 YAML 소개 YAML 5) 은 xml, c, python, perl 에서정의된 양식에서개념을얻어만들어진 사람이쉽게읽을수있는 데이터직렬화 (serialization) 양식이다. 6) YAML 이라는이름은 YAML ain t Markup Language (YAML 은마크업언어가아님 ) 라는재귀적인이름에서유래되었으나, Yet Another Markup Language ( 또다른마크업언어 ) 가현재공식약자이다. YAML 은마크업보다는데이터중심, 즉 serialization format 이라는의미를강조하고있다. 야믈 이라발음하는데, 마치 camel 과음률을맞추려는의도를가지고있다. YAML 은 2001 년에 1.0 이퍼블리싱되었다. 7) 2009 년에는 1.2 가퍼블리싱되었는데, 8) 이때 json 간의관계가설명되어있다. 1.2 의변경은 yaml 과 json 의호환을위해서이다. json 과 yaml 은사람이읽기편한데이터교환포맷을목표로하고있다. json 은간결함과범용성에초점을둔다면, yaml 은 json 의장점을포함하고임의의고유데이터구조에대한직렬화를지원한다. yaml 은모든데이터를리스트, 해쉬, 스칼라데이터의조합으로적절히표현할수있다. 문법이상대적으로쉽고가독성이좋다. 주요특징은다음과같다. YAML 문자열은 UTF-8 또는 UTF-16 과같이출력가능한유니코드문자집합을이용한다. 공백문자를이용한들여쓰기로구조체를구분하나탭문자를이용하여들여쓰기에사용하지않는다. 리스트요소는여러줄에쓸때에는하이픈 (-) 으로시작하는한줄에하나의요소를표현하며, 한줄에모아쓸때에는대괄호 ([]) 를이용하며쉼표로각요소를구분한다. 해쉬는콜론기호를이용해서키 : 값의형태로한줄에하나를표현하거나, 한줄에모아쓸때에는중괄호 ({}) 를이용하며쉼표로각요소를구분한다. 간단한값 ( 스칼라값 ) 은보통아무표시를하지않으나따옴표 ("") 나작은따옴표 ( ) 를이용해값을표시한다. 따옴표안에서특수문자는 C언어스타일 ( 역슬래쉬키와함께쓰이는제어문자예. n) 로표시한다. 블록값은보존 ( ) 또는접기 (>) 의선택지시자로나눈다. 5) 공식사이트 6) 7) 8) 04

6 SW 공학트렌드 동향분석 Webzine 하나의스트림에있는여러개의문서는하이픈 3 개 (---) 로나누며, 마침표세개 (...) 로스트림 의끝을나타낸다. 반복되는노드는기본적으로 & 를통해나타내며, * 문자이후의내용을참조한다. 주석은 # 으로표시하며, 한줄이끝날때까지유효하다. 노드들은타입과느낌표로시작해 URL 주소를지시하는태그를통해라벨이붙는다. xml 예제를 yaml 으로변경한사례를통해서 yaml 을이해한다. xml 예제는다음과같다. <recipe> <title>macaroni and Cheese</title> <description>my favorite comfort food.</description> <author>brian Genisio</author> <timetoprepare>30 Minutes</timeToPrepare> <ingredients> <ingredient> <name>cheese</name> <quantity>3</quantity> <units>cups</units> </ingredient> <ingredient> <name>macaroni</name> <quantity>16</quantity> <units>oz</units> </ingredient> </ingredients> </recipe> 이를 yaml 로바꾸면다음과같다. 특별한설명을하지않아도 attribute 의 key 와 value 값을콜론 (:) 단위로정의하고 list 에대해서는하이픈 (-) 으로표시한다. Recipe: Title: Macaroni and Cheese Description: My favorite comfort food. Author: Brian Genisio TimeToPrepare: 30 Minutes Ingredients: Name: Cheese Quantity: 3 Units: cups Name: Macaroni '[ ]' Quantity: 16 Units: oz json 예제를 yaml 로변경한사례를통해서 yaml 을이해한다. json 예제는다음과같다. "apple", { "bar": ["baz", "kwa", 3.0, 5] } 이를 yaml 예제로바꾼다면아래와같다. apple bar: baz kwa ansible 뿐아니라대부분의소프트웨어에서는 yaml 설정파일의확장자는 yml 로정의 August (No.103)

7 공학트렌드 해서사용하고있다. 참고로독자에게는생소해보일수있는 yaml 은 travis CI, redmine, google app engine, cassandra, google-code-prettify 외많은오픈소스및솔루션에서설정 파일을정의하는데사용하고있다 jinja2 소개 yaml 은정적이다. ansible 에서는이를동적으로표현할수있는무엇인가가필요했다. jinja2( 라는 python 라이브러리를이용해서 yaml 문법의단점 을보완했다. 일종의템플릿언어 (java 의 freemarker, rythm) 와같다. ntp server 로표현했던것을변수선언부에 ntp_variable = 를선언하고설정에는 ntp {{ntp_variable}} 로표현이가능하다. jinja2 파일의확장자는.j2 로지정한다. 그래서 ansible 예제에서종종보이는템플릿 (template) 디렉토리밑의파일들이.j2 로되어있는 것을볼수있다. 예를들어 mysql 의 client.cnf.j2 파일을아래예제와같이저장할수 있다. 만약 utf8 변수가 true 이면 default-character-set 의값을 utf8 로바꾸라는정보를 추가할수있다. [client] {% if utf8 %} # apply utf8 default character set = utf8 {% endif %} 단조로울수있는환경배포설정은 python 모듈 jinja2 를통해서쉽게배포환경을구성할수있다 playbook 소개 playbook 은 ansible 의환경설정, 배포를가능케하는언어이다. 리모트서버에접속하여무언가를실행시키는정책을기술한다. 사람이쉽게읽을수있는 yaml 문법을채용하여정책을기술한다. playbook 은정책을기술하는데, ansible module 을활용한다. playbook 의기본레벨은환경설정이나배포에유용하게사용할수있다. 좀더고급단계에서는특정서버에무엇인가를전달하거나, 로드밸런서를모니터링하는복잡한환경에서사용할그림 2_ansible model 수있다. 각 playbook 은하나또는하나이상의 play 를둔다. play 의목적은여러호스트들에잘정의된 role 과 task 를매핑하는역할을한다. < 그림 2> 는 playbook 의구성요소를간단하게설명하고있다. role 은 file 들을 include 하거나하나로합칠수있는 (combile) 아이디어를기반으로만들어졌다. 재사용가능한추상화를가능케한다. 출처 : 06

8 SW 공학트렌드 동향분석 Webzine task 는 ansible 모듈의호출을의미한다. role 의개념을예제를통해설명한다. tasks/foo.yml 이라는 task 를정의한파일이다. # possibly saved as tasks/foo.yml name: placeholder foo command: /bin/foo name: placeholder bar command: /bin/bar playbook 안에 task 를정의한 tasks/foo.yml 을 include 하는것이가능하다. tasks: include: tasks/foo.yml 다음은 playbook 안에는아래와같은형태로개발하는데, include 를활용하여복잡하 지않도록할수있다. name: this is a play at the top level of a file hosts: all remote_user: root tasks: name: say hi tags: foo shell: echo "hi..." include: load_balancers.yml include: webservers.yml include: dbservers.yml role 를좀더편하게관리하기위해사용할수있다. host inventory 파일에정의한서 버그룹별로각각나누어 provision 할수있도록할수있다. 예를들어 inventory 파일에 서 dbservers 와 webservers 로나눈경우라면 role 의개념을잘이용하여설치정보를디렉 토리로나눌수있다. common, dbservers, webservers 이렇게디렉토리를나누어서 DB 를 설치할때는 common 디렉토리의 yml 파일과 dbservers 의 yml 을읽어설치하게하고 web 서버를설치할때는 common 디렉토리의 yml 파일과 webservers 디렉토리의 yml 을설치 하게할수있다. 변수선언은 vars 문안에서정의한다. http_port 는 80 으로초기화한다. hosts: webservers vars: http_port: 80 미리정의된 base_path 변수의값의 app 디렉토리스트링값을 app_path 에저장한다. hosts: app_servers vars: app_path: "{{ base_path }}/app" 그것외에변수의디폴트값을넣는다거나, for 문을동작시킬수있다. {{ some_variable default(5) }} {% for host in groups['app_servers'] %} {{ hostvars[host]['ansible_eth0']['ipv4']['address'] }} {% endfor %} August (No.103)

9 공학트렌드 command 바깥에서변수를받을수있다. $ ansible playbook release.yml extra vars "host= user=vagrant" playbook 파일 hosts: '{{ hosts }}' remote_user: '{{ user }}' 그리고조건문을제공한다. when, false_when 등다양한조건문을지원한다. ansible 노드가 Debian 이면운영체제를바로셧다운하도록지정한다. tasks: name: "shutdown Debian flavored systems" command: /sbin/shutdown t now when: ansible_os_family == "Debian" 마지막으로루프 (loop) 를제공한다. wheel 그룹으로 testuser1, testuser2 계정을추가하 는명령어를루프를통해서진행할수있다. name: add several users user: name={{ item }} state=present groups=wheel with_items: testuser1 testuser2 여러파라미터를두어 group 별로지정을할수있다. name: add several users user: name={{ item.name }} state=present groups={{ item.groups }} with_items: { name: 'testuser1', groups: 'wheel' } { name: 'testuser2', groups: 'root' } 2.4 inventory 소개 inventory 파일은리모트서버에대한 meta 데이터를기술하는파일이다. ansible 에서는 inventory 파일에는 yaml 을적용하지않았다. 기본파일은 /etc/ansible/hosts 을읽게하거나, 따로 inventory 파일을만들고옵션을주어동작하게할수있다. 다음은 hosts 파일예제이 다. [, ] 안이그룹이름이고, 호스트명 (host) 은해당그룹에속한다. webservers 와 dbservers 로나누어서작업을할수있도록그룹핑되어있다. [webservers] foo.example.com bar.example.com [dbservers] one.example.com two.example.com three.example.com 만약고정 IP 를가지고있고 hosts 파일안에들어가있지않는서버가있다면아래와 같이설정파일을만들수있다 ip 를가진서버에 22 번 ssh 포트로 vagrant 계정으로접근할수있도록한다. 이는테스트환경을만들때매우유용하다 ansible_ssh_user=vagrant ansible_ssh_port=22 08

10 SW 공학트렌드 동향분석 Webzine 2.5. 명령어소개 ansible-playbook 과 ansible 명령어가있다. ansible-playbook 명령어는 playbook yaml 파일을 실행한다. 아래예제는 /etc/ansible/hosts inventory 파일을사용하지않고, 따로정의된 hosts inventory 파일을기반으로 playbook 으로정의한 webservers.yml 을실행시키라는명령어이다. $ ansible playbook i hosts webservers.yml 리모트호스트에접근하여특정명령어를실행할수있다. ansible 에서는 ad-hoc task 실 행이라한다. ansible-playbook 이아닌 ansible 명령어를이용해야한다. 아래예제는따로 정의된 production inventory 파일에저장된모든호스트에대해서재부팅을명령한다. $ ansible boston i production m command a '/sbin/reboot' 만약에러가발생하면 verbose 옵션을주어자세한내용을얻을수있다. $ ansible playbook i hosts playbook.yml vvvv PLAY [all] ******************************************************************** GATHERING FACTS *************************************************************** < > ESTABLISH CONNECTION FOR USER: vagrant < > REMOTE_MODULE setup < > EXEC ['ssh', ' C', ' tt', ' vvv', ' o', 'ControlMaster=auto', ' o', 'ControlPersist=60s', ' o', 'ControlPath=/Users/knight/.ansible/cp/ansible ssh %h %p %r', ' o', 'Port=22', ' o', 'KbdInteractiveAuthentication=no', ' o', 'PreferredAuthentications=gssapi with mic,gssapi keyex,hostbased,publickey', ' o', 'PasswordAuthentication=no', ' o', 'User=vagrant', ' o', 'ConnectTimeout=10', ' ', "/bin/sh c 'mkdir p $HOME/.ansible/tmp/ansible tmp && chmod a+rx $HOME/.ansible/tmp/ansible tmp && echo $HOME/.ansible/tmp/ansible tmp '"] fatal: [ ] => SSH encountered an unknown error. The output was:... Ⅲ. vagrant/ansible 테스트시나리오 3.1. 가상서버준비 virtualbox/vagrant 와 ansible 을간단하게연동하는예제를진행한다. 리눅스버전중 하나인 ubuntu 의 버전이며 64 비트버전인 precise64 를기반으로예제를준비했다. 가상서버 ( ) 가실행중인상태에서 Vagrant 파일, hosts 파일, playbook.yml 을 추가하였다. 이해도를높이기위해서 vagrant 작업은두번진행한다. 먼저 Vagrant 파 일은아래와같이생성한다. $ mkdir p idp testbox $ cd idp testbox $ cat > Vagrantfile # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do config config.vm.box = "precise64" config.vm.box_url = " August (No.103)

11 공학트렌드 config.vm.hostname = "web" config.vm.network "private_network", ip: " " config.vm.network :forwarded_port, guest: 9966, host: 8888 config.vm.provision "ansible" do ansible ansible.playbook = "playbook.yml" end end hosts 파일은다음과같이설정한다 ansible_ssh_user=vagrant ansible_ssh_port=22 playbook.yml 파일은다음과같다. /user/local 디렉토리리스트업하고, ansible 로그 결과를로그로출력한다. $ cat playbook.yml hosts: all user: vagrant tasks: name : test action: command ls al /usr/local register: vagrant debug: var=vagrant.stdout_lines vagrant up 명령을실행하면. provision 까지진행하면성공하는결과화면이보인다. < 그림 3> 과같이 virtualbox 리스트화면을확인할수있다. $ vagrant up 그림 3_vagrant up 실행후 virtualbox 화면 이제는 web 이라는 virtualbox 의 gui 이름을주도록한다. Vagrant 파일을아래와같이 수정한다. config.vm.provider 의이름을 web 으로변경하도록한다. $ cat > Vagrantfile # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do config config.vm.box = "precise64" 10

12 SW 공학트렌드 동향분석 Webzine end config.vm.box_url = " config.vm.hostname = "web" config.vm.network "private_network", ip: " " config.vm.network :forwarded_port, guest: 9966, host: 3333 config.vm.provider :virtualbox do vb vb.name = "web" end config.vm.provision "ansible" do ansible ansible.playbook = "playbook.yml" end vagrant reload 명령을내려서다시가상서버를실행한다. < 그림 4> 와같이 virtualbox 에 web 으로이름을변경했다. vagrant up 하면서 provision 했기때문에 provision 이진행하 지는않는다. $ vagrant reload 그림 4_vagrant 설정의 provider 이름을변경하고, vagrant reload 실행한 virtualbox 화면 가장먼저 ssh 인증서를복사해서로컬장비에서가상서버로접근할수있도록한다. $ ssh copy id vagrant@ 그리고, playbook 을실행하였다. 다음의 provision 결과를얻을수있다. 3.2 가상서버에소프트웨어 /WAS/DB 설치 예제 ) 로공개한소스를가지고테스트를진행한다.( 자세한소스는 ing-mvc-jpa-hibernate-and-mysql-project/ 을참조 ) 이예제는 tomcat 위에서동작하는 was 는 JPA/Hibernate 를이용하여 mysql DB 를연결하고간단한 web UI 를보여주는웹어플리 August (No.103)

13 공학트렌드 케이션이다. setup.yml 파일을만들어아래예제와같이설치할수있다. 모든 host invent ory 에정의된 host 파일에 vagrant user 로접근후, sudo 권한으로 Git 패키지외 3 종류의 소프트웨어를설치하고 mysql 5.5 서버를설치한후 mysql 데몬을시작하도록한다. hosts: all user: vagrant sudo: True tasks: name: common install apt: pkg={{ item }} state=latest update_cache=yes tags: packages with_items: maven ant zip git name: MySQL install apt: pkg=mysql server 5.5 state=present update_cache=yes tags: mysql name: MySQL start service: name=mysql state=started tags: mysql 설치소프트웨어가많아질수록라인수는점점커 지고길어질수있기때문에적절히디렉토리를나누 고설정파일을분할할필요가있다. ansible 에서정리 한 best practice 9) 와 role 모델 10) 정보를기반으로구성 하였다. ansible 예제로나온 role 단위별로정의한형 태 11) 로디렉토리구조와파일형태를최대한활용했 다. 이렇게사용하면분할된 role 로나뉘다보니복잡 성은사라지고유지보수관리가편해지는장점이있 다. < 그림 5> 와같은디렉토리와 playbook 파일 (role) 을 정의했다. 설치기본파일은 playbooks 디렉토리밑에 setup. yml 로한다. 아래는 playbooks/setup.yml 파일이다. v agrant user 로 sudo 권한으로 common, java, compile, mysql, tomcat role 순서대로설치하도록한다. hosts: all user: vagrant sudo: True roles: common java 그림 5_ 필자가구성한 playbooks 예제디렉토리구조 9) 10) 11) 12

14 SW 공학트렌드 동향분석 Webzine compile mysql tomcat common role 은가상서버에서사용할공통유틸리티를설치하는내용을정의한다. common 디렉토의 main.yml 파일을찾는다. common/vars/main.yml 파일이다. 유틸리티 zip, git, maven, ant 를정의한다. packages: zip git maven ant common/tasks/main.yml 파일에서는 packages.yml 파일을 include 하고 common/vars/mai n.yml 에서 packages 값을전달한다. include: packages.yml tags=packages common/tasks/packages.yml 파일은 apt-get 으로 zip, git, maven, ant 를설치하라고한다. name: install packages apt: pkg={{ item }} state=latest update_cache=yes with_items: packages 다음은 oracle 의 jdk 7 을설치하도록하는 java/tasks/main.yml 파일이다. oracle jdk 를 바로다운받기쉽지않다. apt-get 으로다운받을수있도록준비하고다운받도록한다. ( 가장좋은방법은미리 oracle jdk 를다운받은후가상서버로복사하는것일수있다.) name: ensuring add apt repository is installed apt: pkg=python software properties state=latest name: adding webupd8 ppa for java7 installer apt_repository: repo=ppa:webupd8team/java name: updating apt cache apt: update_cache=yes name: installing java7 shell: echo debconf shared/accepted oracle license v1 1 select true debconf set selections && echo debconf shared/accepted oracle license v1 1 seen true debconf set selections && apt get y install oracle java7 installer 지금까지공통유틸리티와 oracle java7 설치를완료했다. 이제는소스를 clone 하고 컴파일을한다. compile/vars/main.yml 파일이다. jpaminimal 예제의 git url 정보와 clone 되고난후저장할가상서버위치를변수로지정한다. git_clone_url: git_location: /app/git compile/tasks/main.yml 파일로서, 가상서버의 clone 된파일을모두지우고 clone 을진 행한후, maven 빌드를진행한후디렉토리 permission 을 vagrant.vagrant 로수정한다. name : delete git cloned directory shell: rm rf {{ git_location }} August (No.103)

15 공학트렌드 name : git clone git: repo={{ git_clone_url }} dest={{ git_location }} update=no name : mvn compile command: chdir={{ git_location}} mvn package name: change permission file: path=/app/git owner=vagrant group=vagrant state=directory recurse=yes 다음은 mysql 설치를진행한다. mysql/vars/main.yml 파일이다. utf8 로설정했고 mysqld 설정으로 bind_adress 를지정한다. utf8: true mysqld: bind_address: mysql/tasks/main.yml 파일이다. /usr/bin/mysqld 파일이있으면 mysql 을설치하지않도 록했다. 그리고 templates/mysqld.conf.j2 (jinja2 파일 ) 을가성서버에 mysqld.conf 파일로 복사하도록하였다. 이렇게하여변수나이벤트시설정파일을동적으로변경시킬수 있도록하였다. ( 예, utf8 변수선언 ) was 에서사용할논리 DB 의 table 을매번삭제하고 재생성하도록한후 mysqld 데몬을재실행하도록하였다. stat: path=/usr/bin/mysqld register: mysqld_exist name: mysql 5.5 installation apt: pkg=mysql server 5.5 state=present update_cache=yes when: mysqld_exist.stat.exists == false name: copy conf.d/mysqld.cnf action: template src=mysqld.cnf.j2 dest=/etc/mysql/conf.d/mysqld.cnf notify: restart mysql shell: /usr/bin/mysql u root password= e "DROP TABLE IF EXISTS hello ; CREATE DATABASE IF NOT EXISTS hello; USE hello; CREATE TABLE person (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50));" ignore_errors: True when: mysqld_exist.stat.exists == true name: start mysql service: name=mysql state=restarted enabled=yes sudo: True mysql/template/mysql.conf.j2 파일이다. jinja2 의스크립트가사용되었다. utf8 변수가 정의되어있다면언어설정에 utf8 을설정값을저장하도록한다. [mysqld] {% if utf8 %} character set server = utf8 collation server = utf8_unicode_ci {% endif %} mysql/handlers/handlers.yml 파일은 tasks.yml 에서정의한 copy conf.d/mysqld.cnf 이름을 가진 task 가완료되면 handler 로 notify 할수있다. mysql 데몬을재시작하도록한다. 14

16 SW 공학트렌드 동향분석 Webzine name: restart mysql action: service name=mysql state=restarted enabled=yes 마지막은 tomcat 설치부분이다. tomcat/vars/main.yml 에는가상서버에 tomcat 이저장 할위치를지정한다. tomcat_dir: /app/tomcat tomcat/tasks/main.yml 파일은톰캣설치에대한정보를언급하고있다. 웹에서다운받 아서 tomcat_dir 에저장하도록한후, compile 된 war 파일을 webapps 디렉토리에복사한다. 그리고 tomcat 실행파일 (tomcat-initscript.sh) 과 tomcat 설정파일 (server.xml) 을가상서버 에잘복사하도록한다. 그리고 service 데몬으로 tomcat 을실행한다. 마지막으로는톰캣 이제대로실행되어 8080 포트가 alive 한지 wait 한다. 만약정상이면 play 를종료한다. name: check if tomcat path exists stat: path=/app/src name: if tomcat dir exists stat: path=/app/tomcat name: download Tomcat get_url: url= 7/v7.0.54/bin/apache tomcat tar.gz dest=/app/src/apache tomcat tar.gz name: extract archive tomcat command: chdir=/app /bin/tar xvf /app/src/apache tomcat tar.gz C /app/ creates=/app/apache tomcat name: symlink install directory file: src=/app/apache tomcat path=/app/tomcat state=link name: change ownership of Tomcat installation file: path=/app/tomcat owner=vagrant group=vagrant state=directory recurse=yes name: configure Tomcat server template: src=server.xml dest={{ tomcat_dir }}/conf/ notify: restart tomcat name: copy war to webapps command: cp {{ git_location }}/target/hello 1.0.war {{ tomcat_dir }}/webapps name: install Tomcat init script copy: src=tomcat initscript.sh dest=/etc/init.d/tomcat mode=0755 name: start Tomcat service: name=tomcat state=restarted enabled=yes register: result debug: var=result name: wait for tomcat to start wait_for: port=8080 tomcat/handlers/handlers.yml 은다음과같다. tomcat task 에서정의한설정파일복사 task 가완료되면아래이벤트가 notify 되어재시작하도록한다 August (No.103)

17 공학트렌드 name: restart tomcat service: name=tomcat state=restarted tomcat/templates/server.xml 은사용자정의된형태로저장한다. 데모에서는특별히 바꾼것은없다. 그리고 service 데몬으로쓰기위해서 tomcat/files/tomcat-initscript.sh 파일은다음과같다. 이파일은 파일을그대로 활용했다. tomcat 구동스크립트는 init.d 기준으로하지않으나, tomcat 을 service 명령어 를통해서사용할수있는좋은예제라서참고했다. 스크립트는 Miglen Evlogiev 의소스 를그대로활용했다. #!/bin/bash # # chkconfig: # description: Starts/Stops Apache Tomcat # # Tomcat 7 start/stop/status script # Forked from: Miglen Evlogiev <bash@miglen.com> # # Release updates: # Updated method for gathering pid of the current proccess # Added usage of CATALINA_BASE # Added coloring and additional status # Added check for existence of the tomcat user # #CATALINA_HOME is the location of the bin files of Tomcat export CATALINA_HOME=/app/tomcat #CATALINA_BASE is the location of the configuration files of this instance of Tomcat export CATALINA_BASE=/app/tomcat #TOMCAT_USER is the default user of tomcat export TOMCAT_USER=vagrant #TOMCAT_USAGE is the message if this script is called without any options TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m \e[00;31mstop\e[00m \e[00;32mstatus\e[00m \e[00;31mrestart\ e[00m}" export JAVA_OPTS=" Dname=tomcat" #SHUTDOWN_WAIT is wait time in seconds for java proccess to stop SHUTDOWN_WAIT=20 tomcat_pid() { echo `ps fe grep $CATALINA_BASE grep v grep tr s " " cut d" " f2` } start() { pid=$(tomcat_pid) if [ n "$pid" ] then echo e "\e[00;31mtomcat is already running (pid: $pid)\e[00m" else # Start tomcat echo e "\e[00;32mstarting tomcat\e[00m" #ulimit n #umask 007 #/bin/su p s /bin/sh tomcat if [ `user_exists $TOMCAT_USER` = "1" ] then su $TOMCAT_USER c $CATALINA_HOME/bin/startup.sh else sh $CATALINA_HOME/bin/startup.sh fi status fi return 0 16

18 SW 공학트렌드 동향분석 Webzine } status(){ pid=$(tomcat_pid) if [ n "$pid" ]; then echo e "\e[00;32mtomcat is running with pid: $pid\e[00m" else echo e "\e[00;31mtomcat is not running\e[00m" fi } stop() { pid=$(tomcat_pid) if [ n "$pid" ] then echo e "\e[00;31mstoping Tomcat\e[00m" #/bin/su p s /bin/sh tomcat sh $CATALINA_HOME/bin/shutdown.sh let kwait=$shutdown_wait count=0; until [ `ps p $pid grep c $pid` = '0' ] [ $count gt $kwait ] do echo n e "\n\e[00;31mwaiting for processes to exit\e[00m"; sleep 1 let count=$count+1; done if [ $count gt $kwait ]; then echo n e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m" kill 9 $pid fi else echo e "\e[00;31mtomcat is not running\e[00m" fi return 0 } user_exists(){ if id u $1 >/dev/null 2>&1; then echo "1" else echo "0" fi } case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) status esac exit 0 ;; *) ;; echo e $TOMCAT_USAGE August (No.103)

19 공학트렌드 playbook 결과는로그를확인하면된다. 특별히그림 6_jpaminimal 예제의웹 UI fail 된부분이없다. 이제가상서버의 was 서버에접근해서 host inventory 파일에서정한대로이용한다. 을웹으로접속하면 < 그림 6> 과같이정상적으로작동하는지확인이가능하다. paminimal 예제는 com/knight1128/vagrant-ansible-testbox 를참조한다. 3.3 실제개발환경 3.2 의 jpaminimal 예제의경우는워낙간단해서가상환경이필요하지않을수있다그러나저자의경우는화이트박스테스트케이스가. 없는 Legacy 환경에서는반드시필요했다. 일반유틸리티에 java, mysql, tomcat, nodejs 소프트웨어를설치하고 java was 서버한대, java 프로세스 6대, node js 프로그림 7_jmeter 개발환경세스 6대, mysql 1 대설치도 4.2 에서언급한방식으로쉽게개발환경을구성할수있다. 이개발환경을그대로개발자끼리공유해서환경구성시간을최대한줄일수있었다. 또한 vagrant/ansible 가상서버테스트환경을바탕으로 API 테스트를진행할수있다. jmeter 나 soapui 를활용할수있다. < 그림 7> 처럼 jmeter 툴을이용하여테스트환경을구축할수있다. 만약 UI 가있는경우라면, acceptance 테스트또는 funtional 테스트가가능하다. HtmlUnit, Selenium 과같은툴로 UI 를테스트하며명확한테스트를진행할수있을것이다. 그리고 QA 나연동개발이필요한개발자에게는가상서버테스트환경기반의 UI admin 을따로둘수있다. 가상서버로 api 호출과응답을체크하는 admin 서버를만들수있다. 좀더고급스럽게개발한다면 facebook 의개발자센터와같은형태도가능하다. 18

20 SW 공학트렌드 동향분석 Webzine Ⅳ. 결론 지금까지 vagrant/ansible 을활용한개발자환경을구성해보았다. 가상머신을통제하는 vagrant 와환경구성툴인 ansible 을이용한다면개발자간, 또는개발자-QA, 개발자- 관리자간원활한소통을이어줄수있을것이다. ansible 은 vagrant 뿐아니라 docker 와도연동가능하기때문에다른개발환경을구축할수있다. 그리고 ansible 의고급기능은 production 레벨에서서버배포환경및서버모니터링연동도쓰일수있는훌륭한상용배포툴로사용이가능하다. 최근에트렌디하게사용하고있는 Continuous Deployment 를구현할수있다. 그리고 ansible 을 push 방식으로쓰기도하지만, pull 방식으로쓸수있다. 즉, 상용서버에서 git repository 로 cronjob 으로소스 checkout 을받아서버설정을현행화할수있다. ansible 은계속발전되고있기때문에틈틈이익혀두면, 업무에많은도움이될것이라생각한다. 참고자료 August (No.103)

오픈소스배포툴 (propvision tool) 이며환경설정툴 (configuration management tool) 이고 remote 서버에접근후명령실행툴 (ad hoc task execution) 은 puppet, chef, ansible, salt 가유명하다. 여

오픈소스배포툴 (propvision tool) 이며환경설정툴 (configuration management tool) 이고 remote 서버에접근후명령실행툴 (ad hoc task execution) 은 puppet, chef, ansible, salt 가유명하다. 여 를 이용한 발 환 Ansible과 Vagrant 개 경구 김 (http://knight76.tistory.com) 용환 축 #2 이 글은 양이 많은 관계로 다음 주소의 글에 게재된 내용으로 축소되었다. 오타가 많고 정리가 안되었으나, 배경지식을 많이 할애한 관계로 공개한다. ( http://knight76.tistory.com/entry/%ec%86%8c%ed%94%84%ed%8a%b8%ec%9b%a8%ec

More information

< E74BFCD20416E C65C0BB20C0CCBFEBC7D120B0B3B9DF20C8AFB0E620B1B8C3E C6EDC1FD29322E687770>

< E74BFCD20416E C65C0BB20C0CCBFEBC7D120B0B3B9DF20C8AFB0E620B1B8C3E C6EDC1FD29322E687770> Vagrant 와 Ansible 을이용한개발환경구축 Part 1 : Vagrant 의이해 2014.8.12.[ 제 102 호 ] Ⅰ. 가상머신이용배경 Ⅱ. Vagrant 의소개와설치 SW 공학트렌드 동향분석 Webzine Ⅰ. 가상머신이용배경 일반적인서버개발환경은 < 그림 1> 처럼 DB 는 IDC 내의서버를활용하고, 웹서버는로컬환경을이용하는단순한웹서버개발환경을사용하고있었다.

More information

opennaru

opennaru 실전! 시스템관리자를위한 Ansible IT Evolution Increasing scale and complexity means we need admin automation Opscode gets more venture dough for its Chef From - http://goo.gl/dlcjs WHAT IS ANSIBLE AUTOMATION?

More information

opennaru

opennaru Ansible 소개 (IT Automation & Configuration Management) IT Evolution Increasing scale and complexity means we need admin automation Opscode gets more venture dough for its Chef From - http://goo.gl/dlcjs

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder Embian efolder 설치가이드 efolder 시스템구성 efolder 설치순서 Installation commands 1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Deep Learning 작업환경조성 & 사용법 ISL 안재원 Ubuntu 설치 작업환경조성 접속방법 사용예시 2 - ISO file Download www.ubuntu.com Ubuntu 설치 3 - Make Booting USB Ubuntu 설치 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

More information

github_introduction.key

github_introduction.key Github/Git Starter Guide for Introductory Level Curtis Kim @ KAKAO Why Github/Git? - :, - - Q1 :? - Q2 :? - Q3 : ( )? - Q4 :? - Github/Git. Old Paradigm : - - a.java.. Git. - - - - - - - - - (commit &

More information

PowerPoint Presentation

PowerPoint Presentation Hyperledger Fabric 개발환경구축및예제 Intelligent Networking Lab Outline 2/64 개발환경구축 1. Docker installation 2. Golang installation 3. Node.Js installation(lts) 4. Git besh installation 예제 1. Building My First Network

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Install the PDI on CentOS 2013.04 G L O B E P O I N T 1 Ⅰ linux 구성 II Pentaho Install 2013, Globepoint Inc. All Rights Reserved. 2 I. Linux 구성 2013, Globepoint Inc. All Rights Reserved. 3 IP 설정 1. 설정파일

More information

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5] The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * kihwang.lee@ktug.or.kr

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다. 1.1. 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 만별도로필요한경우도있어툴체인설치및설정에대해알아봅니다. 1.1.1. 툴체인설치 다음링크에서다운받을수있습니다.

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

/chroot/lib/ /chroot/etc/

/chroot/lib/ /chroot/etc/ 구축 환경 VirtualBox - Fedora 15 (kernel : 2.6.40.4-5.fc15.i686.PAE) 작동 원리 chroot유저 ssh 접속 -> 접속유저의 홈디렉토리 밑.ssh의 rc 파일 실행 -> daemonstart실행 -> daemon 작동 -> 접속 유저만의 Jail 디렉토리 생성 -> 접속 유저의.bashrc 의 chroot 명령어

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770> 보자. 이제 v4.6.2-1 로업데이트됐다. 그림 F-15의하단처럼 msfupdate를입력해 root @bt:~# msfudpate 그림 F-16 과같이정상적으로업데이트가진행되는것을볼수있다. 이후에는 msfupdate를입력하면최신업데이트모듈과공격코드를쉽게유지할수있다. 그림 F-16 msfupdate의진행확인 G. SET 업데이트문제해결 백트랙을기본설치로운영을할때에는

More information

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java(  혹은   에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을 안드로이드설치및첫번째예제 안드로이드설치 안드로이드개발킷은안드로이드개발자사이트 (http://developer.android.com/) 에서다운로드받을수있으며현재 1.5 버전으로윈도우즈, 맥 OS X( 인텔 ), 리눅스플랫폼패키지가링크되어져있다. 안드로이드개발킷을설치하기위해서는다음과같은시스템환경이갖추어져있어야한다. 플랫폼 Windows Mac Linux 지원환경

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

슬라이드 1

슬라이드 1 Gradle 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 소개 특징 Gradle (http://www.gradle.org) 소프트웨어빌드자동화도구 라이선스 Apache License v2.0 Gradle 을통해소프트웨어패키지나프로젝트의빌드, 테스팅, 퍼블리슁, 배포등을자동화할수있다. Ant 의유연성과기능을

More information

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조 운영체제실습 소프트웨어관리 2016. 6 표월성 passwd74@naver.com cherub.sungkyul.ac.kr 목차 Ⅶ. 소프트웨어관리 1. 소스코드컴파일을이용한소프트웨어설치 2. RPM패키지를이용한소프트웨어설치 3. YUM패키지를이용한소프트웨어설치 4. APT패키지를이용한소프트웨어설치 5. Telnet서버설치 6. ssh서버 (openssh) 설치

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

chapter1,2.doc

chapter1,2.doc JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

OnTuneV3_Agent_Install

OnTuneV3_Agent_Install OnTune Agent 설치하기 - OnTune Manager Version 3.1.6-2010-06-21 TeemStone 순서 1. Installer 를이용한 agent 설치하기 2. Windows 서버에 agent 설치하기 3. 파일에대한설명 4. 시스템재부팅시자동실행되도록설정하기 5. 직접설치하기 6. 직접실행하기 7.. Agent 종료하기 8.. Agent

More information

슬라이드 1

슬라이드 1 NeoDeveloper 설치가이드 차례 1. 환경 3 2. 설치 3 2.1 웹서버설치 3 Tomcat 7 3 JDK 1.6 3 2.2 NeoDeveloper 설치 3 Neo Developer 서버구성 3 Demo용 User Application 구성 4 Neo Developer 서버 Data File 4 Client 개발 Tool 설치 4 3. 설정 5 3.1

More information

를 이용한 발 환 Ansible과 Vagrant 개 경구 김 ( 용환 축 #1 이 글은 양이 많은 관계로 다음 주소의 글에 게재된 내용으로 축소되었다. 오타가 많고 정리가 안되었으나, 배경지식을 많이 할애한 관계로 공개

를 이용한 발 환 Ansible과 Vagrant 개 경구 김 (  용환 축 #1 이 글은 양이 많은 관계로 다음 주소의 글에 게재된 내용으로 축소되었다. 오타가 많고 정리가 안되었으나, 배경지식을 많이 할애한 관계로 공개 를 이용한 발 환 Ansible과 Vagrant 개 경구 김 (http://knight76.tistory.com) 용환 축 #1 이 글은 양이 많은 관계로 다음 주소의 글에 게재된 내용으로 축소되었다. 오타가 많고 정리가 안되었으나, 배경지식을 많이 할애한 관계로 공개한다. ( http://knight76.tistory.com/entry/%ec%86%8c%ed%94%84%ed%8a%b8%ec%9b%a8%ec

More information

MySQL-Ch10

MySQL-Ch10 10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1 Tizen 실습예제 : Remote Key Framework 시스템소프트웨어특론 (2014 년 2 학기 ) Sungkyunkwan University Contents 2 Motivation and Concept Requirements Design Implementation Virtual Input Device Driver 제작 Tizen Service 개발절차

More information

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인 스마일서브 CLOUD_Virtual 워드프레스 설치 (WORDPRESS INSTALL) 스마일서브 가상화사업본부 Update. 2012. 09. 04. 본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게

More information

OZ-LMS TM OZ-LMS 2008 OZ-LMS 2006 OZ-LMS Lite Best IT Serviece Provider OZNET KOREA Management Philosophy & Vision Introduction OZNETKOREA IT Mission Core Values KH IT ERP Web Solution IT SW 2000 4 3 508-2

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

Microsoft Word - CPL-TR OM2M.doc

Microsoft Word - CPL-TR OM2M.doc OM2M 오픈소스설치가이드 2014 년 10 월 경북대학교통신프로토콜연구실 강형우 (hwkang0621@gmail.com) 요약 최근사물인터넷 (Internet of Things IoT) 이주요이슈가되고있다. 기존인간중심의통신패러다임에서사물이통신의주체로참여하는 IoT에대한시대가도래될것으로전망되는지금전세계적으로다양한오픈플랫폼을통하여 IoT 서비스들을제공하기위한노력이계속되고있다.

More information

Apache Ivy

Apache Ivy JBoss User Group The Agile Dependency Manager 김병곤 fharenheit@gmail.com 20100911 v1.0 소개 JBoss User Group 대표 통신사에서분산컴퓨팅기반개인화시스템구축 Process Designer ETL, Input/Output, Mining Algorithm, 통계 Apache Hadoop/Pig/HBase/Cassandra

More information

Polly_with_Serverless_HOL_hyouk

Polly_with_Serverless_HOL_hyouk { } "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "polly:synthesizespeech", "dynamodb:query", "dynamodb:scan", "dynamodb:putitem", "dynamodb:updateitem", "sns:publish", "s3:putobject",

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper Windows Netra Blade X3-2B( Sun Netra X6270 M3 Blade) : E37790 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs,

More information

단계

단계 본문서에서는 Tibero RDBMS 에서제공하는 Oracle DB Link 를위한 gateway 설치및설정방법과 Oracle DB Link 사용법을소개한다. Contents 1. TIBERO TO ORACLE DB LINK 개요... 3 1.1. GATEWAY 란... 3 1.2. ORACLE GATEWAY... 3 1.3. GATEWAY 디렉터리구조...

More information

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축 Apache2 + Tomcat 5 + JK2 : 2004-11-04 Release Ver. 1.0.0.1 Email : ykkim@cabsoftware.com Apache JK2 ( )., JK2 Apache2 JK2. 3 - JK2, Tomcat -.. 3, Stress ( ),., localhost ip., 2. 2,. Windows XP., Window

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat Sun Server X3-2( Sun Fire X4170 M3) Oracle Solaris : E35482 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Software Verification Junit, Eclipse 및빌드환경 Team : T3 목차 Eclipse JUnit 빌드환경 1 Eclipse e 소개 JAVA 를개발하기위한통합개발환경 주요기능 Overall 빌드환경 Code edit / Compile / Build Unit Test, Debug 특징 JAVA Code를작성하고이에대한 debugging

More information

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 Index 1. 표준프레임워크 EGOVCI 팩키지설치... 3 1.1 개요... 3 1.2 EGOVCI 압축풀기... 3 1.3 EGOVCI 시스템구성... 3 1.4 CI 시스템구동 (START/STOP)... 4 2. NEXUS 설정정보... 6 2.1 NEXUS 서버구동

More information

Portal_9iAS.ppt [읽기 전용]

Portal_9iAS.ppt [읽기 전용] Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Oracle9i Application Server e-business Portal Client Database Server e-business Portals B2C, B2B, B2E, WebsiteX B2Me GUI ID B2C

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

More information

01Àå

01Àå CHAPTER 01 1 Fedora Fedora Linux Toolbox 2003 Fedora Core( ) http://fedoraproject.org www.redhat.com 2 CHAPTER Fedora RHEL GNU public license www.centos.org www.yellowdoglinux.com www. lineox.net www.

More information

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf Snort Install Manual Ad2m VMware libnet-1.1.5.tar.gz DebianOS libpcap-1.1.1.tar.gz Putty snort-2.8.6.tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconfig 명령어로현재 IP를확인해본다. 2) vi /etc/network/interfaces 네트워크설정파일에아래와같이설정을해준다.

More information

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta

본교재는수업용으로제작된게시물입니다. 영리목적으로사용할경우저작권법제 30 조항에의거법적처벌을받을수있습니다. [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase sta [ 실습 ] 스위치장비초기화 1. NVRAM 에저장되어있는 'startup-config' 파일이있다면, 삭제를실시한다. SWx>enable SWx#erase startup-config Erasing the nvram filesystem will remove all configuration files Continue? [confirm] ( 엔터 ) [OK] Erase

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

<3833C8A35FB0F8C7D05FC6AEB7BBB5E55F F466C6F77B8A65FC8B0BFEBC7D15FC8BFB0FAC0FBC0CE5FBCD2BDBA5FC7FCBBF35FB0FCB8AE5F F322E687770>

<3833C8A35FB0F8C7D05FC6AEB7BBB5E55F F466C6F77B8A65FC8B0BFEBC7D15FC8BFB0FAC0FBC0CE5FBCD2BDBA5FC7FCBBF35FB0FCB8AE5F F322E687770> 2014.2.10.[ 제 83 호 ] GIT Flow 를활용한효과적인소스형상관리 Part 2 : GIT Flow 실습과활용예제 소프트웨어공학센터경영지원 TF 팀 C o n t e n t s Ⅰ. GIT Flow 소개 Ⅱ. Branch 전략 Ⅲ. 실제사용예제 Ⅳ. 결론 SW 공학트렌드 동향분석 Webzine Ⅲ. 실제사용예제 1. GIT Flow 사용준비 GIT

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다. PDMLink 에등록된 Office 문서들의 PDF 문서변환기능및 Viewer 기능을알아보자 PDM Link에서지원하는 [Product View Document Support] 기능은 Windows-Base 기반의 Microsoft Office 문서들을 PDMLink용 Viewer인 Product View를통한읽기가가능한 PDF Format 으로변환하는기능이다.

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터 운영체제실습 Raspbian 설치 2017. 3 표월성 wspyo74@naver.com cherub.sungkyul.ac.kr 목차 Ⅰ. 설치 1. 라즈비안 (Raspbian 설치 ) 2. 설치후, 설정 설정사항 Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로

More information

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx (보험TM) 소개서 2015.12 대표전화 : 070 ) 7405 1700 팩스 : 02 ) 6012 1784 홈 페이지 : http://www.itfact.co.kr 목 차 01. Framework 02. Application 03. 회사 소개 01. Framework 1) Architecture Server Framework Client Framework

More information

SK IoT IoT SK IoT onem2m OIC IoT onem2m LG IoT SK IoT KAIST NCSoft Yo Studio tidev kr 5 SK IoT DMB SK IoT A M LG SDS 6 OS API 7 ios API API BaaS Backend as a Service IoT IoT ThingPlug SK IoT SK M2M M2M

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

블로그_별책부록

블로그_별책부록 Mac Windows http //java sun com/javase/downloads Java SE Development Kit JDK 1 Windows cmd C:\>java -version java version "1.6.0_XX" Java(TM) SE Runtime Environment (build 1.6.0_XX-b03) Java HotSpot(TM)

More information

LXR 설치 및 사용법.doc

LXR 설치 및 사용법.doc Installation of LXR (Linux Cross-Reference) for Source Code Reference Code Reference LXR : 2002512( ), : 1/1 1 3 2 LXR 3 21 LXR 3 22 LXR 221 LXR 3 222 LXR 3 3 23 LXR lxrconf 4 24 241 httpdconf 6 242 htaccess

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 공개 SW 솔루션설치 & 활용가이드 시스템 SW > 자원관리 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리 -

More information

Solaris Express Developer Edition

Solaris Express Developer Edition Solaris Express Developer Edition : 2008 1 Solaris TM Express Developer Edition Solaris OS. Sun / Solaris, Java, Web 2.0,,. Developer Solaris Express Developer Edition System Requirements. 768MB. SPARC

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결

YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결 YUM(Yellowdog Updater,Modified) : RPM 패키지가저장된서버 ( 저장소 ) 로부터원하는패키지를자동으로설치한다. : YUM 도구는 RPM 의패키지의존성문제를해결해주어 RPM 패키지설치시자동적으로의존성문제를 처리하여 RPM 패키지를안전하게설치, 제거, 업그레이드등의작업을스스로하는도구 YUM 설정 (/etc/yum.conf) [main]

More information

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc ABAQUS 클러스터환경구축문서 1. ABAQUS 설치및라이센스서버설치 작성일 : 2008년 9월 30일작성자 : 클루닉스 / 서진우 설치할서버의적절한위치에아바쿠스설치패키지를복사해둔다. (CD로설치시에는생략 ) 그런후 setup 명령을수행한다. Setup 명령을수행할때는반드시 setup 파일의절대경로를이용하여실행하는것을권장한다. Setup 파일이있는디렉토리안에서실행할경우에러를발생한다.

More information

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수 사용 설명서 TeraStation Pro II TS-HTGL/R5 패키지 내용물: 본체 (TeraStation) 이더넷 케이블 전원 케이블 TeraNavigator 설치 CD 사용 설명서 (이 설명서) 제품 보증서 www.buffalotech.com 소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx 과목명: 웹프로그래밍응용 교재: 모던웹을 위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch19. node.js 기본 2014년 1학기 Professor Seung-Hoon Choi 19 node.js 기본 이 책에서는 서버 구현 시 node.js 를 사용함 자바스크립트로 서버를 개발 다른서버구현기술 ASP.NET, ASP.NET

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su Java Desktop System 2 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 817 7757 10 2004 9 Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A..,,.

More information

BEef 사용법.pages

BEef 사용법.pages 1.... 3 2.... 3 (1)... 3 (2)... 5 3. BeEF... 7 (1) BeEF... 7 (2)... 8 (3) (Google Phishing)... 10 4. ( )... 13 (1)... 14 (2) Social Engineering... 17 (3)... 19 (4)... 21 5.... 22 (1)... 22 (2)... 27 (3)

More information

Sena Technologies, Inc. HelloDevice Super 1.1.0

Sena Technologies, Inc. HelloDevice Super 1.1.0 HelloDevice Super 110 Copyright 1998-2005, All rights reserved HelloDevice 210 ()137-130 Tel: (02) 573-5422 Fax: (02) 573-7710 E-Mail: support@senacom Website: http://wwwsenacom Revision history Revision

More information

슬라이드 1

슬라이드 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 Software Verification Team 4 강 정 모 송 상 연 신 승 화 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 CONTENTS 01 Overall Structure 02 Static analyzer SonarQube

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2. 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2. 3Rabbitz Book 애플리케이션파일다운로드하여압축파일을풀고복사합니다. 3. 3Rabbitz Book 실행합니다.

More information

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인 표준프레임워크로구성된컨텐츠를솔루션에적용하는것에문제가없는지확인 ( S next -> generate example -> finish). 2. 표준프레임워크개발환경에솔루션프로젝트추가. ( File -> Import -> Existring Projects into

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

Microsoft PowerPoint - Chapter_03-1_DevEnv.pptx

Microsoft PowerPoint - Chapter_03-1_DevEnv.pptx 1 OpenWebOS Development Environment May, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 1. webos 개발환경구축 webos TV App 개발프로세스 webos TV SDK webos TV SDK 설치 webos 개발환경구축 webos

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

Server Agent Guide

Server Agent Guide Server Agent Guide WhaTap Support Version 1.0.1 Table of Contents Server Agent Guide......................................................................................... 1 1. 개요.................................................................................................

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Sun Java System Messaging Server 63 64

Sun Java System Messaging Server 63 64 Sun Java System Messaging Server 6.3 64 Sun Java TM System Communications Suite Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. : 820 2868 2007 7 Copyright 2007 Sun Microsystems,

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

Corporate PPT Template

Corporate PPT Template Tech Sales Consultant Oracle Corporation What s New in Oracle9iAS Forms? Why upgrade Oracle Forms to the WEB? Agenda Oracle9i Forms Web Oracle9i Forms Oracle9i Forms Oracle9i Forms What s NEW in Oracle

More information