일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- 파이썬 소스
- 오라클 디비
- SQL
- smart cast
- 자바 프로젝트
- c#
- dynamic query
- 유사코드
- 백준 알고리즘
- resilience4j
- auto configure
- jsp
- 티스토리
- oracle
- 오라클
- 자바
- K6
- hyperledger
- JVM
- 초대장
- 학점
- 프로젝트
- 운영체제
- 리눅스
- spring
- MongoDB
- gradle
- 알고리즘
- 문법 정리
- Today
- Total
목록전체 글 (231)
모종닷컴
1.비슷한 문제를 풀어본 적이 있던가? 형태가 비슷하거나 관련된 문제를 풀어 본 적이 있다면 이전에 적용했던 방법과 비슷한 접근 방법을 사용할 거라고 예측할 수 있다. 따라서 기존에 접했던 문제가 온전히 경험이 되기 위해 그 원리를 완전히 이해하고 변형할 수 있어야 한다. 2. 단순한 방법에서 시작할 수 있을까? 비슷한 문제를 본 적이 없거나, 비슷한 문제의 해법이 곧장 적용되지 않는다면 "무식하게 풀 수 있을까?"라는 질문으로 시작한다. 이렇게 만든 단순한 알고리즘에 효율적인 자료 구조를 사용하거나, 계산 과정에서 같은 정보를 두 번 중복으로 계산하지 않는 등의 최적화를 적용해서 충분히 빨라질 때까지 알고리즘을 개선하는 식으로 문제를 풀 수 있다. 3. 내가 문제를 푸는 과정을 수식화할 수 있을까? 손..
N+1 Selects 문제N+1 문제란 ? 조회를 위해 select 쿼리(1번)를 날렸다가 관련 컬럼을 얻기 위해 N번의 셀렉트(N번)를 하게 되는 상황. 같은 결과를 낼지라도, 그 쿼리를 수행하는데에 있어 몇 번의 쿼리를 해야하는지에 따라 성능이 달라진다. 마이바티스의 association에서 Nested Select, Nested Results를 예로 들 수 있다. Nested Select 는 결과에서 다시 한번 참조를 하기 위해 다음 Select구문을 실행하는 것을 말하고, Nested Results는 조인된 결과물에 대해 반복적으로 사용하여 결과를 맵핑하는 방법을 말한다. 예시를 보도록 하겠다. (참고 : http://www.mybatis.org/mybatis-3/ko/sqlmap-xml.html..
MyBatis Insert not working insert 구문을 계속 실행시켰지만 데이터베이스에 적용도 안되고 오류도 안나기에 무엇이 잘못된지 한참 찾아다녔다 결론적으로 SqlSession을 commit()시켜주니 적용이 되었는데, 당연히 JDBC처럼 auto commit이 되어있을 거란 생각을 했었다.. 궁금해서 코드를 따라가보니 일단 SqlSessionFactory는 DefaultSqlSessionFactory였고, 이 팩토리의 opensession(boolean autoCommit)부분을 쭈욱 따라가보니 DefaultSqlSession에서 autoCommit이 설정안되있다는 것을 알게되었다. autoCommit을 설정하고 싶다면 다음과 같이 sqlSession을 생성할 때 true로 설정해야한다
ACID Atomicity : 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장.Consistency : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지.Isolation : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것.Durabillity : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함. 특히 격리성과 관련된 문제점들 중 대표적인 3가지가 아래에 있다. 격리성 관련 문제점 (1) Dirty Read : 다른 트랜잭션이 커밋되지 않은 변경된 데이터를 읽게되고, 변경된 데이터가 롤백으로 인해 변경 전으로 돌아갔지만, 이미 다른 트랜잭션이 변경된 데이터를 읽게 된 것. (2) Non-Repeatable Read ..
스프링 MVC 기본 흐름과 주요 컴포넌트 스프링 MVC는 여러 가지의 컴포넌트로 구성되어 있으며 흐름은 다음과 같고 역할은 밑에 표로 정리하였다. 구성 요소 설명 DispatcherServlet 요청 받음, 컨트롤러에게 요청 전달, 결과값을 view에 전달한다. HandlerMapping URL을 통해 어떤 컨트롤러가 이를 처리할지를 결정 HandlerAdapter 요청을 변환하여 컨트롤러에게 전달. 컨트롤러로부터 받은 결과를 다시 리턴. 웹 브라우저 캐시 등의 설정도 담당 Controller 전달 받은 요청을 처리한 뒤, 결과 리턴. View에 보여줄 데이터들을 모델에 담아 전달 ViewResolver뷰를 결정한다. View데이터들을 Html에 삽입 [참고 자료 : 웹 개발자를 위한 Spring 4.0..