처음에 git생성시 Master브랜치만 존재합니다.

 

하지만 필요한건 Master 브랜치에는 전체 코드가 올라가고 환경별 브랜치를 따로 따야되는데요

 

git 명령어로 순선대로 따놓는 내용을 적어 놓도록 하겠습니다. 

- 매번 새로 하진않아서 자꾸 까먹으니까 기록용으로 남기려고 합니다.

 

git branch -a

 

git branch 로 브랜치 생성

git checkout 으로 이동후 환경별 파일 생성

 

 

파일 add 후 origin push

 

 

요런식으로 checkout ( 브랜치 이동 ) 하면서 

 

파일 세팅하고 remote에 git push origin [브랜치이름]

'Node.js > Git' 카테고리의 다른 글

1. Git 설치  (0) 2017.11.21
Posted by 깍돌이

기존에는 웹 포스팅 블로그와 나눌려고했는데


큰 블로그도 아닌데 왜이렇게 하나 싶어서..


다시 기존의 블로그로 이동하였습니다.


http://ipex.tistory.com/



현재 웹 쪽을 맡고있어


자동화 라던지 웹 관련 포스팅은 이쪽에서 처리하겠습니다

'QA 및 업무 > 이달의 이야기' 카테고리의 다른 글

2017년 12월  (0) 2017.12.18
Posted by 깍돌이


Posted by 깍돌이

안녕하세요 Jenkins 를 재설치 하게 되서 다른 방법으로 소개 하려고합니다.


// 젠킨스 공식 홈페이지

https://jenkins.io/



1. 메인 홈페이지 이동 후 Download 클릭 



2.  하단으로 스크롤



최신 버전 선택 


3. 다운로드 

(보이는 메뉴얼 대로 wget 으로 받아도 되고 저는 jenkins-2.117-1.1noarch.rpm 을 받아서 FTP로 옮겼습니다.)




4. root 계정으로 접속

명령어 입력

 rpm -Uvh jenkins-2.117-1.1.noarch.rpm







5. Jenkins Port 설정(루트 계정)

Default 8080 을 쓰지만 예약 포트라 겹칠 일이 있어 변경해줍니다.



vi /etc/sysconfig/jenkins



6. /etc/init.d/jenkins start or /etc/init.d/jenkins restart


Starting jenkins (via systemctl):  Job for jenkins.service failed because the control process exited w                                                                ith error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.


에러가 났습니다.


 jenkins.service - LSB: Jenkins Automation Server

   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)

   Active: failed (Result: exit-code) since 월 2018-04-16 19:19:38 KST; 2min 32s ago

     Docs: man:systemd-sysv-generator(8)

  Process: 24668 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)


 4월 16 19:19:38 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...

 4월 16 19:19:38 localhost.localdomain runuser[24673]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: Starting Jenkins bash: /usr/bin/java: 그런 파일이나 디렉터리가 없습니다

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: [실패]

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service: control process exited, code=exited status=1

 4월 16 19:19:38 localhost.localdomain systemd[1]: Failed to start LSB: Jenkins Automation Server.

 4월 16 19:19:38 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service failed.


에러메시지 대로 systemctl status jenkins.service는 확인해봅니다.


확인해보니 

 jenkins.service - LSB: Jenkins Automation Server

   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)

   Active: failed (Result: exit-code) since 월 2018-04-16 19:19:38 KST; 2min 32s ago

     Docs: man:systemd-sysv-generator(8)

  Process: 24668 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)


 4월 16 19:19:38 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...

 4월 16 19:19:38 localhost.localdomain runuser[24673]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: Starting Jenkins bash: /usr/bin/java: 그런 파일이나 디렉터리가 없습니다

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: [실패]

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service: control process exited, code=exited status=1

 4월 16 19:19:38 localhost.localdomain systemd[1]: Failed to start LSB: Jenkins Automation Server.

 4월 16 19:19:38 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service failed.



이부분이 눈에 들어옵니다. jenkins 스크립트가 제대로 실행이 되지 않는 것 같아서


jenkins 스크립트를 까봅니다. 




자바 홈이 잡혀 있지 않았습니다.

/usr/bin/java -> 나의 자바 홈으로 변경(/usr/java/jdk1.8.0_152/bin/java

// 자바 바이너리를 타겟으로 하셔야 합니다. 



** 성공 

7. 웹으로 접속 ip:8888

 Unlock Jenkins


같은 동일 PC에서 하신다면 localhost:8888 


// 위에 8888로 설정하였기 때문에 혹시 안된다면 8080으로 해보셔도 되고 재시작을 해보시고 8888로 하시면 됩니다. 위에서 설정만 하고 말았다면 적용이 안되어있을수 있음 

** 접속이 안되는 경우 방화벽 문제일 확률이 높으니 테스트용으로

systemctl stop firewalld  실행 후 접속 시 정상접속 확인 됩니다.

접속 후 해당 부분에 입력 하는 키는

cat /var/lib/jenkins/secrets/initialAdminPassword 에 있는 키를 입력 하면 됩니다.



** JENKINS_HOME ="var/lib/jenkins" // 5단계까지는 접속 해도 아무것도 없습니다.



8. Customize Jenkins

Install suggested plugins 설치 (기본 설치 이므로 원하지 않는다면 선택하지 않아도 됩니다.



[설치 중 화면]


9. Admin 계정 생성(Root)

// 해당 계정으로만 jenkins의 플러그인 설치 및 쉘 스크립트 작성이 가능하기 때문에 유의 바람





접속 화면



'Jenkins 젠킨스 > 개요 및 시작' 카테고리의 다른 글

[Jenkins] 개요 및 시작  (0) 2018.01.15
Posted by 깍돌이

Q 현재 경로 (Current path) 에서 특정 파일명을 제외하고 모든 폴더 명을 변경함

[ 실행전 ]




[ 실행후 ]




#!/bin/sh

 TEMP_STR=`ls`
 CNT=0
 TARGET='run.sh'
 for resultList in $TEMP_STR
 do
    if [ $resultList != $TARGET ]
     then
         echo $resultList
         echo $CNT
         mv $resultList "testFolder"$CNT
     else
          echo 'run.sh is not Directory'
     fi
     CNT=$(($CNT+1))
 done




Posted by 깍돌이

자바스크립트의 모든 함수에는 length 프로퍼티가 있습니다.


함수, arr, obj 등에 대한 length에 대해서 작성하도록 하겠습니다.


1. 함수 (Function)


function fncOneparam(param1){};
function fncTwoparam(param1,param2){}
function fncThreeparam(param1,param2,param3){}

console.log("파라미터 1 : ",fncOneparam.length); //  파라미터 1 :  1
console.log("파라미터 2 : ",fncTwoparam.length); //  파라미터 2 :  2
console.log("파라미터 3 : ",fncThreeparam.length);// 파라미터 3 :  3


인자 체크 


function paramCheck(){

	switch(arguments.length){
        case 0: console.info("0개의 파라미터");
				break;
        case 1: console.info("1개의 파라미터");
				break;
        case 2: console.info("2개의 파라미터");
				break;
        case 3: console.info("3개의 파라미터");
				break;
        default:console.info("4개이상의 파라미터");
				break;
    }

}
paramCheck(); // 0개의 파라미터 
paramCheck(1); // 1개의 파라미터 
paramCheck(1,2); // 2개의 파라미터 
paramCheck(1,2,3); // 3개의 파라미터 
paramCheck(1,2,3,4); // 4개이상의 파라미터
paramCheck(1,2,3,4,5); // 4개 이상의 파라미터 


2. 배열 (arr)


var arr = ["a","b","c","d","e","f","g"];

arr.length // 7 


배열 자체로서는 length 하나로 길이를 체크할수 있습니다.


3. 객체 (Object)


객체는 이야기가 조금 나올수 있습니다. 일단  배열안에 객체를넣은 경우와

단순 객체에 대해서 길이 체크를 하겠습니다.

var arrObj = [
{name:"Kim",age:"15"},
{name:"Mim",age:"25"},
{name:"Sim",age:"35"},
{name:"Pim",age:"45"}
];

arrObj.length // 4

// [ ] 로 묶여있기 때문에 단순 배열로 쳐서 length 출력하여도 정상적으로 4가 나옵니다. 

var onlyObj = {name:"test",age:"14",poisiton:"absolute",job:"front",skill:"html"};


console.error(onlyObj.length); // undefined
console.log(Object.keys(onlyObj).length); //  5

// 단순한 obj 의 경우 length 로는 길이를 가져오지 못합니다. 
// Object.keys(obj).length 를 통하여 key 의 개수를 가져올수 있습니다.  length 와 결과 가 같습니다. 



Posted by 깍돌이

자바스크립트의 배열 [ ] 의 경우에는


length 를 통하여 길이를 간단하고 손쉽게 가져올수 있다.


하지만 obj의 경우에는 length 를 지정하게 되면 undefined 가 나타납니다.


obj 의 경우 length 의 길이를 구하기 위해서는


Object.keys를 이용해야 합니다.


 

var objS = {name:"test",ttt:"NewTest",kim:"kim"};

console.log("obj.length : ",objS.length);
console.log("Object.keys Length : ",Object.keys(objS).length);

Object.keys에 대해 간단하게 적어 보면


Object.keys(obj)

obj -> 열거형 고유 속성이 반환될 개체


return Value -> 지정된 개체의 모든 나열형 속성들을 나타내는 문자열 배열

나열형 속성들을 나타낸다고 되어있다.


속성열 나열 테스트


var myObj = Object.create({}, {
  getFoo: {
    value: function () { return this.foo; }
  } 
});
myObj.foo  = 1;
myObj.foo2 = 2;
myObj.foo3 = 3;

console.log(myObj);
console.log(Object.keys(myObj)); 


결과

{foo: 1, foo2: 2, foo3: 3, getFoo: ƒ}

(3) ["foo", "foo2", "foo3"]



Posted by 깍돌이

path 모듈입니다.

The path module provides utilities for working with file and directory paths. It can be accessed using:

const path = require('path');

기본 모듈 생성 불러 오는 방법입니다.


우선적으로 


path.basename 에 대해서 알아 볼 예정인데요


path.basename은 파일명을 가져오는 메서드입니다. 해당 메서드는 Windows 와 POSIX에서의 사용법이 다르다고합니다.

On POSIX:

path.basename('C:\\temp\\myfile.html');
// Returns: 'C:\\temp\\myfile.html'

On Windows:

path.basename('C:\\temp\\myfile.html');
// Returns: 'myfile.html'


윈도우즈에서는 기본적으로 파일 네임을 가져오는 것으로 보입니다.(확장자 포함)


하지만 POSIX에서는 파일네임이 아니라 전체 경로를 가져오게 됩니다.


해당 차이점을 알고 쓰셔야 할것 같지만 Node.js의 공식 문서를 참고 하시면


모든 OS에서 Windows 와 같은 결과를 받아오게 하기 위한 가이드가 있습니다.


On POSIX and Windows:

path.win32.basename('C:\\temp\\myfile.html');
// Returns: 'myfile.html'

To achieve consistent results when working with POSIX file paths on any operating system, use path.posix:

On POSIX and Windows:

path.posix.basename('/tmp/myfile.html');
// Returns: 'myfile.html'


앞에 path.win32.basename 또는 path.posix.basename  해당 os에 대해 나타나게 합니다.


저는 WIndows 에서 테스트를 하였습니다.



path.basename 보다는 posix나 win32를 넣는것이 사용에 좋아보입니다.


path 모듈에서는 여러가지 사용 메서드들이 있지만 관련은 www.nodejs.org 에서 공식문서를 확인해보시기 바랍니다.


하나 더 괜찮아 보이는 메서드를 가져왔습니다.

path.parse(path)


parse입니다. (path 값을 파라미터로 받습니다.)


POSIX입니다.

For example on POSIX:

path.parse('/home/user/dir/file.txt');
// Returns:
// { root: '/',
//   dir: '/home/user/dir',
//   base: 'file.txt',
//   ext: '.txt',
//   name: 'file' }
┌─────────────────────┬────────────┐
│          dir        │    base    │
├──────┬              ├──────┬─────┤
│ root │              │ name │ ext │
"  /    home/user/dir / file  .txt "
└──────┴──────────────┴──────┴─────┘
(all spaces in the "" line should be ignored -- they are purely for formatting)

WIndows 입니다.

On Windows:

path.parse('C:\\path\\dir\\file.txt');
// Returns:
// { root: 'C:\\',
//   dir: 'C:\\path\\dir',
//   base: 'file.txt',
//   ext: '.txt',
//   name: 'file' }
┌─────────────────────┬────────────┐
│          dir        │    base    │
├──────┬              ├──────┬─────┤
│ root │              │ name │ ext │
" C:\      path\dir   \ file  .txt "
└──────┴──────────────┴──────┴─────┘
(all spaces in the "" line should be ignored -- they are purely for formatting)


path 모듈을 알아 봤습니다.


'Node.js > NPM 사용 ' 카테고리의 다른 글

4. nconf (시스템 환경 변수 모듈)  (0) 2018.03.14
3. body-parser  (0) 2017.11.30
2. cors (Cross Origin Resource Sharing)  (0) 2017.11.29
1. uglify-js (경량화)  (0) 2017.11.08
Posted by 깍돌이

https://docs.npmjs.com/files/package.json


공식 홈페이지

Posted by 깍돌이

안녕하세요 JS(JavaScript - 자바스크립트) 에서 사용하는 문자열에 대한 모든 작업 처리를 하나하나 씩 해당 글에 전부 추가할 예정입니다.


해당 String 은 앞뒤로 공백이 하나 있으며  영문과 한글 두개의 String으로 테스트하겠습니다.


String.prototype

모든 String 인스턴스들은 String.prototype을 상속 받습니다.


그렇기 떄문에 String.prototype 오브젝트를 변경하면 그 모든 String 인스턴스들에 영향을 주게되기 됩니다.


기본 Properties

String.prototype.constructor

String.prototype.length

var str = "test String";

에서 


str[N] 을 통하여 접근이 가능하며 

N은 0보다 큰 양의 정수입니다.

위의 기본 Properties는 readOnly 의 속성을 가집니다.


ReadOnly 를 확인하는 테스트 입니다.

보시는바와 같이 concat() 함수는 문자열과 문자열을 잇는 메서드입니다.

a.concat(b) 를 하게되면 a+b가 된 문자열을 리턴하게 되는데 해당 concat은 성능상이 문제가 있어 + 로  a + b 로 사용하는것이 좋다고합니다.

concat에 대하여 function 을 새로 작성시 위와같이 새로 작성된 펑션으로 모든 String 객체들이 동작하는점을 보실수 있습니다.


length 의 경우를 보겠습니다.


length 는 위와같이 readOnly 로 사용되어짐을 보실수 있습니다.


현재까지 String.prototype.에 대해 보았습니다. JavaScript에서 모든 문자열 및 래퍼 들은 

String.prototype 의 상속을 받기 때문에 해당 prototype 에 대해알고 앞으로 작성하면 될것

같습니다.


이제부터는 String.prototype 에 선언되어있는 메서드들에 대한 기능에 대해 알아보겠습니다.


var strO = " gdl is Front-End ";

var strK = " 깍돌이는 프론트엔드 ";



해당 String 으로 테스트 하도록 하겠습니다.

var strO = " gdl is Front-End "; var strK = " 깍돌이는 프론트엔드 ";


[toUpperCase]

해당 문자열을 전부 대문자로 반환합니다. 

strO

" GDL IS FRONT-END "

strK

" 깍돌이는 프론트엔드 "


[toLowerCase]

해당 문자열을 전부 소문자로 반환합니다. 

strO

" gdl is front-end "

strK

" 깍돌이는 프론트엔드 "


-- 2018-04-02


[split]

해당 문자열을 나눈후 배열로 반환 합니다. 

strO

(18) [" ", "g", "d", "l", " ", "i", "s", " ", "F", "r", "o", "n", "t", "-", "E", "n", "d", " "]

strK

(12) [" ", "깍", "돌", "이", "는", " ", "프", "론", "트", "엔", "드", " "]

해당 스플릿에 대해서는 여러가지 방법이 있어서 여러 예를 들도록 하겠습니다.






총 결과 (추후 작성)











'JavaScript > 끄적끄적' 카테고리의 다른 글

2. childNodes, children  (0) 2017.12.04
1. Java Script 반올림  (0) 2017.11.21
Posted by 깍돌이
이전버튼 1 2 3 4 5 이전버튼

블로그 이미지
QA를 업으로 삼고 있습니다.
깍돌이

태그목록

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함