전체 글(49)
-
[PostgreSQL] PL/Python
PL/Python을 이용하여 PostgreSQL의 데이터를 Python으로 다루거나 외부 데이터베이스의 데이터를 조회할 수 있다.# apt-get install postgresql-plpython3-13# psql -U admin postgrespsql (13.3 (Debian 13.3-1.pgdg100+1), server 13.15 (Debian 13.15-1.pgdg100+1))Type "help" for help.postgres=# CREATE EXTENSION plpython3u; 파이썬과 외부 모듈을 설치한다.PostgreSQL, Oracle 그리고 Trino에 접속하기 위해 라이브러리 설치# apt-get install python3 python3-pip python3-setuptools bu..
2024.12.06 -
[Spring] Migrating from HttpClient 4 to HttpClient 5 (for self-signed certificates)
기존 HttpClient 4 소스의존성 org.apache.httpcomponents httpclient 4.5.13 RestTemplate 설정package example.config;import lombok.extern.slf4j.Slf4j;import org.apache.http.client.HttpClient;import org.apache.http.config.Registry;import org.apache.http.config.RegistryBuilder;import org.apache.http.conn.socket.ConnectionSocketFactory;import org.apache.http.conn.socket.PlainConnectionSocketFactory;import or..
2024.12.04 -
[Spring] SiteMesh를 이용한 공통 레이아웃 처리하기
SiteMesh 프레임워크를 이용해 공통된 레이아웃을 효율적으로 처리해보자 SiteMesh 프레임워크를 이용하면 공통된 레이아웃을 분리하여 관리할 수 있다. Decorator 패턴을 사용하므로 작성한 HTML 코드에 공통된 레이아웃을 포장하는 방식이다(참고1). SiteMesh를 사용하기 위해 아래와 같이 pom.xml에 의존성을 추가한다. 123456 opensymphony sitemesh 2.4.2cs web.xml에 SiteMesh가 제공하는 PageFilter를 설정한다. url-pattern을 /*로 작성했으므로 모든 요청에 대해 필터가 적용된다. 12345678910 sitemeshPageFilter com.opensymphony.module.sitemesh.filter.PageFilter s..
2017.07.26 -
[Spring] @RequestMapping의 produces 속성
@RequestMapping의 produces 속성을 이용해 Response의 Content-Type을 제어할 수 있다 한국관광공사가 제공하는 TourAPI를 사용하면서 지역코드(area_code)로 지역명(area_name)을 조회하는 간단한 요청에서 encoding 문제에 부딪혔다. 아래와 같이 ajax 요청으로 areaCode를 보내면 서버에서 areaName을 return하는 식이다. 예를 들면, areaCode로 1을 보내면 서버는 "서울"을 응답해야 한다. 그런데 "서울"이 "??"로 출력되는 인코딩 문제가 발생했다. 1234567891011121314$(function() { $.ajax({ url: '/travel/getAreaName', method: 'get', data: {areaCo..
2017.07.22 -
[Spring] AspectJ 적용 시 NoClassDefFoundError, ClassNotFoundException 발생
AspectJ 적용 시 NoClassDefFoundError, ClassNotFoundException 에러 해결 아래와 같이 pom.xml에 1.8.10 버전의 AspectJ RunTime과 AspectJ Weaver 의존성을 추가하고, 특정 메서드가 실행될 때 세션에 유저의 ID가 존재하는 지 확인하는 애스펙트(Aspect)를 작성해 톰캣을 구동시키니 NoClassDefFoundError 이후 ClassNotFoundException이 발생하였다.123456789101112 org.aspectj aspectjrt ${org.aspectj-version} org.aspectj aspectjweaver ${org.aspectj-version}Colored by Color Scriptercs NoClass..
2017.05.22 -
[모델2] 단일 파일 다운로드 구현하기 (게시판 구현)
단일 파일 다운로드(Single File Download)를 구현해보자 WebContent/bbs.properties에 /download.bbs 요청과 요청을 처리할 DownloadImpl 클래스를 매핑해준다.123456789101112131415#bbs.properties/writeForm.bbs=com.edu.bbs.WriteFormImpl/write.bbs=com.edu.bbs.WriteImpl/list.bbs=com.edu.bbs.ListImpl/content.bbs=com.edu.bbs.ContentImpl/login.bbs=com.edu.bbs.LoginImpl/logout.bbs=com.edu.bbs.LogoutImpl/updateForm.bbs=com.edu.bbs.UpdateFormImp..
2017.05.01