자바스크립트 javascript string 합치기 concat

자바스크립트에서 문자열을 합치는 방법에 대해 알아보겠습니다.
javascript 문자열 내장 함수인 cancat 메서드를 이용하는 방법과 + 연산자를 이용하여 문자열을 합칠 수 있습니다.

- concat

파라미터로 전달된 모든 문자열을 붙인 값을 반환합니다.
새로운 문자열을 반환합니다.

Syntax: str.concat(string2, string3[, ..., stringN])

  • string2, string3, [, ..., stringN]: N개의 파라미터를 받습니다.
const str = 'abcd', str1 = 'efg'; console.log(str.concat(str1)); // output: abcdefg const array = ['efg', 'hij', 'jkl']; console.log(str.concat(...array)); // output: abcdefghijjkl

+ 연산자 이용하기

+연산자를 이용하여 문자열을 합칠 수 있습니다.

const str = 'abcd', str1 = 'efg'; console.log(str + str1); // output: abcdefg

Template literals

문자열을 표현할 떄 내부에 내부 표현식을 사용할 수 있는 표현법입니다.
템플릿 리터럴은 이중 따옴표(" ") 나 작은 따옴표(' ') 대신 백틱(` `) (grave accent) 을 이용합니다.

var a = 7; var b = 10; console.log("Seventeen is " + (a + b) + " and\nnot " + (2 * a + b) + "."); // output: Seventeen is 17 and // not 24.

INFO: 수식과 문자열 그리고 개행을 넣는 방법도 보기 어렵고 오타가 많이 날 수 있습니다.

var a = 7; var b = 10; console.log(`Seventeen is ${a + b} and not ${2 * a + b}.`); // output: Seventeen is 17 and // not 24.

INFO: ${} 내부 표현식을 활용하여 읽기 쉽고 작성하기 쉬운 방법으로 활용할 수 있습니다.

replace

replace() 메서드는 지정된 문자열 또는 정규식패턴과 첫번째로 일치하는 문자열이 교체된 문자열을 반환합니다.
새로운 문자열을 반환합니다.

str.replace(regexp|substr, newSubstr|function)
regexp|substr: 변경 대상 문자열 혹은 정규식 패턴
newSubstr|function: 변경할 문자열

NOTE: 일치하는 첫번째 문자열만 변경합니다.

const str = 'I like you and I love you.'; console.log(str.replace('and', 'or')); // output: "I like you or I love you." console.log(str.replace('you', 'myself')); // output: "I like myself or I love you." console.log(str.replace(/you/, 'myself')); // output: "I like myself or I love you."

첫번째 매치된 you만 변경되고 뒤에는 그대로 변경되지 않습니다.

NOTE: 정규식 플래그(g)를 사용하면 전부 변경할 수 있습니다.


replace with regex

replace 메서드는 정규식 패턴을 첫번째 인자로 받습니다.
정규식 패턴을 이용하여 문자열을 변경할 있는데 여기에 정규식 flag g(global)을 활용하여 일치하는 모든 문자를 변경할 수 있습니다.

const str = 'I like apple apple apple.'; console.log(str.replace(/apple/, 'banana')); // output: "I like banana apple apple." console.log(str.replace(/apple/g, 'banana')); // output: "I like banana banana banana."

 

replace with regex 특수 교체 패턴

replacement 문자열은 다음과 같은 특수 교체 패턴을 포함할 수 있습니다.

Pattern Inserts
$$ "$" 기호를 삽입합니다.
$& 매치된 문자열을 삽입합니다.
$` 매치된 문자열 앞쪽까지의 문자열을 삽입합니다.
$' 매치된 문자열의 문자열을 삽입합니다.
$n n이 1이상 99이하의 정수라면, 첫번째 매개변수로 넘겨진 RegExp객체에서 소괄호로 묶인 n번째의 부분 표현식으로 매치된 문자열을 삽입합니다.
  • $n을 활용하여 매칭된 문자열을 재배치해보겠습니다.
const str = 'I like apple banana grape.'; console.log(str.replace(/(\w+) banana (\w+)/, '$2 kiwi $1')); // output: "I like grape kiwi apple."

정규식 간단 설명
\w: 밑줄 문자를 포함한 영어, 숫자, 문자
+: 1번 이상 반복되는 문자열
(): 문자열 그룹으로 매칭되는 문자열을 기억합니다.
apple banana grape. -> apple($1), grape($2) -> grape kiwi apple. 이렇게 변경되었습니다.

  • 정규식을 잘 활용한다면 어려운 일도 쉽게 해결할 수 있습니다.
    이번 기회에 정규식을 조금 더 공부해보시기 바랍니다.
    (저도 아직 잘 못합니다.. ㅎㅎ;)

자바스크립트 javascript 문자열 자르기 substr, substring, slice, split

자바스크립트에서 문자열을 추출 자르기에 대해 알아보겠습니다.
javascript 문자열 내장 함수를 이용하여 문자열을 추출할 수 있습니다.

- substr

substr() 메서드는 문자열에서 시작 인덱스에서 시작하여 특정 문자 수 만큼의 문자들을 반환합니다.
새로운 문자열을 반환합니다.

Syntax: str.substr(start[, length])

  • start: 문자열 시작 인덱스, 0부터 시작합니다.
  • length: 추출할 문자열의 길이를 나타냅니다.

NOTE: length 생략할 경우 문자열의 끝까지 반환합니다.

const str = 'Big golas get big results.'; console.log(str.substr(1, 8)); // output: ig golas console.log(str.substr(7)); // output: as get big results.

- substring

substring() 메서드는 문자열의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열을 추출하여 반환합니다.
새로운 문자열을 반환합니다.

Syntax: str.substring(indexStart[, indexEnd])

  • indexStart: 추출할 문자열 시작 인덱스, 0부터 시작합니다.
  • indexEnd: 추출 종료 인덱스로 그 직전까지 추출됩니다.

NOTE: indexEnd 생략할 경우 문자열의 끝까지 반환합니다.


const str = 'Big golas get big results.'; console.log(str.substring(1, 8)); // output: ig gola console.log(str.substring(7)); // output: as get big results.


- slice

slice() 메서드는 시작 인덱스부터 종료 인덱스 전까지의 문자열을 추출합니다
새로운 문자열을 반환합니다.

Syntax: str.slice(beginIndex[, endIndex])

  • beginIndex: 문자열 시작 인덱스, 0부터 시작합니다.
  • endIndex: 추출 종료 인덱스로 그 직전까지 추출됩니다.

NOTE: endIndex를 생략할 경우 문자열의 끝까지 반환합니다.
종료 인덱스 위치의 문자는 추출에 포함되지 않습니다.


const str = 'Big golas get big results.'; console.log(str.slice(8)); // output: "s get big results." console.log(str); // output: "Big golas get big results."

- split

split() 메서드는 문자열을 지정한 지정된 구분자를 이용하여 나눠진 문자 배열을 반환합니다.
새로운 배열을 반환합니다.

Syntax: str.split([separator[, limit]])

  • separator: 원본 문자열을 끊어야 할 부분을 나타내는 문자열을 나타냅니다.
  • limit: 반환할 문자 혹은 문자열의 갯수를 나타냅니다.

NOTE: limit 생략할 경우 구분된 모든 문자를 반환합니다.


const str = 'Big golas get big results.'; console.log(str.split(' ')); // output: [ 'Big', 'golas', 'get', 'big', 'results.' ] console.log(str.split(' ', 2)); // output: [ 'Big', 'golas' ]

[Javascript] - 자바스크립트 javascript 문자열 찾기

[Javascript] - 자바스크립트 javascript 문자열 공백 제거 trim

[Javascript] - 자바스크립트 javascript 문자열 합치기

[Javascript] - 자바스크립트 javascript 문자열 바꾸기 치환

git retmoem git push

  • remote: 프로젝트의 원격 저장소를 관리하는 명령어
  • push: local repository에 있는 파일을 원격 저장소에 저장하는 명령어

git remote

$ git remote

git remote

현재 원격 저장소에 대한 연결을 설정하지 않아 아무런 내용도 표시되지 않는다.
먼저 원격 저장소를 연결한 후에 변경사항을 push 해보자

$ git remote add origin https://github.com/dev-tester1213/new_project.git

git repository

github에 새로운 repository를 생성하면 위와와 같은 화면이 나온다.
새로 생성한 프로젝트와 기존에 존재하는 플로젝트에 대하여 설정할 수 있는 가이드가 나온다.

  • …or create a new repository on the command line
    빈 폴더일 경우에 README.md 파일을 작성하고 add > commit > 원격저장소 연결 후 push 하는 방법이다.
  • …or push an existing repository from the command line
    기존 존재하는 프로젝트의 경우 원격 저장소 연결 후 push 하는 방법이다.

git push

$ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master

fatal 에러, upstream branch가 없다는 에러가 메시지와 함께 아래 명령어를 입력하라는 메세지가 나온다.
그대로 다시 입력해보자.

git push

아이디와 패스워드가 설정되지 않았다면 아이디 패스워드를 입력해야한다.

git push --set-upstream origin master Username for 'https://github.com': dev-tester1213 Password for 'https://dev-tester1213@github.com': Enumerating objects: 8, done. Counting objects: 100% (8/8), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (8/8), 608 bytes | 608.00 KiB/s, done. Total 8 (delta 0), reused 0 (delta 0) To https://github.com/dev-tester1213/new_project.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.

push가 정상적으로 성공하였으며 push 결과를 확인할 수 있다.

git push done

github repository 정상 등록되었고 등록된 파일이 나타나는걸 확인할 수 있다.

git commit(local repository 추가), git log

  • commit: stage에 있는 파일을 local repository에 저장
  • log: commit 히스토리 조회

$ git status

Changes to be commited: stage에 올라가 있는 파일을 나타냅니다.
이제 해당 파일들을 커밋합니다.

 

git commit

$ git commit

git에 설정된 텍스트 편집기가 실행되고 commit 메세지를 작성할 수 있습니다.
사진의 화면은 vim 편집기 화면입니다.
#은 vim 편집기에서 주석으로 사용되기 때문에 #의 내용은 반영되지 않습니다.



커밋 메세지를 작성하고 저장합니다.

 

master branch에 커밋되었고 파일의 간단한 변경사항을 볼 수 있습니다.

 

git commit -m "first commit"

텍스트 편집기를 실행하지 않고 commit 메시지와 함께 바로 commit합니다.


commit 후 동일한 변경사항을 볼 수 있습니다.

 

git commit -m "first commit" -m "second commit"

-m option을 여러번 작성하면 모든 commit 메세지는 별도의 단락으로 구분되어 모두 commit됩니다.


first commit, second commit 모두 커밋된 걸 확인할 수 있습니다.

 

git commit --amend

--amend option은 이전에 커밋에 대한 메세지 내용을 수정할 수 있습니다.

텍스트 편집기가 실행되고 이전에 커밋했던 메세지 내용을 확인할 수 있습니다.
추가로 메세지를 작성하거나 삭제하여 커밋 메세지를 수정할 수 있습니다.

 

second commit -> third commit 으로 변경되었습니다.



git status, git add

  • status: 파일 상태 확인
  • add: 파일을 stage로 올리기
  • commit: stage에 있는 파일을 local repository에 저장

git status

파일의 상태를 보여주는 명령어입니다.

모든 파일은 Tracked(이전에 커밋되어 추적중인 파일)와 Untracked(커밋된 이력이 없는 신규 파일)로 구분됩니다.

$ git status

git status


git status: 파일의 상태를 보여줍니다.
Changes to be commited: stage에 올라가 있는 파일을 나타냅니다.
Changes not staged for commit: 추적중인 파일이 수정된 상태지만 stage에 올라가지 않은 파일입니다.
Untracked files: 신규 파일 리스트입니다.


git add

git add 명령은 현재 프로젝트에서 변경사항이나 새로운 파일을 사용하여 인덱스를 업데이트히고 새로운 커밋을 하기 전에 실행하는 명령입니다.
git add 명령은 새로운 커밋을 생성하기 전까지 여러번 실행할 수 있습니다.
git add 명령은 기본적으로 무시된 파일을 추가하지 않습니다.
제외된 파일이 있는 경우 명령줄에 명시적으로 지정되면 git 추가가 실패하고 무시된 파일 목록이 표시된다.

제외된 파일: 프로젝트 파일 내에서 별도로 관리되지 않아도 되거나 관리가 필요없는 파일들이 있습니다.
프로젝트 로그 파일이나, 프로젝트 빌드시 자동으로 생성되는 파일들, 혹은 nodejs 프로젝트라면 node_moduels같은 폴더가 대상이됩니다.
이런 파일들을 .gitignore 파일을 설정하여 관리대상에서 제외시킬 수 있습니다.
나중에 자세히 알아보겠습니다.

$ git add config.js $ git status

git add


commit을 위해 수정한 파일들을 stage에 올리는 작업입니다.
git add config.js: config.js 파일을 stage에 올립니다.
config.js 파일의 상태가 변경된 걸 확인할 수 있습니다.



복수의 파일 등록

$ git add config.js index.js

git add multiple


여러 파일을 같이 올릴 수 있습니다.
많은 파일을 수정했을 때 파일별로 나누어서 stage에 올릴 때 사용합니다.
파일별로 나누어서 올리고 commit하면 나중에 commit 단위로 수정사항을 확인할 수 있어서 편리합니다.


한번에 등록

$ git add .

git add .


한 번에 모든 파일을 올릴 수 있습니다.
일일이 모든 파일을 지정하지 않고 모든 수정사항을 한번에 등록할 때 사용합니다.
위와 반대로 수정한 파일이 한번에 stage에 올라가야 하거나 몇 개 없을때 사용하면 유용합니다.


다음 단계

등록된 파일을 로컬 저장소에 저장(git commit) 방법에 대해 알아보겠습니다.

[Git] - git commit, git 커밋, git 저장



git 시작하기

  • 현재 작업중인 프로젝트 폴더로 이동하여 git 시작하기
  • remote git 저장소에서 프로젝트 clone 하기

git init (프로젝트 폴더)

$ cd ~폴더경로/new_project $ git init

.git


.git 이라는 폴더가 생겼다. 이제부터 new_project는 git을 이용하여 협업할 수 있습니다.



git clone (remote 저장소에서 프로젝트 clone)

유명한 javascript 유틸리티 프로젝트인 lodash를 clone해보겠습니다.

lodash는 굉장히 많이 사용되는 자바스크립트 유틸리티 라이브러리로써 array, collection, date, number, object를 사용할 떄 번거로운 작업들을 줄여주고 손쉽게 사용할 수 있습니다.
javascript를 사용하신다면 한번 살펴보시는것도 좋을꺼 같습니다.


git hub


github에 code 버튼을 누르고 빨간원 안의 버튼을 누르면 git 주소를 복사합니다.


$ cd ~폴더경로/ $ git clone https://github.com/lodash/lodash.git



  • 폴더명 지정하여 clone하기
$ cd ~폴더경로/ $ git clone https://github.com/lodash/lodash.git lodash-other

git folder name


마지막에 지정할 폴더 이름을 적으면 폴더명을 변경하여 clone할 수 있습니다.
똑같은 명령어에 뒤에 폴더명만 추가된 것을 확인할 수 있습니다.
이제부터 git을 활용하여 협업할 수 있습니다.

다음 단계

수정된 파일을 등록하고 파일 상태를 확인하는 방법에 대해 알아보겠습니다.

[Git] - git add, git status, git 추적, git index



맥북을 사용하며 해피해킹 프로2를 키보드로 사용하였는데

키보드가 먼지가 많이 쌓이고 주변에 때도 많이 묻어서 청소가 필요해보였다.

생각난 김에 바로 청소를 시작했다!


청소가 필요한 키보드

키보드 청소 전키보드 청소 전


청소 하다가 급하게 청소 전 사진을 찍느라 키캡이 위쪽은 빠져있다^^;;

아래 부분을 보면 먼지가 심하게 껴있는게 보인다.. 더럽다..


그냥 뒤집어서 먼지만 털고 겉에만 닦아도 되지만 이왕 하는거 깨끗하게 하는게 좋기 때문에..

모든 키캡을 빼서 숨어있는 먼지를 모두 제거하였다.


키캡 제거


키캡 제거키캡 제거


키캡을 제거할 때는 키캡 리무버가 있으면 굉장히 편리하다.

키캡을 제거하기 쉽게 끼고 돌리고 살짝 힘을 주어 당기면 바로 제거가 가능하다.


키캡 리무버로 쉽게 제거 가능키캡 리무버로 쉽게 제거 가능


살짝 힘을 주어 들어올리니 바로 빠진다~


모든 키캡을 제거 후 내부 모습

키보드 내부 먼지키보드 내부 먼지


키보드 사이사이로 들어간 먼지가 너무 눈에 띈다.

청소를 더 자주해야할듯 하다.


먼저 청소기로 안에 먼지를 다 빨아들이고 면봉으로 구석구석 닦아주었다.



청소 후 내부 모습

청소 후 내부 모습청소 후 내부 모습


청소 후 내부.. 정말 깔끔해졌다!! ㅎㅎ

키보드를 사용하고 덮개로 덮어서 먼지가 들어가지 않게 잘 관리해주면

청소 주기도 좀 더 길게 잡아도 될꺼 같다.


조립은 분해의 역순

청소 후 사진청소 후 사진


키캡 조립은 위치에 맞춰서 다시 껴주기만 하면된다. 참 쉽다!

주의사항은 위치를 잃어버리지 않게 키캡을 빼서 키보드 배열과 같이 맞춰놓으면 나중에 조립하기가 수월하다.


'일상, 생활' 카테고리의 다른 글

청색광에 의한 시각세포 손상과정 증명  (1) 2015.12.15

+ Recent posts