WEB개발이야기 2020. 6. 30.
javascript에서 동적으로 변수를 만들 수 있는 eval()
javascript로 프로그래밍을 하다가 보면 변수를 동적으로 생성하거나 변수와 텍스트를 결합해서 다른 변수를 생성해야 할 경우가 있습니다. 그냥 서로 합친다고 새로이 변수가 생성되는 것이 아니고 eval()라는 함수를 이용해야 합니다. eval() 함수eval()의 괄호 안에 들어 있는 모든 내용을 스크립트로 인식을 합니다. 사용법 var key = "nara"; eval("var haha" + key + "= 100"); console.log(hahanara) => 100위의 코드 처럼 문자열처럼 변수를 생성할 수 있습니다. hahanara 변수를 확인해 보면 결과 값은 100이 표시됩니다. 객체의 key값을 변수 형태로 사용하기또하나는 객체를 사용할때 애를 먹었던 건데.. 객체의 key값을 기본적으..
WEB개발이야기/Vue.js 2020. 6. 12.
Vue.js에서 Vue-infinite-loading으로 firebase(firestore) 데이터 불러오기
Vue로 웹페이지나 모바일 페이지를 제작할 때 대부분 데이터베이스를 연동해서 불러와 사용하게 됩니다. 트래픽이 많지 않거나 용량을 많이 사용하지 않을 경우 또는 개발자가 테스트용으로 개발을 할때 Google의 Firebase는 매우 유용한 서비스 입니다. 사용량이 많지 않다면 무료로 사용을 할 수 있으닌까요. 만약 게시판의 리스트 형태로 데이터를 보여 줄 경우 일반적으로 페이지를 나누어서 데이터베이스에서 긁어와서 보여주는 것이 일반적입니다. 하지만 요즘 트랜드나 모바일에서는 옛날처럼 페이지를 나누는 것이 아니라 리스트의 가장 아래쪽으로 이동 했을 때 다음 페이지를 불러와서 보여주는 식으로 많이 구현을 하고 있습니다. 그런 것을 보통 infinite-scroll 또는 infinite-loading 이라고 ..
WEB개발이야기/Vue.js 2020. 6. 11.
vue.js가 객체변수의 변화 감지를 못해 깊은 빡침이 있을 때 해결방법
근래의 javascript가 좋아진 이유 중 하나는 ajax와 더불어 실시간 데이터의 변화를 감지해서 바로바로 적용해 주는 것 입니다. vue.js도 그중에 하나라고 할 수 있습니다. vue.js는 data로 선언된 객체변수를 computed나 getters를 사용해서 조건에 부합하는 데이터를 실시간으로 filtering해서 가져올 수 있습니다. 예를들면 아래와 같습니다. data() { return { todos: [ { id: 1, name: '...', age: '...', sex: '...', done: false}, { id: 2, name: '...', age: '...', sex: '...', done: true} { id: 3, name: '...', age: '...', sex: '.....
WEB개발이야기/Git 2020. 5. 15.
오픈소스인 Gitlab의 가격정책(라이선스 정책)
Gitlab은 설치형 GIt서버로 상당히 유명하고 유용한 도구입니다. Gitlab의 CE(Community Edition)는 오픈소스로 무료로 사용할 수 있지만 EE(Enterprise Edition)는 유료로 구매를 해야 사용할 수 있습니다. Gitlab홈페이지에 접속해 보면 모든 것이 영어로 되어 있어서 한쿡인이 보면 뭐가 뭔지 이해하기 쉽지 않을 것 같아 간단하고 쉽게 전체적인 설명을 요약을 해 볼까 합니다. Gitlab은 서비스형이야? 아니면 설치형이야?처음 Gitlab 홈페이지에 접속을 하면 프로그램 Download 버튼부터 찾는데, Download 버튼을 클릭해서 들어가 보면 이걸 다운로드 하라는 건지 회원가입을 하라는 건지 헛갈리게 되어 있습니다. 다운로드 화면에 접속을 하면 정말 우리를 실..
WEB개발이야기/Git 2020. 5. 11.
gitlab DATA 저장폴더(git-data)를 다른 위치로 변경하는 방법
Gitlab 서버를 설치하고 바로 DATA저장소 위치를 적절한 곳으로 설정한다면 아주 간단한 문제입니다. 그냥 gitlab.rb에서 git_data_dirs({"default" => { "path" => "/var/opt/gitlab/git-data" }})의 위치만 변경해 주면 되기 때문입니다. 하지만… 큰 문제는 미처 DATA저장소 위치를 변경하지 않고 운영을 하던 중 늦게 실수를 깨닫게 된 경우 입니다. "지금까지 열심히 쌓여있는 DATA는 어떻게 되는거지!!! 아!! 어떡하지.. 어떡하지…"이런 탄식이 절로 나옵니다. 제가 그랬으닌까요 ㅠㅠ저는 불행히도 에러를 만나고서야 무언가 잘못되었다는 것을 알게 되었습니다. 클라우드를 사용하고 있었는데 시스템이 설치되어 있는 작은 용량의 드라이브에 많은 데이..
WEB개발이야기/Git 2020. 5. 7.
gitlab에서 push오류가 발생할 때 해결하는 방법
gitlab을 사용하다가 회원의 권한을 Developer로 설정했음에도 불구하고 push할 때 git did not exit cleanly (exit code 1)와 같은 오류 메시지를 내뱉을 때가 있습니다. 순간 당황하겠지만 아래의 내용을 보시면 한줄기 빛과 같은 희망을 만날 수 있습니다. gitlab의 권한체계를 보면 Guest, Reporter, Developer, Maintainer, Owner* 의 5개 권한을 운영하고 있고 push는 보통 Developer, Maintainer, Owner*의 권한에 대해서 가능합니다. 그러나 프로젝트에 따라 Developer도 안되는 경우가 있는데 아래의 설정으로 해결을 할 수 있습니다. 프로젝트 Push 설정 설정 > 저장소를 선택합니다. Protected..
WEB개발이야기/Vue.js 2020. 4. 8.
Vue에서 moment사용하기 (feat. vue-moment)
자바스크립트에서 거의 표준으로 사용되고 있는 날짜관련 라이브러리인 Moment를 Vue에서 쉽게 사용할 수 있는 라이브러리가 있습니다. vue-moment는 Vue에서 필터 형식으로 Moment를 사용할 수 있게 해 줍니다. 설치하기설치는 아래와 같이 패키지 형태로 설치합니다. npm 패키지로 설치할 경우는 아래의 명령어로 설치하세요. $ npm install vue-moment --save또는 yarn 패키지로 설치할 경우는 아래의 명령어로 설치하시면 됩니다. $ yarn add vue-moment사용하기사용하는 법은 간단합니다. 일단 해당 라이브러리를 불러와서 선언해 준다음 HTML에서 필터형태로 사용하면 됩니다. 먼저 아래와 같이 로딩 후 선언을 해 줍니다. import Vue from 'vue' ..
WEB개발이야기/VScode 2020. 4. 1.
[Extensions] VScode에서 이미지 캡쳐를 슬기롭게 사용하는 방법(feat. Paste Image)
저는 블로그 글을 VScode에서 마크다운(Markdown)을 이용하여 작성을 합니다. 그때 자주 사용하는 것이 스크린캡쳐 받은 이미지를 저장하고 링크를 거는 것입니다. 크게 어려운 작업은 아니지만 이미지가 많을 경우 여간 성가신 것이 아닙니다. 이런 불편함이 나뿐만이 아닌지 누군가 익스텐션으로 개발을 해 놓은 것이 있어 소개합니다. 이름에서도 알수 있듯이 클립보드에 저장되어 있는 이미지를 붙혀넣기 하는 것이 주요 기능입니다. 현재 46,438건의 다운로드가있었고 24명이 5점의 평점을 주었습니다. 익스텐션이 훌륭하다는 뜻입니다. ^^ Paste Image 기본 사용법 설치하는 방법은 간단하기 때문에 생략합니다. 1. 내PC에서 이미지 복사하기 먼저 내PC의 이미지나 웹브라우저의 이미지를 Ctrl+C나 ..
WEB개발이야기/웹퍼블리싱 2020. 3. 27.
Font Awesome 5를 슬기롭게 사용하는 방법
웹사이트를 개발하다 보면 아이콘이 필요한 경우가 많습니다. 인터넷을 찾아보면 다양한 방법과 형식으로 무료로 제공해 주는 웹사이트가 많이 있는데요. 그중에서도 가장 많이 사용되는 폰트어썸(Font Awesome)이라는 웹사이트가 있습니다. 예전에는 사용하는 방법에 대해서 이해하기도 쉽고 사용하기도 쉬웠는데 Font Awesome 5로 업데이트되면서 사용법이 상당히 복잡해 졌습니다. 그러면.. 복잡해져서 나빠진 것이냐? 하면 그렇지 않습니다. 잘 알고 슬기롭게 사용하면 이전 버전보다 더 좋아지고 더 많은 플랫폼을 지원하고 있다는 것을 알게 됩니다. 사실 폰트어썸에서도 먹고 살아야 하니 유료화 정책을 적용하기 위해 복잡해진 것도 없잖아 있습니다. ^^; 웹사이트에 폰트어썸(Font Awesome 5) 적용하기..
WEB개발이야기/Vue.js 2020. 3. 24.
Vue.js와 NativeScript로 앱개발을 하기위한 환경 세팅하는 방법
Vue.js로 스마트폰 앱을 개발할 때 가장 많이 사용하는 것이 아마도 네이티브스크립트(NativeScript)일 것입니다. 그냥 웹을 개발하는 것과 달리 모바일 앱을 개발할 때는 JDK나 SDK등 여러가지를 설치하고 세팅하는 것이 헷갈리고 번거로울 수 있는데 그 환경 세팅을 하는 것에 대해서 포스팅하려고 합니다. 사전설치 장비는 Windows 10과 갤럭시 S10을 기준으로 설명하도록 하겠습니다. Chocolatey 설치 Chocolatey는 Windows용 패키지 관리툴이라고 보시면 됩니다. 리눅스나 맥OS는 패키지 관리툴을 많이 사용하지만 Windows는 패키지 관리툴이 있는지도 잘 모르는 사람들이 많습니다. 쉽게 설명하면 보통 윈도우에 프로그램을 설치하려면 웹사이트에 접속해서 설치프로그램을 다운로..
WEB개발이야기/VScode 2020. 3. 17.
[Extensions] VScode에서 코멘트를 슬기롭게 사용하는 방법 (feat. Better Comments)
VScode를 사용할 때 유용한 익스텐션(Extensions)을 소개해 드리겠습니다. 이번에 소개할 익스텐션은 Better Comments입니다. 현재 72명에게 별5개 추천을 받고 있으니 어느정도 입증이 됬다고 볼 수 있겠네요. Better Comments 소개 코딩을 하다보면 반드시 주석을 달게 되는데요. Better Comments는 코드의 주석(코멘트)를 좀더 직관적으로 볼 수 있게 특정 특수문자에 대해 색상으로 설명을 볼 수 있게 해주는 기능을 합니다. 위의 이미지에서 주석 부분만 참고하면 됩니다. 주석표시 뒤에 특수문자에 따라 그 줄의 색상이 구분되어 집니다. * 문자 : 초록색으로 표시 - 일반 정보 ! 문자 : 빨간색으로 표시 - 중요한 주의사항 ? 문자 : 파란색으로 표시 - 궁금한 사항..
WEB개발이야기/Git 2020. 3. 12.
Git Flow 개념 이해하기
Git으로 협업을 하는 것이 매우 좋다라고는 알고 있으나 실제로 서로 다른 그 사람들이 어떻게 각자 작성한 코드를 합치고 배포하는지가 궁금해 졌습니다. Git-flow 이해하기 Git-flow는 Git이 새롭게 활성화되기 시작하는 10년전 쯤에 Vincent Driessen이라는 사람의 블로그 글에 의해 널리 퍼지기 시작했고 현재는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론입니다. 말하자면 Git-flow는 기능이 아니고 서로간의 약속인 방법론이라는 점입니다. Vincent Driessen도 언급했듯이 Git-flow가 완벽한 방법론은 아니고 각자 개발 환경에 따라 수정하고 변형해서 사용하라고 언급했습니다. Git-flow는 총 5가지의 브랜치를 사용해서 운영을 합니다. master : 기준..
WEB개발이야기/Git 2020. 3. 11.
그림으로 보는 Git의 개념 이해하기
Git은 Svn 이후로 현재 가장 많이 사용되어지는 형상관리 툴입니다. 위키백과를 보면 아래와 같이 정의를 하고 있습니다. 깃(Git /ɡɪt/)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원한다. 위키백과 참조 처음 Git을 접할 때 그 개념을 이해하는데 어려움이 많습니다. 그래서 간단하게 기초적인 이해를 그림으로 설명해 볼까 합니다...
WEB개발이야기/Git 2020. 3. 10.
Git GUI 소스트리(SourceTree) 설치방법과 사용방법
멋찐 개발자 같은 경우 검정 화면에 하얀색 글씨로 타이핑을 치며 Git 명령어를 실행시킬텐데요. 그게 멋지긴 하지만 편한 형태는 아닙니다. Git을 좀더 편하게 사용하기 위해서는 Git GUI(Graphic User Interface)를 사용하는 것입니다. Git GUI 중 대표적인 툴이 바로 소스트리(SourceTree) 입니다. SourceTree 설치하기 먼저 소스트리(SourceTree) 홈페이지에 접속합니다. 소스트리(SourceTree) 홈페이지 바로가기 홈페이지에 접속을 하면 다운로드를 받을 수 있는 버튼이 보입니다. 소스트리는 윈도우즈와 Mac OS를 지원하고 있으므로 원하는 시스템의 파일을 다운로드 받으면 됩니다. 다운받은 설치파일을 실행시킵니다. 설치는 아무나 할 수 있는 것은 아니고 ..
WEB개발이야기 2020. 3. 5.
코딩을 위한 최적의 폰트 Naver D2Coding Font
한국의 개발자인 경우 코딩을 할때 한번쯤 고민했던 부분이 있을 것입니다. 오로지 영문으로만 코딩을 하는 경우 Consolas, Courier New 같은 영문 코딩폰트를 사용하면 되지만 한글이 섞여 버리면 글자의 미세한 차이 때문에 코딩하기가 여간 찜찜한 것이 아닙니다. 자간도 밀리고 폰트도 이쁘지 않고 크기도 안맞고.. 기존에는 Hack이라는 오픈소스 폰트를 사용했었는데, 지금은 아무래도 한글에 대해서 잘 알고 개발한 네이버의 개발 전용 폰트, D2Coding Font을 사용하고 있습니다. 한글 코딩 폰트라고 하면 일단 특수문자, 숫자, 영문, 국문에 대해서 가독성이 좋아야 하고 글자의 폭도 동일하게 고정되어 있어야 합니다. Naver D2 coding font는 한글, 영문자 및 확장자 332자에 대..
WEB개발이야기/Git 2020. 3. 4.
Git으로 프로젝트 개발 할 때 작업 순서
Git으로 형상관리를 하며 작업을 할 때 여러가지 방법과 기능이 있지만 보편적으로 사용하는 순서에 대해서 포스팅하겠습니다. Git에 관한 기타 다른 정보는 해당 카테고리를 찾아 보시면 됩니다. Git 카테고리 바로가기 순서 순서는 사람마다 조금씩 다르긴 하지만 제가 주로 사용하는 방법은 아래와 같습니다. 한번만 하는 명령어 GitLab(또는 Github) 사이트에 프로젝트 저장소 만들기 Git 사용 선언 또는 원격 저장소에서 Clone 해오기 ( git init 또는 git clone ) 내 로컬PC와 원격 저장소 간 링크 연결하기 ( git remote ) 반복적으로 하는 명령어 코딩 작업하기 코딩 파일 중 내가 관리하고 싶은 파일로 선정하기 ( git add ) 기능 별 선정한 파일을 한 묶음으로 만..
WEB개발이야기/웹퍼블리싱 2020. 2. 29.
DOM의 변화를 감시하는 javascript MutationObserver
Tistory같은 경우 스킨을 만들때 내가 모든 Event를 통제 할 수 없기 때문에 DOM의 변화를 감지하는 javascript 장치가 필요합니다. 옛날에는 DOMSubtreeModified 를 많이 사용했었지만 DOMSubtreeModified을 잘못 사용하면 무한루프에 빠지기 떄문에 성능을 저해해서 DOM 이벤트 표준에서 지원이 중단되었습니다. 그래서 대체로 사용할 수 있는 것이 MutationObserver입니다. MutationObserver 는 DOM의 변화를 감시합니다. 기본 사용법 가장 기본적인 사용법은 아래와 같습니다. 상세한 설정은 config를 통해 할 수 있습니다. // 1. 대상 선정 var target = document.getElementById('some-id'); // 2...
WEB개발이야기/Git 2020. 2. 26.
[Gitlab Error] you are not allowed to push code to protected branches on this project 에러
Gitlab을 설치하고 혼자만 사용할 때는 없던 문제였는데 여러 명과 같이 사용하게 되면서 발생한 에러가 있습니다. Clone, Pull, Commit까지는 모두 문제없이 사용이 가능한데.. Push로 서버에 올릴려면 에러가 발생하는 경우 였습니다. 문제 발생 이런 화면이 나오면서 you are not allowed to push code to protected branches on this project 메시지를 토해 냅니다. 문제 원인 문제의 원인은 이 저장소의 해당 브런치에 업로드(Push)를 할 수 있는 권한이 없다. 라는 뜻입니다. 다시 말하면 권한의 문제 입니다. 혼자 사용 할 경우는 본인이 Owner이기 때문에 문제없이 Push가 되지만 새로 생성된 사용자인 경우는 대부분 권한이 Guest,..
WEB개발이야기/웹퍼블리싱 2020. 2. 10.
jquery로 높이(height)와 넓이(width)를 측정하는 모든 방법
jquery가 정점을 찍은 후 지금은 Angular, react, vue에 의해 퍼블리싱 업계에서 조금씩 힘을 잃어가고 있긴 하지만 아직까지 현장에서 가장 많이, 그리고 요긴하게 사용되고 있는 기술임에는 틀림없습니다. 그중에서 가장 많이 사용되는 Function중 하나가 element's(요소)의 높이와 넓이 값을 알아내거나 세팅할 때 매우 편리하게 사용할 수 있는 height(), width() 가 아닐까 합니다. 쉽지만 헷갈리기 쉬운 element's(요소)의 높이(height)와 넓이(width)를 측정하는 방법을 소개하려고 합니다. 사전 지식 이것을 설명하기 전에 element's(요소)의 크기 값에 영향을 미치는 구성방식을 간단히 설명하면 아래와 같습니다. div 요소가 있다고 하면 내부의 여백..
WEB개발이야기/Git 2020. 2. 6.
Git 최초 사용 시 내 로컬 PC에 반드시 해야 할 사전 작업
Git server는 누군가(관리자)가 설치했고 사용자 입장에서 Git을 처음 사용한다고 했을 때 내 로컬 PC에 설치하거나 숙지해야 할 사항에 대한 내용입니다. 내가 참여하고 있는 프로젝트에서 Git으로 버전관리 한다고 하면 어떤 것을 어떻게 해야할지 난감한 사람이 있을 것입니다. 그런 Git에 대해 생판 모르는 초보자들을 위한 글이다 생각하시면 될것 같습니다. 깃(Git /ɡɪt/)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서..
WEB개발이야기/Git 2020. 1. 29.
gitlab에서 한국어 설정 방법
Gitlab은 기본으로 영어로 보여집니다. 서비스형 gitlab.com도 설치형 gitlab도 모두 그렇습니다. gitlab는 멀티랭귀지를 지원하기 때문에 한글로 쉽게 설정 할 수 있는데요. 그 설정하는 위치가 알고 나면 쉽지만 모르면 참 찾기 어려운 곳에 있습니다. 설치형 gitlab과 서비스형 gitlab 모두 동일한 방법으로 변경할 수 있습니다. 멀티랭귀지는 사용자 개별로 지원된다. 일단 이 개념부터 가져야 합니다. 저는 설치형 gitlab서버를 설치하면서 고생을 하며 알게 된 건데 당연히 서버 전체에 대해서 한글로 바꾸려고 계속 gitlab의 서버 설정(Admin Area)만 찾고 있었습니다. 하지만 서버는 기본적으로 "거의 대부분의 언어를 지원한다".이고, 가입한 회원이 "난 한국어를 쓸거야"~..
WEB개발이야기/Git 2020. 1. 28.
리눅스(CentOS7) 서버에 방화벽(firewall)을 활용하여 특정 IP만 접근하게 하는 방법
회사 내부용으로 리눅스 서버로 돌릴 경우 특정사용자만 해당 서버에 접근 하도록 해야 할 필요가 있습니다. 여러가지 방법이 있겠지만 가장 간단한 방법은 방화벽으로 특정 IP외에는 모두 막아버리는 방법이 있습니다. Firewall을 설치하고 설정하는 방법을 간단히 기록해 두려고 합니다. Firewall 상태 확인하기 현재 firewall이 구동되고 있는지 죽어있는지 먼저 확인 합니다. firewall-cmd --state 현재 실행 중이면 running, 실행 중이 아니면 not running을 출력합니다. 시스템(CentOS) firewall 설치 보통 리눅스도 기본적으로 Firewall은 설치가 되서 나오기는 하지만 간혹 설치가 되어있지 않은 경우도 있습니다. 이렇때 firewall을 설치하는 방법입니다..
WEB개발이야기/Git 2020. 1. 28.
CentOS7에 gitlab ce 설치하기
리눅스 서버로 많이 사용하는 CentOS 7에 gitlab을 설치하는 방법을 Posting하려고 합니다. 먼저 공식 사이트에서 제공하고 있는 설치방법을 따르는 것을 권장합니다. 저는 그 가이드를 따라 설치하면서 주의해야 할 점이나 기억해야 할 점에 대해서 주로 작성하려고 합니다. 공식 사이트의 설치가이드는 아래의 URL을 참조하세요. 주의 할 점은 무료 버전인 ce(Community Edition)을 찾아서 설치해야 라이선스의 찜찜함 없이 설치할 수 있습니다. 그냥 공식사이트에서 설치가이드를 따라 설치하면 ee(Enterprise Edition)의 가이드를 먼저 보여주기 때문에 영어 울렁증이 있는 사람은 나도 모르게 ee버전을 설치하게 되어 있습니다. ce(Community Edition) 설치가이드 :..
WEB개발이야기/웹퍼블리싱 2019. 10. 4.
하드코딩의 완소 아이템 인 자동 코드완성 emmet을 아시나요?
하드코딩을 선호하는 프론트앤드 개발자에게 아주 중요한 도구가 하나 있습니다. 예전에는 스니펫(snippets)이라고도 불렀었는데 그 사용법이 제공자마다 조금씩 달랐었습니다. 하지만 언제부턴가 Emmet이 나오면서 자동완성 코드의 사용법이 어느정도 통일이 된 것 같습니다. Emmet이 도대체 뭐야? Emmet을 한마디로 요약하면 제목에도 나와 있듯이 약속된 형태의 카워드를 작성하고 변환키를 눌러주면 자동으로 코드를 완성시켜주는 툴킷이라고 할 수 있습니다. Emmet은 웹 개발자를 위한 필수 툴킷 이며 현재 출시되어 있는 많은 인기있는 텍스트 편집기에서 플러그인 형태로 제공되고 있습니다. Emmet을 통해서 HTML 및 CSS 작업 과정을 효율적으로 작업할 수 있습니다. Emmet.io 적용가능한 텍스트 편..
WEB개발이야기/웹퍼블리싱 2019. 10. 2.
이미지를 DIV 가로, 세로에 대해 가운데 위치시키는 방법
예전에 이미지를 정해진 크기의 DIV의 가로, 세로 기준으로 중앙으로 정렬시키는 방법에 대해 포스팅한 적이 있습니다. 원하는 DIV박스 안에 최적의 이미지 사이즈로 표시하기 이 방법보다 더 쉽고 간단한 방법을 찾아내어 다시 포스팅을 합니다. background image의 cover을 활용하는 방법입니다. HTML 구성 먼저 HTML로 구성해야 하는 코드입니다. 이미지를 감싸고 있는 DIV를 통해서 나와야 할 이미지의 크기를 설정하시면 됩니다. 그러면 이미지가 그 크기에 맞게 중앙 정렬이 됩니다.
WEB개발이야기/웹퍼블리싱 2019. 9. 30.
웹사이트에 구글 웹폰트 적용하기
예전에 비해 근래는 무료 웹폰트를 적용하기에 좋은 시절입니다. 예전에는 웹폰트 하나 적용하려면 지식도 많이 필요했고 폰트라이선스도 구매했었어야 했습니다. 하지만 지금은 무료로 제공되는 웹폰트도 많고 구글에서도 무료 웹폰트를 온라인으로 서비스하고 있어서 쉽게 적용 할 수 있습니다. 구글폰트에서 웹폰트 확인 및 코드 획득하기 먼저 구글 폰트 웹사이트에 접속합니다. 구글 폰트 웹사이트 구글폰트 웹사이트에 접속합니다. 한글 폰트를 적용하기 위해서 Language 선택에서 Korean을 선택합니다. 폰트리스트 중 사용하기 원하는 폰트를 선택합니다. 선택된 폰트는 우하단에 저장됩니다. + 버튼을 클릭하면 장바구니에 저장됩니다. 폰트 용량 자체가 크기 떄문에 폰트 굵기 종류가 1개 추가 될 때마다 용량이 많이 증가하..
WEB개발이야기/웹퍼블리싱 2019. 9. 30.
javascript로 드레그가 가능한 HTML 요소 만들기
javascript로 HTML의 DIV를 드레그할 수 있게 하는 간단한 기능 구현입니다. 이와 비슷한 기능은 jquery UI에서 제공해 주고 있긴 하지만 드레그 기능 하나 구현하겠다고 jquery UI를 붙히기는 웬지 손해 보는 느낌입니다. 바닐라JS로 구현하는 코드와 설명입니다. HTML 먼저 간단하지만 HTML 구성요소 입니다. CSS CSS도 간단하게 구현합니다. 마우스가 해당 요소에 올라가때 화살표 마우스 표시가 이동이 가능한 표시로 바뀜니다. #dragdiv { cursor: move; } javascript 핵심기능인 javascript 코드 입니다. 바닐라JS로 구현 시 3가지의 단계로 구현이 되면 하나씩 설명을 하겠습니다. 마우스로 요소를 클릭 할 때 기능 구현 클릭한 요소를 움직일 떄 ..
WEB개발이야기/VScode 2019. 9. 16.
VScode 최고의 익스텐션 project Manager
VScode의 유용한 익스텐션인 프로젝트매니져-Project Manager를 소개합니다. 이 익스텐션은 개발 소스를 프로젝트 단위로 쉽게 관리하게 해주는 익스텐션입니다. 장점 제목에서도 알 수 있듯이 프로젝트를 매우 쉽게 전환 시켜주는 익스텐션입니다. 프로젝트의 구분은 보통 폴더단위로 구성되는데, 프로젝트를 변경하거나 생성하려면 폴더열기를 통해서 다른 프로젝트의 경로를 찾아서 열거나 해야하는데 프로젝트 매니저는 쉽게 버튼하나 누르면 변경을 할 수 있습니다. 또한 쉽게 사용할 수 있게 VScode의 좌측에 아이콘 버튼을 달아 놨습니다. Git, Mercurial, SVN repositiories는 자동으로 감지를 합니다. 사용법 간단하게는 좌측의 버튼을 사용하여 활용할 수도 있고 F1을 눌러서 명령실행줄을..
WEB개발이야기/VScode 2019. 9. 16.
VScode 최고의 익스텐션 Path Intellisense를 소개합니다.
안녕하세요. 반갑습니다. 이번에는 VScode의 익스텐션 중에 제가 사용해 본 것 중 괜찮다 싶은 것을 시리즈로 소개해 볼까 합니다. 첫번째로 소개할 것은 Path Intellisense입니다. Path Intellisense Path Intellisense는 VScode를 사용중에 파일이나 이미지 등의 경로를 지정할때 자동으로 경로를 선택해서 지정할 수 있게 해주는 아주 편리한 익스텐션입니다. 설치하는 방법은 따로 설명할 필요는 없겠지요? 저는 이미 설치한 상태입니다. Path Intellisense를 설치하고 몇가지 옵션이 있기는 하지만 설치하는 것으로 기본적인 작동을 합니다. 기준은 프로젝트 기준으로 작동을 합니다. 프로젝트는 해당 파일들이 모여있는 폴더라고 보시면 되고 그 폴더를 기준으로 상대경로..