공부/web17 [Spring] Spring Scheduler 현재 회사에서 사용하는 배치 프로그램들이 개발자마다 다른.. 방법으로.. 만들어져 있어서 이번에 개선을 하기로 했다.Spring의 Spring Scheduler와 MyBatis로 일괄 적용을 하기로 했는데,이왕 적용 하는김에 정리도 같이 해보려고 한다. Spring Scheduler란?Spring framework에서 제공하는 스케줄러Spring3버전 이상의 환경에서 사용할 수 있다. Spring Scheduler 적용 applicationContext.xmlScheduler를 사용하기 위해 task를 추가해준다.x ... @Schedule, @Async 어노테이션을 활성화시켜준다.xml이 아닌 java config를 사용한다면 아래와 같이 어노테이션으로 작성하면 된다.xxxxxxxxxx@Configu.. 2020. 3. 11. [Spring] Http 요청 파라미터 Annotation 스터디 진행 중 백엔드 구현내용에 대해 코드리뷰를 진행하다가 컨트롤러단 설명중 어느분이 물어보셨다."왜 저 메소드에서 ModelAttribute 어노테이션을 쓰셨나요?"나는 백엔드 파트가 아니었어서 듣기만 했지만 내심 궁금해졌다. 나도 그냥 쓰던대로 잡히는대로 썼던 것 같은데,어노테이션 각각의 장단점을 정리를 해보아야겠다고 생각했다. @PathVariablexxxxxxxxxx // TODO select item/* 기본 포맷 */@RequestMapping("/item/{id}")public String getItemName1(@PathVariable String id) { // TODO select item}/* value 사용 * @PathVariable(value="id") or @PathVari.. 2019. 12. 20. 게시글 SNS로 공유 및 클립보드에 복사하기 게시글 SNS로 공유 및 클립보드에 복사하기 웹 애플리케이션의 게시판에 올린 게시글을 공유해야 하는 경우가 있다. 홍보의 이유건, 공유의 이유건 요즘 SNS로의 공유 기능은 필수적인 것 같다. 다행히도 이런 기능을 SNS마다의 방법으로 제공하고 있는데, 공유 링크에 적절한 URL만 넣어주면 된다. 페이스북으로 공유하기u 파라미터에 공유할 주소를 넣어주면 된다.xxxxxxxxxx// 공유 URLhttp://www.facebook.com/sharer/sharer.php?u=게시글URL그 외에 따로 지정하고싶은 것이 있으면 head 내 meta tag를 아래와 같이 지정해주면 된다.x 트위터로 공유하기말 그대로 text에는 text, url에는 URL을 넣어주면 된다.xhttps://twitter.com/in.. 2018. 9. 16. [node.js] route에서 반복문(forEach 문)으로 만든 배열 rendering하기 route_foreach 비록 node.js 쪼렙이지만 인터넷에 있던 예제만으로 어떻게 어떻게 응용해서 일을 해내가고 있던 나는 오늘 난관에 부딪혔다.node.js에서 DB 데이터를 여러번 가져오려면 동기식으로 이중, 삼중의 함수를 만들어서 마지막 함수에서 렌더링을 해야하는데, 나는 처음 가져온 데이터의 각 튜플마다 다른 값을 가져와야했다.깊은 지식 없이 그냥 배열에 넣으면 되겠다! 까지는 생각을 해냈다. 그래서 아래와 같은 형식으로 작성했다.xroute.get('/', function(req, res, next) { getData.getList(sql1, function(err, data) { var array = []; data.forEach(function (element, index, array.. 2018. 9. 5. [jQuery/datepicker] 특정일 비활성화(disabled) 하기 datepicker 특정일 비활성화 [jQuery/datepicker] 특정일 비활성화(disabled) 하기 datepickerdatepicker는 jQuery에서 제공하는 UI Widget으로, text type의 input 태그를 클릭했을 때 달력 모양 위젯이 나타나게하거나 div 태그 내에 달력 위젯이 위치하도록 할 수 있다. datepicker를 사용하기 위해서는 jQuery 소스파일을 import 해야하며, 원하는 태그를 선택해 datepicker로 지정해주면 된다.xdoctype html> // datepicker를 사용하기 위해서는 jQuery의 css 및 js 파일들이 필요하다. // 아래와 같이 CDN을 사용해도 좋고, 파일로 저장해 연결해도 된다. $("#datepicker").. 2018. 9. 4. 쿠키와 세션 쿠키와 세션 쿠키와 세션웹 어플리케이션을 만들고 있는 사람이라면 누구나 세션과 쿠키를 접해봤을 것이다. 로그인할 때 세션에 로그인 정보를 저장하고, 자동로그인(로그인 상태 유지) 기능이라던지 팝업창 다시 보지 않기 등등의 기능은 쿠키를 사용하고.. 이 작업들의 차이는 무엇일까? 쿠키나 세션이나 뭔 정보 저장하는건 알겠는데 왜 로그인 할 때는 세션을 쓰고, 자동로그인할 때 쿠키를 쓸까? 반대로 쓰면 안되는 것일까? 궁금하다면 쿠키와 세션이 어떻게 다른지 알아보도록 하자. COOKIE 쿠키란?HTTP 쿠키, 웹 쿠키, 브라우저 쿠키라고도 한다.사용자의 컴퓨터(클라이언트)에 설치되는 작은 데이터 기록 파일클라이언트의 상태 정보를 하드 디스크에 임시 text 파일로 저장했다가 필요할 때 참조 및 재사용한다. 이.. 2018. 7. 20. Naver SMTP 서버로 임시비밀번호 보내기 [Javax-mail] Naver smtp로 메일 보내기 [비밀번호 찾기] Naver SMTP 서버로 메일 보내기프로젝트를 진행하면서 비밀번호 찾기 할 때 메일로 임시비밀번호를 보내고싶었는데, 찾아보니 생각보다 어렵지 않았다. 그런데 차근차근 따라하지 않으면 에러파티를 면할 수 없었기에.. 차근차근 따라할 수 있도록 정리를 해보려고 한다. 시작하기 전에 SMTP(Simple Mail Transfer Protocol, 간이 전자 우편 전송 프로토콜)인터넷에서 이메일을 보내기 위한 프로토콜메일 서버 간 송수신 또는 클라이언트에서 메일 서버로 보낼 때 사용된다.TLS(Transport Layer Security, 전송 계층 보안)클라이언트 및 서버가 네트워크 통신을 하는 과정에서 도청 등의 행위를 방지하기 위.. 2018. 7. 15. [HTTP] GET vs POST GETvsPOST GET vs POSTHTTP 프로토콜(the HyperText Transfer Protocol)을 이용해서 클라이언트와 서버가 데이터를 주고 받을 때 요청 메소드를 지정해주는데, 다들 이 전송방식들 간에 무슨 다른 점이 있는걸까? 하고 생각해본 적 있을 것이다. 뭔가 데이터를 주고받는 방식이나 지정해주는게 다른 것 같기도 한데.. 똑같은 것 같기도 하고.. 뭐가 다른걸까?HTTP Request Method 중에는 GET, POST, DELETE, PUT 등의 여러 방법이 있는데, 우리가 주로 사용하는 GET 방식과 POST방식에 대해 설명하겠다. GET방식과 POST방식의 차이라. 간단하게 생각해보면 이름에서부터 다른 점을 알아낼 수 있다. GET = 가져오는 것. POST = 보내는 .. 2018. 7. 14. 웹서버 vs WAS 웹서버 vs WAS Web Server클라이언트(브라우저)의 요청을 받아 html문서, 이미지 등의 정적 콘텐츠를 클라이언트에게 전달하는 일을 하는 서버이다.웹 서버는 정적인 웹페이지만 서비스한다. 파일을 서버에 마련해두고 원하는 문서나 이미지를 클라이언트에게 단순히 보내주기만 한다.아파치, 웹투비 등 WAS(Web Application Server)클라이언트의 요청이 오면 새로운 동적 웹 페이지를 만들어서 고객에게 전달해준다. JSP를 번역해서 Java 파일을 만들고 Java를 다시 번역해서 class 파일을 만들어 컨텍스트에 올려서 클라이언트에게 전송한다.was는 언어를 번역도 하고 새로운 웹페이지도 만들 줄 알아야 한다. 톰캣(tomcat) : 아파치에서 만든 서버로 무료이다. 레진(resin) :.. 2018. 5. 31. [MyBatis] '${필드명}'과 '#{필드명}' '${필드명}'과 '#{필드명}' '${value}'과 '#{value}'MyBatis에서는 쿼리 내에 ${value}과 #{value}을 사용할 수 있다.PreparedStatement를 사용하면서 java에서는 파라미터를 ?로 썼었는데, 이게 MyBatis에서는 #{value}으로 대체된다. #{value} parameterType에는 반드시 같은 이름의 변수가 있어야한다. DB에서 데이터를 가져와 select 쿼리로 데이터를 보낼 때는 resultType에서 지정한 클래스 안에 각 필드들에 대한 변수가 모두 있어야 한다. set변수명을 다 일일이 호출해 데이터를 넣어 객체를 만들고, 그 객체를 리스트에 저장해 보낸다. #{value}이 PreparedStatement와 같이 Mapping이 나중에 .. 2018. 5. 31. 이전 1 2 다음