개발일지349 MVC패턴 MVC 패턴: 소프트웨어 아키텍처의 분리와 구조화 I. 소개 MVC(모델-뷰-컨트롤러) 패턴은 소프트웨어 개발에서 사용되는 디자인 패턴 중 하나로, 애플리케이션을 세 가지 주요 부분으로 나누어 개발하는 방법론이다. 이 패턴은 애플리케이션의 유지보수성, 확장성, 코드 재사용성을 향상시키고자 고안되었다. II. 구성 요소 1. 모델 (Model) 개요: 모델은 애플리케이션의 핵심 기능을 담당하며, 데이터와 비즈니스 로직을 포함한다. 역할 및 책임: 데이터베이스에서 데이터를 가져오거나 저장한다. 데이터를 가공하고 비즈니스 로직을 처리한다. 특징: 데이터 객체, 데이터 액세스 로직, 비즈니스 로직을 포함한다. 2. 뷰 (View) 개요: 뷰는 사용자에게 정보를 표시하고 사용자 입력을 받아들이는 부분이다. 역할 .. 개발일지/복습 2023. 12. 11. 클래스(Class) Class(클래스) 자바에서의 기본 단위인 클래스는 프로그램을 구성하는 중요한 구성 요소이다. 클래스는 프로그램의 기본 단위로 사용되며, 코더는 자바 코드를 작성하여 .java 파일에 저장한다. 그리고 이 파일을 컴파일하면 .class 파일이 생성되어 프로그램 실행 시 활용된다. 클래스의 특징은 다음과 같다. 클래스명은 대문자로 시작해야 한다. 변수와 함수 등은 소문자로 시작한다. 간단한 클래스 정의 예제를 통해 자세히 살펴보자. javaCopy code public class MyClass { // 클래스 내용 작성 } Package(패키지) 패키지는 클래스를 모아놓은 그룹으로, 프로그램을 구조화하고 관리하는 데 사용된다. 패키지는 클래스의 모음집이며, 클래스들을 분류하고 정리하는 역할을 한다. 프로젝.. 개발일지/복습 2023. 12. 9. STS 단축키 설정 및 셋팅 1. 2. 프로젝트 창으로 이동 단축기 설정 단축기 : Alt + 1 2. 코드 에디터 창 이동 단축키 설정 단축기 : Alt + 2 개발일지/설치 및 셋팅 2023. 9. 14. Mysql설치 & 명령프롬포트 사용법 1. MySQL Installer 설치 URL : https://dev.mysql.com/downloads/windows/installer/8.0.html 2. 설치 로그인 & 회원가입 안해도 된다. 3. 설치 확인 & 실행 4. 설치할 버전 확인 뒤 선택해서 설치해준다. 설치완료 설정 화면 보안 설정 root 패스워드 설정 서버명 설정 설정 완료 설치 완료 Workbanch로 Mysql서버 접속하기 추가하기 DB 정보 입력하기 DB 패스워드 입력 창 DB 패스워드 입력후 Test Connection 누르기 연결 성공 접속하기 DB 접속 성공 화면 명령프롬포트 사용법 1. 환경변수 설정이 안되어있으면 Mysql Server 환경변수부터 설정해주자 위에서 서버를 설치를 했으니 서버가 설치된 bin폴더 부터.. 개발일지/설치 및 셋팅 2023. 9. 6. 아이디, 비밀번호 찾기 기능 build.gradle // 이메일 인증 라이브러리 implementation group: 'javax.mail', name: 'mail', version: '1.4.7' 1. 가입했을시 작성한 이메일(PK)로 아이디(username) 찾기 UserRespository 네이티브 쿼리 사용 @Query(value = " select * from User where email = ?1 ", nativeQuery = true) Optional findByEmail(String email); UserService @Transactional public User searchUserEmail(String email) { return userRepository.findByEmail(email).orElseThrow(.. 개발일지/스프링 2023. 1. 8. timestamp select *, timestampdiff(year, birth_date, now()) as age from employees where emp_no = 10001; 개발일지/MySQL 문제모음 2022. 12. 23. spring boot 로그인 기능 (form태그 로그인하기) SecurityConfig package com.demo.t1.config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configurat.. 개발일지/스프링 2022. 12. 20. spring boot 회원가입 기능 SecurityConfig package com.demo.t1.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.secu.. 개발일지/스프링 2022. 12. 20. csrf적용한 로그인(아웃), 회원가입,댓글(작,삭),게시글(작,수,삭),회원정보(수정) SecurityConfig login_form.jsp username: password: signIn 로그인화면에서 소스보기로 확인해보면 토큰값을 받아오는걸 확인 할 수 있다. 회원가입 처리 header user.js let token = $("meta[name='_csrf']").attr("content"); let csrfHeader = $("meta[name='_csrf_header']").attr("content"); beforeSend: function(xhr) { xhr.setRequestHeader(csrfHeader,token) }, 게시글 작성 save: function() { let xcheckTitle = XSSCheck($("#title").val()); let token = $(".. 개발일지/스프링 2022. 12. 20. spring boot 댓글 삭제기능 detail.jsp 돌아가기 수정 삭제 글 번호 : ${board.id + 100} 글 작성자 : ${board.user.username} ${board.title} ${board.content} 등록 댓글 목록 ${reply.content} 작성자 : [ ${reply.user.username} ] 삭제 board.js let index = { init: function() { $("#btn--save").bind("click", () => { this.save(); }); $("#btn--delete").bind("click", () => { this.deleteById(); }); $("#btn--update").bind("click", () => { this.update(); }); $("#btn.. 개발일지/스프링 2022. 12. 19. XSS 예방 XSS(크로스 사이트 스크립트) 란? 검증되지 않은 입력 값으로 인해 사용자의 웹 브라우저에서 의도하지 않은 악성 스크립트가 실행되는 취약점 외부 입력이 동적 웹 페이지 생성에 사용될 경우, 전송된 동적 웹 페이지를 열람하는 접속자의 권한으로 부적절한 스크립트가 수행되는 취약점 공격을 통해 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹 페이지 변조 등이 발생 공격 대상은 서버가 아니라, 클라이언트이다. https://github.com/naver/lucy-xss-servlet-filter GitHub - naver/lucy-xss-servlet-filter Contribute to naver/lucy-xss-servlet-filter development by creating an accoun.. 개발일지/스프링 2022. 12. 19. 카카오 로그인 기능 생성 및 셋팅(인가코드 발급받기, 토큰발급받기) https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 내 애플리케이션 만들기 나중에 페이지를 넘겨줄 URL주소이다 (생성할 예정) 인가코드를 받기위해 나중에 Redirect URL이 필요하다 그러니 따로 메모장에 기록해두자 카카오톡 로그 설정하는법 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인.. 개발일지/스프링 2022. 12. 15. 이전 1 ··· 3 4 5 6 7 8 9 ··· 30 다음