Backend

· Backend/Java
트랜잭션 - 개념 이해모든 작업이 성공해서 데이터베이스에 정상 반영하는 것을 커밋(Commit)이라 하고, 작업중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백(Rollback)이라 한다. 트랜잭션 ACID원자성(Atomicity): All or Nothing일관성(Consistency): 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야 한다. 예를 들어 데이터베이스에서 정한 무결성 제약 조건을 항상 만족해야 한다.격리성(Isolation): 동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않도록 경리한다. 격리성은 동시성과 관련된 성능 이슈로 인해 트랜잭션 격리 수준(Isolation level)을 선택할 수 있다.지속성(Durability): 트랜잭션은 성공적으로 끝내면 그 결과가 ..
· Backend/Java
커넥션 풀 이해데이터베이스 커넥션을 매번 획득애플리케이션 로직은 DB드라이버를 통해 커넥션을 조회한다.DB 드라이버는 DB와 TCP/IP 커넥션을 연결한다. 물론 이 과정에서 3 way handshake 같은 TCP/IP 연결을 위한 네트워크 동작이 발생한다.DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW와 기타 부가정보를 DB에 전달한다.DB는 ID, PW를 통해 내부 인즈응ㄹ 완료하고, 내부에 DB 세션을 생성한다.DB는 커넥션 생성이 완료되었다는 응답을 보낸다.DB 드라이버는 커넥션 객체를 생성해서 클라이언트에 반환한다. 이렇게 커넥션을 새로 만드는 것은 과정도 복잡하고 시간도 많이 소모되는 일이다.DB는 물론이고 애플리케이션 서버에도 TCP/IP 커넥션을 새로 생성하기 위한 리소스를 매..
JDBC 이해 JDBC 등장 이유 일반적인 사용법커넥션 연결: 주로 TCP/IP를 사용해서 커넥션 연결한다.SLQ 전달: 애플리케이션 서버는 DB가 이해하 ㄹ수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다.결과 응답: DB는 전달된 SQL을 수행하고 그 결과를 응답한다. 애플리케이션 서버는 응답 결과를 활용한다.문제는 각각의 DB마다 위의 1,2,3 방법이 모두 다르다는 것이다. 이는 DB를 변경할 때 모든 DB 사용 코드도 함께 변경해야되며, 개발자가 DB마다 새로 학습해야 하는 문제가 있다. JDBC 표준 인터페이스JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 ..
서블릿과 파일 업로드1HTMl 폼 전송 방식application/x-www-form-urlencodedmultipart/from-data application/x-www-form-urlencoded 방식 HTML 폼 데이터를 서버로 전송하는 가장 기본적인 방법이다.Form 태그에 별도의 enctype 없으면 웹 브라우저 요청 HTTP 메세지의 헤더에 다음 내용을 추가한다.Content-Type: application/x-www-form-urlencoded그리고 폼에 입력한 전송할 항목을 HTTP Body에 문자로  username=kim&age=20와 같이 &로 구분해서 전송한다.파일을 업로드하려면 파일은 문자가 아니라 바이너리 데이터를 전송해야 한다. 문자를 전송하는 이 방식으로 파일을 전송하기는 어렵..
· Backend/Java
순회1 - 직접 구현하는 Iterable, Iterator자료 구조에 순회는 자료 구조에 들어있는 데이터를 차례대로 접근해서 처리하는 것을 순회라 한다. Iterable, IterlatorIterable: "반복 가능한"Iterlator: "반복자" Iterable 인터페이스의 주요 메서드public interface Iterable { Iterator iterator();}단순히 Iterator 반복자를 반환한다. Iterator 인터페이스의 주요 메서드 public interface Iterator { boolean hasNext(); E next();}hasNext(): 다음 요소가 있는지 확인한다. 다음 요소가 없으면 false를 반환한다.next(): 다음 요소를 반환한다. 내부..
Coffebara
'Backend' 카테고리의 글 목록 (6 Page)