일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 플러터 개발
- 자바공부
- 카프카
- nestjs공부
- 기술공부
- nestjs스터디
- JPA공부
- 자료구조공부
- querydsl
- 스프링
- 스프링공부
- 프로그래머스
- 기술면접공부
- Kafka
- 코테공부
- 플러터 공부
- JPA예제
- DDD
- nestjs
- 알고리즘공부
- 스프링부트공부
- JPA
- 스프링부트
- JPA스터디
- 코테준비
- Axon framework
- Flutter
- K8S
- 스프링 공부
- JPA 공부
- Today
- Total
목록분류 전체보기 (715)
DevBoi
기존의 aws RDS로 띄워서 개발을 했다가... 요금이 청구되었다 (피같은 내돈....) 그래서 부랴부랴 h2로 바꾸려고한다.... h2는 우선 혼자서 테스트용? 미니프로젝트용? 스터디용? 디비로 많이 쓰이며, 다른 디비보다 연결이쉽고 가볍다. 대신 용량이 적어서 프로토타입이나, 실제 서비스는 불가한 수준이니 참고하자 또한 자바기반의 RDBMS이다 무튼 h2 ㄲ 1. h2 사이트 접속 및 다운 http://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC ..
윈도우에서, sts 및 개발 툴이 너무 느려서, 윈도우를 떄려치고 mac으로 갈아탔다.... 맥북프로는 빠르고, 이제 하나씩 설정중, 너무 간편한 sts 설정이 아닌, git 설치 연동을 정리해보려고한다. 1. homebrew 설치 git 설치를 위해서는 homebrew가 설치되어야 한다. mac 용 wget이라고 생각하면된다. 해당 명령어는 homebrew공식 사이트를 방문하면 그냥 대놓고 복붙하라고있다. 그대로 복사해서 붙여넣고 실행해준다. homebrew 설치중, 잘안되는 경우가있다. xcode command line 어쩌구저쩌구 하면서 설치가 일부안되는 경우가 있다. 이 경우에는 그냥 무지성으로 app-store에 가서 xcode를 설치해주자. xcode 관련 컴포넌트가 설치가 안된것인데. 이게 ..
MVC1 과 MVC2의 패턴차이 모델1은 jsp페이지 안에서 로직처리를 위해 자바코드가 함께 사용된다. 요청이 오면 직접 자바빈이나 클래스를 이용해 작업을 처리하고 이를 클라이언테 출력해준다. 구조가 단순하지만, jsp내 html코드와 자바코드가 같이 사용되면서 복잡하고 유지보수가 어렵다. 모델2는 이와 다르게 servlet을 만들어 역할을 분담한다. 요청 결과를 출력해주는 뷰만 jsp가 담당하고 흐름 제어 및 비즈니스 로직에 해당하는 컨트롤러의 역할은 서블릿이 담당한다. 유지보수가 쉽지만, 구조가 어렵다. DAO 과 DTO의 차이 DAO는 데이터베이스의 데이터를 접근하기 위한 객체이다. 데이터베이스 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용된다. 사용자는 자신이 필요한 IF를 DAO에..
Spring framework에 대해설명 1. oop란? 데이터를 객체로 취급하여, 프로그램에 반영한다. 순차적으로 프로그램이 동작하는 것과 다르게 객체의 상호작용을 통해, 프로그램이 동작한다. 객체를 사용함으로써 코드 재사용을 증가시키고, 유지보수를 감소시켜준다. 2. 자바의 메모리 영역에 대해서 설명 - 메서드 영역 : static변수, 전역 변수, 코드에서 사용되는 클래스 정보들이 올라간다. 코드에서 사용되는 클래스들을 로더가 읽고, 클래스 별로 분류해서 저장한다. 처음에 로드 될때, 필요한 것들이 메모리에 저장된다. 이때 클래스 정보가 없거나, 전역 변수에대한 오류가있으면 기동시에, 오류가 난다. -스택 : 지역변수, 메서드 등이 할당되는 LIFO 방식의 메모리이다. -힙 : new 연산자를 통해..
1. Filter와 Interceptor filter 와 interceptor 의 실행시점은 다르다. - filter 는 web application 에서 동작을 하고 - interceptor는 spring 의 context에 등록을 한다. 이말은 즉, filter는 dispatcher servlet 이전에 실행이되고, interceptor는 dispatcher servlet 이후에, 실행이되는 시점을 가진다. Filter 에서 예외가 발생하면 Web Application 에서 처리를 해야한다. 선언 이나, Filter내에서 예외를 잡아, request.getRequestDispatcher 으로 핑퐁하듯이 예외를 처리한다. Interception 에서 예외 발생시에는, ExceptionHandler 나,..
RDB에서는 테이블 별로, 외래키를 매핑하며, 일대 다 혹은 다대다 의 형태를 가진다. 객체의 참조와, 외래키 매핑 관련되서 공부를 해보자 우선 간단한 예로, 팀과, 멤버에 대한 예제를 공부해보자 여러 사람이 한팀에 소속될 수 있다는 1:n관계라고 생각을 해보자 Member 에서는 Team에대한 관계와 조인 컬럼을 설정해준다. Team은 사실 별건없다. Lombok 을 사용해서 Getter,Setter도 직접 달아주었는데, 이건, 너무 불편해서 그냥 쓰기로했다 ㅋㅋ (매번 메소드 귀찮다) 이렇게 만 하면, 자동으로 PK,FK를 매핑해주는 테이블을 생성해준다. 예제 코드를 이렇게 작성해서 한번 테스트 해보자 뭐 잘들어간다. 추가로 위의소스에서 약간 수정한 내용은 PK가 id 자동생성 값일때는 String ..
데이터베이스에서 이상이란? 이상은 왜 발생하는가? 그 종류는? 데이터 베이스 이상현상이란, 3가지가 있다. - 갱신 이상 : 반복된 데이터 중 일부를 갱신할 시 데이터의 불일치가 발생 - 삽입 이상 : 불필요한 정보를 함께 저장하지 않고서는 어떤 정보를 저장하는 것이 불가능하다 - 삭제 이상 : 필요한 정보를 함께 삭제하지 않고서는 어떤 정보를 삭제하는 것이 불가능하다 -갱신 이상 : 만약에 한가지의 데이터가 변경되었다면, 연관된 다른데이터들이 한꺼번에 같이 변경되지 않아 불일치가 발생한다. 이렇게 될경우, 바뀌게 되는 데이터에 따른 모든 데이터를 일일히 바꿔서 수정해줘야한다. -삽입 이상 : 내가 원하는 값만 테이블에 삽입하고 싶은데, 테이블에 필요하지 않은 필드들 때문에 원치 않는 필드의 값도 삽입해..
그리디 알고리즘, 흔히 말해 탐욕기법이다. 우선 해당 알고리즘의 동작 형태 및 구현 방법에 대해서 익혀보자 그리디 탐욕기법은, 경우의 수가 존재할 경우, 매순간 최선의 경우를 선택하는 알고리즘이다. 현재 상황에서 가장 좋다고 생각되는 것을 선택해 나가는 것이기 떄문에, 항상 가장 좋은 결과를 만드는 것은 아니다. 그럼, 그냥 문제를 바로 풀어보자 * 동전 0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) w..
1. 자바 캡슐화 - 자바 캡슐화는 변수와 함수를 하나의 클래스로 묶고, 외부에서 쉽게 접근하지 못하도록 은닉하는것이 핵심이다. 객체의 직접적인 접근을 막고, 객체가 제공하는 필드, 메소드를 통해서만 접근이 가능하도록 하는것이다. (getter,setter) 장점으로는 객체내 정보손상, 오용을 방지하고, 데이터가 변경되어도 다른 객체에 영향을 주지 않기 떄문에 독립성이 좋다. 또한 처리된 결과 사용으로 이식성이 좋고, 객체를 모듈화 할수 있어, 하나의 모듈 처럼 사용가능하다. ex. private 변수, public getter,setter 2. map과 set의 차이 - set은 순서를 보장하지 않는다. 또한 key와 value의 중복을 허용하지 않는다. - map 또한 순서를 보장하지 않지만, key..
1. 객체, 테이블 매핑 @Entity @Entity,가 붙으면, JPA에서 관리를 하는 클래스, 객체가 된다. 대부분 디폴트로, 객체이름과 테이블이름은 동일하게 따라가지만, 이런식으로 Table name을 붙이면, 해당 테이블이름으로 생성 및 관리가 된다. 밑에는 재부팅 후에, 확인된 내용이다. 현재는 테이블이 없어서, 한번 create ddl이 나갔고, 그 이후에는 재 기동 에도 create ddl이 나가지 않는다. 이렇게, 되는이유는 바로 이렇게 설정을 했기 떄문이다. update, create 등등이 있는데, create 는 재기동 될때마다, 새롭게 생성된다. 기존에 테이블이 있으면 drop , create를 하고 update로 설정하게 되면 없는 대상들만, 혹은 신규 컬럼만 새롭게 update한..