그래들(Gradle) 빌드 시스템을 사용하면 외부 라이브러리 혹은 내부에서 사용하는 프로젝트나 라이브러리 모듈의 의존성을 쉽게 관리할 수 있습니다. 보다 자세한 Gradle의 의존성 관리 개념은 공식 사이트 가이드를 통해 익히시는 게 좋습니다. 이번 글에서는 Gradle을 사용하게 되면 필수적으로 알아야 하는 build.gradle 파일의 dependencies 설정에 대해 알아보겠습니다. 의존 유형을 알아야 한다. [ Dependency types ] build.gradle에서 사용되는 정의 중 가장 먼저 알아야 할 부분은 의존 유형(Dependency types)입니다. Gradle을 이용해 프로젝트에 의존성을 추가하려면 build.gradle 파일의 dependencies 블록에 implementa..
너에게 묻는다 연탄재 함부로 발로 차지 마라 너는 누구에게 한번이라도 뜨거운 사람이었느냐 반쯤 깨진 연탄 언젠가는 나도 활활 타오르고 싶을 것이다 나를 끝 닿는 데까지 한번 밀어붙여 보고 싶은 것이다 타고 왔던 트럭에 실려 다시 돌아가면 연탄, 처음으로 붙여진 나의 이름도 으깨어져 나의 존재도 까마득히 뭉개질 터이니 죽어도 여기서 찬란한 끝장을 한번 보고 싶은 것이다 나를 기다리고 있는 뜨거운 밑불위에 지금은 인정머리없는 차가운, 갈라진 내 몸을 얹고 아래쪽부터 불이 건너와 옮겨 붙기를 시간의 바통을 내가 넘겨 받는 순간이 오기를 그리하여 서서히 온몸이 벌겋게 달아 오르기를 나도 느껴보고 싶은 것이다 나도 보고 싶은 것이다 모두들 잠든 깊은 밤에 눈에 빨갛게 불을 켜고 구들장 속이 얼마나 침침하니 손을 ..
MongoDB는 NoSQL 데이터베이스로 JSON 형태의 데이터를 저장하는 도큐먼트 지향 데이터베이스입니다. MongoDB도 Mariadb처럼 도커(Docker)를 사용하면 손쉽게 설치해서 사용할 수가 있는데요. 이번 글에서는 도커(Docker)를 이용해서 MongoDB를 설치하는 방법에 대해서 알아보도록 하겠습니다. 도커가 처음이어도 이 글에서 정의된 명령문을 사용하면 쉽게 MongoDB를 설치해서 사용할 수 있습니다. tip. 도커(Docker)를 설치하지 않았다면 먼저 도커를 다운받자 도커를 설치하지 않으셨다면, 공식 사이트를 방문해 도커를 다운 받아 설치해주세요. 도커 설치 방법은 일반적인 응용 프로그램과 동일합니다. 운영체제 맞는 설치 프로그램을 다운 받아 실행을 시키시면 됩니다. Docker ..
도커(Docker)를 이용하면 손쉽고 빠르게 Mariadb를 설치해서 사용할 수 있습니다. Mariadb 뿐만 아니라 가상화되어 있는 수많은 이미지들을 컨테이너로 만들어 사용할 수 있습니다. 처음 도커를 사용하신다고요? 그래도 이 글에서 소개할 명령문만 있으면 헤매지 않고 Mariadb를 설치해서 쓸 수 있습니다. tip. 도커(Docker)를 설치하지 않았다면 먼저 도커를 다운받자 도커는 엑셀과 같이 운영체제 위에서 돌아가는 하나의 프로그램입니다. 그렇기 때문에 도커를 설치하지 않으셨다면, 공식 사이트를 방문해 도커를 다운하여 설치해주세요. 설치방법은 일반적인 응용프로그램처럼 다운로드 받아 실행을 시키시면 됩니다. Docker hub에서 Mariadb 이미지를 다운로드 받자 공식 홈페이지에서 도커를 다..
HTTP 쿠키는 웹 브라우저에 저장되는 작은 크기의 문자열로, HTTP 통신을 할 때 값을 주고받을 수 있도록 만들어진 보조적인 수단입니다. 기본적으로 HTTP 프로토콜은 상태가 없으며(stateless), 제한적이지만 쿠키를 이용해 값들을 주고받을 수 있게 정의된 개념입니다. 정확한 명세는 RFC 6265에 정의되어 있습니다. HTTP 쿠키의 정의를 알아보자. 쿠키(Cookie)는 브라우저와 서버 간에 지속적으로 유지할 수 있는 데이터를 제공함으로써, 상태를 가질 수 있도록 하는 HTTP 상태 관리 개념입니다. 쿠키는 주로 웹 서버에 의해 만들어집니다. 서버가 HTTP 응답 헤더(header)의 Set-Cookie에 내용을 넣어 전달하면, 브라우저는 전달받은 내용(데이터)을 저장하는데 이를 쿠키라고 이..
Failed to configure a DataSource 에러와 원인과 해결 방법 메시지 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to de..
바닐라 자바스크립트 (Vanilla Javascript)는 과연 무엇일까? 그리고 왜 필요한 걸까? 이 질문에 대해서 대답하기 위해서는 최근의 자바스크립트가 아니라 이전의 웹 생태계와 그 안에 있던 자바스크립트를 이해할 필요가 있다. 완전히 같다고는 이야기할 수 없지만 Java에 빗대어 보면 POJO (Plain Old Java Object)와 비슷한 맥락을 가지고 있다고 생각한다. 먼저 바닐라 스크립트가 어떤 것인지 알아보자 - Vanilla Javscript Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications. 바닐라 JS는 빠르고 가벼운 크로..
이번에는 HTML5를 기준으로 간단하게 회원가입 양식 템플릿을 만들어보겠습니다. 이전에 부트스트랩을 사용해서 회원가입 화면을 만든 적이 있는데요. 부트스트랩을 사용하지 않고 순수하게 HTML5만 사용해서 화면을 만들어 보는 것도 좋을 것 같아 이 글을 작성하게 되었습니다. 일반적으로 회원가입 양식에는 , , , , , 등 여러 가지 태그를 이용합니다. 하지만 이 글은 기본편으로 처음 회원가입 화면 개발하는 분이 쉽게 개발을 해볼 수 있도록 간단하게 , 만 사용해보았습니다. 시작하기 HTML5라는 단어를 써서 말은 거창해 보이지만 HTM5라고 해서 HTML과 다른 부분은 거의 없습니다. ". html" 파일의 선언 부만 위와 같은 구문을 명시하면 됩니다. HTML과 HTML5의 자세한 면면을 살펴보면 선언..
조금 늦게 기술 블로그 지표와 애드센스 수익 분석 글을 올립니다. 지난 2021.06월에는 7월 지표가 좋지 않을 것이라고 미리 예상을 했었는데요. 예측했던 것과 달리 블로그 지표가 나빠지지는 않았습니다. 약간 의외의 결과가 나와서 신기하기도 하고, 이전에 열심히 작성했던 글들이 인정받은 것 같아 기분이 좋기도 하네요. 7월 블로그 방문자 유입 분석 지난 6월에 블로그 방문객은 총 6,358명이었습니다. 7월의 블로그 방문객 수는 총 14,241명으로 6월과 비교하면 방문객이 7,883명이 늘어났습니다. 지표가 좋지 않을 거라는 예측이 완전히 빗나가고 2배 이상으로 방문객이 증가했습니다. 구글 검색으로 유입된 방문객도 6월 대비 6,819명이 늘어났습니다. 많은 분들이 블로그를 방문해주셨네요. 이 글을 ..
처음 트랙볼 마우스를 쓰게 된 계기는 아시는 분이 본인은 사용이 어려우시다며 로지텍의 M570 마우스를 선물로 주셔서입니다. 트랙볼 마우스를 사용하는 게 처음에는 어려웠지만 일주일 가량 적응 기간을 거치 고나니 일반 마우스보다 유용한 부분이 많다는 것을 느끼게 되었습니다. 이제는 트랙볼 마우스가 가진 편안함을 벗어날 수 없어 최근에는 켄싱턴 에르고 버티컬 트랙볼 마우스도 구매해서 사용하게 되었습니다. 이번 글에서는 로지텍의 M570 마우스 사용기를 통해 트랙볼 마우스 경험기를 이야기 해 보려고 합니다. 새로운 경험을 만들어주는 트랙볼 마우스 그리고 로지텍 M570 일반적으로 트랙볼 마우스를 접하게 되는 경우는 잦은 마우스 사용으로 손목이 아프거나 결릴 때 인터넷 검색을 통해서입니다. 그래서 보통 사무실에..
HTTP는 네트워크에서 클라이언트와 서버가 통신하는 규약(Protocol) 중 하나입니다. 이전에 웹에서 이야기하는 서버와 클라이언트에 대해 간단하게 정리한 적이 있는데요. 웹 개발을 배우게 되면 일반적으로 프로그래밍을 주요하게 다루지만, 프로그래밍만큼 중요한 내용이 바로 웹에서 사용되는 네트워크 개념입니다. 그래서 이번 글에서는 이 부분을 조금 더 구체적으로 이야기해볼까 합니다. HTTP 프로토콜은 왜 사용할까? HTTP(Hypertext Transfer Protocol)는 TCP/IP 위에서 돌아가는 통신 프로토콜입니다. 웹에서 클라이언트와 서버는 HTTP를 기반으로 통신을 하기 때문에 웹 개발자라면 기본으로 숙지해야 하는 개념이기도 합니다. 프로토콜이란 개념을 처음 접하셨다면 전문과 같은 규약 혹은..
블로그를 운영하는 이유는 여러 가지가 있지만, 그중에 가장 큰 이유는 글을 잘 쓰고 싶어서이다. 가끔은 생각을 정리하기 위해 글을 쓰고 싶을 때가 있는데 대체적으로 머릿속으로 생각하는 쓰고 싶은 글과 실제로 쓰고 있는 글은 매우 다르다. 그래서 이렇게라도 블로그를 운영하면 글 쓰기 실력이 늘지 않을까 하는 막연한 생각에 글 쓰기를 시작했다. 그런데 생각보다 쉽지가 않다. 무엇부터 어떻게 글을 써 내려가야 할지 막연하다. 어찌어찌해서 하고 있는 일을 주제로 삼기는 했는데, 기술적인 역량을 늘리기에는 나쁘지 않은 방법이지만 처음 목표로 했던 글쓰기 실력은 도통 나아질 기미가 보이질 않는다. 뭐 그뿐이라면 그러려니 하고 글을 쓰겠는데 그게 끝이 아니다. 막연히 글 쓰는 행위를 하기 위해 쓸데없는 주제를 글을 ..