전체 글
-
java - 6) 클래스Java 2020. 7. 20. 22:48
- 클래스의 개념 - 객체 지향 프로그래밍 (OOP, Object-Oriented Programming) 객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그램의 중심이 된다. 객체란 간단히 이야기 하자면 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있다. 이러한 객체의 상태(status) 와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍이다. 이때 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스(class)라고 한다. - 클래스 (class) 자바에서 클래스란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용된다. 자바에서는 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용하게 된다. 클래스는 객..
-
java - 5) 배열Java 2020. 7. 19. 00:03
- 메모리 구조 모든 자바 프로그램은 JVM을 통해서 실행된다. 자바 프로그램이 실행되면, JVM은 운영 체제로부터 해당 프로그램을 수행할 수 있도록 필요한 메모리를 할당 받는다. 이렇게 할당받은 메모리를 JVM은 용도에 따라 다음과 같이 구분하여 관리한다. - 메소드 영역 메소드 영역은 자바 프로그램에서 사용되는 클래스에 대한 정보와 함께 클래스 변수(static variable)가 저장되는 영역이다. JVM은 자바 프로그램에서 특정 클래스가 사용되면 해당 클래스의 클래스 파일(*.class)를 읽어들여, 해당 클래스에 대한 정보를 메소드 영역에 저장한다. - 힙 영역 힙 영역은 자바 프로그램에서 사용되는 모든 인스턴스 변수가 저장되는 영역이다. JVM은 자바 프로그램에서 new 키워드를 사용하여 인스..
-
chapter3-Q3) 배열에서의 검색PS/etc 2020. 7. 13. 20:16
Q3) 요솟수가 n인 배열a에서 key와 일치하는 모든 요소의 인덱스를 배열 idx의 맨 앞부터 순서대로 저장하고, 일치한 요솟수를 반환하는 메서드 ex) 요솟수 8인 배열 a {1, 9, 2, 9, 4, 6, 7, 9}이고 key가 9면 배열 idx에 {1, 3, 7} 을 저장하고 3을 반환한다. /* 요솟수가 n인 배열a에서 key와 일치하는 모든 요소의 인덱스를 배열 idx의 맨 앞부터 순서대로 저장하고, 일치한 요솟수를 반환하는 메서드 ex) 요솟수 8인 배열 a {1, 9, 2, 9, 4, 6, 7, 9}이고 key가 9면 배열 idx에 {1, 3, 7} 을 저장하고 3을 반환한다. */ public class Q3 { public static void main(String[] args) { S..
-
검색 정리Algorithm 2020. 7. 13. 20:05
- 선형 검색 요소가 직선 모양으로 늘어선 배열에서의 검색은 원하는 키 값을 갖는 요소를 만날 때까지 맨 앞부터 순서대로 요소를 검색하면 되는데, 이를 선형 검색(linear search) 또는 순차 검색 (sequential search) 이라는 알고리즘이다. 배열 검색의 종료 조건) 1. 검색할 값을 발견하지 못하고 배열의 끝을 지나간 경우 2. 검색할 값과 같은 요소를 발견한 경우 선형 검색은 배열에서 순서대로 검색하는 유일한 방법이다. 선형 검색은 반복할 때마다 종료 조건 1,2 를 모두 판단한다. 단순한 판단이라고 생각할 수 있지만 종료 조건을 검사하는 비용은 결코 무시할 수 없다. 이 비용을 반으로 줄이는 방법이 보초법 (sentinel method)이다. 검색하기 전에 검색하고자 하는 키 값..
-
시큐리티 1부~2부Spring 2020. 7. 13. 15:50
- 시큐리티 의존성 추가시 인증되지 않은 사용자가 접근시 /login으로 리다이렉트 된다. (테스트 코드 포함) - 접속시 스프링부트 자동 설정에 의해서 username, pass 가 주어진다. 기본 username : user passowrd : 애플리케이션을 실행할 때마다, 랜덤하게 주어진다. - 테스트 코드에서 인증된 유저 정보가 주고싶을때 spring-security-test 의존성 추가, 위와 같이 @WithMockUser 추가 - SecurityConfig 설정 이전에 ConditionOnMissingBean이였는데 WebSecurityConfigurerAdapter를 상속받았으니 기존의 자동설정은 이제 적용되지 않는다. 이렇게 실행시, my 에서만 로그인을 요구한다. - UserDetailS..
-
데이터 7부 : 데이터베이스 초기화Spring 2020. 7. 13. 13:09
spring.jpa.hiberante.ddl-auto= create-drop : 처음에 생성 후 앱 종료시 제거 create : 지우고 새로 생성 update : 기존 스키마 유지, 추가 된것만 변경 validate : 맵핑 할수있는 상황인지 검증 spring.jpa.generate-ddl = false, true 위에서 설정한 옵션을 사용할지 말지 true / false 이렇게 설정하면 @Entity 정보를 바탕으로 스키마를 자동 생성한다. sql l찍히는게 보고싶다면 spring.jpa.show-sql = true 실제 애플리케이션 운영시에는 보통 validate, false로 사용한다 (검증) validate일때 entity를 변경하면 에러가 난다. update일때는 entity를 변경시 변경해서 ..
-
데이터 5~6부 : 스프링 데이터 JPASpring 2020. 7. 12. 16:25
Spring Data JPA -> JPA -> Hibernate -> Datasource - 의존성 추가 spring-boot-starter-data-jpa, - 실제 수행과 테스트를 위한 디비 의존성 추가 h2, postgresql - 클래스 생성 @Entity -> 테이블을 객체화 시켰다고 생각. @GeneratedValue -> repository를 통해 저장할 때, 자동으로 값을 준다 . Auto라고 생각. 기본적으로 id , getter,setter가 필요하다. getter,setter, equlas,hashCode 생성 , 롬복을 활용해도 좋다. - Repository interface 생성 extends JpaRepository - 테스트 @SpringbootTest로 통합 테스트, @Dat..