개요 User-Agent는 HTTP 요청시 헤더에 담겨 오는 정보로 요청 클라이언트의 디바이스 및 브라우저 정보를 담고 있다. 국제적으로 표준화되어 있지 않아 엄격히 관리되고 있지 않으며 어떤 값을 넣어도 상관없기 때문에 완전히 신뢰할 수 있는 데이터는 아니지만 간단한 통계 및 디바이스 특성에 따른 분기 처리에 있어 가장 기초가 되는 데이터이기도 하다. Java 진영의 User-Agent 파써 도구들 User-Agent 파써의 관건은 자체적으로 보유한 데이터베이스의 양이 중요하다. 현재 이순간에도 실시간으로 새로운 User-Agent 정보가 추가되고 있기 때문이다. 데이터베이스가 주기적으로 갱신되지 않으면 새로운 기기, 새로운 브라우저에 대한 감지가 되지 않을 가능성이 높다. user-agent-util..
개요 최근의 소프트웨어 개발 트렌드는 빌드시 명시된 중앙 저장소에 위치한 라이브러리를 다운로드 받아 프로젝트에 포함하는 편리한 방식으로 개발되고 있다. 이러한 관리 방법의 변화는 과거 DLL 지옥 또는 JAR 지옥의 공포로부터 개발자를 해방시켜 주었다. Java 진영에서는 빌드 툴인 Maven 또는 Gradle이 이러한 소프트웨어 의존성 관리 도구를 제공한다. 본 글에서는 Gradle 기반의 Java 프로젝트에서의 로컬 라이브러리에 대한 의존성 관리 방법을 설명하고자 한다. 중앙 저장소의 라이브러리 의존성 추가 Gradle에서는 Java 프로젝트 빌드시 포함할 외부 라이브러리는 아래와 같이 /build.gradle 파일에 외부 중앙 저장소와 라이브러리를 명시한다. 홈페이지에서 .JAR 파일을 다운로드할 ..
개요 이번 글에서는 Server-Sent Events(SSE)를 이용한 간단한 Maven, Servlet 3 기반의 Java 채팅 웹 애플리케이션을 구현해보고자 한다. Server-Sent Events란 무엇인가? Server-Sent Events(이하 SSE)는 HTTP 스트리밍을 통해 서버에서 클라이언트로 Push Notification을 할 수 있는 기술이다. HTML5 스펙에 명시된 표준 기술로 JavaScript 에서는 EventSource API를 이용하여 제어가 가능하다. Internet Explorer을 제외한 대부분의 브라우저에서 지원한다. 전통적인 웹 애플리케이션이라면 클라이언트의 요청에 대해 서버가 응답하는 방식이지만 SSE를 이용하면 별도의 복잡한 기술이 필요없이 HTTP 프로토콜을..
개요 지난 글에서 Maven, Servlet 3 기반의 Hello, World!를 출력하는 간단한 웹 프로젝트를 만들어봤다. 화면에 구구단을 출력하고 끝낼 것이 아니라면 웹 프로젝트는 데이터베이스와의 연동이 필수이다. 이번 글에서는 지난 글에 이어 데이터베이스 커넥션 풀을 구성하고 데이터베이스에 간단하게 질의한 결과를 화면에 출력하는 예제를 소개하겠다. 기본 프로젝트 구성은 지난 글을 참고한다. pom.xml 라이브러리 의존성 추가 ch.qos.logback logback-classic 1.1.3 com.zaxxer HikariCP-java6 2.3.7 compile com.h2database h2 1.4.187 org.sql2o sql2o 1.5.4 Don't Reinvent The Wheel, Unl..
- Total
- Today
- Yesterday
- node.js
- Kendo UI Web Grid
- Spring Boot
- 자전거
- Docker
- jpa
- Tomcat
- DynamoDB
- 로드 바이크
- Kendo UI
- JHipster
- 평속
- jsp
- spring
- Eclipse
- 로드바이크
- Spring MVC 3
- MySQL
- maven
- graylog
- chrome
- 구동계
- kotlin
- java
- 태그를 입력해 주세요.
- JavaScript
- jstl
- CentOS
- bootstrap
- 알뜰폰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |