욱 연구소

슬기로운 개발생활

반응형

NEW

more

Chapter 03 역할, 책임, 협력

객체지향 패러다임의 관점에서 핵심은 역할(role), 책임(responsibility) 협력(collaboration)이다. (2장에서 다루었던 클래스, 상속, 지연 바인딩은 구현측면에서 중요하지만 본질과는 거리가 있다.) 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것이다. 객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정에서 드러난다. 01 협력 영화 예매 시스템 돌아보기 영화 예매라는 기능을 완성하기 위해 협력하는 객체들의 상호작용을 표현한 그림 객체지향 원칙을 따르는 애플리케이션의 제어 흐름은 다향한 객체들 사이에 균형 있게 분배되는 것이다. 다양한 객체들이 영화 예매라는 기능을 구현하기 위해 메시지를 주고받으면서 상호 작용한다. 협력 - 객체들..

객체지향 2022.05.12 0

Mac OS에서 Java(temurin JDK) 설치하기

temurin JDK가 뭐야? Oracle이 Java 소유권을 가지면서 Java 유료화에 대한 논란이 있었다. (Java 유료화에 대한 논란은 구글링 해보면 알수 있다.) 논란과 함께 Open JDK 사용률이 증가하게 되었고 그러면서 등장된 여러 배포버전(구현체)이 존재하게 되었다. (배급사별 배포버전으로 Azul Zulu, AdoptOpenJDK, Amazon Corretto 등이 흔히들 쓰이는 것 같다.) 필자는 위 배포버전에서 AdoptOpenJDK를 선택했다. (AdoptOpenJDK는 여러 기업의 후원을 받아 개발자들이 운영하는 커뮤니티로 추후에도 유료화가 되지 않고 사용할 수 있을 거 같았다.) 그리고 해당 AdoptOpenJDK는 Eclipse에서 Adoptium 프로젝트를 진행함에 따라 D..

Java 2022.04.21 0

[pyspark] 스파크 완벽 가이드 - 파케이(parquet)파일

데이터 소스 스파크는 여섯 가지 핵심 데이터 소스와 커뮤니티에서 만든 수백 가지 외부 데이터 소스가 있다. 핵심 데이터 소스 CSV JSON 파케이 ORC JDBC/ODBC 연결 일반 텍스트 파일 외부 데이터 소스 카산드라 HBase 몽고디비 AWS Redshift (Amazon Redshift는 클라우드에서 완벽하게 관리되는 페타바이트급 데이터 웨어하우스 서비스입니다.) XML 기타 수많은 데이터소스 이중에서도 가장 먼저 알아두어야 할것은 스파크의 기본 파일 포맷인 파케이(parquet)이다. 파케이 파일 파케이란 다양한 스토리지 최적화 기술을 제공하는 오픈소스로 만들어진 컬럼 기반의 데이터 저장 방식 파케이 특징 및 장점 분석 워크로드에 최적화 저장소 공간 절약 전체파일 대신 개별 컬럼을 읽을 수 있..

Spark 2022.03.16 0

HOT

[pyspark] 스파크 완벽 가이드 - 다양한 데이터 타입 다루기

표현식을 만드는 방법과 다양한 데이터 타입을 다루는 방법 DataFrame을 먼저 하나 생성하자 df = spark.read.format("csv")\ .option("header", "true")\ .option("inferSchema", "true")\ .load("/data/retail-data/by-day/2010-12-01.csv") df.printSchema() df.show(5, False) df.createOrReplaceTempView("dfTable") 스파크 데이터 아비을 변환하기 위한 lit 함수 스파크 데이터 타입으로 변환하는 방법은 반드시 알아두어야 한다. 바로 lit 함수 from pyspark.sql.functions import lit df.select(lit(5), lit..

Spark 2022.03.16 0

Mac OS에서 Java(temurin JDK) 설치하기

temurin JDK가 뭐야? Oracle이 Java 소유권을 가지면서 Java 유료화에 대한 논란이 있었다. (Java 유료화에 대한 논란은 구글링 해보면 알수 있다.) 논란과 함께 Open JDK 사용률이 증가하게 되었고 그러면서 등장된 여러 배포버전(구현체)이 존재하게 되었다. (배급사별 배포버전으로 Azul Zulu, AdoptOpenJDK, Amazon Corretto 등이 흔히들 쓰이는 것 같다.) 필자는 위 배포버전에서 AdoptOpenJDK를 선택했다. (AdoptOpenJDK는 여러 기업의 후원을 받아 개발자들이 운영하는 커뮤니티로 추후에도 유료화가 되지 않고 사용할 수 있을 거 같았다.) 그리고 해당 AdoptOpenJDK는 Eclipse에서 Adoptium 프로젝트를 진행함에 따라 D..

Java 2022.04.21 0

VO와 DTO 는 다르게 부르는 같은 말?

VO vs. DTO DTO와 VO는 분명히 다른 개념과 목적을 가지고 사용하는 객체 이지만 그것에 대한 구분 없이 혼동하여 사용하는 경우가 많다. 그의 원인으로는 일반적으로 ⌜Core J2EE Patterns: Best Practices and Design Strategies⌟ 책의 초판에서 데이터 전송용 객체를 VO로 표기를 했었고 2판에서는 해당 객체를 TO로 정정하여 표기를 하였다고 한다. 이로인하여 DTO와 VO를 혼동하게 된 것으로 보고 있다. 개인적으론 실질적으로 개발자들간에 협업이나 커뮤니케이션을 할때 단편적인 개념으로 이야기를 하다보니 각각 다르게 이해를 하고 있어 더욱이 혼동하고 혼용하여 사용하게 된 것 같다. 개념 정리하기 DTO(Data Transfer Object) 순수하게 값을 ..

Java 2022.01.27 0
반응형