[Web] Spring의 AOP, Interceptor, Filter
2021. 12. 14. 18:06
Computer Science/Web programming
1. AOP (Aspect Oriented Programming) 관점 지향 프로그래밍 Spring에서 각각의 로직들은 비지니스 로직과 부가기능으로 구성된다. 어떤 로직을 기준으로 1) 핵심적인 관점 2) 부가적인 관점으로 관점을 나누어 각각을 모듈화 하겠다는 것! 핵심적인 관점 == 핵심 비지니스 로직 부가적인 관점 == 핵심 로직을 실행하기 위한 부가적인 기능들 (데이터베이스 연결, 로깅, 트랜잭션 처리, 데이터 보호를 위한 암호화, 일괄적인 예외 처리 등) 각각의 로직들에서 계속 반복되어 쓰여지는 코드들 == 흩어진 관심사 (= 횡단 관심사 / 주로 부가기능) 이러한 반복된 코드들을 모듈로 만들어 놓으면 개발 속도가 빨라지고, 유지보수성도 향상됨 이와 같이 흩어진 관심사들을 Aspect로 모듈화 하..
[Web] servlet & jsp의 개념 / MVC pattern, Front Controller Pattern
2021. 10. 9. 18:57
Computer Science/Web programming
수업때 배운 servlet과 jsp 그리고 sevlet을 MVC 패턴과 Front Controller Pattern 으로 나누는 것에 대해 정리하려고 한다. servlet이란? 자바를 이용해 웹을 만들 수 있는 서버측 프로그램 자바 코드로 웹 페이지를 만들 수 있다. servlet으로 웹을 만든 예시 import java.io.IOException; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.sql.SQLException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.an..
[JAVA] 백준 15961,2531 회전 초밥
2021. 10. 6. 17:20
알고리즘/백준 BOJ
15961번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 3,000,000, 2 ≤ d ≤ 3,000, 2 www.acmicpc.net 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 15961과 2531은 범위만 다를 뿐, 같은 문제 풀이 방법 예제 입력1을 기준으로 설명하려고 한다. 이를 배열로 옮겨보자. 초밥을 k..
[JAVA] 백준 3020 개똥벌레
2021. 10. 6. 00:49
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net 풀이 방법 문제에 주어진 예제1번을 그려보면 이렇게 된다. 편하게 생각할려고 세로축을 밑에서부터 1로 생각했다. 석순(인덱스가 홀수(odd)), 종유석(인덱스가 짝수(even))를 나누어서 계산했다. 생각해보면 높이가 1일 때, 1과 같거나 큰수에서 부딪힌다는 것을 알 수 있다. 따라서 만약 내가 높이 1일때 몇개의 석순에 부딪히는지 알고 싶다면, 1보다 크거나 같은 석순의 개수를 세어주면 된다. 그..