목록Web (20)
공부하는 스누피
stackoverflow.com/questions/30076248/jquery-each-loop-return-false-not-end-the-function jquery each loop return false not end the function I have a function which get a dot seperated string and parse it to array. And I want to loop these array elements and check a value is greater than 255 and return false, if not continue to function stackoverflow.com 문제상황 - 콜백함수 안에서 false를 return해도 submit이 되어버..
스프링 클라우드는 분산 시스템을 자주 쓰이는 패턴으로 빠르게 구축할 수 있게 해준다. 2015년에 1.0 버전으로 출시되었으며, 넷플릭스 OSS 도구를 기반으로 했다. 2019년에는 2.1 버전을 출시하면서 넷플릭스 도구를 대체하는 컴포넌트를 제시했다. Resilience4j, 스프링 클라우드 로드 밸런서 등이 대체 컴포넌트에 해당된다. 또한, Azure, AWS, GCP같은 클라우드 플랫폼 서비스를 지원하는 기능이 추가되었다. 자주 쓰이는 패턴과 컴포넌트 - 서비스 검색 : 스프링 클라우드 로드 밸런서를 사용한다. - 에지 서버 : 스프링 클라우드 Gateway, 스프링 시큐리티 OAuth - 서킷 브레이커 : Resilience4j 컴포넌트를 사용한다. - 구성 중앙화 : 스프링 클라우드 Config..
velog.io/@rxjw95/ErrorSpring-boot%EC%97%90%EC%84%9C-Transactionaloption%EC%9D%B4-%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EA%B2%BD%EC%9A%B0 [Error]Spring boot에서 Transactional(option)이 되지 않는 경우 어이없는 문제를 찾아버렸다... velog.io Transactional 어노테이션을 사용하기 위해 어떤 패키지를 import했는지 다시 한번 체크해보자... javax면 readOnly를 사용할 수 없다....
- Cannot set headers they are sent to the client 오류 => connection이 이미 만들어졌는데 또 connection을 만들려 할 경우 발생한다. connection을 한번 만들었으면 닫기 전까지 연결이 유지되므로 바로 query 함수를 사용하면 된다. ex) 내가 잘못 짰던 코드 connection = mysql.createConnection({ ... }) app.get('/', function(req, res){ connection.connect({ connection.query(sql, function(){}); )}; });
타임리프 타임리프는 Server-side Java 템플릿 엔진으로, HTML, XML, JS, CSS를 처리할 수 있어 웹과 단일 환경을 지원한다. 타임리프의 주 목적은 템플릿을 유지보수가 용이하도록 제작하는 방법을 제공하는 것이다. 그래서 타임리프는 Natural Templates의 개념을 적용해 디자인에 영향을 미치지 않는 템플릿에만 로직을 주입하는 방식을 사용한다. 이 방법은 디자인 팀과 개발 팀의 갭을 줄이도록 해준다. 사용하는 방법 자체 컨트롤러 인터페이스를 사용하는 경우 타임리프를 사용하기 위해서는 응답 프로세스마다 타임리프 context를 설정해주어야 한다. 컨트롤러에서 뷰로 모델 객체를 넘겨주는 대신, 타임리프 context에 변수로 설정해주면 된다. Spring MVC 스프링의 ViewR..
커맨드 객체 값 검증 커맨드 객체란? HTTP 통신으로 들어오는 값을 자동으로 바인딩하는 객체. 검증 처리란? 폼 값 검증과 에러 메세지 처리를 포함하는 검증 과정이다. 스프링은 커맨드 객체를 검증하는 Validator 인터페이스와 에러 메세지를 출력하는 Errors, ValidationUtils 클래스를 제공한다. 필요한 모듈 (pom.xml) javax.validation validation-api 1.1.0.Final org.hibernate hibernate-validator 5.4.2.Final javax.validation validation-api 1.1.0.Final 검증 처리 방법 1. 글로벌 범위 Validator 모든 컨트롤러에 적용할 수 있는 Validator이다. 구현 방법 MVC..
메세지 스프링의 메세지 기능은 프로퍼티 파일에 있는 특정 값을 spring:message의 커스텀 태그를 이용해 출력하는 것이다. 사용법 label.properties 파일을 UTF-8로 작성한다. MVC 설정 클래스에 messageSource 메소드를 오버라이딩해 프로퍼티 파일을 등록해준다. JSP에서 message 커스텀 태그로 메세지를 불러온다. 프로퍼티 파일 작성법 일반적인 방법 코드=문자 ex) code_name=String 메시지 인자 처리 문자 부분에 {인덱스}를 넣으면 커스텀 태그에서 argument로 넘겨준 파라미터 리스트 중 인덱스번째의 값을 넣어준다. ex) JSP // registerRequest.name 값을 인자로 넘겨준다. 메세지 프로퍼티 파일 // 인자로 받은 값 중 0번째 ..
DispatcherServlet 스프링 컨테이너를 생성해 웹 브라우저의 요청을 받아 알맞은 응답을 보내고, 컨테이너 안의 컴포넌트간 요청 흐름을 제어한다. * Servlet이란 자바에서 웹을 만들기 위해 필요한 기술로, 요청을 받고 응답을 보내주는 역할을 한다. HandlerMapping 요청을 처리할 핸들러(컨트롤러) 객체를 찾아준다. @Controller를 적용한 Bean 객체에 명시된 경로만 대응할 수 있다. Controller(핸들러) 요청을 실제로 처리한 뒤 View 정보와 Model을 설정한다. HandlerAdapter DispatcherServlet과 Controller 간 변환을 처리해 준다. ViewResolver 요청 처리 결과를 생성할 View를 찾아준다. View 응답을 생성한 후..