분류 전체보기 192

스프링 공부 중단? 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과 같은 접근제한자 (생략가능) //타입패턴[타입패턴.]: 앞의 타입패턴은 리턴값의 타입패턴이고, 뒤의 타입패턴은 패키지와 클래스 이름에 대한 패턴(생략가능, 사용할때 ..

Dynamic SQL (MyBatis 동적 SQL), AOP(Aspect Oriented Programming)

*22년 4월 한 달간 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'를 수강하고 정리한 내용입니다 *모든 이미지의 출처는 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'에 있습니다 1. MyBatis 동적 SQL 1) Dynamic SQL - 검색조건에 따라 검색해야 하는 SQL문이 달라지기 때문에 이를 처리하기 위해서 동적 SQL이 사용됨 2) MyBatis의 표현식 (1) if - MyBatis에서 가장 공통적으로 사용되는 요소 * 아래 구문은 파라미터 중 title에 값이 존재할 경우 and title like #{title} 구문을 본 쿼리문에 포함시킨다. select * from blog where state = 'ACTIVE' and title li..

MyBatis 소개, Mapper XML 파일

*22년 4월 한 달간 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'를 수강하고 정리한 내용입니다 *모든 이미지의 출처는 한국이러닝협회의 '실전 개발자를 위한 Spring Framework'에 있습니다 1. MyBatis 소개 1) MyBatis의 개요 - 자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 Object Mapper - SQL을 별도의 파일로 분리해서 관리하게 함 - 객체-SQL 사이의 파라미터 Mapping 작업 자동 진행 -> 많은 인기를 얻고 있음 - ORM(Object Relation Mapper) 아님 - Hibernate나 JPA(Java Persistence Api)처럼 새로운 DB 프로그래밍 패러다임을 익혀야 하는 부담이 없음 ->개발..

1. 컴퓨팅 사고 - 스크래치: 기초

*boostcourse의 '모두를 위한 컴퓨터 과학 (CS50 2019)' 코스 강의를 듣고 정리한 글입니다. 모든 내용, 이미지의 출처는 boostcourse의 해당 코스에 있습니다. 1. 스크래치란? - MIT의 미디어 랩에서 만든 그래픽 언어 (scartch.mit.edu에서 사용 가능) - 퍼즐 조각처럼 보이는 블럭들을 끌어 놓는 방식으로 연결시켜 컴퓨터가 무엇을 할 지 단계적으로 프로그래밍 함 2. 스크래치 편집기 화면 구성 (scartch.mit.edu에서 Create를 클릭하면 나오는 화면) 1) 여러 색으로 나누어진 퍼즐 조각들 2) 거대한 흰 캔버스 - 왼쪽의 퍼즐 조각들을 끌어당기고 서로 연결하여 프로그램을 만들 수 있음 3) 초록색 깃발/정지 버튼 - 각각 프로그램 실행/중단 4) 스..