본문 바로가기
반응형

분류 전체보기346

[F-lab] 13주차 정리 - 프로젝트 개발 3주차 할 일 1. 로드밸런서에 연결된 각 서버에서 세션이 어떻게 처리되는지를 알아볼 수 있게 컨트롤러에 사용자 정보 관련 로그 추가 2. 로드밸런서를 통해 로그인한 후 요청을 여러개 보내셔 두 서버 모두 요청이 전달되게 한 후, 로그가 어떻게 남았는지 분석 3. 분석 내용을 바탕으로 세션 이동 문제를 처리하는 방법 구현 (스프링이 제공하는 분산 세션 공유 기능을 쓰지 않고) 4. 부하테스트 진행 https://aws.amazon.com/ko/blogs/korea/how-to-loading-test-based-on-aws/ https://www.slideshare.net/arload/bestcon-load-test https://techblog.woowahan.com/2572/ 학습 부하 테스트란? 부하 테스트.. 2021. 11. 21.
[Algorithm] 다이나믹 프로그래밍(동적계획법, Dynamic Programming) 다이나믹 프로그래밍이란? · 큰 문제를 작게 나누고, 같은 문제라면 한 번씩만 풀어 문제를 효율적으로 해결하는 알고리즘 기법 · 메모리 공간을 약간 더 사용하여 연산 속도를 비약적으로 증가시킨다. · 2가지 방식이 존재한다. 1. 탑다운, 2.보텀업 · 최적해를 구하는데 시간 또는 메모리 공간이 매우 많이 필요한 문제는 컴퓨터를 활용해도 해결하기 어려울 수 있다. 이럴 때 사용하면 효과적인 기법이다. ▶ 예시 - 피노나치 수열 · 점화식으로 나타낸 피보나치 수열 · 점화식: 인접한 항들의 관계식. 수열의 항이 이어지는 형태를 간결하게 표현. ▶ 예시 - 재귀를 사용한 피보나치 소스코드 public class 피보나치_재귀적 { public static void main(String[] args){ Sys.. 2021. 11. 18.
Mockito란? Mockito 사용하기 Mockito란? · Mock 객체를 쉽게 만들고, 관리하고, 검증할 수 있는 방법을 제공하는 프레임워크 - Mock: 진짜 객체와 비슷하게 동작하지만, 프로그래머가 직접 행동을 관리하는 객체 - 공홈 https://site.mockito.org/ · 테스트를 작성하는 자바 개발자의 45%가 사용하는 Mock 프레임워크 - 2021년 젯브레인 설문조사 기준 https://www.jetbrains.com/lp/devecosystem-2021/java/ · 대체제: EasyMock, JMock · 애플리케이션에서 데이터베이스, 외부 API 등을 테스트할 때, 해당 제품들이 어떻게 작동하는지 항상 사용하면서 테스트를 작성한다면 매우 불편할 것이다. 이럴 때 어떻게 작동하는지 예측을 하여 Mock 객체를 만들어.. 2021. 11. 15.
[MySQL] 데이터 형식 · 데이터베이스 테이블을 만들 때는 데이터 형식을 설정해야 한다. 테이터 형식에는 크게 숫자형, 문자형, 날짜형이 있고, 세부적으로 더 나뉘기도 한다. 다양한 데이터 형식이 존재하는 이유 · 저장될 데이터의 형태가 다양하기 때문이다. 각 테이터에 맞는 데이터를 지정함으로써 효율적인 저장이 가능하다. · 예를 들어 이름을 저장하는 컬럼에 100 글자를 저장할 칸을 준비하는 것을 상당한 낭비다. 데이터 형식 정수형 · 소수점이 없는 숫자 · 사용 예: 인원 수, 가격, 수량 데이터 형식 바이트 수 숫자 범위 사용 예 TINYINT 1 -128 ~ 127 가수 그룹 SMALLINT 2 -32,768 ~ 32,767 평균 키 INT 4 약 -21억 ~ +21억 인원 수 BIGINT 8 약 -900경 ~ +900.. 2021. 11. 11.
[Spring] 스프링에서 AOP를 구현하는 방법 AOP를 구현하는 방법은 여러 가지 있지만, 스프링에서는 프락시(proxy)를 이용한다. 스프링에서 AOP를 구현하는 방법 · 프락시를 이용한 AOP는 아래 그림처럼 인터페이스를 구현한 프락시를 이용해서 Q 클래스가 호출한 메서드를 가로채서 어드바이스를 동작시킨다. · Q 클래스에는 R 인터페이스 타입의 인스턴스 변수가 있고, 인터페이스 R을 구현한 RImpl 클래스를 DI를 활용하여 이용한다. 이때, RImpl 클래스의 어느 메서드를 실행해도 어드바이스가 동작하게 설정됐다고 가정한다. - 스프링이라면 @Autowired 어노테이션이 붙는다. · DIxAOP 컨테이너는 R 인터페이스를 구현한 프락시 클래스의 인스턴스를 자동으로 생성, Q 클래스의 R 인터페이스 변수에 인젝션한다. - Q 클래스는 R 인터.. 2021. 11. 10.
Web API/Http API vs REST AP · HTTP 프로토콜 위에서 JSON 또는 XML 형식으로 통신하는 API를 HTTP API 혹은 WEB API라고 할 수 있다. · HTTP 프로토콜 위에서 JSON 또는 XML 형식으로 통신하는 API 폭 넓게 REST API라고 부르는 경우가 많지만, 현업에서 많은 이들이 REST라고 부르는 API는 창시자인 로이필딩 기준으로는 REST가 아니다. - 대부분의 API에서 HATEOAS와 Self-descriptive를 충족시키지 않는다. · 일반적인 HTTP API가 REST API가 아닌 이유: https://scshim.tistory.com/435 출처 https://www.inflearn.com/questions/126743 https://d2.naver.com/news/3435170 2021. 11. 10.
반응형