반응형

Study 4

[데이터 중심 어플리케이션 설계] 트랜잭션

이번 글은 데이터 중심 어플리케이션 설계 도서의 트랜잭션의 내용을 정리하였습니다. 들어가기 전에 데이터 시스템의 여러 가지 문제 데이터베이스 포스프퉤어나 하드웨어는 언제라도 실패할 수 있음 애플리케이션은 언제라도 죽을 수 있음 네트워크가 끊기면 애플리케이션과 데이터베이스의 연결이 갑자기 끊기거나 데이터베이스 노드 사이의 통신이 안될 수 있음 여러 클라이언트가 동시에 데이터베이스에 쓰기를 실행해서 다른 클라이언트가 쓴 내용을 덮어쓸 수 있음 클라이언트가 부분적으로만 갱신돼서 비정상적인 데이터를 읽을 수 있음 클라이언트 사이의 경쟁 조건은 예측하지 못한 버그를 유발할 수 있음 트랜잭션이란? 위와 같은 문제를 단순화하는 매커니즘으로 채택 애플리케이션에서 몇 개의 읽기와 쓰기를 하나의 논리적 단위로 묶는 방법 ..

Study 2022.05.12

MongoDB 특징과 쉘 사용에 대해서 알아보자 - 2

이 글은 2개의 글로 이루어져 있습니다. 이전글을 보고 싶으시면 아래의 링크를 참조해주세요. 이전글 : MongoDB 특징과 쉘 사용에 대해서 알아보자 -1 반환받을 키 지정 모든 데이터를 항상 가져오면 네트워크상의 데이터 전송량과 클라이언트 ㅋ측에서 도큐먼트를 디코딩하는 데 드는 시간과 메모리를 줄여준다. db.users.find()를 하면 항상 _id는 반환된다. 만약 키를 쓰지 않는다면 fatal_weakness를 선언한다. > db.users.find() { "_id" : ObjectId("606d61ac67fe246be00de3ba"), "enemies" : 2, "relationships" : { "friends" : 32, "enemies" : 2 }, "username" : "joe" } ..

카테고리 없음 2021.07.12

[코틀린 프로그래밍] Chapter.02 Java의 개발자를 위한 코틀린 필수 사항

목표 숫자와 문자열 변수 정의하기 상수 만들기 타입 명시하기 계산 결과를 이용해 문자열 표현식 만들기 멀티라인 문자열 만들기 이번 챕터에서는 자바 개발자들은 코틀린이 가진 뉘앙스를 배우는 동안에는 자바에서 사용하던 버릇을 잊어야합니다. 코드량 Java >> Kotlin 세미클론 Kotlin은 자바에 비해 많은 것들이 선택적입니다. 대표적인 예로 모든 표현식이나 명령문 마지막에 세미클론(;)을 생략되었습니다. // Java int a = 3 * 6; // Kotlin val a = 3 * 6 변수타입 코틀린은 정적 타입 언어입니다. 모든 변수를 선언할 때 타입을 지정해야하는 것은 아니지만 일반적으로는 지정을 해야합니다. 타입이 지정된 변수는 컴파일 시점에 검증됩니다. fun main() { val gree..

Study/kotlin 2021.03.29

[도서] Object - 객체 설계

Object 도서를 구입 후 정리 시작! Object 도서는 예제 소스와 함께 이론이 정리되있기 때문에 모든 예제 소스는 github에 있습니다. 이 블로그는 github에서 작성한 글을 정리하여 옮겨놓은 글입니다. 문제가 있는 코드 모든 소프트웨어 모듈에는 세 가지 목적이 있다. 실행 중에 제대로 동작하는것 변경을 위해 존재하는 것 코드를 읽는 사람과 의사소통하는 것 객체 사이의 의존성의 문제가 있다. 객체지향 설계는 서로 의존하면서 협력하는 객체들의 공동체를 구축하는 것 애플리케이션의 기능을 구현하는 데 필요한 최소한의 의존성만 유지하고 불필요한것 의존성을 제거하는 것 이 코드는 결합도가 높은 코드입니다. 좋은 설계는 결합도를 낮춰 변경이 용이한 설계를 만드는 것입니다. 설계 개선하기 개선방법 각 객..

Study/java 2021.01.05
728x90
반응형