Tiny Bunny
본문 바로가기

Java39

MultipartRequest을 통한 파일 업로드 라이브러리 다운 ➡ cos.jar ➡ lib폴더 안에 넣어서 사용   Servlets.comHome What's New? COS File Upload Library Servlet Polls Mailing Lists Servlet Engines Servlet ISPs Servlet Tools Documentation Online Articles The Soapbox "Java Servlet Programming, Second Edition" "Java Enterprise Best Practices" Speaking & Slides About Jawww.servlets.comform 설정method = "post"enctype="multipart/form-data"파일 업로드 업로드public ResultD.. 2024. 4. 26.
Java - 파일 업로드(1) 파일명 변경현재는 1,2,3,4 ··· 이런식으로 파일명이 업로드되는데 나는 다운로드시에 저장된 파일명으로 저장할것이다!public String getFileName() { String GenFileName[] = originFileName.split(fileExt); String NewGenFileName = GenFileName[0].substring(0, GenFileName[0].length()-1); return id + "_" + NewGenFileName + "." + fileExt; }➡ 기존 파일명은 확장자까지 저장하기 때문에 확장자(fileExt)로 나눠서 저장➡ 근데 그렇게 저장하면 마지막에 .까지 나오니까 마지막 전까지만 파일명 저장➡ 그리고 정렬하기 좋게 id를 앞에 .. 2024. 4. 25.
coolsms - Java 문자메세지 전송 수많은 방법들이 있었는데 가장 간단하게 해결한 방법이다....![coolsms] 웹에서 메세지 전송을 할 수 있는 api 세상에서 가장 안정적이고 빠른 메시지 발송 플랫폼 - 쿨에스엠에스손쉬운 결제 전용계좌, 신용카드, 계좌이체 등 국내 결제 뿐만 아니라 해용신용카드로 한번의 카드번호 등록으로 자동충전까지 지원합니다. 전용계좌, 신용카드, 계좌이체 등 다양한 결제 방식coolsms.co.kr회원가입 후 로그인계정 가입 후 API Key 생성 ➡ 등록하기 ➡ 새 API KEY 생성💫 위의 절차를 마치면 API Key와 API Secret KEI 가 생성됨🌠 이렇게도 확인 가능 (SECRET KEY는 인증 후 조회가능)본인의 개발환경에 맞는 SDK나 샘플 프로젝트를 선택 (나는 Java~~)  시작하기 .. 2024. 4. 25.
Spring Batch - Tasklet, Chunk 방식, JAP 기본 사용법, 외래키 제약 조건 Tasklet을 사용한 Task 기반 처리배치 처리 과정이 비교적 쉬운 경우 쉽게 사용대량 처리를 하는 경우 더 복잡  하나의 큰 덩어리를 여러 덩어리로 나누어 처리하기 부적합Chunk를 사용한 chunk(덩어리, 일종의 단위) 기반 처리ItemReader, ItemProcessor, ItemWriter의 관계 이해 필요대량 처리를 하는 경우 Tasklet 보다 비교적 쉽게 구현예를 들면 10,000개의 데이터 중 1,000개씩 10개의 덩어리로 수행 처리방식 Jobstep1TaskletItemReader(데이터베이스, 파일, 큐에서 다량의 데이터 조회)/ItemProcessor(특정방법으로 데이터 가공)/ItemWriter(변환된거 받아서 저장)step2.. 2024. 4. 23.
Spring Batch - 쇼핑몰 만들기(환불), Helper order1PayPrice: 장바구니에 담은 물품의 총 가격 restCash: 충전 후 남아있는 금액환불member2의 환불 -> 환불 시 주문자의 주문을 확인환불 금액을 product_option의 refund_price에 등록시키고예치금 +시켜줘!​//orderpublic void setRefundDone() { for (OrderItem orderItem : OrderItems) { orderItem.setRefundDone(); }}public int getPayPrice() { int payPrice = 0; for(OrderItem orderItem : OrderItems) { payPrice += orderIt.. 2024. 4. 23.
Spring Batch - JPA, ORM JPAJava 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음(객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API)실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크ORM(Object-Relational Mapping)어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것(저장해주는?연결해주는?)객체 중심 개발 가능DevInitData -> 임의의 데이터 Product : 상품ProductOption: 상품의 옵션cartService -> 장바구니createFromCart: 회원의 장바구니 아이템들을 모두 가져와1. 담긴 상품이 판매 불가하면 삭제시키고2. 판매 가능하면 주문.. 2024. 4. 23.
Spring Batch - 데이터 생성, 즉시로딩/지연로딩 테스트 데이터 생성 (DevInitData)yml -> profile: active: dev (활성화)즉시로딩연관된 엔티티를 즉시 조회SQL 조인을 사용해 한번에 조회@ManyToOne(fetch = FetchType.EAGER)지연로딩 - 엔티티의 조회 시점을 실제 해당 객체가 사용될 때로 늦춤연관된 엔티티를 프록시로 조회프록시를 실제 사용할 때 초기화하면서 데이터베이스 조회@ManyToOne(fetch = FetchType.LAZY)@ManyToOne, @OneToMany, @OneToOne, @ManyToMany  엔티티간의 연관관계를 지정해주기 위한 어노테이션@ManyToOne, @OneToOne 의 fetch 타입의 기본값은 FetchType.E.. 2024. 4. 23.
Spring Batch - 기본사용법 backup table 생성DB 백업mysqldump -u root batch_ex_24_04 > batch_ex_24_04.sqlmysqldump -u root DB명 > 백업파일명.sqlDB 백업본을 다시 복원mysql -u root batch_ex_24_04_backup 직접 입력하지 않고 테이블 backup➡️ XAMPP에서 Shell클릭해서 cmd창을 열고 아래 명령어 입력// 백업 데이터베이스 만들기mysqldump -u root "백업할 데이터베이스명" | mysqldump -u root "백업 시켜줄 데이터베이스명"​mysqldump -u root "백업할 데이터베이스명" > "백업 시켜줄 데이터베이스명".sql// 백업 데이터베이스에 데이터 넣기mysql -u r.. 2024. 4. 23.
Spring Batch - 시작 Spring Batch: 대량의 데이터 처리를 위한 경량화된 프레임워크반복적인 작업을 수행하는 일괄 처리(Batch Processing) 작업을 효율적으로 처리할 수 있는 기능을 제공대용량 데이터 처리나 주기적인 업무 처리 등을 효율적으로 처리할 수 있고, 대용량 데이터 처리에 적합한 분산 방식의 처리를 지원➡ 대용량 데이터 처리, 트랜잭션 관리, 재시도 기능ex) 회원가입 ➡ 일반     광고메일 ➡ 배치(주에 한번씩 회원들에게 메일발송)시나리오배치 프로세스 주기적으로 커밋동시 다발적 Job의 배치 처리, 대용량 병렬 처리실패 후 수동 or 스케줄링에 의한 재시작의존관계가 있는 step 여러개 순차적 처리조건적 Flow 구성을 통해 배치 모델 구성반복, 재시도, Skip구.. 2024. 4. 23.