일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- C++
- 코틀린
- 공부일지
- CJ UNIT
- 백준 알고리즘
- programmers
- 백준
- 코딩교육봉사
- 자바
- 시나공
- 소프티어
- 문제풀이
- SQL
- kotlin
- 백준알고리즘
- 알고리즘
- SW봉사
- BFS
- 스프링
- 파이썬
- python
- 정보처리산업기사
- MYSQL
- 회고
- 프로그래머스
- 코딩봉사
- 1과목
- softeer
- 데이터베이스
- Today
- Total
목록개발 (141)
JIE0025
엔티티 - DB에서 영속적으로 저장된 데이터를 자바 객체로 매핑해 '인스턴스 형태'로 존재하는 데이터를 말함. - 테이블에 대응하는 하나의 클래스 - 엔티티로 만들고 싶은 클래스에 @Entity 어노테이션을 붙혀주면 된다. 만약 Database에 다음과 같은 테이블이 있다고 가정하자 Table username password jieun 1234 jin 1111 spring-boot-starter-data-jpa 의존성을 추가하고 자바 클래스에 @Entity 어노테이션을 붙히면 테이블 - 자바 클래스가 매핑이 된다. @Entity public class Account{ String username; String password; } 즉 JPA에서 하나의 엔티티 타입을 생성한다는 것은 하나의 클래스를 작성한..
트랜잭션? 데이터베이스의 상태를 변경시키기 위해 수행하는 작업의 단위 데이터베이스의 상태를 변화시킨다는 말의 의미는 SQL질의어를 이용해 데이터베이스를 접근하는 것이다. 작업의 단위는 질의어 한문장이 나이고, 사람이 정하는 기준에 따라 정해진다. 예시 게시판 글 작성 -> 작성 버튼 클릭 -> 업데이트 된 게시판 리스트를 보는 상황에서 1) 사용자가 글 작성 버튼 클릭시 insert문 사용 2) 게시판을 구성할 데이터를 Select해서 최신 정보 유지 이 상황에서 작업의 단위는 insert + select ** 관리자와 개발자가 트랜잭션 설계를 잘 하면 데이터를 다룰때 많은 이점이 있음. 트랜잭션 특징 1) 원자성 (Automicity) 트랜잭션이 데이터 베이스에 모두 반영되거나, 전혀 반영되지 않아야 ..
스프링 시큐리티 (Spring Security) 스프링 기반 애플리케이션의 보안 - (인증, 인가)를 제공하는, 스프링 하위 프레임워크 인증 : 누구? 인가 : 뭘 할 수 있는가? 권한 : 스프링 시큐리티에서는 서블릿 필터(filter)와 이들로 구성된 필터 체인으로 구성된 위임 모델 사용 보안 관련 체계적인 옵션을 제공해주어, 개발자 입장에서 보안 관련 로직을 작성하지 않아도 되는 것이 장점! 특징 - Servlet API 통합 - Spring web MVC와의 선택적 통합 - 인증, 인가(권한 부여)에 대해 포괄적이고, 확장 가능한 지원 - session fixation(세션 고정 공격) clickjacking(클릭재킹) csrf(cross site request forgery 사이트간 요청 위조) ..
JUnit ? 자바 개발자 93% 가 가장 많이 사용하는 단위 테스트 프레임워크 스프링 부트 2.2ver 이상부터 기본 제공 JUnit5 ? JUnit5는 자바 개발자가 가장 많이 사용하는 테스팅 기반 프레임워크로, 자바 8 이상부터 사용가능하다. JUnit5 = JUnit platform + JUnit Jupiter + JUnit Vintage 3가지가 결합한 형태 테스트 작성자를 위한 API, 모듈과 테스트 실행을 위한 API의 분리 ex ) JUnit Jupiter : 테스트 코드 작성에 필요한 junit-jupiter-api 모듈 테스트 실행을 위한 junit-jupiter-engine 모듈 JUnit platform 테스트 실행 런처(Junit으로 작성한 테스트코드를 실행해주는 런처) 와 Tes..
annotations이 무엇일까 사전에 검색해보니 주석이라고 뜬다. 스프링에서 어노테이션? 어떤 기능을 수행하도록 하는 주석 같은 느낌으로 이해하면 된다. 프로그램에 추가 정보를 제공하는 메타데이터(데이터를 위한 데이터) 의 역할이기도 한다 어노테이션(Annotation)은 클래스와 메서드에 추가되어 다양한 기능을 부여할 수 있는데 이를 활용한 예는 다음과 같다. - 클래스 역할 정의 - Bean(스프링 객체) 주입 - getter setter 자동 생성 어노테이션의 장점 - 코드 량 감소 - 유지보수 good - 생산성 증가 어노테이션 종류 @Component 개발자가 정의한 클래스를 Bean으로 등록하는 어노테이션 @Component public class Student{ public Student(..
프로젝트는 생성하고나면, 깃허브 연동은 필수이다. 수정되는 과정을 기록하면서, 만약 실수해서 파일이 없어지거나, 코드가 사라질 경우 이전의 것을 돌이킬 수 있기 떄문이다. (예전에 공모전 하다가 코드 100줄이 통채로 사라진 적이 있어서 깃허브는 꼭 하는 편이다.) 먼저 깃허브에서 레포지토리를 새로 만들어준다. 나는 SpringProject-Board로 이름을 설정했다. 레포지토리 링크가 생기는데, 오른쪽 버튼을 클릭해서 복사하자. 이제 스프링에서 Window > Perspective > Open Perspective > Other 선택 Git을 선택하고 Open Clone a Git repository 클릭 URI 부분에다가 아까 생성된 레포지토리의 주소ㅌ를 복붙해준다. 그리고 아래에 있는 Authen..
Window > Preferences General > Workspace > Other : UTF- 8 (한글 인코딩) > Apply and Close 프로젝트이름 (SpringProject) 한번 클릭 > Project > Properties Resource > Test file encoding 에서 UTF-8 을 확인한다. Maven > Project Facets > JAVA 1.8로 변경 > Apply and Close src > main > webapp > WEB-INF > web.xml 파일 open후 > Source 클릭 위에 코드 추가 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 for..
1. STS4 설치 https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE. spring.io 윈도우를 클릭, 설치하자. 다운로드 된 파일을 클릭하면 Unpacking된다. unpacking이 끝나면 sts-4.11.1.RELEASE 라는 형태의 폴더가 생긴다. 파일에서 SpringToo..
요구사항을 반영한 ER다이어그램을 만들고, 관계 데이터 모델도 써보겠다. 이용하는 DB는 마당대학이지만, ER 다이어그램과 관계 데이터 모델을 생성하는 것이기 떄문에 데이터베이스는 필요하지 않다. 마당대학 요구사항 ① 교수(Professor)는 아이디(ssn), 이름(name), 나이(age), 직위(rank), 연구 분야(speciality)를 가진다. ② 학과(Department)에는 학과번호(dno), 학과이름(dname), 학과사무실(office)이있다. ③ 대학원생(Graduate)은 아이디(ssn), 이름(name), 나이(age), 학위과정(deg_prog, 석사/박사)을 가진다. ④ 과제(Project)는 과제번호(pid), 지원기관(sponsor), 개시일(start_date), 종료일(..
완성된 ER모델이 실제 DB로 구축되기 위하여 논리적 모델링 단계를 거치는데 , 이단계에서 사상(mapping)이 이루어진다. 사상 알고리즘 단계 단계 사상할 대상 구분 1단계 개체 타입 강한 개체 타입 2단계 약한 개체 타입 3단계 관계 타입 이진 1:1 관계 타입 4단계 이진 1:N 관계 타입 5단계 이진 N:M 관계 타입 6단계 속성 N진 관계 타입 7단계 다중값 속성 사상 방법의 종류 밑줄 : 기본키 기울은 글꼴 : 참조, 외래키(?) 방법 1 오른쪽 개체 타입을 기준으로 관계 R표현 E1 ( KA2, A2 ) E2 ( KA2, A4, KA1 ) 방법 2 왼쪽 개체 타입을 기준으로 관계 R표현 E1 ( KA1, A2, KA2 ) E2 ( KA2, A4 ) 방법 3 단일 릴레이션 ER로 통합, 관계..