개발누나

고정 헤더 영역

글 제목

메뉴 레이어

개발누나

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (235)
    • TIL (deeply) (3)
    • TIL (Today I Learned) (22)
    • Git 학습 & 활용 (5)
    • CS (0)
      • 운영 체제(Operating System) (0)
    • 문제 해결 (40)
      • 에러 해결도 실력이다. (28)
      • 50제 (2)
      • 백준 essential (0)
      • wikidocs 300제 (0)
      • 코드업 100제 (9)
    • 자료구조 (7)
      • 개념 (7)
    • 알고리즘 (7)
      • C.C.I (708) (0)
      • Introduction to Algorithms .. (0)
      • 문자열 조작 (5)
      • 배열 (2)
      • 정렬 (0)
      • 이진탐색 (0)
      • 재귀함수 (0)
      • 스택 (0)
      • 큐 (0)
      • DP (0)
    • Side Project (7)
      • Public (5)
      • Personal (1)
      • Stealth Mode (1)
      • 문제 해결력 증진 프로젝트 (0)
      • 개발자의 품격 4기 (0)
    • 개인 개발 공부 일지 (0)
      • Flask (0)
      • React (0)
      • JavaScript (0)
      • Python (0)
    • 수업 일지 (92)
      • JS (4)
      • Java (7)
      • Servlet (6)
      • Oracle DBMS (19)
      • HTML, CSS, Flex, Grid (18)
      • Git (0)
      • Spring (28)
      • React (10)
      • Node.js (0)
    • 유용한 정보 (1)
    • 정보 리뷰 (20)
      • short (1)
      • 생활코딩 Java (5)
      • 생활코딩 JS for web browser (0)
      • 생활코딩 Web2 JS (0)
      • 생활코딩 CSS (0)
      • 생활코딩 Node.js (0)
      • 뉴렉처 서블릿,JSP (0)
      • 웹 게임을 만들며 배우는 JS (0)
      • 김영한 스프링 입문 강의 (0)
      • 나도코딩 파이썬 (0)
      • JavaScript (0)
      • 시니어코딩 Flask (0)
      • 노드 리액트 기초강의 (0)
      • 만들고 비교하며 학습하는 리액트 (0)
      • 생활코딩 Redux (0)
      • 따라하며 배우는 리액트, 노드 (0)
      • Node.js 교과서 (0)
      • 생활코딩 Linux (14)
      • 생활코딩 AWS (0)
      • 따라하며 배우는 TDD 개발 (0)
      • 모든 개발자를 위한 HTTP 웹 기본 지식 (0)
      • AWS Cloud Practitioner Esse.. (0)
      • 생활코딩 GIT CLI 모음 (0)
      • 함수형 프로그래밍과 JavaScript ES6+ (0)
      • 이규원의 현실 세상의 TDD (0)
      • Node.js 초격차 (0)
    • 책 리뷰 (1)
    • 개인 (30)
      • Today (28)
      • 잡담 (2)
    • 기타 (0)
홈태그방명록
  • TIL (deeply) 3
  • TIL (Today I Learned) 22
  • Git 학습 & 활용 5
  • CS 0
    • 운영 체제(Operating System) 0
  • 문제 해결 40
    • 에러 해결도 실력이다. 28
    • 50제 2
    • 백준 essential 0
    • wikidocs 300제 0
    • 코드업 100제 9
  • 자료구조 7
    • 개념 7
  • 알고리즘 7
    • C.C.I (708) 0
    • Introduction to Algorithms .. 0
    • 문자열 조작 5
    • 배열 2
    • 정렬 0
    • 이진탐색 0
    • 재귀함수 0
    • 스택 0
    • 큐 0
    • DP 0
  • Side Project 7
    • Public 5
    • Personal 1
    • Stealth Mode 1
    • 문제 해결력 증진 프로젝트 0
    • 개발자의 품격 4기 0
  • 개인 개발 공부 일지 0
    • Flask 0
    • React 0
    • JavaScript 0
    • Python 0
  • 수업 일지 92
    • JS 4
    • Java 7
    • Servlet 6
    • Oracle DBMS 19
    • HTML, CSS, Flex, Grid 18
    • Git 0
    • Spring 28
    • React 10
    • Node.js 0
  • 유용한 정보 1
  • 정보 리뷰 20
    • short 1
    • 생활코딩 Java 5
    • 생활코딩 JS for web browser 0
    • 생활코딩 Web2 JS 0
    • 생활코딩 CSS 0
    • 생활코딩 Node.js 0
    • 뉴렉처 서블릿,JSP 0
    • 웹 게임을 만들며 배우는 JS 0
    • 김영한 스프링 입문 강의 0
    • 나도코딩 파이썬 0
    • JavaScript 0
    • 시니어코딩 Flask 0
    • 노드 리액트 기초강의 0
    • 만들고 비교하며 학습하는 리액트 0
    • 생활코딩 Redux 0
    • 따라하며 배우는 리액트, 노드 0
    • Node.js 교과서 0
    • 생활코딩 Linux 14
    • 생활코딩 AWS 0
    • 따라하며 배우는 TDD 개발 0
    • 모든 개발자를 위한 HTTP 웹 기본 지식 0
    • AWS Cloud Practitioner Esse.. 0
    • 생활코딩 GIT CLI 모음 0
    • 함수형 프로그래밍과 JavaScript ES6+ 0
    • 이규원의 현실 세상의 TDD 0
    • Node.js 초격차 0
  • 책 리뷰 1
  • 개인 30
    • Today 28
    • 잡담 2
  • 기타 0

검색 레이어

개발누나

검색 영역

컨텐츠 검색

수업 일지

  • 79일 - @Transactional의 '전파 모드' & ACID 中 2) 고립도 설정

    2021.06.11 by NayC

  • 78일 - AOP, Proxy, @Transactional, ACID 中 1) 원자성 테스트

    2021.06.10 by NayC

  • 78일 - Service 구현 (프로젝트 관련)

    2021.06.10 by NayC

  • 78일 - 단위 테스트

    2021.06.10 by NayC

  • 78일 - 다수의 db 가져오기 <foreach>

    2021.06.10 by NayC

  • 77일 - update 할 때의 <set>, 래퍼클래스로의 변환, 파일만 주는 테이블에 id 주기 intro

    2021.06.09 by NayC

  • 77일 - 테이블명을 맞춰주는 <resultMap>, 페이징(Limit * Offset *), 동적 쿼리, <where>

    2021.06.09 by NayC

  • 76일 - MyBatis를 활용한 DB 연결(2), Dao 구현하기 실습

    2021.06.08 by NayC

79일 - @Transactional의 '전파 모드' & ACID 中 2) 고립도 설정

원자성 전파 옵션 - 위에서의 @Transactional의 내용을 / 자식에서 어떻게 처리할 것인지 옵션 처리 가능 (전파 옵션) - 나는 위의 @Transactional 1) 쓸게 2) 안 쓸거야 supports - 위에서 @Transactional 물고들어왔을 때, 지원하겠다. @Transactional 물고들어왔을때는 지원하되 나 자체로는 @Transactional 안하는 것. 그래서 이쪽의! @Transactional 원자성은 지켜지지 않는 것 (부모단에서 안들어오면 @Transactional 안해준다는거니까) requires_new - 밖에서 @Transactional 들어와도, '나만의' @Transactional 만들겠다는 것 - 엇박자. required (기본 디폴트 설정이 이거라고 한다...

수업 일지/Spring 2021. 6. 11. 09:34

78일 - AOP, Proxy, @Transactional, ACID 中 1) 원자성 테스트

'주문'을 insert하는 서비스를 만든다고 해보자. - 이때 사용되는 data는 하나가 아님 '결제' 서비스를 만든다고 해보자. - (사실 결제는 '주문' 테이블에 들어감) - 결제 정보 입력 ... and? - 사용자가 결제할 때 포인트같은걸 썼을 수도 -> 포인트, 쿠폰 사용에 대한 업데이트 -> 포인트 up .... 등등등등 - '포인트 차감'이라고 하면 이것에 대한 것만(!) 되서는 안 됨. 전체가 다 되어야 함. (포인트 차감, 쿠폰 차감... 이런 것들이 '다') 구현 할 때는 어떻게? cf) 만약 jdbc 였다면 com.setAutoCommit(false) ... 안에다가 다 함수들 적어주고 com.commit(); 해주면 된다고 생각할 수도 있으나 ... 이게 불가능하다. (각각 comm..

수업 일지/Spring 2021. 6. 10. 12:22

78일 - Service 구현 (프로젝트 관련)

사람이 hit 클릭하면 -> 데이터 hitUp 해줘야함 사람이 like 클릭하면 -> 데이터 likeUp 해줘야함 그런데 좋아요 취소할 수도 있어야 -> 그래서 이런건 Toggle이라고 해주자. (업할수도 다운할수도 있게 - 사용자 행위가 그대로 묻어나는~) // * 주의 * ServiceImp에는 Dao가 사용되는데, 막 이것저것 필요하다고 14, 18번째줄처럼 막 가지고 오면 안 된다. NoticeService에서 getMember() 구현하려면 MemberService를 사용할 일이 생기겠지 이렇게 사용해야함!!! 서비스끼리 x (누가 제품인지 누가 부품인지 모르겠는 상태로 사용 xxxxx) Q. NoticeController는 Service들 사용할 수 있을까? -> 애매하다. A거 사용하다가 갑..

수업 일지/Spring 2021. 6. 10. 11:26

78일 - 단위 테스트

테스트할 때마다 Controller에 작업을 해야하는 불편함이 있지. Controller 만드는 사람 따로 있어서 내가 이 Controller 만지지 못하는 상황이라면? '단위 테스트'를 해보자 cf) 통합 테스트 * 단위 테스트할 수 있는 방법 * 테스트툴 : 제이유닛? pom 파일을 가보자. 우리가 추가해주지도 않았는데 저절로 포함되어 있었던 test ! 내가 테스트하고 싶은 파일을 우클릭 > new > JUnit Test Case 이러면 아래 사진처럼 src/test/java에 (패키지와 함께) 쏙! 들어간다. 테스트할 때는 이 페이지에서! 우클릭 > run // Q. JUnit이란? - 이 실행을 도와주는 2가지를 제공. 1) 애가 test할 main 함수라는걸 알려주는 @Test를 알려줌 - 이..

수업 일지/Spring 2021. 6. 10. 10:15

78일 - 다수의 db 가져오기 <foreach>

* select 쿼리식의 문제 위에서 ids는 뭐지? 아래 사진하고 같이 이해하기 -> 배열 전체가 들어있는걸 ids, 하나 꺼내는걸 id라고 하셨으니... 그냥 이름? - 배열의 이름 (참조변수) 1번 방법 vs 2번 방법 - 1번은 배열로 전달되면 그만큼 쿼리를 실행해야함 - 2번은 한 번의 쿼리로 실행가능 -> 2번으로 하자. SQL - 필터링, 집계, 정렬, 배열 선택 ... -> 무조건 DAO가 담당하도록 하자. 이거 복사해서 xml에 넣는다. (with 적절히 수정) 중간에 index는 써도 안 써도 됨 - 혹시 중간에 배열을 꺼낼 수도 있을까봐 있는 것 // 테스트를 간단히 해보자 . mySQL 열어서 ex) 23, 40, 45번 담는 쿼리식을 작성해보자. NoticeController에서 ..

수업 일지/Spring 2021. 6. 10. 09:38

77일 - update 할 때의 <set>, 래퍼클래스로의 변환, 파일만 주는 테이블에 id 주기 intro

update할 때 굉장히 중요한 도구! 을 알아보자. 정말 고마운 녀석! update 하는데 만약에! hit값만 전달된다면? 나머지는 다 null이 올 것 update하면 hit만 업데이트 되고 나머지는 null이라니... -> 3번 게시물 업데이트 하고 싶어? 그럼 3번 '가지고와' + 'hit 업데이트' - 기존값 채워지고, update 해주는 ! 먼저, '테스트'를 해보자. ex) NoticeDao가 잘 나오는지 테스트하고 싶으면? 테스트 하려면 ui가 있어야 하는데 ... 도와주는 macro 함수가 있음. edit 에 대해서 - get, post 지금 테스트 목적으로 그냥 NoticeController에 NoticeDao 연결해서 만들어줌 edit.jsp도 만 넣은 상태로 준비 실습 edit 페이..

수업 일지/Spring 2021. 6. 9. 12:30

77일 - 테이블명을 맞춰주는 <resultMap>, 페이징(Limit * Offset *), 동적 쿼리, <where>

언더라인을 이용해서 구분... 하면 매핑된 정보가 안들어갈 수 있다? 지금 mySql에서 wirtierId -> witer_Id 로, regdate ->reg_date로 바꿔봤다. 그럼 전에 잘 되던게 안 됨 매핑이 안 됨. - 테이블은 reg_date, writer_Id Notice에 적은건 regdate, writedId라서 -> MyBatis가 대안을 제공함 컬럼을 맞춰주는 역할 이거 결과봐야함 -> 선생님이 테이블명 바꿔서 확인 못하겠는데ㅜ noticeDao 이라고 에러 한 줄이 있었음 -> 매핑 안해주니 바로 결과 실행됨... 근데 select - resultyType에만 가능 Q. parameterType은 어떻게 할까 // 웹페이지에서 '글쓰기' 누르기 -> 에러 예견된 에러 writer_i..

수업 일지/Spring 2021. 6. 9. 09:35

76일 - MyBatis를 활용한 DB 연결(2), Dao 구현하기 실습

detail 페이지 수정하기 흐름 '숙달'하기! // detail 페이지에서 '삭제'하기 id 받고, 삭제한 다음에 redirec 해서 목록으로 가기 // 먼저 삭제했는지를 알아보기 위해 아래와같이 정렬해주고 // 22번째줄에 parameterType 안쓰는 이유 -> 기본 타입은 안써줘도 된다. (기본 타입은 parameterType="int") 파라미터 타입 vs resultType select에서는 '값을 만들어내는거에 대한 데이터'를 어느 타입으로 하겠느냐에 대한거라 파라미터 타입은 필요 x select 구문만 resultType만 있는 것 insert, delete 같은건 parameterType이 중요 DAO를 여러개 만들어야 함 - 테이블마다 필요함 // update를 구현해보자. updat..

수업 일지/Spring 2021. 6. 8. 14:35

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 ··· 12
다음
TISTORY
개발누나 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.