본문 바로가기

분류 전체보기

(10)
[vue]커스텀 디렉티브 활용 서론 HTML 태그안에 v-model, v-for 같이 v로 시작하는 속성(attribute)을 디렉티브라고 합니다. 더 자세히는 v-model 같이 개발자가 따로 정의하지 않아도 vue에서 바로 쓸 수 있는 것들을 빌드인 디렉티브라고 하는데, 여기서는 개발자가 별도로 디렉티브를 정의해보고 사용하는 방법에 대해 알아보겠습니다. 목차 커스텀 디렉티브 만들기 커스텀 디렉티브 예시(입력값 제한하기) 업무효율을 높이는 방법 커스텀 디렉티브 만들기 1. 컴포넌트에 정의하기 (1) 컴포넌트 directives코드 작성 custom directive를 사용하려는 컴포넌트의 script 태그에 directive 키를 추가하고, 그 속에 오브젝트 형식으로 개발자가 사용하려는 directive를 정의합니다. 아래 예시는,..
[vue]라우팅 방식 이해하기 서론 프레임워크 vue는 SPA(Single Page Application) 방식을 사용합니다. Single page라는 말 그대로 화면에 표현되는 html 파일은 단 한개인데, 이 안에 보여질 화면 요소들을(Components) JS코드를 이용해 동적으로 보여주는 구조를 갖고 있습니다. 즉, 사이트 내에서 사용자가 다른 화면으로 이동하면, html은 그대로 있고, 사용자가 보려는 화면의 url정보를 인식하고 해당 url에 맞는 컴포넌트를 동일한 html파일 내부에서 보여주게 됩니다. 이러한 과정을 라우팅이라고 하며, url경로에 따라 보여질 파일을 (1) 사이트에 접속하자 마자 다운받아서 준비해놓을지 (2) 사용자가 요청하면 그때 서버에 요청해서 처리할지 (3) 사용자가 요청은 안했지만, 일단 브라우저..
[JavaScript]얕은 복사, 깊은 복사 이해하기 서론 코딩을 함에 있어서 꼭 알아야 될 개념이 얕은 복사(shallow copy)와 깊은 복사(deep copy)입니다. 문자열(string), 숫자형(number) 등의 자료형과 array 또는 object 같은 객체형 자료가 복사될 때의 차이점을 아시나요? 이 개념을 모르고 코딩을 한다면, 의도치 않게 데이터값들을 무자비(?)하게 훼손하는 코딩을 하고 있을 확률이 높고 언젠가는 미궁에 빠질지도 모릅니다. 여태까지 무탈했다면 그냥 운이 좋았던 겁니다. 목차 원시타입 자료형 vs 참조타입 자료형 콜스택과 힙메모리 얕은 복사 깊은 복사 원시타입 자료형 서론에서 말씀드렸던 string, number, boolean 과 같은 자료형들은 크기가 유한합니다. 예를 들어, 이름, 이메일 같은 문자열이나, 숫자같은 ..
[JavaScript] 웹 스토리지 알아보기 - local storage, session storage 서론 웹 개발을 수행하면서 데이터 저장이 필요할 때가 있습니다. 보통 이런 경우 서버DB 송수신을 쉽게 떠올리 실 텐데, 만약에 저장하려는 데이터가 크게 중요치 않고 사용자의 편의 등을 위해 가볍게(?) 쓰일 목적이라면 웹 스토리지 사용을 고려해볼만 합니다. 여기서, 웹 스토리지는 서버와 송수신 작업을 하지 않고 웹 브라우저 자체에 데이터를 저장하는 기술을 말합니다. 목차 로컬 스토리지(local storage) 세션 스토리지(session storage) 사용방법 로컬 스토리지 vs 세션 스토리지 위 서론에서 언급한, 웹 스토리지의 종류는 2가지로 나뉩니다. 로컬 스토리지와 세션 스토리지입니다. [공통점] 2개 모두 웹 스토리지의 주요 목적인, 서버와 송수신 없이 웹 브라우저 내에 데이터가 저장된다는 ..
[JavaScript] this 알아보기 서론 자바스크립트의 this는 다른 언어의 this와 달리 좀 변덕(?)스럽게 느껴질 수 있습니다. 어디서 어떻게 쓰이냐에 따라서 개발자의 생각과는 다른 녀석을 가르키고 있을 수 있거든요.이번 블로그에서는 자바스크립트의 this가 어떻게 작동하는 지 그리고 주의해야될 사례들에 대해 소개하며 this 교통정리 좀 해보도록 하겠습니다. 목록 기본사용 일반함수 객체 내 메소드로 사용될 때 콜백함수의 this 생성자 화살표 함수 이벤트 리스너 기본사용 자바스크립트에서 this는 대부분의 경우 함수가 어디서 호출되었는가에 따라 결정됩니다. 이 말은 this가 포함된 함수가 어디서 또는 어떻게 사용되느냐에 따라 가리키는 대상이 달라지게 된다는 걸 의미합니다. 이 내용이 this의 핵심이기 때문에 꼭 기억하셔야 됩니..
[JavaScript] Date 객체 서론 날짜, 시계열 데이터를 다룰 때 유용한 Date객체에 대해 알아보려합니다. 날짜는 정말 다양한 곳에서 사용됩니다. 가장 일반적으로 웹페이지, 어플리케이션 등에서 조회를 할 때도 사용되고, 시계열 데이터가 들어간 자료를 만들때도 활용됩니다. 제대로 정리를 해놓으면 저 스스로에게도 다시 찾아와서 참고할 수 있는 글이 될테니 꼼꼼히 적을 생각입니다. 아래 소개할 내용으로 Date 객체생성, 메소드(내장함수), 날짜표현 형식변경, 날짜계산 등에 대해 다룰 예정입니다. 목차 Date 객체 메소드 get메소드 : getFullYear(), getMonth(), getDate(), getDay(), getHour(), getMinutes(), getSeconds(), getMilliseconds() 날짜 For..
[JavaScript]for 반복문 정리(for, for in, for of, forEach) JavaScript 에서 빼먹을 수 없는 for 관련 반복문들의 소개 및 차이점을 소개합니다. 목차 for for ... in for ... of forEach 1. for 문 일반적인 형태의 반복문 입니다. 구조는 초기식, 조건식, 증감식을 포함하고 이에 따라 반복할 코드 블럭으로 구성되어 있습니다. // for-loop for (let i = 0; i < 5; i++) { console.log(i); } 주의할 점은 i의 값은 반복문의 증감식에 의해 변하게 되니 재할당이 가능한 let 선언자로 선언을 해야됩니다. 또한 증감식은 for문 블록 내 코드내용이 실행된 이후 그 다음 실행됩니다. 즉, for문의 동작원리는, 반복문의 초기식을 가지고 코드내용이 실행되면, 이후 증감식이 실행되고, 반복문 내 변..
[CSS] CSS 단위 - %, em, rem, vw, vh 속성 알아보기 서론 웹 페이지를 이용하는 사용자들은 데스크탑, 모바일, 태블릿 PC 등 다양한 기기환경에서 접속을 합니다. 그렇기에 웹페이지 요소들 크기에 고정된 절대값인 'px'값으로 주게되면, 모든 기기에 개발자가 의도한 최적의 디자인을 보여주기 어렵습니다. 이때 요소의 크기를 "상대적인 크기"로 정의하는 속성을 사용하면 유용합니다. 목차 % 속성 em 속성 rem 속성 vw, vh 속성 1. % 속성 크기를 %로 입력하게 되면, 부모의 크기를 기준으로 따라가게 됩니다. 예를 들어, 아래 예시와 같이 부모태그의 크기가 20px일 때, 자식태그의 크기를 50%로 준다면 자식태그는 10px로 표시됩니다. parent child 아래는 결과물을 보면 글자태그 뿐만 아니라 박스크기의 속성도(heigt, width) 부모태..
[HTML] Image-map을 활용한 직관적 하이퍼링크 화면 만들기 서론 IKEA 홈페이지를 보면 아래와 같이 컨셉을 갖고 꾸며진 인테리어 내부사진이 있습니다. 이케아 같은 사이트의 경우 대부분의 사이트 이용자가 집안 내부를 꾸밀 가구나 소품에 관심을 갖고 있을 확률이 높은데요. 홈페이지에 개시된 사진을 통해 사용자는 가구와 소품들을 어떻게 꾸밀지에 대한 아이디어나 영감을 얻을 수 있고, 본인도 저렇게 꾸미고 싶다는 생각을 갖게 만듭니다. 만약, 여기에 위 사진 속 아이템을 찾아서 일일이 검색창을 두들겨야 되는 번거로움 없이, 사진 속 아이템을 클릭하면 자동으로 상세페이지로 넘어가는 UI를 구성한다면 어떨까요? 안그래도 구매자의 구매욕구가 높은 상태에서 구매행위의 수고로움 까지 덜어준다면 회사 매출 증대에 기여할 가능성이 높습니다. 이와 같은 마케팅 전략을 구상한다면 I..
[HTML] 시멘틱 태그(Semantic Tag) 왜 쓰나요? 시멘틱 태그(Semantic Tag)? 시멘틱 태그란 의미를 갖고 있는 태그를 의미합니다. 그럼 이 의미를 갖는 다는 게 무슨 말일까요? 예를 들어, 두꺼운 글씨를 표현하기 위한 방법으로 아래와 같이 3가지가 있습니다. 여기서 맨 마지막 줄이 시멘틱 태그 을 사용한 예입니다. 1. 볼드체 2 .볼드체 3. 볼드체 그리고 그 결과는 아래 사진과 같습니다. 구분이 되시나요? 디자인적으로 보기에는 전혀 차이가 없습니다. 그럼에도 시멘틱 태그를 사용하는 이유는 시각적, 디자인적으로 보이는 부분은 같지만 프로그래밍 관점으로 볼 때는 명확히 구분이 되기 때문입니다. 위에서 말했듯이, 은 강조의 의미를 갖고 있는 태그입니다. 쉽게 얘기해서, "컴퓨터한테 강조하는 문구를 찾아보세요"라고 물어보면 "컴퓨터는 3.볼드체 ..