분류 전체보기 23

2. Connection Pool 과 DataSource 의 이해

private void close(Connection con, Statement stmt, ResultSet rs) { JdbcUtils.closeResultSet(rs); JdbcUtils.closeStatement(stmt); JdbcUtils.closeConnection(con); } 1. DB 커넥션을 얻는 대가 DB 커넥션을 얻는 코드는 짧지만 생각보다 코스트가 비싼 행위이다. 애플리케이션 밑바닥의 TCP/IP 3-way handshake 과정부터 시작해서 ID, PW 를 보내 인증과정까지 거쳐야 비로소 커넥션 객체가 DB 드라이버로 부터 돌아오기 때문에 DB 연결이 필요한 시점 마다 DriverManger를 통해 커넥션 요청부터 시작하면 쿼리 수행 시간에 연결 요청 시간이 추가되기 때문에 성능..

1. JDBC 이해

- 일반적으로 애플리케이션 서버와 DB 서버간의 통신은 1. 커넥션 연결 (애플리케이션 -> DB 서버) 2. SQL 전달 (애플리케이션 -> DB 서버) 3. 처리 결과 응답 (DB 서버 -> 애플리케이션 서버) 의 큰 세 가지 축으로 이루어진다. - 애플리케이션 개발자 입자에서 고역인 것은 이런 애플레케이션 DB 간 통신 방식이 DB 벤더에 따라 모두 다르다는 것이다. 즉 서로 다른 언어, 비유하자면 MySql은 한국어, Oracle은 영어, PostgresSQL은 독일어 등등... 서로 다른 언어로 통신하기 때문에 아~주먼 과거의 개발자들은 DB를 바꾸게 되면 애플리케이션 코드에서도 위 세 가지 통신을 위한 코드들을 모두 새로 배워서 바꿔야했다(한국어 쓰다가 독일어 배워서 쓰고...). - 위와 같..

컴포넌트, 믹스인, 사용자 정의 디렉티브

- 코드를 재사용한다는 관점에서는 같지만, 재사용을 어떤 방식으로 하느냐에 따른 차이가 있다 사용자 정의 디렉티브 DOM 요소에 접근하는 처리를 공통화 한 것. 속성으로 지정 믹스인 Vue 인스턴스와 컴포넌트 간 공유할 수 있는 기능을 분리한 것으로, 템플릿을 포함하지 않음(컴포넌트와 차이점) 컴포넌트 재사용, 관리가 편하도록 Vue 인스턴스를 분할한 것. 요소(tag? element?)로 지정함. 출처 : Vue.js 철저입문(위키북스)

Frontend/Vue 2022.03.01

[CSS] margin 겹침

- 인접한 두 요소간, 그리고 부모-자식 요소간 margin중에서 큰 margin만 적용되는 현상 - 인접한 두 요소 간에, 예를 들어 위 아래로 인접한 두 요소 간에는 margin 값이 둘다 적용되는 것이 아니라 위 요소의 margin-bottom 값과 아래 요소의 margin-top 값 중에서 큰 값 하나만 적용된다. - 부모 - 자식 관계의 요소에서는 부모요소의 시각적 효과가 전혀 없는 투명한 요소일 경우, 부모와 자식 margin 중에서 큰 값 하나만 적용된다. - 또한, 특정 요소에 표시할 내용이 없는 투명한 요소의 경우 margin-top과 margin-bottom 중 큰 값 하나만 적용된다.

CSS 2020.11.15

[CSS] inline, block

- html 요소들은 보이지 않지만 box 안에 쌓여져있는 형태로 존재한다. - 그런 html 요소들의 종류는 크게 inline, block 으로 나뉘어진다. inline은 말 그대로 줄 바꿈 없이 라인에 그대로 적용되는 것으로 해당 부분만큼 box로 쌓여있다. - block 요소는 줄바꿈 후 그 한줄 전체를 차지하는 것으로, 요소를 포함한 한줄 전체가 box로 쌓여있다. - box의 크기는 border 속성을 줘서 확인할 수 있으며, inline, block 속성 또한 style을 통해 각 요소의 기본값이 아닌 다른 값으로 변경할 수 있다. - box 요소 중에 height, width 요소는 inline 요소에는 적용되지 않는다. 즉 inline의 height, width 는 고정적이다.

CSS 2020.11.15

[Flux] 리액트에서의 데이터 흐름

- 리액트에서의 데이터 흐름 (또는 상태 값)을 한 방향으로 유지하기 위한 디자인 패턴 - 상태 값을 Store에서 관리하고, 이 Store를 통해서만 상태 값 변경이 가능하고 그에 따른 view 변경 역시 가능하다 - Store는 Action을 통해 새로운 명령과 데이터를 받고 이를 이용하여 상태 값을 변경한다 - Action은 사용자와의 상호작용이나 웹서버를 통해 새로운 데이터와 명령을 받고 이를 Dispatcher로 넘긴다 - Dispatcher는 이러한 Action들을 대기열에서 관리하며 적절한 Store에 분배(dispatch)될 수 있게 관리한다 - 따라서 데이터는 일정한 방향(액션 -> 디스패쳐 -> 스토어 -> 뷰)으로만 흐르게 된다

Frontend/React 2020.11.01