분류 전체보기14 [Spring Boot] 정리 2 Spring / Spring boot 차이내장 was 유무구성의 차이(boot는 mvc,스프링 코어 등 대부분의 기능을 자동으로 로드)xml 사용유무IOC객체를 직접 생성/제어 하지않고 외부 객체를 가져와 사용스프링은 스프링 컨테이너가 객체를 관리,제공DI어떤 클래스가 다른클래스에 의존함을 의미@Autowired 등 애너테이션 이용해 빈(컨테이너에서 관리하는 객체)을 주입Beanxml 파일설정 / 애너테이션 추가 등의 방법으로 스프링 컨테이너에 빈을 등록클래스에 @Component 애너테이션 붙여 클래스가 빈으로 등록이때 빈의 이름은 클래스 이름의 첫글자를 소문자로 바꿔 관리(ex : MyBean -> myBean)AOP프로그래밍 관심을 핵심 관점, 부가 관점으로 나눠 관심 기준으로 모듈화 하는것PSA이.. 카테고리 없음 2024. 6. 3. [Spring Boot] 학습 간 정리 Gradle / Maven소스 코드 이용해 애플리케이션을 생성하는 과정을 자동화하는 프로그램가독성 / 속도 등 여러 방면에서 Gradle이 우수POSTMANHTTP 요청을 보낼 수 있는 클라이언트 프로그램API 개발후 웹브라우저를 켜지않고 테스트 할 때 사용Client서버로 요청하는 주체Server클라이언트의 요청을 처리하는 주체SQL / NoSQL기존 RDB는 성능 올리는게 쉽지않아 이를 해결하기 위해 NoSQL이 등장라이브러리애플리케이션 개발에 필요한 클래스,함수 등을 모아놓은 코드 모음개발 간 필요 기능 구현 시 사용프레임워크개발을 효율적으로 하도록 도와주는 기능이나 도구를 제공하는 틀애플리케이션 전체적인 구조 잡기 위해 사용개발과정과제할당과제분석개발테스트QA배포 및 유지보수 카테고리 없음 2024. 5. 30. [자료구조]트리 📙 #자료구조_트리 정의 노드라고 하는 정보 항목이 간선으로 연결되어 계층적 구조를 이루는 비선형 구조 용어 설명 노드 : 트리의 각 항목 ex) 2,7,2,4… 차수 : 어떤 노드의 서브트리 수를 그 노드의 차수/분기수 라고 한다. ex) 2번의 차수는 2, 4번의 차수는 0 단말 노드 : 차수가 0인 노드를 리프/단말 노드라고한다 트리의 차수 : 어떤 트리의 차수는 트리 내의 노드 차수 가운데 최대 차수를 의미. 아래 트리의 차수는 2 레벨 : 루트 노드로부터의 거리를 의미. 루트 자체는 거리가 0 이므로 레벨이 0. 높이/깊이 : 트리에 속하는 노드 중에서 가장 큰 레벨에 1을 더한 것 숲 : 분리된 트리의 집합. 트리에서 루트를 제거하면 숲이 된다. 아래 그림에서 루트를 제거하면 두개의 트리로 된.. 카테고리 없음 2024. 2. 23. [알고리즘/자료구조(스택,큐)] 정의 📙 #알고리즘_정의 정의 주어진 문제를 해결 하기 위한 일련의 단계적인 풀이과정 ex) 서울에서 부산까지 가는 방법 1.집에서 버스터미널까지는 택시를 탄다. 2.버스터미널부터 부산까지는 버스를 탄다. 위의 예시처럼 어떤 문제를 해결하기 위한 풀이과정을 일컬어 알고리즘이라고 이해하면 될 것 같다. 📙 #자료구조_정의 정의 컴퓨터 기억 공간 내에 자료를 저장하고 조직화 시키는 방법 📙 #자료구조_알고리즘_관계 자료구조가 복잡한 형태일수록 알고리즘은 보다 짧은 단계의 과정으로 처리. 자료구조가 간단한 형태일수록 알고리즘은 보다 많고 길어지게 된다. ex) 복잡한 자료구조는 잘 정돈된 서류함에 비유될 수 있으며, 이것을 통해 특정 문서를 빠르게 찾을 수 있습니다. 한편으로는 간단한 자료구조는 지저분한 책상에 비.. 카테고리 없음 2024. 2. 21. [Spring]시큐리티 정의 및 기능 [Spring] 시큐리티 정의 및 기능 시큐리티 정의 애플리케이션에서 보안 기능을 구현하는데 사용되는 프레임 워크 1. 기본 보안 기능 인증 사용자가 누구인지 확인하는 프로세스(비밀번호 뿐 아니라 SSO,LDAP 등의 다양한 메커니즘을 지원) 권한 부여 사용자가 특정 리소스에 접근하거나 특정 기능을 실행할 수 있는지 여부를 관리 2. 시큐리티 제공 기능 CSRF 방어 CSRF 공격으로부터 애플리케이션을 보호하는 기능 제공 폼을 통한 사용자의 요청에서 랜덤 토큰을 요구해서, 외부 사이트에서 위조된 요청을 방지. Remember-Me 사용자가 로그인 상태를 기억하도록 도와주는 기능 세션 관리 및 보안 사용자 세션을 관리하고, 세션 관리에 대한 다양한 설정 제공 세션 공격 방어/동시 로그인 제어/세션 유지 시.. 카테고리 없음 2023. 12. 12. Spring 환경에서 AOP 기능을 활용한 DB 에러 로그 저장(log4j) Spring 환경에서 AOP 기능을 활용한 DB 에러 로그 저장(log4j) 0.프로젝트 환경 IDE : STS(Spring Tool Suite) New -> Spring -> Spring Legacy Project -> Spring MVC Project DataBase : oracle 11g 1.의존성 추가 properties에서 aspectj-version 확인 aspectjweaver 추가 (자바 언어에 AOP 기능을 추가) log4j(로깅 프레임워크) slf4j(로깅 Facade , 다양한 로깅 프레임워크(log4j,logback 등) 를 통일된 방식으로 사용할 수 있도록 함) lombok(@Slf4j 어노테이션 사용을 위함) ojdbc(DB 로그 저장을 위함) pom.xml 1.8 5.3.25 .. 카테고리 없음 2023. 12. 7. Root-Context/Servlet-Contetxt 정리 [Spring]Root-Context/Servlet-Context 정리 Root Context 비즈니스 레이어와 관련된 Bean들을 스캔 Service, Repository 등 비즈니스 로직을 다루는 클래스들이 포함 일반적으로 공통적으로 필요한 빈들은 여기서 설정 Servlet Context 웹 레이어와 관련된 Bean들을 스캔 Controller 클래스와 뷰 리졸버, 핸들러 매핑등과 관련된 클래스들이 포함 일반적으로 웹 관련된 빈들은 여기서 설정 정리 두가지 설정을 분리하는 이유 관심사의 분리와 모듈화를 위해 필요한 빈들을 명확하게 구분하여 설정할 수 있다. 주의사항 빈이 중복되지 않도록 주의할 것 카테고리 없음 2023. 12. 7. 예외(Exception) 와 에러(Error) 예외(Exception) 와 에러(Error) Exception 정의 및 특징 프로그램 실행 중에 발생한 예상치 못한 상황이나 오류 사용자의 잘못된 입력/네트워크 연결 오류/파일을 찾을 수 없는 오류 등이 포함된다. 일반적으로 프로그래머가 처리가 가능하다 Exception 종류 1.Checked Exception 컴파일러가 강제로 예외처리를 요구하는 예외 RuntimeException 을 상속하지 않은 예외들 IOException,SQLException 등이 여기에 속한다 메소드에서 해당 예외가 발생 할 수 있다면, 반드시 예외처리 코드(try-catch/throws)를 작성해야한다. 2. Unchecked Exception 컴파일러가 예외 처리를 강제하지 않는 예외 개발자의 실수나 프로그램 논리 오류에.. 카테고리 없음 2023. 12. 7. AJAX - @RequestBody,@ResponseBody,@ajax 동작 처리 순서 [Ajax] @RequestBody/@ResponseBody/@ajax 동작 처리 순서 1.@RequestBody 사용 목적 http요청의 body에 있는 데이터를 컨트롤러 메소드의 매개변수로 매핑해주고자 할 때 사용. 클라이언트가 전달한 데이터(JSON/XML)를 Java객체로 변환해서 컨트롤러에서 사용할 수 있도록 한다. 사용 방법 컨트롤러 메소드의 매개변수 앞에 @RequestBody 어노테이션을 추가 2.@ResponseBody 사용 목적 메소드의 리턴값을 http 응답 body에 담아 클라이언트에게 전송 하고자 할 때 사용 주로 리턴값으로 뷰가 아닌 데이터(JSON/XML)를 전달하고자 할때/AJAX 호출에 대한 응답으로 사용. 사용방법 컨트롤러 메소드 위에 @ResponseBody 어노테이션을.. 카테고리 없음 2023. 12. 6. Spring 메일 전송하기(Gmail) Spring 메일 전송하기(구글 SMTP) 0. 프로젝트 환경 IDE : STS(Spring Tool Suite) New -> Spring -> Spring Legacy Project -> Spring MVC Project 1. 의존성 추가 javax.mail-api javax.mail(메일 기능) spring-context-support( 스프링 4 이상 사용 시 추가 필요) pom.xml javax.mail javax.mail-api 1.6.2 com.sun.mail javax.mail 1.6.2 org.springframework spring-context-support ${org.springframework-version} 2. web.xml 수정 spring 폴더 내 모든 설정 파일을 읽어 오도.. 카테고리 없음 2023. 12. 4. Spring 환경에서 타일즈 기능 사용법 Spring Tiles 적용하기 사용목적 공통된 레이아웃을 사용해 유지관리 용이 페이지 레이아웃을 쉽고 단순하게 구현 가능 타일즈를 이용해서 페이지 레이아웃을 설정하면 각각의 페이지를 따로 관리할 수 있어 수정 작업이 필요한 페이지가 존재하면 전체 페이지를 수정하는 것이 아닌 특정 페이지만 수정하는 방식으로 관리가 가능하다 0.프로젝트 환경 IDE : STS(Spring Tool Suite) New -> Spring -> Spring Legacy Project -> Spring MVC Project 1.의존성 추가 pom.xml org.apache.tiles tiles-core 3.0.8 org.apache.tiles tiles-extras 3.0.8 org.apache.tiles tiles-servle.. 카테고리 없음 2023. 12. 4. log4j ,slf4j를 사용해서 에러 로그를 파일 또는 DB에 저장하기 Spring 환경에서 log4j,slf4j를 이용한 에러 로그 파일 저장 및 출력하기(log4j.xml) 0.프로젝트 환경 IDE : STS(Spring Tool Suite) New -> Spring -> Spring Legacy Project -> Spring MVC Project DataBase : oracle 11g 1.의존성 추가 log4j(로깅 프레임워크) slf4j(로깅 Facade , 다양한 로깅 프레임워크(log4j,logback 등) 를 통일된 방식으로 사용할 수 있도록 함) lombok(@Slf4j 어노테이션 사용을 위함) ojdbc(DB 로그 저장을 위함) pom.xml com.oracle.database.jdbc ojdbc8 19.3.0.0 org.projectlombok lombo.. 카테고리 없음 2023. 12. 1. 이전 1 2 다음