먼저 Vue.js에 대해 전반적으로 살펴보자

우선 Vue.js를 사용하기 위해서는 아래 코드를 html문서에 삽입해주면 끝!

<script src="https://unpkg.com/vue"></script>

Vue.js의 핵심은 간단한 템플릿 구문을 사용해 선언적으로 DOM에 데이터를 렌더링 하는것!

//HTML
<div id="app">
  {{ message }}
</div>
//JavaScript
var app = new Vue({
  el: '#app',
  data: {
    message: '안녕하세요 Vue!'
  }
})

코드를 하나씩 살펴보면서 이해를 도와보자
{{ }} 는 데이터의 내용이 렌더링 되어 HTML 문서에 표현되기 위해 작성해주며
el은 element의 약자로 HTML 엘리먼트를 선택해주고
data 안에는 HTML문서의 {{ }}안에 작성된 변수(message)를 정의해 이를 HTML에 렌더링 시켜주며
이는 콘솔창에서 app.message = “”로 변경이 가능

이것이 가장 기초적인 Vue.js의 문법이며 앞으로 엄청 많은것들을 익힐 예정임!


자료 참고는 Vue.js 2.0 공식사이트 [https://kr.vuejs.org] 이며
공식 사이트 문서를 토대로 정리를 할 것이고,
혹시 이 글을 보시면서 정보가 부족하다 느끼시는 분들은 공식 사이트에서 해답을 얻으시면 좋을 것 같습니다.

'개발 > Vue.js' 카테고리의 다른 글

5. 클래스와 스타일 바인딩(Class and Style Bindings)  (0) 2017.03.29
4. 계산된 속성과 감시자  (0) 2017.03.28
3. Vue 템플릿 문법  (0) 2017.03.27
2. Vue 인스턴스  (0) 2017.03.23
1. Vue.js 시작하기  (0) 2017.03.23
0. Vue.js 포스팅  (0) 2017.03.23

오늘부터 꾸준히 Vue.js에 대해서 포스팅하면서 공부해 보려고 한다

Angular2, React, Vue 세가지 중 가장 끌렸던게 Vue.js였기 때문에

그냥 읽는 것만으로는 이해에 한계가 있어 직접 남기면서 익혀보려 함.


공식 홈페이지 문서는 다음과 같다  https://kr.vuejs.org/ 

영어를 잘하시는분들이 번역을 전부 해놔서 영어를 못하는 나도 한글로 읽을수 있다!


깃헙의 통계자료인데 보시다시피 'Vue.js 2.0'을 선보이고 나서 사람들의 관심이 대폭 상승했음을 보여주는 자료인 것 같다



사실 그냥 재밌어보여서 시작하는 것..

말을 잘 못해서 길게 쓸 말이 떠오르진 않고 Vue.js 중간에 안놓고 끝까지 할 수 있도록 해야겠다 !

보기쉽게 쓰기보다 공부한 내용을 혼자 정리하는 느낌이라 혹시라도 보시는 분들은 불편하실수도 있을 것 같지만

최대한 깔끔하게 정리해보려 함!

'개발 > Vue.js' 카테고리의 다른 글

5. 클래스와 스타일 바인딩(Class and Style Bindings)  (0) 2017.03.29
4. 계산된 속성과 감시자  (0) 2017.03.28
3. Vue 템플릿 문법  (0) 2017.03.27
2. Vue 인스턴스  (0) 2017.03.23
1. Vue.js 시작하기  (0) 2017.03.23
0. Vue.js 포스팅  (0) 2017.03.23

1. home brew 설치

homebrew는 mac OS 에서 윈도우의 프로그램 추가/제거와 비슷한?기능을하는 패키지 관리자입니다( git과 ruby 기반 )

homebrew를 사용하면 각종 패키지들을 코드 한줄로 뚝딱 다운이 가능해요

  • 설치방법

터미널에 아래의 명령어를 붙여넣어주세요

1
ruby -"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
cs

설치후에 내 mac에 homebrew가 잘 깔렸나 확인하기 위해 아래 명령어를 입력 후 의사님이 진단하신대로 따라하시면 됩니다

1
brew doctor
cs

homebrew설치 끝! (참고 사이트 : https://brew.sh/index_ko.html )


2. vim 8.0 설치

mac에는 기본적으로 vim (7.3~7.4)이 설치되어있지만 작년말에 나온 8버전을 설치해보자! 그냥 귀찮거나 구버전이 좋다하면 안깔아도 됩니다

  • 설치방법

터미널에 아래 명령어를 차례로 입력합니다

1
2
brew install mercurial
brew install vim --with-override-system-vim

cs


두번째 줄 이후에 이미 설치되어 있다는 에러가 난다면

1
2
brew unlink vim
brew install vim --with-override-system-vim
cs

다시 하란대로 명령어를 입력하고 아래의 명령어로 vim의 버전을 확인했을때 8.0이 나오면 성공!~!

1
vim --v
cs


3. plugin (Vundle) 설치

vim 그 자체로는 단축키가 많은 그저 하드코딩해야하는 도구일 뿐이지만 플러그인으로 이런저런기능을 넣어주면 아주아주아주 좋아져요

vim의 플러그인 매니저는 Vundle로 다음과 같이 설치합니다

  • 설치방법

아래의 명령어를 입력해 Vundle 설치 ( git이 설치되어 있어야 함! )

1
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

cs



4. vimrc세팅

  • 설치방법

터미널에 아래 명령어를 입력합니다 ( vim으로 ~/.vimrc라는 파일을 열겠다는 명령어, 기존에 있던파일이 아니면 새로 만들어 열게됩니다)

1
vim ~/.vimrc
cs

내용( HTML,CSS 편집 기준으로 플러그인들을 넣었습니다 )

   

 set nocompatible              " be iMproved, required 

 filetype off                  " required


 set rtp+=~/.vim/bundle/Vundle.vim

 call vundle#begin()



 Plugin 'VundleVim/Vundle.vim'

 Plugin 'tpope/vim-fugitive'

 Plugin 'https://github.com/itchyny/lightline.vim'

 Plugin 'https://github.com/tpope/vim-surround'

 Plugin 'https://github.com/skammer/vim-css-color'

 Plugin 'https://github.com/Shutnik/jshint2.vim'

 Plugin 'git://git.wincent.com/command-t.git'

 Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}

 Plugin 'mattn/emmet-vim'

 Plugin 'ascenator/L9', {'name': 'newL9'}

 Plugin 'scrooloose/nerdtree'

 

 call vundle#end()            " required

 filetype plugin indent on    " required


 imap <expr> <tab> emmet#expandAbbrIntelligent("\<tab>")

 set autoindent

 set smartindent

 set tabstop=2

 set shiftwidth=2

 set nu

 colorscheme default

 set backspace=indent,eol,start

 syntax enable



위와 같이 작성 후 :w로 저장후 :PluginInstall로 플러그인들을 설치합니다.


5. 플러그인 종류 및 설명


플러그인 위의 두줄은 다른 플러그인을 사용하기 위한 필수 플러그인 입니다


  • emmet-vim은 html:5 를 입력 후 ctrl y 를 누른 뒤 ,를 누르면 html폼이 완성되는 플러그인 이지만


아래의 imap <expr> <tab> emmet#expandAbbrIntelligent("\<tab>") 로 단축키를 탭키로 바꿔줬습니다


  • nerdtree는 디렉토리를 볼수있게 해주는 플러그인이며 :NERDTree로 실행할 수 있어요


다른 플러그인들은 저도 잘모르겠으니 알려주세요 하하 


set autoindent  " 자동 들여쓰기
set smartindent " 스마트한 들여쓰기

set tabstop=2 "탭 2칸

set shiftwidth=2 " 자동 들여쓰기 2칸
set number " 행번호 표시, set nu 도 가능

colorscheme default  "  vi 색상 테마 설정
set backspace=eol,start,indent "  줄의 끝, 시작, 들여쓰기에서 백스페이스시 이전줄로
syntax enable " 문법강조 on



끝! 안되시는 부분 댓글로 남겨주세요 끝까지 읽어주셔서 감사합니다


'개발 > 기타' 카테고리의 다른 글

Coin Push 프로젝트  (0) 2018.01.29
티스토리 블로그 폰트 바꾸기  (4) 2017.10.14
[git]Git 간편 사용 설명서  (0) 2017.05.27
Git, Github 10분만에 익히기  (0) 2017.04.25
"데일리후보" 단기 프로젝트 완성  (3) 2017.04.17
HTML,CSS용 VIM(8.0)세팅하기  (0) 2017.02.21

jQuery 효과


작성방법 $("선택자").click(function(){ $("선택자").메소드;});

콜백함수는 앞의 함수가 끝나면 실행


jQuery 효과(effects)


숨기기 hide(speed, callback)

보여주기 show(speed, callback)

토글 toggle()


페이드인 fadeIn(speed,callback)

페이드아웃 fadeOut(speed,callback)

페이드토글 fadeToggle(speed,callback)

페이드투 fadeTo("slow", 0.7) 0.7은 투명도를 나타냄

속도는 "slow","1000" 등으로 표현


슬라이드다운 slideDown(speed,callback)

슬라이드업 slideUp(speed,callback)

슬라이드토글 slideToggle(speed,callback)


애니메이션 animate{( left: '250px', opacity:'0.5' height:'150px' width: '150px'}) 절대값

height: '+=150px' width: '+=150px'  상대값

height: 'toggle' 지정된 값 사용

애니메이션을 연속적으로 처리하는 큐기능


정지 stop(stopAll, goToEnd) 삭제여부지정

stopAll,goToEnd 둘다 기본값은 false


메소드 체인

연속으로 메소드를 쓰는

줄바꿈 가능


jQuery HTML


DOM = Document Object Model

HTML 및 XML 문서에 엑세스하기위한 표준 정의

text() html() val() 로 표현가능

attr(속성값, 변경)  속성값 가져올 때 사용


Element추가

append() html 끝부분에 내용 삽입

prepend() html  앞부분에 내용 삽입

after() 요소 뒤에 내용 삽입

before() 요소 전에 내용 삽입


remove() 선택된 요소 전체 삭제

empty() 선택된 요소의 자식요소 삭제


jQuery CSS

addClass() 다른 요소에 클래스 속성 추가 ex).addClass("important blue")

removeClass() 다른 요소에 클래스 속성 제거 ex).removeClass("blue important")

toggleClass() 클래스 속성 추가/제거 전환


css("background-color") 배경 색 반환

css("propertyname", "value") css속성 설정

css({"propertyname": "value", "propertyname": "value"}) 여러개의 css속성 설정

width() 폭 반환 / height() 높이 반환, 변경은 ()안에 변경값 입력

innerWidth() 패딩 포함 폭 반환 / innerHeight() 패딩 포함 높이 반환

outerWidth() 패딩,테두리 포함 폭 반환 / outerHeight() 패딩,테두리 포함 높이 반환(true)입력해야함


jQuery Traversing


parent() 선택 요소의 직접적인 부모 요소 반환 ex)$("span").parent

parents() 루트 요소까지 선택된 요소의 모든 상위 요소 반환 ex)$("span").parents("ul") span의 부모요소중 ul 반환

parentsUntil() 주어진 두 인자 사이의 모든 상위 요소 반환 ex)$("span").parentsUntil("div")


children() 선택 요소의 자식 요소 반환

find() find안의 요소 반환 ( "*" 입력시 모든 자식 요소 반환)


siblings() 형제 요소 반환 ex)$("h2").siblings("p") h2의 형제 요소중 <p>반환

next() 선택 요소 다음 형제 요소 반환 (<=>prev())

nextAll() 선택 요소 다음 형제 모두 반환 (<=>prevAll())

nextUntil() 선택요소 사이의 요소 모두 반환 (<=>prevUntil())


first() 첫 번째 요소 선택

last() 마지막 요소 선택

eq(1) 인덱스 번호 선택

not(".intro") intro 제외하고 선택


jQuery AJAX 

load() 

syntax: $(selector).load(URL,data,callback);


다른 프레임워크와 혼용시 $대신 jQuery작성

$.noConflict() 작성 뒤 사용

변수에 담을 수 있음 ex)var jq= $.noConflict()





스프레드 연산자(...)(JavaScript)

 

배열 리터럴의 일부를 반복 가능한 식(다른 배열 리터럴 등)에서 초기화하거나 식을 함수 호출에서 여러 인수로 확장할 수 있습니다.

var array = [[arg0ToN ,] ...iterable [, arg0ToN]]
func([args ,] ...iterable [, args | ...iterable])

iterable

필수.반복 가능한 개체입니다.

arg0ToN

선택 사항입니다.하나 이상의 배열 리터럴 요소입니다.

args

선택 사항입니다.함수에 대한 하나 이상의 인수입니다.

반복기에 대한 자세한 내용은 반복기 및 생성기(JavaScript)를 참조하세요.rest 매개 변수로 스프레드 연산자 사용하기에 대한 자세한 내용은 함수(JavaScript)를 참조하세요.

다음 코드 예제에서는 스프레드 연산자의 사용이 concat 메서드의 사용과 대조를 이룹니다.

var a, b, c, d, e;
a = [1,2,3];
b = "dog";
c = [42, "cat"];

// Using the concat method.
d = a.concat(b, c);

// Using the spread operator.
e = [...a, b, ...c];

console.log(d);
console.log(e);

// Output:
// 1, 2, 3, "dog", 42, "cat"
// 1, 2, 3, "dog", 42, "cat"

다음 코드 예제에서는 함수 호출에서 스프레드 연산자를 사용하는 방법을 보여줍니다.이 예제에서는 두 개의 배열 리터럴이 스프레드 연산자를 사용하여 함수로 전달되며 배열은 여러 인수에 확장됩니다.

function f(a, b, c, x, y, z) {
  return a + b + c + x + y + z;
}

var args = [1, 2, 3];
console.log(f(...args, 4, ...[5, 6]));

// Output:
// 21

스프레드 연산자를 사용하여 이전에 apply 사용을 필요로 한 코드를 간소화할 수 있습니다.

function f(x, y, z) {
    return x + y + z;
}

var args = [1, 2, 3];

// Old method
func.apply(this, args);
// New method
func(...args);


출처:https://msdn.microsoft.com/ko-kr/library/dn919259(v=vs.94).aspx

JavaScript의 위치

<script>태그 사이에 위치 <head>, <body> 둘다 위치 가능


JavaScript Output

Window.alert() 경고창

documnet.write() HTML출력 (테스트용) HTML로드 후 작성시 기존 문서 삭제

innerHTML HTML출력 요소로 작성 document.getElementById(ID)를 사용해 HTML에 접근

console.log() 브라우저 콘솔에 작성


JavaScript 문법(Syntax)

세미콜론(;)으로 구문 구별/ 텍스트는 " 또는 ' 안에 작성

변수는 var로 선언 ex) var x = 2;

주석은 //(한줄) /* */(여러줄) 로 작성

대소문자 구별하여 사용

첫 번째 문자는 문자, _, $ 세가지만 가능/ 예약어 사용 불가

camelCase 사용


JavaScript 키워드(keyword)

continue 루프 시작

debugger 디버깅 실행

do ...while 조건문이 참일때 실행,반복

for 조건문이 참인 조건 설정

function 함수 선언

if ...else 조건문 선언

return 함수 반환

switch 조건이 맞지 않을때 case 변환 break 스위치,루프 종료

try ... catch try에서 맞는 조건을 catch해서 실행


JavaScript 변수 (variable)

var 변수 선언 ( =는 할당연산자 == 동등연산자)

한번에 여러개 변수 설정 가능

ex) var a =1, b=2, c=3;

왼쪽에서 오른쪽으로 명령 수행

ex)

var x = "A" + 16 +4 => A164

var x = 16+ 4 +"A" => 20A 

배열로 변수 선언 가능

ex) var A = ["a", "b", "c"]


JavaScript 함수 (function)

function(변수1, 변수2) { return : code }

함수 호출 방법

event( ex)버튼 클릭) / call / 자동

변수 선언 > 함수 실행 > return 에의해 반환


JavaScript 객체 (object)

속성(properties) 선언 중괄호 사용

ex) var person = { a:"babo", b="jjindda", c="pig"};

빈 값은 null 사용

objectName.methodName() 로 액세스


JavaScript Scope

함수 안에 var 선언시 function에서만 사용 가능 (local변수)

함수 밖에 선언시 전체에서 사용 가능 (global 변수)

함수 안에 var없이 선언해도 전체에서 사용 가능 (권장x)


JavaScript 이벤트 (event)

onchange 변경되었을 때

onclick 클릭했을 때

onmouseover 마우스를 올렸을 때

onmouseout 마우스를 다른곳으로 옮겼을 때

onkeydown 키보드키를 눌렀을 때

onload 페이지로드완료


JavaScript 문자열 (strings)

"" 내에 "작성시 \"로 작성

.length 문자열 길이 반환

.indexOf("a") a의 첫번째 시작 지점 반환

.lastIndexOf("a") a의 마지막 시작 지점 반환

 문자열 추출 방법 

slice(start, end) 시작,종료 위치에서 추출

substring(start, end)  두 사이의 내용 나머지 삭제

substr(start, length) 뒤에서부터 카운트, 삭제


.replace( a, b) a를 b로 교체

.toUpperCase() 대문자로 변환

.toLowerCase() 소문자로 변환

.concat(a, b) 두가지 이상 문자열을 결합

.charAt(0) 0번째 문자열 반환

.charCodeAt(0) 0번째 유니코드 반환

str[0] 0번째를 문자열에 액세스 (권장x)

.split(" ") " "안의 것으로 변환


JavaScript 숫자 (numbers)

숫자는 64비트 값(0~51) 멱지수 (52~62) 기호 (63)

지수표기x시 15자리까지 정확한 것으로 간주

0x로 시작하는경우 16진수로 해석 ex) 0xFF = 255


.toString() 문자열로 숫자를 반환

.toExponential(숫자) 반올림 지수 표기법을 사용하여 작성된 숫자로, 문자열을 반환

.toFixed(숫자)  소숫점을 숫자만큼 문자열로 반환

toPrecision(숫자) 지정된 숫자의 길이만큼 문자열 반환

valueOf() 숫자로 순자를 반환


변수를 숫자로 반환하는법

Number()

parseInt() 문자열을 분석해 정수를 반환, 공백 허용/ 첫 번째 숫자 반환

parseFloat() 문자열을 분석해 수를 반환, 공백 허용/ 첫 번째 숫자 반환


속성

.MAX_VALUE 표현가능한 최댓값 반환

.MIN_VALUE 표현가능한 최솟값 반환

.NEGATIVE_INFINITY 음의무한대 반환

.NAN Not-a-Number 반환

.POSITIVE_INFINITY 무한대 반환


JavaScript 수학 개체(Math Object)

Math.round(a) 가까운 정수로 반올림 반환

Math.pow(a,b) a^b 반환

Math.sqrt(a) 루트a 반환

Math.abs(a) 양수값 반환

Math.ceil(a) 올림

Math.floor(a) 내림

Math.sin() sin값 반환

Math.cos() cos값 반환

Math.min(a, b, c, d) 최솟값 반환

Math.max(a, b, c, d) 최댓값 반환

Math.random() 임의의 수 반환 0에서1사이(0포함)


JavaScript 날짜(date)

.toString() 문자열로 날짜 반환

.toUTCString() UTC문자열로 날짜 반환

.toDataString() 읽기쉬운 형식으로 날짜 변환

시간지정x시 브라우저시간 


JavaScript 배열(array)

배열 만드는 법 var x = [a, b, c] / var x = new Array(a, b, c)  여기서 x[0] = a

x.length 배열의 길이

x.push 배열에 삽입

xtypeof 사용으로 배열 확인

x.toString로 배열을 문자열로 반환

x.join(" * ") 구분기호를 포함해 배열 반환

x.pop 배열의 마지막 요소 제거

x.shift 배열의 첫번째 요소 제거

x.unshift 배열의 첫번째에 요소 추가

x[x.length] ="d"; 배열x에 d 요소 추가

delete x[0] 첫번째 요소 삭제

x.splice(2, 0, "a", "b") 시작점,삭제할 배열 수, 추가할 배열

a.concat(b) a와b배열을 연결

x.slice(1) 두번째 배열부터 표시

.sort(function(a, b){return b-a}); 내림차순

.sort(function(a, b){return a-b}); 오름차순


JavaScript 조건문(if ...else)

if문 if (condition) { if condition is true/code }

else문 if문이 거짓일 때 실행

if a{ } elseif { } else{ };


switch문 case중 일치하면 선택 불일치시 break, 다음case 체크

ex) switch(x) { case a:~ break, case b:~ break, default:~ }


JavaScript 디버깅 (debugging)

디버거 창에서 자바스크립트 표시 console.log() 사용

debugger; 사용시 다음코드 실행 중지




+ Recent posts