목록스프링 (10)
까마귀코딩.log

081. crud 기능하나로 합치기 컨트롤러에서 - form() -add () -list() -detail() -update() -delete() -fileDelete() 1. @RequestMapping 사용법 2. 스프링의 CharacterEncodingFIlter 사용법 3. 필터를 자바코드로 배치하는 방법 4. "요청핸들러" 의 파라미터를 다루는 방법 == request Handler: 요청이 들어왔을때 호출되는메서드 add(), list(), detail() 등 프론트 컨트롤러인 DispatcherServlet >> 디스패처서블릿 얘가 하는일이 뭘까?? 먼저 1) 요청 url 을 처리할 페이지 컨트롤러의 핸들러를 찾는다. 2) 핸들러의 파라미터를알아낸다. 3) 핸들러에게 넘겨줄 파라미터 값을 찾..

apple Developer console 에 앱 등록이 되어 있다는 가정하에 설명한다. 우선 인앱상품등록 부터 준비한다. (앱 업로드는 하지 않아도 샌드박스 결제테스트가 가능하다.) 인앱 상품 등록 소스코드단에서 제품 ID 를 사용하기 때문에 잘 정해주면 된다. 나머지는 수정이 가능하나 제품 ID 는 변경이 안된다. 등록된 상품은 수정 및 삭제가 가능하다. 상품이 등록되었다면 앱 업로드 또는 출시를 하지 않아도 결제테스트 준비가 끝난 것이다. 샌드박스 테스터 추가 샌드박스 결제테스트를 위해 테스터 계정을 추가한다. App Store Connect > 사용자 및 액서스 > Sandbox > 테스터 > 신규 사용자 등록 이메일은 애플계정에 등록되지 않은 이메일주소여야 한다. 인앱 결제 기능 활성화 프로젝트..

이번에 안드로이드 인앱 결제에 대해 알아보자 단어 1. 일회성 제품 : 일회성 제품은 사용자가 결제 방법으로 반복되지 않는 단일 요금을 지급함으로써 구매할 수 있는 컨텐츠. Google Play 결제 라이브러리에서는 정기 결제를 "INAPP"이라고 칭함 - 소비성 제품 : 소비성 제품은 사용자가 게임 내 컨텐츠를 받기 위해 소비하는 제품. ex) 게임 머니 - 비소비성 제품 : 비소비성 제품은 한 번 구매하면 영구적인 혜택을 제공하는 제품 ex) 프리미엄 업그레이드 2. 정기 결제 : 정기 결제는 반복적으로 컨텐츠에 대한 엑세스를 제공하는 제품. Google Play 결제 라이브러리에서는 정기 결제를 "SUBS"라고 칭함 - 정기 결제는 취소될 때까지 자동으로 갱신 - 무료 체험판을 제공 - 신규 할인 ..
알림은 단순히 모바일 푸시 알림 뿐 아니라 SMS, 이메일의 세 가지로 분류할 수 있다. 1단계 문제 이해 및 설계 범위확정 어떤 알림을 지원해야 하는가? → 푸시, SMS, 이메일 실시간 시스템이어야 하는가? → 연성 실시간(soft real-time). 가능한 빨리 전달되어야 하지만 높은 부하가 걸렸을 때 약간의 지연은 무방하다. 어떤 단말인가? → iOS, 안드로이드, 랩톱, 대스크톱 알림은 누가 만들 수 있는가? → 클라이언트 앱 혹은 서버 측 스케쥴링 사용자가 알림을 받지 않도록 설정할 수 있는가? → 그렇다. 하루에 몇 건의 알림을 보낼 수 있어야 하는가? → 천만 건의 푸시, 백만 건의 SMS, 5백만 건의 이메일 2단계 개략적 설계안 제시 및 동의 구하기 알림 유형별 지원 방안 iOS 푸시..
-Dependencies Lombok - ⍤⃝기본생성자나 생성자 게터세터 생성하는데 편해서 추가함 기능쪼금만쓸거임 기본생성자 라던지 전체생성자 빌더 그담에 게터 정도만 데이타나 세터는 잘안쓸거임 spring web - spring security - 기본설정해놓을거임 spring data jpa - 객체와 테이블 관계를 매핑해줄 무언가가 필요한데 왜냐하면 그것을 간과하고 개발하게 되면은 테이블에 의존하는개발밖에 안된다. 그런상황에서의 불편함이 많이 존재한다. 마이바티스에서는 타입자체도 신경을 많이 써야한다. jpa는 타입을 바탕으로하기때문에 그러니까 객체기반으로 쿼리를 날리기 때문에 타입을 지킬필요가 없고 개발이 간단해진다. 그래서 사용한다. h2 databases - 내장데이터베이스이다. 메모리단에서 ..

어제는 실컷 설정하고 공부하는 시간을 가졌고 , 오늘은 화면에 출력하는 과정을 반복해서 머리에 넣는작업을 가질생각이다. 여러번 반복해서 머리속에 꼭꼭 집어넣자 !! jsp 로 게시판을 구현하는것과 별개로 우리는 스프링 부트를 사용하기 때문에 컨트롤러를 사용해서 매핑을 해주는것은 똑같다!! 루트경로는 여기서는 webapp 디렉토리 이다. 이 이하의 하위 디렉토리로 우리는 WEB-INF 와 jsp를 보안상의 이유로 만들어 주었다. 만약 해당 디렉토리들을 만들지 않고 index.jsp를 컨트롤러에서 매핑해주고 localhost:8080 경로를 호출하면 어떻게 될까??? index.jsp 를 바로 화면에서 뿌려주겠지만 코드가 바로보이는 문제가 있겠지. 그래서 일종의 숨김과정을 준것이다. 일단 인덱스 페이지 코드..

1. java 밑에 인터페이스 생성하기 BoardMapper 인터페이스에서 @Mapper 어노테이션의 역할은 맨위의 클래스 경로를 가지고 BoardMapper.xml 에서 namespace ='' 하고 일치되어있는것을 찾는다. 만약 다르게 해주면 ???? 콘솔에 BindingException이 뜬다 //패키지명 . 클래스명(인터페이스) .메소드명 //com.example.demo.mapper.BoardMapper.insertBoard // 한마디로 클래스풀경로. 메소드명 2. service 만들기 3. vo 를 파라미터로 받아서 mapper의 vo 를 호출하는 코드를 만들어 보자 !!! RequestBody - 파라미터를 json 형태로 가져올때 선언 ResponseBody - 객체를 뷰를 리턴하지 않을..

지난시간에 hello.jsp 와 index.jsp 를 컨트롤러를 이용하여 화면에 띄우기 까지 완료하였다. 그런데 이제 이런 방식은 보안문제가 걸리기 때문에 처리해줘야 할것이 있다. 바로바로 ~~~~~~~~~!!!! 1. webapp / WEB-INF /jsp 폴더 만들고 밑에 Index.jsp 파일을 옮겨주자. 옮겨주고 applicationproperties에도 해당경로를 써주자. WEB-INF : 디렉토리 : 서블릿 컨테이너가 url 로 접근을 하는것을 접근이 안되게끔 막아주는 디렉토리 그래서 이 디렉토리 밑에 파일을 두면 jsp 경로로 접근이 안되니까 컨트롤러로 접근해야한다. 2. 이제는 db 접근을 해야겠지. 우리는 마이바티스를 쓰니까 마이바티스 세팅법을 검색해봐야겠네 방법이 정말 여러가지이다. 근..

spring data jdbc: 가장 원시적으로 데이터에 접근하는 방법이다. - spring 기능 땡겨오는데 CrudRepository를 extends 해서 사용할수 있다. db 접근하는 mybatis. 기존 프로젝트는 jpa repository 와 thymeleaf 를 사용했었지만 이번에는 연습을 위해서 jsp 사용하여 프로젝트 팀을 구성하였다. 1. 2. lombok devtools - 편해. 수정되면 자동으로 컴파일해준다. - 내장톰캣을 시작해준다. 스프링부트 프로그램을 재시작해줌 자동으로 . validation - 검증 mybatis framework - 만약에 jpa 쓸거면 그거 하고 ~ 이거선택하면 되는데 둘다 선택하고 실행해도 문제는 없다 실행로딩에 시간이 걸릴뿐 mysql driver j..