분류 전체보기
-
DB 개념정보처리기사 2022. 10. 12. 14:24
DB 설계 순서 요구사항 분석 > 개념적 설계 > 논리적 설계 > 물리적 설계 > 구현 - 개념적 설계 머리속에 있는 걸 다 꺼냄, 산출물 : E-RDiagram - 논리적 설계 체계적으로 모으는 과정, 중복 배제, 정규화, 트랜잭션 인터페이스 설정 - 물리적 설계 : 성능을 위한 설계 오라클, SQL등에 넣음 Index, View, Trigger 등 설정, 역정규화 반정규화 수행 정규화 이유? : 이상 현상 때문(삽입, 삭제, 갱신 이상) 반정규화 : DB 정규화 이후, 성능 향상과 개발 편의성 등 정규화 기법에 위배되는 수행 기법 정규화 과정(도메인, 부분, 이행, 결정자, 다치, 조인) 충족 조건 예시 제1 정규형 도메인이 원자값 회원 테이블에 취미로 여러개가 있을 경우 >> 회원/취미 테이블로 분..
-
5-5. 고급 함수와 함수형 프로그래밍 활용하기 : 수신 객체가 있는 호출 가능 참조Study(종료)/Kotlin 22.09.13 ~ 12.18 2022. 10. 10. 21:13
5장 5-1. 고급 함수와 함수형 프로그래밍 활용하기 : 코틀린을 활용한 함수형 프로그래밍 5-2. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 5-3. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 프로퍼티 5-4. 고급 함수와 함수형 프로그래밍 활용하기 : 동반 확장 5-5. 고급 함수와 함수형 프로그래밍 활용하기 : 수신 객체가 있는 호출 가능 참조 5-5. 수신 객체가 있는 호출 가능 참조 코틀린에서 수신 객체가 있는 함숫값을 정의하는 호출 가능 참조를 만들 수 있다. 클래스 멤버를 바탕으로 하거나 확장 선언을 바탕으로 이와 같은 참조를 만들 수 있다. 문법적으로 이들은 바인딩된 호출 가능 참조와 비슷하지만, 수신 객체를 계산하는 식 대신 수신 객체 타입이 앞에 붙는다는 점이 다르다. fun..
-
5-4. 고급 함수와 함수형 프로그래밍 활용하기 : 동반 확장Study(종료)/Kotlin 22.09.13 ~ 12.18 2022. 10. 9. 00:05
5장 5-1. 고급 함수와 함수형 프로그래밍 활용하기 : 코틀린을 활용한 함수형 프로그래밍 5-2. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 5-3. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 프로퍼티 5-4. 고급 함수와 함수형 프로그래밍 활용하기 : 동반 확장 5-5. 고급 함수와 함수형 프로그래밍 활용하기: 수신 객체가 있는 호출 가능 참조 5-4. 동반 확장 4장에서 동반 객체를 설명했다. 동반 객체는 어떤 클래스에 내포된 객체 중에서 바깥 클래스의 이름을 통해 객체 멤버에 접근할 수 있는 특별한 객체이다. 확장에서도 이러한 기능을 사용할 수 있다. fun IntRange.Companion.singletonRange(n: Int) = n..n fun main() { println(In..
-
5-3. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 프로퍼티Study(종료)/Kotlin 22.09.13 ~ 12.18 2022. 10. 8. 23:42
5장 5-1. 고급 함수와 함수형 프로그래밍 활용하기 : 코틀린을 활용한 함수형 프로그래밍 5-2. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 5-3. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 프로퍼티 5-4. 고급 함수와 함수형 프로그래밍 활용하기 : 동반 확장 5-5. 고급 함수와 함수형 프로그래밍 활용하기: 수신 객체가 있는 호출 가능 참조 5-3. 확장 프로퍼티 1) 확장 프로퍼티 앞에서 사용했던 확장 함수와 비슷하게 확장 프로퍼티 역시 정의할 수 있다. 다른 일반 멤버 프로퍼티와 동일한 방법으로 확장 프로퍼티에 접근할 수 있으며 문법도 비슷하다. val IntRange.leftHalf: IntRange get() = start..(start + endInclusive)/2 fun m..
-
5-2. 고급 함수와 함수형 프로그래밍 활용하기 : 확장Study(종료)/Kotlin 22.09.13 ~ 12.18 2022. 10. 8. 23:20
5장 5-1. 고급 함수와 함수형 프로그래밍 활용하기 : 코틀린을 활용한 함수형 프로그래밍 5-2. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 5-3. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 프로퍼티 5-4. 고급 함수와 함수형 프로그래밍 활용하기 : 동반 확장 5-5. 고급 함수와 함수형 프로그래밍 활용하기: 수신 객체가 있는 호출 가능 참조 5-2. 확장 실무에서 기존 클래스를 확장해야 하는 경우가 자주 있다. 한 클래스 안에 속한 메서드를 모두 사용하지 않지만, 모든 메서드를 다 import할 경우 실용적이지 않다. 이 경우 여러 프로그램 모듈에 함께 사용되는 메서드를 서로 분리해 유지하는 방법이 있다. 자바의 경우 이런 추가 메서드를 별도의 유틸리티 클래스로 묶어 사용하지만, 코틀린..
-
5-1. 고급 함수와 함수형 프로그래밍 활용하기 : 코틀린을 활용한 함수형 프로그래밍Study(종료)/Kotlin 22.09.13 ~ 12.18 2022. 10. 8. 22:48
5장 5-1. 고급 함수와 함수형 프로그래밍 활용하기 : 코틀린을 활용한 함수형 프로그래밍 5-2. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 5-3. 고급 함수와 함수형 프로그래밍 활용하기 : 확장 프로퍼티 5-4. 고급 함수와 함수형 프로그래밍 활용하기 : 동반 확장 5-5. 고급 함수와 함수형 프로그래밍 활용하기: 수신 객체가 있는 호출 가능 참조 5장은 고급 함수형 프로그래밍 활용하기 이다. 개인적으로 전공책을 공부할 때 고급 이라는 말이 붙어있으면 난이도가 정말 많이 높아져서 상당히 무서운 단어이다. 그 기대를 저버리지 않고 분량 역시 80페이지정도로 꽤 많다.. 여기서는 함수형 프로그래밍을 돕는 고차 함수, 람다, 호출 가능 참조 등의 기능을 배우고 기존 타입을 더 보완할 수 있는 확장 ..
-
4-4. 클래스와 객체 다루기 : 객체Study(종료)/Kotlin 22.09.13 ~ 12.18 2022. 10. 1. 22:24
4장 4-1. 클래스와 객체 다루기 : 클래스 정의하기 4-2. 클래스와 객체 다루기 : 널 가능성 4-3. 클래스와 객체 다루기 : 단순한 변수 이상의 프로퍼티 4-4. 클래스와 객체 다루기 : 객체 4-4. 객체 1) 객체(object) 선언 코틀린은 어떤 클래스에 인스턴스가 오직 하나만 존재하게 보장하는 싱글턴 패턴을 내장하고 있다. 코틀린에서는 클래스와 비슷한 방법으로 싱글턴을 선언한다. 코틀린에서의 선언 방식은 class 대신 object 키워드를 사용한다. object Application{ val name = "My App" override fun toString() = name fun exit(){ } } 위 객체 선언은 클래스를 정의하는 동시에 클래스의 인스턴스를 정의하는 것 이다. fu..
-
4-3. 클래스와 객체 다루기 : 단순한 변수 이상의 프로퍼티Study(종료)/Kotlin 22.09.13 ~ 12.18 2022. 10. 1. 00:18
4장 4-1. 클래스와 객체 다루기 : 클래스 정의하기 4-2. 클래스와 객체 다루기 : 널 가능성 4-3. 클래스와 객체 다루기 : 단순한 변수 이상의 프로퍼티 4-4. 클래스와 객체 다루기 : 객체 4-3. 단순한 변수 이상의 프로퍼티 1) 최상위 프로퍼티 클래스나 함수와 마찬가지로 최상위 수준에 프로퍼티를 정의할 수 있다. 이 경우 프로퍼티는 전역 변수나 상수와 비슷한 역할을 한다. val prefix = "hello" fun main() { val name = readLine() ?: return println("$prefix $name") } 2) 늦은 초기화 클래스를 인스턴스화할 때 프로퍼티를 초기화해야 한다는 요구 사항이 불필요하게 엄격할 때가 있다. 어떤 프로퍼티는 클래스 인스턴스가 생성된..