책/Effective Kotlin

[이펙티브 코틀린] 아이템3: 최대한 플랫폼 타입을 사용하지 말라

본문은 Effective Kotlin을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 플랫폼 타입이란? 코틀린에서는 자바 등의 다른 프로그래밍 언어에서 넘어온 타입들을 특수하게 다루는데, 이러한 타입을 플랫폼 타입(platform type)이라고 한다. 플랫폼 타입은 String!처럼 타입 이름 뒤에 ! 기호를 붙여서 표기한다. // Java public class JavaClass { public String getValue() { ... } } // Kotlin val name = MyJavaClass.value // 플랫폼 타입이 리턴됨 플랫폼 타입의 가장 큰 문제는 null 여부를 판단할 수 없다는 것이다. 따라서 코틀린과..

책/Effective Kotlin

[이펙티브 코틀린] 아이템2: 변수의 스코프를 최소화하라

본문은 Effective Kotlin을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 스코프를 최소화하기 위한 규칙 상태를 정의할 땐 변수와 프로퍼티의 스코프를 최소화 하는 것이 좋고, 이를 위해선 다음과 같은 규칙들을 활용할 수 있다. 1) 프로퍼티보다는 지역 변수를 사용하라 2) 최대한 좁은 스코프를 갖게 변수를 사용하라 // 1. Bad var user: User // for문 외부에서도 사용 가능함 for (i in users.indicies) { user = users[i] print("User at $i is $user") } // 2. Better for (i in users.indices) { val user = u..

책/Effective Kotlin

[이펙티브 코틀린] 아이템1: 가변성을 제한하라

본문은 Effective Kotlin을 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. mutable의 단점 + immutable의 장점 먼저 살펴보기에 앞서 mutable의 단점과 immutable의 장점을 살펴보자. mutable의 단점을 뒤집으면 immutable의 장점이 된다. mutable 객체의 문제 상태들 간의 관계를 이해하고, 상태의 변경을 추적해야 하므로 프로그램을 이해하고 디버그하기 힘들어진다. 시점에 따라 값이 달라질 수 있으므로 코드의 실행을 추론하기 어렵다 멀티스레드 프로그램일 때 적절한 동기화가 필요하다 상태 변경이 많을수록 더 많은 조합을 테스트해야 하므로 테스트하기 어렵다 컬렉션 내의 객체가 가변 객체로..

책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

[웹 프로그래머를 위한 데이터베이스를 지탱하는 기술] 6장: 트랜잭션과 무결성ㆍ무정지성

본문은 [웹 프로그래머를 위한 데이터베이스를 지탱하는 기술]를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 트랜잭션의 중요성 이해하기 1) 트랜잭션의 의미 트랜잭션(Transaction)이란 데이터베이스의 내용을 접근하거나 변경하는 논리적 프로그램 단위를 의미한다 마지막까지 처리를 마치고 결과를 확정시키는 것을 커밋(Commit), 커밋하지 않고 모든 작업을 원래대로 되돌리는 것을 롤백(Rollback)이라고 한다. 트랜잭션의 존재로 인해 애플리케이션 측면에서 데이터 무결성과 관련된 에러 핸들링을 크게 줄일 수 있다 2) SQL문 레벨에서의 롤백 한 개의 SQL문이라고 하더라도 내부에서는 복수의 작업을 수행하므로 반드시 트랜잭션..

책/웹 프로그래머를 위한 데이터베이스를 지탱하는 기술

[웹 프로그래머를 위한 데이터베이스를 지탱하는 기술] 5장: 데이터베이스는 어떤 때에 크래쉬되는가?

본문은 [웹 프로그래머를 위한 데이터베이스를 지탱하는 기술]를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다. 1. 데이터베이스는 어떤 때에 크래쉬되는가? 일반 PC와 같이 데이터베이스 서버에서도 장애가 일어날 수 있는데, 그 영향이 매우 크므로 장애에 대한 대비가 필요하다. 1) 전형적인 장애 시나리오 장애 대책으로서는 먼저 어떤 장애 패턴이 있는지를 정리하여 각각에 대해 적절한 대책을 마련하는 것이 중요하다 대표적인 장애 패턴에는 다음과 같은 것이 있다 소프트웨어 장애 MySQL, Oracle 등 소프트웨어 주변의 결함으로 인해 서비스를 제공할 수 없는 유형의 장애다 문제의 심각성에 따라 데이터 자체가 파괴되어 다시 시작되지 않는 등..

코택
'책' 카테고리의 글 목록 (4 Page)