목록웹개발 (23)
세상에 나쁜 코드는 없다
🔗대규모 데이터를 처리하는 게시판 시리즈 (1) - 웹애플리케이션 개발 및 더미데이터 생성 (2) - JMeter와 테스트플랜 생성, 최초 성능 테스트 (3) - Index(1) (4) - Index(2) (5) - DB Connection (6) - InnoDB Buffer Pool (7) - Replication, PartitioningJMeter구성 요소어떻게 테스트해야 하는가?트래픽의 비율테스트가 데이터 셋에 주는 영향DB 캐시 테스트 플랜 작성HTTP Request 생성병렬 테스트리스너 생성최초 성능 테스트요청별로 1개씩300개의 요청JMeterApache JMeter - Apache JMeter™The Apache JMeter™ application is open source software,..
🔗대규모 데이터를 처리하는 게시판 시리즈 (1) - 웹애플리케이션 개발 및 더미데이터 생성 (2) - JMeter와 테스트플랜 생성, 최초 성능 테스트 (3) - Index(1) (4) - Index(2) (4) - DB Connection (5) - InnoDB Buffer Pool (6) - Replication, Partitioning개요게시판 개발구성요소더미데이터 생성Trouble Shooting안일한 데이터 사이즈 설계Lock table size개요지금까지 여러 토이프로젝트를 해오면서 단일 테이블의 레코드 개수가 1억건을 넘기는 경우가 없었어서 대규모 데이터가 애플리케이션에 어떤 영향을 미치는지, 이를 해결하기 위해서는 어떤것을 도입해야하는지, 이것을 테스트하고 평가하는 항목은 어떻게 구성해야하..
크롬의 시작화면에서는 왜 바로가기 아이콘을 10개까지만 만들 수 있을까요? 또한 같은 기능을 같은 UI로 다양한 브라우저에서 사용할 순 없을까요? 전부터 이게 불만이었던 저는 웹애플리케이션을 만들어서 새 탭을 커스터마이징해보기로 했습니다. 공통페이지 전환각각의 페이지를 전환할 때 효과를 주기 위해 CSSTransition을 사용했습니다.화면 전환화면 전환시 기존의 페이지가 밀려나고 새로운 페이지가 들어오는 형태의 UI를 제공했습니다. 이 과정에서 메뉴나 상단바 아이템들은 전환의 대상이 되지 않고 고정되게 해놨습니다. 페이지 전환은 버튼을 통해서도, 단축키를 통해서도 이루어집니다. 이 과정은 page routing이 아닌 내부 컴포넌트 변경을 통해 이루어집니다. 따라서 navigation hook은 사용하..
📖스프링 원리 1. 의존관계 주입 Dependency Injection 2. 스프링 컨테이너에 빈을 등록하는 방법개요Spring Bean & Spring ContainerSpring BeanSpring Container스프링 컨테이너가 빈을 등록하기 위해 필요로 하는 정보@Configuration 과 빈 팩토리 메소드를 통한 빈 생성ApplicationRunner를 통한 빈 등록 확인ApplicationContext 주입받기정리@ComponentScan, @Component로 빈 생성합성 애노테이션마무리개요저번 글인 ‘의존주입 Dependency Injection’에서 어떻게 의존성을 관리하여 프로그램을 유연하게 만드는지 살펴봤습니다. 저번 장의 예제인 LogService는 스프링의 도움을 받지 않고 만..
📖스프링 원리 1. 의존관계 주입 Dependency Injection 2. 스프링 컨테이너에 빈을 등록하는 방법의존Dependency이란?정의의존성과 UML Class Diagram의존성이 높은 프로그램의 특징 의존성의 전이Coupling과 Cohesion예제, LogServicePM의 요청문제점높은 결합도로 인한 유연성 감소테스팅의 어려움Dependency InjectionDIP (Dependency Inversion Principle)Injector의존 주입의 장점LogService 문제 해결의존주입 나머지 주제 의존 주입 방식의존 주입 시 유의점더 나은 구조의존Dependency이란?정의OOP에서 하나의 객체는 섬island으로 존재하지 않습니다. 소프트웨어 내부에는 수 많은 객체가 존재하고, 객..
개요예제, FibonacciCalculator성능 체크프록시AOP 공통 기능 삽입 방법 AspectJ와 Spring AOPAOP 용어개요AOP는 IoC/DI, 서비스 추상화와 더불어 스프링의 3대 기반기술의 하나다. 이 글에서는 FibonacciCalculator 예제를 통해 AOP의 필요성을 느끼고 스프링이 이 문제를 해결하기 위해 제공하는 기능들을 알아볼 것이다.예제, FibonacciCalculatorFibonacciCalculator는 long fibonacci(long num);이라는 하나의 메서드를 갖고 있는 인터페이스로, 파라미터로 제공된 항의 피보나치 수를 반환한다.//FibonacciCalculator.java public interface FibonacciCalculator { long..