분류 전체보기 185

JAVA/JSP 1. 개발 환경 구축 - JSP 예제 테스트

1. 프로젝트 생성1) [File] → [New] → [Dynamic Web Project] 선택 2) 프로젝트 설정 화면 → Project name: HelloJSP, Target runtime: Apache Tomcat v9.0, Dynamic web module version: 4.0으로 설정 후 Next 클릭 3) 자바 소스 파일 경로 설정 화면: 수정 없이 Next 클릭 4) 웹 모듈 설정 화면 Generate web.xml deployment descriptor 체크박스를 체크하고 Finish 클릭Context root: 프로젝트의 컨텍스트 루트 경로,Context directory: JSP 파일을 생성할 폴더 이름, 배포 서술자(deployment descriptor) web.xml..

컴퓨팅 사고 II: WEEK 5-1

*POSTECH 청년 AI · Big Data 아카데미(https://pabi.smartlearn.io/)의 'Computational Thinking (컴퓨팅 사고) II' 코스 강의를 듣고 정리한 글입니다 1. 순서열의 특징 같은 꼴의 더미를 표현 → [계산 자료1, 계산 자료2, …, 계산 자료 n] 사람 언어로 “… 더미”에 해당 → 같은 계산 자료를 여러 번 원소로 표현해도 됨 기본 자료처럼 그 자체로서 완전한 프로그램이기에, 실행 후 결과까지 얻을 수 있음(순서열 실행 → 똑같은 순서열을 결과로 얻음) 2. 순서열의 예시 [ ] → 빈 더미(원소가 없는 순서열) [1] [1, 2, 2, 3, 3, 3] → 1 1개 2 2개 3 3개가 위에서부터 차례로 쌓이는 더미 [’월요일’, ‘화요일’, ‘..

JAVA/JSP 1. 개발 환경 구축 - 이클립스 기본 설정

*JDK 설치 및 환경 변수(JAVA_HOME) 설정, 톰캣 설치, 이클립스 설치를 완료한 상태OpenJDK 11: 자바 프로그램을 컴파일하고 실행해주는 기본 도구*이클립스 JDK-17이 설치되어있어서, https://coding-house.tistory.com/122 보고 JDK-11로 낮춤(JDK-11 자체를 설치하는 건 불가)톰캣 9: JSP와 서블릿을 실행하기 위한 웹 서버이클립스 2020-12 (4.18): 전체 도구를 아우르는 통합 개발 환경(IDE) * 이클립스에서 파일을 저장할 때 사용할 기본 인코딩 방식 설정, 톰캣과의 연동 설정1. 파일 인코딩 변경이클립스 처음 설치 시, 파일 인코딩 방식이 MS949(*MS949: 마이크로소프트에서 개발한 한글 인코딩의 한 종류. EUC-KR의 확장형..

스프링 공부 중단? JSP 공부 시작

사실 4월부터 밀렸던 글들을 지난주에야 다 올렸다.. 문제는 스프링을 공부한답시고 정리했는데 이해가 하나도 안 되었다는 것이다... 나중에 교수님께 여쭤보고 나서야, 내가 JSP 공부부터 하고 스프링 공부를 했어야 했다는 것을 알게 되었다 그래서 JSP 공부를 10월 말부터 시작했다 고로 스프링 공부를 중단하고 JSP 공부를 시작하려고 한다.. 화이팅!

일상 이야기 2023.01.13

컴퓨팅 사고 I: WEEK 4-2, 4-3

*POSTECH 청년 AI · Big Data 아카데미(https://pabi.smartlearn.io/)의 'Computational Thinking (컴퓨팅 사고) Ⅰ' 코스 강의를 듣고 정리한 글입니다 *모든 이미지의 출처는 https://pabi.smartlearn.io/ 입니다 4-2 여러곱 - 계산 자료의 '그리고' 1. 접속사 ‘그리고’ 1) 계산 자료의 종류를 ‘그리고’로 엮은 경우 생활기록부에서 이름 그리고 성적을 뽑아낸다 지도에서 출발 도시, 그리고 도착 도시를 골라서 거리를 잰다 2) 계산 자료 자체를 ‘그리고’로 엮은 경우(계산 자료들을 모두 포함한 새로운 계산 자료를 만들게 됨) → 아래 문장에서 밑줄 친 부분을, 해당 문장에서의 하나의 계산 자료로 취급함 첫째 생활기록부에는 이름..

Spring Interceptors(스프링 인터셉터)

*22년 4월 한 달간 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'를 수강하고 정리한 내용입니다 *모든 이미지의 출처는 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'에 있습니다 1. Spring Interceptors의 특징 - 모든 요청에서 반드시 거쳐야 하는 Servlet Filter와 유사하지만, 인터셉터는 컨트롤러 요청에만 적용됨 - Been Container 로딩 후에 적용되므로, Bean 사용 가능 - 총 3부분에 대해 공통 기능을 넣을 수 있음 1) preHandle: 컨트롤러(핸들러) 실행 전 2) postHandle: 컨트롤러(핸들러) 실행 후, 아직 뷰를 실행하기 전 3) afterCompletion: 뷰를 실행한 이후 2. 사례: 웹 요..

예외처리

*22년 4월 한 달간 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'를 수강하고 정리한 내용입니다 1. Spring에서의 예외처리 - 사용 이유: 서버에서 발생된 예외가 최종 사용자에게 전달되는 것 방지- DAO와 Service에서 발생된 예외는 Controller로 모여짐- System 예외는 Business 예외로 다시 던지는(re-throwing) 방식 사용- @ExeptionHandler와 @ControllerAdvice를 사용하여 예외 처리 2. Spring 예외처리 특징1) 컨트롤러 기반- 부가기능을 제공하는 Advice 클래스 작성- XML 설정 파일에 를 이용해서 aspect를 설정(즉, Advice와 Pointcut을 설정) 2) 글로벌 Exception 핸들러-..

컴퓨팅 사고 I: WEEK 3-3, 4-1

*POSTECH 청년 AI · Big Data 아카데미(https://pabi.smartlearn.io/)의 'Computational Thinking (컴퓨팅 사고) Ⅰ' 코스 강의를 듣고 정리한 글입니다 *모든 이미지의 출처는 https://pabi.smartlearn.io/ 입니다 3-3. 컴퓨팅으로 풀 수 있는 문제 1) 컴퓨팅의 한계를 묻는 질문 (1) 어떤 문제를 컴퓨팅으로 풀 수 있는가 => '컴퓨터로 풀 수 있는 문제'라고만 답할 수 있음 (계산 시간을 고려하지 않고, 이론상 답이 나오는지만 따짐) (2) 시간을 아무리 쏟아도 컴퓨팅으로 풀 수 없는 문제가 있는가? => 하드웨어 컴퓨터와 학문 '컴퓨터과학'은 모두 계산의 한계를 묻는 질문들에서 시작됨 1-계산이란 무엇인가? 2-계산으로 풀..

스프링 트랜잭션과 로깅

*22년 4월 한 달간 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'를 수강하고 정리한 내용입니다 *모든 이미지의 출처는 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'에 있습니다 1. 스프링 트랜잭션 1) 트랜잭션 처리 (1) 프로그램에 의한 트랜잭션 처리 (권장되지 않음) (2) 선언적 트랜잭션 [스프링에서 이 방식을 사용] 2) 스프링 트랜잭션 처리 모범사례 - 선언적 방식에 의한 트랜잭션 처리 (주로 서비스 메소드를 대상으로 함) (1) 어노테이션에 의한 트랜잭션 - @root-context.xml에 Transaction Manager 설정 - 설정 - 트랜잭션이 필요한 클래스나 메소드에 @Transactional - 주로 서비스 클래스의 메소드에 적용..

PointCut 표현식과 Advisor 구현

*22년 4월 한 달간 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'를 수강하고 정리한 내용입니다 *모든 이미지의 출처는 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'에 있습니다 1. PointCut 표현식 1) 문법 - AspectJ 포인트컷 표현식은 포인트컷 지시자를 이용하여 작성함 - 포인트컷 지시자 중 가장 대표적으로 사용되는 것은 execution() - execution() 지시자를 사용한 포인트컷 표현식의 문법구조는 다음과 같음 //[접근제한자 패턴]: public, private과 같은 접근제한자 (생략가능) //타입패턴[타입패턴.]: 앞의 타입패턴은 리턴값의 타입패턴이고, 뒤의 타입패턴은 패키지와 클래스 이름에 대한 패턴(생략가능, 사용할때 ..