-
MyBatisSpring Boot 🍃 2023. 12. 3. 00:01
객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크. JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복 작업을 제거한다. Mybatis에서는 프로그램에 있는 SQL쿼리들을 한 구성파일에 구성하여 프로그램 코드와 SQL을 분리할 수 있는 장점을 가지고 있다. 특징 복잡한 쿼리나 다이나믹한 쿼리에 강하다 프로그램 코드와 SQL 쿼리의 분리로 코드의 간결성 및 유지보수성 향상 resultType, resultClass등 Vo를 사용하지 않고 조회결과를 사용자 정의 DTO, MAP 등으로 맵핑하여 사용 할 수 있다. 보고 배운 곳 : khj93..
-
wifi로 연결된 windows 노트북에서 실행중인 웹서비스에 핸드폰으로 접속하는 방법Web 2023. 12. 3. 00:01
주제가 거창해진것 같다; 저렇게 쓰는게 맞나...?? @_@ ㅋㅋ 보고 배운 블로그 : ithub.tistory 노트북에서 ip 확인 win+r - cmd 입력으로 터미널을 실행시킨다. ipconfig 입력 후 나타나는 목록에서 제일 아래에 있는 무선 LAN 어댑터 Wi-Fi 의 IPv4 주소를 기억한다음 핸드폰을 손에 쥔다 핸드폰으로 접속 핸드폰에서 아무 인터넷 브라우저 앱을 실행한 후 위에서 기억한 주소:포트번호를 입력하면 됨! 이걸 해본 이유는 실습 과제중에 ip를 저장하는 부분이 있는데, 로컬 컴퓨터로 로컬 서버에 떠있는 웹 서비스에 들어가서 테스트하니 계속 0:0:0:0:0:0:1 인가 이런 정보만 저장되어서 확인이 필요했기 때문이다. 모바일로 접속해서 확인해보니 잘 작동하는것 같다!
-
에러 기록: Spring Security Login 동작시 error Redirect에러기록 2023. 12. 3. 00:01
알고봤더니 원래 에러가 나는 부분은 아니었고, 초기 프로젝트 파일을 공유하는 과정에서 files 폴더가 공유되지 않아서 생긴 오류였던걸로 보인다. 스프링 시큐리티 언제공부하지 이 에러는 기본으로 주어진 프로젝트를 처음 실행했을 때 부터 났던 에러라서 안고치고 넘길려고 했는데, 과제를 하면서 로그인 컨트롤러를 건드리다보니 이 에러때문에 로그인 히스토리에 데이터가 저장이 안되고 로그인중인 상태가 되어버리는 경우가 생겨서 😠 건드리게 되었다.😠 😠 문제의 화면 😠 보고 배운 사이트 : inflearn/questions 방금 적어둔 사이트에 의하면 이 화면이 나타나는 이유는 리다이렉트 시 요청하는 리소스 중에서 찾지 못한 리소스가 생기기 때문인걸로 보인다. 나의 경우 로그인 후 redirect 되는 화면인 첫번..
-
에러 기록 : spring-boot-starter-mail 계정 인증 실패에러기록 2023. 12. 3. 00:01
먼저 의심해볼 부분은 계정 로그인 보안 설정에서 2단계 인증 - 앱 비밀번호를 설정 한 후, email 발송 계정의 비밀번호에 앱 비밀번호를 저장했는지 확인해 볼 것 application.yml 설정 파일에서 spring.mail.properties.mail.debug = true 로 설정해주면 관련 기능이 실행 될 때 로그를 볼 수 있다. 오 너무 신기하다 DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 587, isSSL false 220 smtp.gmail.com ESMTP j3-.11 - gsmtp DEBUG SMTP: connected to host "smtp.gmail.com", port: 587 EHLO 192.0.0.1 250-s..
-
application.yml 파일에 속성 파일 추가Spring Boot 🍃 2023. 12. 3. 00:01
보고 배운 블로그 : oingdaddy.tistory 추가할 yml 파일 생성 추가 할 설정 파일의 이름은 하고싶은데로 작성하면 된다. 확장자만 .yml 지켜줘야됨 나는 secret.yml 이라고 작성! secret.yml email: id : your_gmail_id@gmail.com pwd : your_gamil_password application.yml 파일에 include 및 값 사용 application.yml spring: config: import: classpath:secret.yml mail: username: ${email.id} password: ${email.pwd} include가 잘 되었다면 , 변수 불러올 때 아래 처럼 자동완성으로 바로 나타난다.
-
MariaDB 설치 및 프로젝트 요구 계정 / db 추가DB/MySQL 2023. 12. 3. 00:01
windows 에서 MariaDB 설치 다운로드 아래 사이트에서 다운로드 받으면 된다. 설치는 굉장히 간단한 편! 혹시 이전에 다른 데이터베이스 시스템을 설치한 적이 있다면 설치도중에 port 번호만 3306이 아닌 다른 번호로 지정해주면 된다. 나는 mySql을 설치했었기 때문에 3307로 해주었다. 그리고 비밀번호는 데이터베이스 접속 로그인 비밀번호이기 때문에 주의해야 한다. 설치 후 변경 가능! 다운로드 : mariadb.org pwd : 그루트 환경변수 등록 자주 사용하지는 않겠지만, 필요시 당황하지 않도록 환경변수를 등록해준다. terminal로 접근할 경우, 환경변수를 등록해주지 않으면 아래와 같이 입력해야 하지만, C:\Program Files\MariaDB 11.1\bin -u root -..
-
에러 기록 : com.sun.xml.internal.ws not found에러기록 2023. 12. 3. 00:01
프로젝트를 다운받아서 실행해보려고 했는데 아래줄에 import 된 com.sun.xml.internal.ws 패키지를 찾을 수 없다는 에러가 떴다. import com.sun.xml.internal.ws.spi.db.DatabindingException; 1. pom.xml에 dependency 추가 com.sun.xml.ws jaxws-rt 4.0.1 javadoc을 보니 패키지 경로가 변경된 것 같아서 수정해주었다. https://javadoc.io/static/com.sun.xml.ws/jaxws-rt/4.0.0-M4/com.sun.xml.ws/com/sun/xml/ws/spi/db/package-summary.html 2. import문 수정 import com.sun.xml.ws.spi.db.D..
-
windows PID 죽이기OS/Windows 2023. 12. 3. 00:01
인텔리제이로 스프링 부트 프로젝트를 실행시키다가 갑자기 종료되었다. 😠 다시 인텔리제이를 실행해서 프로젝트를 실행하려고 하니 8080 포트를 써야 하는데, 이놈이 죽지않고 살아있어서 실행 실패가 떴다. 😠 port 사용중인 프로세스의 PID 검색 보고 배운 블로그 : blog.joyfui netstat -ano | findstr :8080 여기서 맨 마지막에 떠있는 13316 이 PID이다. 이걸로 죽이면 됨 죽일때는 kill PID번호 또는 taskkill /f /pid PID번호 보고 배운 블로그 : hellodoor.tistory
-
spring boot: 스케줄링Spring Boot 🍃 2023. 12. 2. 00:01
@Scheduled Scheduled 어노테이션 사용으로 , 이 어노테이션을 이용하여 스케줄링 프로그램을 작성할 수 있다. @Scheduled 어노테이션은 cron 표현식의 String 문자열을 인자로 받아서 동작한다. @Scheduled 어노테이션을 사용하기 위해서는 Application 클래스에 @EnableScheduling 어노테이션을 붙여주어야 한다. cron 표현식 리눅스 및 유닉스 기반 운영 체제에서 스케줄 작업을 지정하는 데 사용되는 표현식. cron 표현식 구성 초 분 시 일 월 요일 초 (0-59) 분 (0-59) 시 (0-23) 일 (1-31) 월 (1-12) 요일 (0-7, 일요일=0 또는 7) 사용 될 수 있는 기호 * : 모든 값. , : 값의 리스트. 쉼표로 구분된 여러 값을 ..
-
트랜잭션 transactionSpring Boot 🍃 2023. 12. 2. 00:01
데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위 CRUD 작업 모두 데이터베이스의 상태를 변화시키게 됨 트랜잭션을 이루는 4가지 속성 속성에 대한 이해 필요 원자성 Atomicity 트랜잭션의 작업 처리 결과가 모두 DB에 반영 되거나, 모두 DB에 반영 되지 않아야 함. 일관성 Consistency 트랜잭션의 작업 처리 결과는 항상 일관적이어야 한다. 독립성 Isolation 여러개의 트랜잭션들이 하나의 DB에서 작업할 때 서로에게 영향을 미쳐선 안된다. 지속성 Durability 트랜잭션이 성공적으로 완료되어 DB에 변화가 생겼다면, 그 변화는 영구적이어야 한다. 트랜잭션 수행 후 실행될 수 있는 연산 2가지 커밋 Commit 트랜잭션이 성공적으로 작업을 완료했다고 판단하면 지금까지의 작업을..