일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 산술 연산자
- spring 게시판 삭제
- 객체지향
- 오버로딩
- StringBuffer
- 친절한 SQL 튜닝
- 비교 연산자
- java
- SQL튜닝
- 상속
- 오버라이딩
- 인텔리제이 Web 애플리케이션
- 연산자
- 이클립스 설치
- SpringSecurity 로그인
- SQL 튜닝
- 식별자
- 배열
- 객체
- 스프링시큐리티 로그아웃
- join
- 예약어
- 함수
- @PreAuthorize("isAuthenticated()")
- SpringSecurity 로그아웃
- 자바의정석
- 친절한 SQL
- 논리 연산자
- SQL
- 반복문
- Today
- Total
목록2024/08 (6)
gi_dor
프로젝트 배포 당시 MySQL8.xxx 버전을 사용했으며 취준당시 면접 예상 질문으로 5버전과 8 버전대의 차이점에 대한 알아보면서 취업 이후 어느새 까먹어버려서 간단하게 기록 해보려고한다. 스토리지 엔진 ?데이터베이스 엔진 또는 스토리지 엔진으로 부르며 , 데이터를 조회 , 추가 , 수정 , 삭제 하는 담당MySQL 에서는 여러 스토리지 엔진을 지원한다고 한다InnoDB 엔진MyISAM 엔진Memory 엔진Archive 엔진CSV 엔진Federated 엔진최근 프로젝트를 통해 사용했던 8.xx 버전의 사용된 InnoDB 엔진과 그 전 버전인 MyISAM엔진에 대해알아보려고한다 MyISAM2009.12월 까지 기본엔진으로 MyISAM이 사용 되었다특징COMMIT , ROLLBACK 같은 충돌 복구 기..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bthZCr/btsHkl9oE5F/giaHxNbnlCAQ9PmfyTxLhk/img.png)
비동기 처리 작업은 멀티스레드를 사용해 작업을 분리하고 , 그 작업이 끝날 때 까지 대기하지 않고 다른작업을 처리할 수 있다스프링부트에서는 @Async 어노테이션과 CompletableFuture 클래스를 사용해 비동기 처리를 구현할 수 있다- @Async 는 해당 메서드를 비동기로 실행하도록 설정하고 - CompletableFuture 비동기 처리를 위한 인터페이스 , 비동기 작업이 완료된 이후 결과값을 처리할수 있는 메서드를 제공한다회원가입 페이지에서 회원가입이 완료되면 이메일은 전송하교 , 완료되었다는 페이지를 보여주게 구성했다면@Async만 사용할 경우이메일이 성공적으로 전송되었는지 실패했는지 , 언제 끝나는지 정보가 없다그저 비동기 작업을 하고 결과를 신경쓰지 않는다결과적으로 이메일이 실제로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/WzeFE/btsJkN3uc2k/Kp09TGZgnikUJ8gICKCcO1/img.png)
동기와 비동기가 어떤것인지는 알겠고 사용도 해봤는데 말로 설명 못하겠다.. 그러니 모르는거겠지 ?그래서 한번 정리 해보려고 한다.동기 ( synchronous )어떤 작업을 실행할 때 해당 작업이 끝나기를 기다리는 방식해당 작업이 완료 될 때까지 그 다음 행동의 코드는 실행을 멈추고 기다린다, 이런 방식은 작업의 순서를 보장하고 작업이 끝날 때 까지 결과를 기다린다비동기 ( asynchronous )어떤 작업을 실행할 때 해당 작업이 완료되지 않아도 그 다음 코드를 실행하는 방식작업이 완료되지 않더라고 결과를 기다리지 않고 다음 코드를 실행한다 , 이런 방식은 작업이 오래걸리는 경우 시간을 절약한다
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bRzYc9/btsHU6XibIv/lof5r6bqwFpnsRApuOewM0/img.png)
CQRS 패턴에 대해 알게되었다CQRS는 데이터 저장소에 대한 읽기와 업데이트(쓰기) 작업을 구분하는 패턴이라고 한다CQRS는 명령모델과 쿼리모델로 나뉜다1. 명령모델 Command Model데이터를 변경하는 작업 (UPDATE , INSERT, DELETE) 를 처리한다 특정 명령을 받아서 비즈니스 로직과 유효성 검사를 수행하고 데이터를 변경한다2. 쿼리모델 Query Model데이터를 조회하는 작업 ( SELECT )을 처리한다최적화된 일기작업을 위해 데이터를 별도의 형태로 저장하기도 한다명령모델은 주로 서비스로직과 관련이있고 데이터 생성 , 수정 , 삭제 같은 작업을 담당한다쿼리모델은 데이터베이스나 다른 저장소에서 데이터를 읽고 결과를 반환하는 역할을 담당한다 DB 이중화 ( 정보처리기사 )데..
트랜잭션은 '데이터베이스의 상태를 변화 시키기 위해 수행하는 작업의 단위' SELECTINSERTUPDATEDELETE1. 게시판에 사용자는 글을 작성하고 작성버튼을 누른다 2. 그후에 다시 게시판 목록으로 돌아온다3. 게시판은 자신의 글이 포함되어 업데이트된 게시판을 보게된다이런 상황을 데이터베이스 작업으로 옮기면 INSERT 문을 사용해 작성한 글을 데이터로 저장 그후에 게시판을 구성한 데이터를 다시 SELECT 하여 최신정보로 유지여기서 작업의 단위는 INSERT 문과 SELECT 문을 합친것이다 , 이런 작업 단위를 하나의 트랙잭션이다작업의 단위는 질의어 한문장이 아니다지금까지는 INSERT 따로 SELECT 따로 인줄 알았지만 작성과 조회 이 두과정을 묶어서 트랜잭션이라고한다또한 이 두과정은 ..