본문 바로가기
728x90

JAVA/java10

시험공부 보호되어 있는 글 입니다. 2022. 5. 8.
[Java]Hash Hash(Hash Table) 정의 hash는 데이터를 다루는 대표적인 데이터 처리 기법. 이를 활용해 데이터를 저장하는 자료구조가 hash table이다. Key, Value가 한 쌍으로 존재하며, key값에 해시함수를 적용해 index를 생성하여, 해당 인덱스에 value를 저장한다. 배경 Array는은 검색 속도가 빠르지만, 데이터의 삽입/삭제 시 속도가 느리다. LinkedList는 삽입/삭제 시 속도가 빠르지만, 순회 검색만 가능해 데이터가 많아질 수록 속도가 느리다. 이러한 속도적 한계를 극복하기 위해 제시된 기법. 특징 산술 연산 (hash function)을 이용해 데이터가 저장 될 위치를 계산한다. 데이터의 검색과 저장이 상수 시간 O(1)에 수렴한다. key를 추가/삭제시 key의 중복.. 2022. 4. 27.
[spring] Web MVC [자주 사용했던 Annotation] @WebMVC @Controller @RequestMapping - class level & method level get, post다 사용할 수 있고 해당 방법으로 고정해 사용하면 된다. @GetMapping @PostMapping @RequestParam @ModelAttribute DTO를 자동으로 만들고 전달받은 파라미터를 DTO에 준다. @CookieValue 쿠키 값을 주입받아 쓸 수 있음. 실습해보기! - 준비 1. pom.xml 2. log4j2.xml - java contig 기반으로 변경 1. root-context.xml, servlet-context.xml 변경 - 기존 빈들을 가져오고 적절한 곳에서 scan하기 - 기본 페이지 동작 확인 - w.. 2022. 4. 21.
[spring] MVC Spring@MVC란? [특징] - Front Controller Pattern에 기초한 웹 MVC 프레임워크 - MVC 역할별로 클래스가 잘 분할되어 있다. (유연성, 확장성 확보 & 다양한 뷰 기술을 쉽게 연동할 수 있다.) [구성 요소] - DispatcherServlet (제공) : 다른 객체들에게 위임하여 처리한다. - infrastructure Components (제공) handler(controller) mappings : DispatcherServlet이 client에게 받은 request를 어떤 adapter가 처리할 수 있는지 알려준다. handler adapters : 전달받은 request를 처리한다. view resolvers : view를 화면에 뿌려준다. - 프로그래머 영역 .. 2022. 4. 19.
[spring] AOP AOP 관점 지향 프로그래밍 (Aspect Oriented Programming) - 메서드는 비즈니스 로직(core concern)과 부가 기능(cross cutting convern : 횡단 관심사)으로 구성된다. - AOP는 메서드를 비즈니스 로직이 아닌 필요 개별 기능 관점으로 바라본다. - 어디서나 '동일한' 코드를 갖는 횡단 관심사를 모듈화해 재사용한다. -> 개발자는 비즈니스 로직에만 전념할 수 있다. 횡단 관심사 로깅 권한 검사 트랜잭션 처리 캐싱, 모니터링 데이터 암호화 예외처리 etc.. [ AOP annotation ] @Aspect : 이것은 aspect라는 의미. 여러 개의 advice가 있다는 의미. @EnableAspectJAutoProxy : advice가 적용될 빈들에 대해.. 2022. 4. 15.
[spring] DI - Spring 자바 어플리케이션 개발을 위한 프레임워크. 비즈니스 로직을 넣어 어플리케이션을 만든다. 스프링의 대표적 기능 : DI, AOP - DI (Dependency Injection) (의존성 : 어떤 클래스가 다른 클래스를 멤버로 포함하고 있는 상태. 즉, 멤버 변수라고 생각해도 됨.) - 의존성을 없애려면 어떤 것을 해야 할까? 1. 직접적인 클래스를 사용 X -> interface 사용 2. 객체를 직접 생성 X -> 객체를 주입받아라. 기존에 직접 했던 멤버에 값을 주입(멤버 변수에 값을 세팅)하는 방법인 setter, 생성자 사용 ==> Spring 이 담당. - IOC (Inversion of Container) - 객체를 생성하고, 객체를 주입하는 것이 Container의 역할이다... 2022. 4. 15.
728x90