2024/06 Today I Learned
·
Today I Learned
June이번달 목표 : 김영한님 Spring + JPA 로드맵 전부 시청 후 Spring Security + JWT 수강시작12일 : jpa의 기본적인 사용법, 맵핑방법등에 대한 학습13일 : jpql, 값타입, 패치조인등 jpa 문법 학습14일 : jpa를 이용한 간단한 웹어플리케이션 엔티티구성과 비즈니스 로직 구현15일 : 김영한님의 JPA활용 1편 전강 수강완료16일 : 김영한님의 JPA활용 2편 API 개발과 성능 최적화 기본강의 수강17일 : 학원의 수료날, 어태 준비했던 프로젝트들의 마지막 점검과 수정 및 발표18일 : 김영한님의 JPA활용 2편 API 개발과 성능 최적화 수강완료19일 : spring data jpa, queryDSL의 간단한 사용법 학습20일 : Spring Data JPA..
JavaMailSender를 이용한 인증메일 발송 서비스 구현하기
·
Language/Java
학원에서 팀 프로젝트를 진행하느라 한 달 동안 블로그 포스팅은 물론, 다른 일들도 제대로 하지 못할 정도로 바빴습니다. 사실 그 바쁜 와중에도 TIL 정도는 작성할 시간이 있었을 텐데, 제 게으름도 한몫한 것 같습니다.이제 프로젝트도 막바지에 이르렀으니, 다시 마음을 다잡고 블로그와 TIL 작성을 꾸준히 하려고 합니다. 이번 한 달 동안 한층 성장한 제 모습과 앞으로 더 발전할 모습을 블로그를 통해 함께 보여드리고자 합니다.저는 이번에 두 가지 프로젝트를 진행하면서 처음 사용해 본 기술들을 중심으로 블로그에 소개하려고 합니다. 오늘은 그 중 가장 간단하게 구현한 JavaMailSender를 이용해 인증 메일을 발송하는 시스템에 대해 소개하려고 합니다.로직 소개이 로직은 사용자가 회원가입이나 비밀번호를 잊..
Git 팀프로젝트 시작하기
·
Framework&Tools/GIT
깃으로 팀프로젝트 시작하기스크럼마스터 초기 세팅레포지토리 생성팀 프로젝트를 시작하기 위해 가장 먼저 해야 할 일은 GitHub에서 새로운 레포지토리를 만드는 것입니다. 레포지토리를 생성하고 나면 팀원들을 초대하여 협업을 시작할 수 있습니다.그룹구성원 초대(Add people)레포지토리가 생성되면 'Settings'로 이동하여 'Manage access'에서 팀원들을 초대합니다. 이메일 주소나 GitHub 사용자 이름을 입력하여 초대장을 보냅니다.로컬에서 프로젝트 환경세팅(스프링부트 세팅)로컬 개발 환경에서 프로젝트를 설정합니다. 이 예시에서는 스프링부트를 사용합니다. 필요한 종속성을 추가하고 프로젝트를 초기화합니다.깃허브와 연동로컬 환경에서 작업한 프로젝트를 GitHub 레포지토리와 연동합니다.git i..
2024/05 Today I Learned
·
Today I Learned
May이번달 목표 : 김영한님 Spring로드맵 강의 시청하고 개인프로젝트 완성까지는 아니더라도 시작은 해보기 1일 : Rest Api 작성하여 json형태로 반환하는 것 연습, spring boot 에서의 component, componentscan등의 학습2일 : CRUD평가 및 http프로토콜 기초학습 시작3일 : CRUD REST API 작성, json형식으로 반환하는 연습7일 : CRUD REST API 작성, json형식으로 반환하는 연습 및 마무리8일 : 국비지원 강의에서의 스프링부트 시작, 스프링부트에서만 사용할 수 있는 여러가지 기능들을 체험 및 사용, 이후 프로젝트에서 aws를 이용하여 서버구축 및 데이터베이스를 이용할 예정이기에 해당 강의영상 시청9일 : 스프링부트 Autowired의..
Filter, Interceptor, AOP - 차이점과 적절한 사용 상황
·
Framework&Tools/Spring
오늘 학원에서 수업중 AOP라는 내용에 대해 공부하게 되었다. Spring에서 CRUD게시판을 만드는데 있어서 로그인과 회원정보수정, 회원가입 등에서 비밀번호를 암호화(SHA)시켜서 데이터베이스에 저장시키는 과정이 공통적으로 들어가게 되었다. 예를 들면 아래와 같은 코드이다. String hashPw = HashPw.getHash(user.getUserpw()); user.setUserpw(hashPw); 이런식의 공통적으로 들어가게 되는 코드를 줄이고자 AOP라는 것을 사용한다고 하였다. 자, 여기서 우선 AOP란 무엇인가? - 나도 잘모르니 같이 공부하는 셈치고 AI에게 물어보자. AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍) AOP(Aspect-Oriented P..
Spring에서 MyBatis 사용하기: 세팅부터 기본 문법까지
·
Framework&Tools/Spring
MyBatis는 데이터베이스와 자바 객체 간의 매핑을 위한 오픈 소스로, Spring 프레임워크와 함께 사용될 때 강력한 데이터 액세스 계층을 제공한다. 이번 포스팅에서는 Spring 프로젝트에서 MyBatis를 사용하는 방법과 기본 문법을 알아보도록 한다!! 1. 프로젝트 세팅 먼저, Spring 프로젝트에 MyBatis를 통합하기 위해 아래와 같은 의존성을 추가해야 한다. org.mybatis mybatis-spring-boot-starter {MyBatis 버전} 그리고 MyBatis 설정 파일(mybatis-config.xml)과 SQL 매퍼 파일들을 작성할 디렉토리를 생성한다. 2. MyBatis 설정 application.properties 파일에 데이터베이스 연결 정보를 설정한다. sprin..
MVC 패턴의 낯선 세계
·
IT
MVC 패턴의 낯선 세계 MVC 패턴을 처음 접했을 때, 이 개념이 매우 낯설었다. 모델, 뷰, 컨트롤러가 무엇이고, 각각이 어떤 역할을 하는지 이해하기가 쉽지 않았다. 그러나 이론적인 부분을 넘어 실제로 코드를 작성하며 경험을 쌓을 때마다 조금씩 이해가 되기 시작했다. 게시판 만들기: 실전으로의 도전 간단한 게시판을 만들기 위해 MVC 패턴을 활용한 프로젝트를 시작했다. 이 프로젝트를 통해 몇 가지 중요한 개념을 배울 수 있었다. 1. 모델(Model): 데이터의 중심 모델은 게시판에서 데이터와 데이터를 처리하는 비즈니스 로직을 담당한다. 게시물 정보를 담고 있는 클래스를 만들고, 데이터베이스와의 상호작용을 담당하여 CRUD 작업을 수행한다. 2. 뷰(View): 사용자에게 정보 제공 뷰는 사용자에게 ..
블로그 다국어 번역 위젯 설정방법!
·
외국어 공부
GTranslate를 이용한 위젯 설정 아마 구글번역기를 기반으로 만들어진 번역기 인것으로 알고있다. 그래서 아마 번역의 퀄리티가 그렇게 좋지는 않을 것이라고 생각... https://gtranslate.io/ 위의 사이트에 접속하여 다음 사진을을 보며 천천히 따라와보자! GO GLOBAL을 선택 뭔가 요금을 선택하라는 듯한 화면이 나오는데 무시하고 0달러 짜리 다운로드를 선택해주면 된다. 선택하면 이런화면이 나올텐데 제일 밑에있는 Other HTML을 선택해주자 그럼 마지막으로 이런 화면이 나올텐데 원하는 위젯스타일과 표시할 언어등을 선택한 뒤 widget code에 적혀있는 내용을 복사해주면 된다 이후 티스토리 관리자 - 플러그인 - 배너출력을 선택하여 적용 해주도록하자 (적용하지 않으면 위에서 복사..