일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 흐름 모드
- prisma
- node
- prisma 시간
- 번역
- 스트림
- javascsript
- node js
- nodejs
- node 스트림
- 자바스크립트 시간
- jsp
- Date
- 노드 스트림
- node stream
- 일시정지 모드
- java
- prisma timezone
- Spring
- 자바스크립트 시간 조절
- SESSION
- node.js
- 스트리밍
- 구현
- servlet
- tomcat
- javascript
- 동영상 스트리밍
- Stream
- Today
- Total
목록분류 전체보기 (17)
벤권의 개발자 이야기
MyBatis 란 MyBatis는 Sql Mapping Framework라고 표현 되는데 sql mapping 말그대로 sql과 객체를 매핑해준다는 의미이다. 쿼리 결과를 특정 클래스의 객체와 매핑해준다. MyBatis를 쓰면 생기는 이점 PreparedStatement/ResultSet의 처리 - 기존에 PreparedStatement를 통해서 파라미터를 하나하나 처리해야하고 ResultSet의 getXXX() 함수를 통해 일일이 쿼리 결과 데이터를 처리해야 하는 불편함 없이 알아서 MyBatis가 처리해주기 때문에 많은 양의 코드를 줄일 수 있다. Connection/PreparedStatement/ResultSet의 close()처리 - MyBatis를 사용하면 기존에 사용하고 직접 close할 필..
객체를 빈(Bean)으로 등록할 때 XML 설정을 통해 할 수 있기도 하고 어노테이션을 통해 간단하게 처리를 할 수 도 있다. 그렇다면 언제 XML 설정을 통해 하는 것이 좋고 어느 경우에 어노테이션으로 처리하는게 좋을까? 이에 대한 기준은 코드를 직접 수정할 수 있는가로 판단하면 된다. jar로 추가되는 클래스들은 직접 개발자가 수정할 수 없다. 따라서 이런 경우엔 어노테이션을 직접 추가할 수 없기 때문에 이런 경우에는 XML설정에서 직접 태그를 이용하여 처리하고, 직접 작성되는 클래스는 어노테이션을 이용하는 것 이 좋다.
DTO 와 VO 개발자의 성향이나 프로젝트 구조 혹은 여러 가지 이유로 DTO 와 VO를 둘 다 만들어야만 하는가에 대한 논쟁은 존재합니다. DTO와 VO를 별도로 작성하는 경우 코드의 양이 많아지고 불편하다는 의견도 많고 DTO를 VO로 변환하거나 반대일 때도 역시 상당히 번거로워 보이기 때문입니다. 그럼 어떤 방식이 맞는가? 위에서 말했다 시피 개발자마다 다르지만, DTO와 VO를 구분해서 만드는 방식이 더 나은 방법이라고 생각한다. 우선은 나중에 사용하게 될 JPA에서는 필수적이기 때문에 스프링에서도 DTO는 검증이나 변환에서 전혀 다른 애노테이션들이 필요하다. 항상 프로그래밍은 확정성을 염두하지 않으면 지금은 편해지지만 항상 생각해야하는 것이 확장성이라고 생각한다. 현재 서비스가 간단해서 DTO와..

req.setCharacterEncoding() 와 같이 한글이 깨지는 것을 방지하기 위해서 매번 POST 요청 마다 코드를 작성해 주어야 하거나 로그인 확인이 필요한 부분은 매번 같은 코드를 작성해주어야 한다. 하지만 필터를 이용하면 중복으로 코드를 작성하지 않고 해결할 수 있다. 필터(Filter) 필터는 단어 의미 그대로 특정한 서블릿,JSP 등에 도달하는 과정에서 필터링하는 역할을 위해서 존재하는 서블릿 API의 특별한 객체이다. @WebFilter 애노테이션으로 특정 경로에 접근할 때 필터가 동작하도록 설계하면 로그인 확인이나 인코딩 설정과 같이 동일한 로직을 중복으로 작성하지 않고 적용할 수 있다. 필터는 한 개 이상, 여러 개를 적용할 수 있다. 아래 코드는 UTF8 인코딩을 설정해주는 필터..

HTTP는 무상태 http는 기본적으로 클라이언트의 상태를 저장하지 않는 무상태이다. 그렇기에 적은 자원으로 여러 요청으로 처리가 가능한데 대부분의 서비스들의 서버에서는 클라이언트의 상태를 기억해야 하기 때문에 과거의 방문기록을 추적하는 세션 트래킹(Session Tracking) 기법을 사용해야 한다. 세션 트래킹(Session Tracking) http에서 세션 트래킹은 쿠키(Cookie)를 이용하는데 쿠키는 서버와 브라우저간에 주고 받는 일종의 문자열 데이터이다. key와 value값으로 이루어져 있다. 쿠키를 주고 받는 시나리오. 쿠키를 생성하는 방법 서버에서 쿠키를 생성할 땐 서버에서 자동으로 발행되는 것과 개발자가 짠 코드를 통해 발행하는 두가지의 방식이 존재 서버에서 자동으로 발행되는 쿠키 ..

JSP에서 POST로 요청을 보내고 컨트롤러에서 HttpServletRequest객체의 getParameter() 함수를 호출하여 파라미터 값들을 가져오면 한글의 경우 계속 깨졌다. 위 사진을 보면 title이라는 parameter의 value로 한글을 넣으면 이상한 문자가 표시되는 것을 알 수 있다. 단순히 콘솔 출력 문제가 아니고 실제 DB에도 동일하게 저장이 되었다. 자바 웹개발 워크북 저자의 카페에 질문을 하여 답변을 받아보았지만 큰 도움은 안되었고 받은 답변은 그냥 콘솔 출력 인코딩 값으로 보였다. 톰캣은 서블릿 개발자에게 doXXX 메소드를 통해 HttpServletRequest, HttpServletResponse 인터페이스를 제공 하는데 HttpServletRequsetFacade에 생성자..

자바 웹개발자 워크북을 공부중에 코드 (java, jsp)를 수정한 뒤에 갑자기 오류가 떴다. [톰캣서버 인스턴스 중지에러] 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다 을(를) 로드할 수 없습니다 라는 오류였다. 처음부터 떳던 것도 아니고 갑자기 떠서 언제 어디서 어떻게 발생한 건지 알 수없었지만, StackOverFlow에서 해답을 얻을 수 있었다. https://stackoverflow.com/questions/6981564/why-must-the-jdbc-driver-be-put-in-tomcat-home-lib-folder Why must the JDBC driver be put in TOMCAT_HOME/lib folder? I have a weird problem whe..
현재 나는 SI/SM이 주가되는 회사에 재직 중이다. 1년넘게 다니면서 프로젝트에 들어가서 프론트 개발도 해보기도 했고 현재는 팀에서 시스템을 운영하고 가끔 추가 개발을 한다. 개발을 한다고하면 Java를 이용한 백엔드 프로그래밍이라고 생각할 수 있지만 그 경우는 사실 많지 않고 현재 우리 시스템에서 중요한 Oracle PL/SQL 쪽을 오히려 많이 보고 개발을 하는 것 같다. 사실 나는 자바 백엔드 개발자가 되고 싶었지만 여차저차 달려오다 보니 자바 백엔드 개발자에서 멀어져 가는 것 같다. 프로젝트에서도 VueJS를 경험해본 적 있다는 이유로 3~4개월 정도 프론트엔드 개발을 하였고, 1년 넘게 자바 백엔드 개발다운 개발은 해보지 못한 것 같다. 그래서 내가 앞으로 자바 백엔드 개발자로써 업무를 할 수..