본문 바로가기

Programing

(403)
[spring integration] TCP 연결시간 설정 버전 의존성 Spring boot Spring core Spring integration Jackson core 2.1.6 5.1.8 5.1.6 2.9.0 2.2.0 5.2.0 5.2.0 2.10.0 2.2.4 5.2.3 5.2.3 2.10.2 2.2.5 5.2.4 5.2.4 2.10.2 TCP 통신을 하는 것을 만들고 있는데, 아직 상대방 방화벽이 닫혀있는지 긴 타임아웃이 발생하였다. 기본 연결 대기 시간 이전에 timeout이 발생하게 하고 싶었다. AbstractClientConnectionFactory 에 정의되어 있는 기본 연결 타임아웃은 60초이다. 구현체에서 소켓을 만들때 getConnectTimeout() 이라는 메서드를 통해 값을 구해온다. 예) https://github.com/spri..
[Apache Lucene] Lucene의 의미는? 사실 사람의 이름이라 의미를 찾기는 어렵다. Lucene을 만든 Doug Cutting 의 아내의 미들네임이 Lucene인 것과 그의 아내의 할머니의 이름이 루씬이다. 출처: Barker, Deane (2016). Web Content Management. O'Reilly. p. 233. ISBN 1491908106
[python] BeautifulSoup 로 XML 처리하기 엄밀히 이야기 하면 XML은 아니나 마크업 문서를 처리하기 위함이다. from bs4 import BeautifulSoup with open("user.xml") as fp: soup = BeautifulSoup(fp, 'html.parser') body = soup.grid.body.b for ele in body.find_all("i"): print ele["name"].encode('utf8') 처리하다 발견한 예외 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) 관련내용: https://ourcstory.tistory.com/39 처리방법: .encode('utf8')
[python] Python의 버전 관리 툴 pyenv 설치 사이트: https://github.com/pyenv/pyenv homebrew가 설치되어 있으면 아래 명령으로 설치 가능 $ brew install pyenv 설치가 가능한 목록 확인 $ pyenv install -l Available versions: 2.1.3 2.2.3 ... 3.8.1 버전 설치 $ pyenv install 3.8.1 pyenv shell 먼저 사용을 위해서는 pyenv init 명령 수행이 필요하다. $ pyenv shell pyenv: shell integration not enabled. Run `pyenv init' for instructions $ pyenv init # Load pyenv automatically by appending # the following to..
[tomcat] HttpServletRequest.getHeader 헤더를 보면 가끔 대소문자를 가리지 않고 동작하는 경우가 있어서 확인을 해보았다. package javax.servlet.http; public interface HttpServletRequest extends ServletRequest { /** * Returns the value of the specified request header as a * String. If the request did not include a header of the * specified name, this method returns null. If there are * multiple headers with the same name, this method returns the first head * in the reque..
[Spring] mvc - DispatcherServlet 1부 서블릿과 스프링 MVC는 밀접하면서 독립적이다. DispatcherServlet 클래스는 HTTP 요청을 처리하는 중심 디스패처 클래스이다. DispatcherServlet 클래스는 아래와 같은 계층 구조를 가진다. Servlet 인터페이스 서블릿의 핵심은 요청과 응답이다. ServletRequest과 ServletResponse가 요청 및 응답을 추상화해놓은 인터페이스이다. public interface Servlet { // .. public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException; HttpServlet 추상 클래스 Servlet 인터페이스의 구현체인 HttpServlet 라는 ..
[Spring] SSE vs WebFlux WebFlux를 쓰지 않을 경우 스레드풀 방식에 의해 매 연결이 계속 연결이 될까 궁금했다. 코드 방법1. Tomcat, MVC 방법.2 Tomcat, WebFlux https://supawer0728.github.io/2018/03/15/spring-http-stereamings/ http://jmlim.github.io/spring/2018/11/27/spring-boot-schedule/ @EnableScheduling 크롬브라우저는 되는데 HttpPie는 -S 옵션을 붙여주어야 한다. 안그러면 마지막 응답 후 한꺼번에 결과를 보여준다.
[Spring] mvc 예외처리 스프링의 mvc에서 예외처리는 실무에서 보면 @ControllerAdvice 을 이용해서 많이 한다. 아래와 같이 밑바닥 부터 예외 처리기를 구현해도 무방하다. @RestControllerAdvice(basePackages = {"com.tistory.namocom.controller"}) public class NamoExceptionHandler { 하지만 편의를 위해 스프링은 미리 ResponseEntityExceptionHandler을 만들어놓았다. public abstract class ResponseEntityExceptionHandler { 추상클래스이므로 상속을 받아 사용이 가능하다. @RestControllerAdvice(basePackages = {"com.tistory.namocom...