728x90

개발 288

[Java] 정렬 (2)

Do it! 자료구조와 함께 배우는 알고리즘 입문 읽고 정리 https://devhooney.tistory.com/35 [Java] 정렬 (1) Do it! 자료구조와 함께 배우는 알고리즘 입문 읽고 정리 6-1 정렬 - 내부정렬과 외부정렬 1. 내부 정렬: 정렬할 모든 데이터를 하나의 배열에 저장할 수 있는 경우에 사용하는 알고리즘 2. 외부 정 devhooney.tistory.com 이 글에 이어서... 6-5 셸 정렬 셸 정렬 - 셸 정렬은 단순 삽입 정렬의 장점을 살리고, 단점을 보완한 정렬 알고리즘 class ShellSort { // 셸 정렬 static void sheelSort(int[] a, int n) { for (int h = n/2; h > 0; h/=2) { for (int i =..

[Go] 기초 - 데이터 타입

1. Go 데이터 타입 - Go는 하단의 데이터 타입을 가지고 있다. (1) 불리언 타입 bool (2)문자열 타입 string - string은 한 번 생성되면 수정될 수 없는 Immutable 타입 (3) 정수형타입 int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr (4) Float 및 복소수 타입 float32 float64 complex64 complex128 (5) 기타 타입 byte - uint8과 동일하며 바이트 코드에 사용 rune - int32과 동일하며 유니코드 코드포인트에 사용 2. 문자열 - 문자열은 `, "으로 감싸서 사용 (1) Back Quote (` `)로 둘러 싸인 문자열은 Raw String Litera..

개발/Go 2022.07.13

[JPA] 연관관계 매핑 기초

김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 정리 1. 단방향 연관관계 - 객체를 테이블에 맞춰 모델링(연관관계가 없는 객체) - 객체를 테이블에 맞춰 데이터 중심으로 모델링하면, 협력 관계를 만들 수 없음 (1)테이블은 외래키로 조인하여 연관된 테이블을 찾는다. (2) 객체는 참조를 사용해서 연관된 객체를 갖는다. - 객체 지향 모델링(객체 연관 관계 사용) - 객체와 테이블의 차이는 이렇게 해결 가능 // Member와 Team 클래스가 Entity 애노테이션을 붙였다고 가정 @Entity public class Member { // 다른 필드 생략 /* @Column(name="TEAM_ID") private Long teamId; 위는 객체를 테이블에 맞추어 모델링 한 것인데 협력 관..

[Go] 기초 - 변수와 상수

예전 회사에서 Go를 접하여 프로젝트를 진행했었다. 하지만 당시에 Go를 제대로 이해하지 못하고, 복붙의 반복이었다. 이번 기회에 Go에 기초를 다져보려고 한다. 1. 변수 - 변수는 var를 사용하여 선언한다. var a int var b, c, d int var e int = 1 var f, g, h int = 1, 2, 3 i := "Hi" - 선언된 변수가 사용되지 않으면 에러가 발생한다.(사용 안할 시 지운다.) - 같은 타입의 변수를 여러개 선언할 경우 타입은 마지막에 한번만 지정할 수 있다. - Go에서는 ';'가 사용되지 않는다. - 초기값을 설정하지 않을 경우 숫자형에는 0, string형에는 "", bool 형에는 false를 할당한다. - 함수 내부에서는 변수 선언 방식을 다르게 가능..

개발/Go 2022.07.12

[Java] 정렬 (1)

Do it! 자료구조와 함께 배우는 알고리즘 입문 읽고 정리 6-1 정렬 - 내부정렬과 외부정렬 1. 내부 정렬: 정렬할 모든 데이터를 하나의 배열에 저장할 수 있는 경우에 사용하는 알고리즘 2. 외부 정렬: 정렬할 데이터가 너무 많아서 하나의 배열에 저장할 수 없는 경우에 사용하는 알고리즘 - 정렬 알고리즘의 핵심 요소 정렬 알고리즘의 핵심 요소는 교환, 선택, 삽입 6-2 버블 정렬 - 버블 정렬 버블 정렬은 이웃한 두 요소의 대소 관계를 비교하여 교환을 반복하는 알고리즘 - 버블 정렬 과정 (n-1) + (n-2) + ... + 1 = n(n-1) /2 class BubbleSort { static void swap(int[] a, int idx1, int idx2) { int t = a[idx1]..

[JPA] 기본 엔티티 매핑

김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 정리 1. 객체와 테이블 매핑 - 객체와 테이블 매핑 : @Entity, @Table - 필드와 컬럼 매핑 : @Column - 기본 키 매핑 : @Id - 연관관계 매핑 : @ManyToOne, @JoinColumn 2. @Entity - @Entity가 붙은 클래스는 JPA가 관리 - JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 - JPA 스펙상 파라미터가 없는 public 또는 protected 기본 생성자 필수 - 기본 생성자 필수 - final 클래스, enum, interface, inner 클래스에는 사용 불가능 - DB에 저장하고 싶은 필드는 final 사용 불가 3. @Table @Entity @Table(name..

[JPA] 기본 영속성 관리 - 내부 동작 방식

김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 정리 1. JPA에서 가장 중요한 2가지 - 객체와 관계형 데이터메이스 매핑하기 - 영속성 컨텍스트 2. 엔티티 매니저 팩토리와 엔티티 매니저 - EntityManager는 DB에 붙기 위해 커넥션 풀을 사용 3. 영속성 컨텍스트 - JPA를 이해하는데 가장 중요한 용어 - 엔티티를 영구 저장하는 환경이라는 뜻 - EntityManager.persis(entity); -> 저장(영속석 컨텍스트를 통해서 엔티티를 영속화 한다.) 4. 엔티티의 생명주기 - 비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 - 영속(managed) 영속성 컨텍스트에 관리되는 상태 - 준영속(detached) 영속성 컨텍스트에 저장되었다가..

[Java] 재귀 알고리즘

Do it! 자료구조와 함께 배우는 알고리즘 입문 읽고 정리 5-1 재귀의 기본 재귀란? - 어떤 사건이 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 재귀적이라고 한다. 팩토리얼 구하기 - 재귀의 사용 예: 팩토리얼 class Factorial { // 양의 정수 n의 팩토리얼을 반환 static int factorial(int n) { if (n > 0) return n * factorial(n-1); else return 1; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); System.out.println(x+ "의 Factorial은 " + facto..

[Javascript] 배열

모던 자바스크립트 Deep Dive 정리 1. 배열의 생성 1.1 배열 리터럴 // 배열 선언1 const emptyArr = []; console.log(emptyArr[1]); // undefined console.log(emptyArr.length); // 0 // 배열 선언2 const arr = [ 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine' ]; - 자바스크립트 배열은 어떤 데이터 타입의 조합이라도 포함 가능함. const arr = [ 'string', 10, true, null, undefined, NaN, Infinity, ['nested array'], { object: true }, fun..

[Spring] Filter, Interceptor

스프링 시큐리티를 공부하면서 필터, 인터셉터에 대해 더 자세한 공부를 하게 됐다. 클라이언트에서 요청이 있을 경우 Filter -> InterCeptor -> AOP -> InterCeptor -> FIlte이다. 1. 서버를 실행시켜 서블릿이 올라오는 동안 init() 실행, 그 후 doFilter() 실행 2. Controller에 들어가기 전 preHandler 실행 3. Controller에서 나와 postHandler, after Completion, doFilter 순으로 진행 4. 서블릿 종료 시 destory가 실행 Filter - 필터는 요청과 응답을 한번 필터링 해주는 역할 - 필터는 스프링 컨텍스트 외부에 존재 - 인코딩 변환처리, xss방어 들의 요청에 대한 처리로 사용된다. - 필..

728x90