2019/07

$(selector).parent(selector) - 바로 위에 있는 요소를 선택 $(selector).parents(selector) - 선택한 대상 위에 있는 특정태그 모두 선택
Id, name, class로 찾기 // id로 접근시 $("#id") $("#form_id") // class로 접근시 $(".class") $(".section") // name으로 접근시 $("tag_name[name=name]") $("input[name=search_value]") => 태그이름 뒤 대괄호안에 [ ] 태그가 갖고있는 속성을 명시해서 엘리먼트를 찾을 수 있다. => name뿐아니라 $("input[value='TEST']") 이런식도 가능하다. // tag이름으로 접근시 $("tag_name") $("input") 그렇다면 특정 폼안에 있는 요스를 찾고싶을 땐? $('#form [name="param"]').val(); // selector뒤에 빈칸을 ..
.load() Bind an event handler to "load" Javascript event. .ready() Specify a functino to execute where the DOM is fully loaded. 브라우저가 HTML파일을 읽어오는 순서 웹 브라우저 접속 웹 문서 읽기 (브라우저가 웹문서를 읽기 시작함) DOM 생성 (DOM이 생성되면 ready 메소드 실행) 이미지를 포함한 요소들이 로드되기 시작 페이지 로딩 완료 (모든 요소들이 로드가 완료되면 load 메소드 실행) DOM이 생성되면 발생하는 이벤트 ready 모든 요소들이 로딩완료되면 발생하는 이벤트 load // jquery 1.8 이상 $(window).load(function() {}); // deprecated..
Freemarker 문법 JPA N+1 문제 어떻게 해결할지 모색
매개변수와 boolean 리턴값이 있는 testXXX() 메소드를 가지고 있다. 매개값을 조사해서 true 또는 false를 리턴하는 역할을 한다. public class PredicateExample { private static List numList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); public static int count(IntPredicate predicate){ int count = 0; for(int num : numList){ if(predicate.test(num)){ count ++; } } return count; } public static void main(String[] args) { int evenNumCount = coun..
Operator 함수적 인터페이스는 Function과 동일하게 매개 변수와 리턴값이 있는 applyXXX() 메소드를 가지고 있다. 하지만 이 메소드들은 매개값을 리턴값으로 매핑(타입 변환)하는 역할보다 매개값을 이용해서 연산을 수행한 후 동일한 타입으로 리턴값을 제공하는 역할을 한다. public class OperatorExample { private static int[] ages = {15, 20, 10, 50}; public static int maxOrmin(IntBinaryOperator operator){ int result = ages[0]; for(int age : ages){ result = operator.applyAsInt(result, age); } return result; }..
JPA, Hibernate, Spring Data JPA JPA공부를 시작함에 있어서 가장헷갈렸던 부분이 JPA와 Hibernate와의 관계였다. 동영상강의에서는 처음에 EntityManager를 활용하여 Data를 삭제 저장 업데이트를 하지만, 실제 실무에서는 EntityManager를 사용하지 않고 Repository 인터페이스 만을 이용해서 JPA를 사용한다. 간단하게 이 세가지에 대해 알아보면 JPA 기술 명세 JPA(Java Persistence API)는 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. javax.persistance 단순히 인터페이스이며 구현체는 없다. EntityManager도 인터페이스이다. Hibernate JPA의 구현체 Hiberna..
Controller 파라미터에 붙는 자주사용되는 위 두개의 어노테이션을 정리해보자 @ModelAttribute @ModelAttribute와 @RequestParam의 다른 점은 RequestParam은 파라미터를 1:1로 받는 반면, ModelAttribute는 도메인 모델이나 DTO 같은 모델을 받는 타입이다. @RestController public class SampleController{ @GetMapping("/sample") public String hello(@ModelAttribute Post post){ return "hello"; } } ModelAttribute는 메서드에 작성할 수도 있고 파라미터에 작성할 수 있다. 두 가지 동작 방식이 조금 다르다. 메소드의 매개변수로 선언 파라..
Mybatis 동적 쿼리 DBMS별 Like 문 DB는 MySql을 쓰고 있고, Mybatis에서 WHERE절에 LIKE 검색을 하였는데 데이터가 모두 나오는 기이한 현상이 있었다. 찾아보니, DBMS별로 Mybatis LIKE문이 다른것을 발견했다. (Oracle만 쓰다보니 당연히 되겄거니 하고 하였는데 안되었음) MySql SELECT * FROM TABLE WHERE column_name LIKE CONCAT('%', #{keyword}, '%') Oracle SELECT * FROM TABLE WHERE column_name LIKE '%' || #{keyword} || '%' MsSql SELECT * FROM TABLE WHERE column_name LIKE '%' + #{keyword} +..
자동 설정 이해하기 Spring boot main 클래스의 상위에 보면 @SpringBootApplication이라는 어노테이션을 볼 수 있다. @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); // 이 class와 arguments를 넘겨준다. } } 이 어노테이션을 아래와 같이 설정이 되어 있는데, 여기서 @EnalbeAutoConfiguration이란 놈이 자동으로 설정을 해주는 녀석이다. @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @D..
깡냉쓰
'2019/07 글 목록