전체 글

초보 개발자의 지식 공유의 장
좋은 습관이 좋은 코드를 만드는 것 같다. 귀찮더라도 좋은습관을 갖으려 노력하자. Mockito
Stream을 이용한 2중 for문 우리는 2중 for문을 종종 사용해야할 때가 있다. Stream을 이용하여 2중 for문을 구현해보자. 상황 public static void main(String[] args) { List list1 = Arrays.asList("a", "b", "c", "d", "e"); List list2 = Arrays.asList("a", "b", "d"); // 2중 for문은 stream으로 어떻게 작성할까? // 만약 for문을 돌면서 같은 것만 list에 담고 싶다면? // 8버전 이전 List result1 = new ArrayList(); for(String str1 : list1){ for(String str2 : list2){ if(str1.equals(str2..
$(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는 메서드에 작성할 수도 있고 파라미터에 작성할 수 있다. 두 가지 동작 방식이 조금 다르다. 메소드의 매개변수로 선언 파라..
깡냉쓰
평범한 개발자 노트