본문 바로가기

분류 전체보기

(13)
[ 객체지향의 사실과 오해] 03 / 타입과 추상화 해당 포스트는 객체지향의 사실과 오해를 공부하기 위해 정리해놓은 글입니다. 자세한 내용은 해당 책을 참조해주세요. http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788998139766 객체지향의 사실과 오해 - 교보문고 역할, 책임, 협력 관점에서 본 객체지향 | 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형 www.kyobobook.co.kr ​타입과 추상화 추상화를 통한 복잡성 극복 추상화의 목적은 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성을 극복하는 것. 불필요한 부분을 도려내가면서 사물의 놀..
[ 객체지향의 사실과 오해] 02 / 이상한 나라의 객체 해당 포스트는 객체지향의 사실과 오해를 공부하기 위해 정리해놓은 글입니다. 자세한 내용은 해당 책을 참조해주세요. http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788998139766 객체지향의 사실과 오해 - 교보문고 역할, 책임, 협력 관점에서 본 객체지향 | 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형 www.kyobobook.co.kr 객체지향과 인지 능력 객체란 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것. 객체지향 패러다임의 목적은 현실 세계를 모방하는 ..
[ 객체지향의 사실과 오해] 01 / 협력하는 객체들의 공동체 해당 포스트는 객체지향의 사실과 오해를 공부하기 위해 정리해놓은 글입니다. 자세한 내용은 해당 책을 참조해주세요. http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9788998139766 객체지향의 사실과 오해 - 교보문고 역할, 책임, 협력 관점에서 본 객체지향 | 현재의 소프트웨어 개발에 있어 가장 중요한 패러다임이 객체지향이라는 사실에 대부분 이견이 없을 것이다. 절차형 패러다임을 접목한 C++나 함수형 www.kyobobook.co.kr 협력하는 객체들의 공동체 객체지향의 목표는 실 세계를 모방하는 것이 아니다. → 새로운 세계를 창조하는 것. 객체를 현실 세계의 생명체에 비교해 설명하는 것은 상태와..
rsync rsync는 원격에 있는 파일과 디렉토리를 복사하고 동기화 하기 위한 프로토콜로 주로 백업을 하기 위한 용도로 사용됩니다. rsync로 백업 할 파일의 크기와 수정 시간을 이전에 백업한 파일과 비교하여 변경사항을 체크한 뒤 변경이 되었다면 다시 백업을 하게 됩니다. 하지만 파일의 크기와 수정 시간만을 가지고 비교하는 것이 완벽하지 않다면, —checksum 옵션을 사용하여 비교할 수 있습니다. —checksum 옵션은 크기와 수정 시간을 비교하는 것 보다 느리고 더 많은 자원을 이용하지만 좀 더 안전합니다. 또한 rsync는 효율적으로 파일을 동기화 시킵니다. 수정된 파일 전체를 복사하는 것이 아니라 서로 다른 부분만 동기화 시킵니다.(Rolling Hash 알고리즘 사용) Remote Sync의 약자로..
[MySQL] Windows 에서 Timezone 설정하기 Timezone이란? 시간대는 영국의 그리니치 천문대를 기준으로 지역에 따른 시간의 차이, 다시 말해 지구의 자전에 따른 지역 사이에 생기는 낮과 밤의 차이를 인위적으로 조정하기 위해 고안된 시간의 구분선을 일컫는다. 시간대는 협정 세계시를 기준으로 한 상대적인 차이로 나타낸다. 위키백과 영국이 기준으로 한국 표준시는 영국에서 부터(UTC+9) 9시간의 시차가 나타나게 됩니다. 처음 MySQL을 설치하면 Timezone 설정이 되어 있지 않아서 사용자가 타임존 설정을 해야 MySQL에 접속할 수 있습니다. 첫 번째 방법 - JDBC URL로 설정하기 URL 주소 뒤에 serverTimezone=UTC를 작성해서 MySQL에 접속할 때마다 타임존을 명시하는 방법이 있습니다. 두 번째 방법 - Timezon..
[Java] Optional 클래스 Optional 클래스란? Optional 제네릭 클래스로 "T타입의 객체"를 감싸는 래퍼 클래스. Optional타입의 객체에는 모든 타입의 참조변수를 담을 수 있습니다. Optional클래스는 모든 객체를 감싸기 때문에 Null인지 아닌지 일일이 확인하지 않아도 Optional에 정의된 메서드를 통해서 간단히 처리 가능합니다. if문으로 체크하지 않아도 NullPointException이 발생하지 않게 간결하고 안전한 코드를 작성 가능합니다. NullPointerException 예외 발생 상황 class Friend{ String name; Company cmp; public Friend(String n, Company c){ name = n; cmp = c; } public String getNa..
[Ubuntu]안쓰는 노트북에 Ubuntu Server를 설치 No.1 Ubuntu Server 20.04 LTS 현재 우분투의 최신 버전은 20.04 LTS 입니다. 이 버전은 2020년 4월 24일에 출시하였고 총 지원 기간은 5년 입니다. LTS란 Long Term Support의 약자로 장기간 지원한다는 뜻으로 우분투를 서버로 사용할 목적이기 때문에 지원기간이 짧으면 유지 관리를 하기 힘들어 LTS버전을 설치하였습니다. 우분투 이미지 다운로드 우분투 공식 홈페이지 : https://ubuntu.com/ 우분투 다운로드 페이지 : https://ubuntu.com/download/server Download Ubuntu Server | Download | Ubuntu Ubuntu is an open source software operating system that r..
[에러]### Cause: java.lang.IllegalStateException: Type handler was null on parameter mapping for property 'birthday'. It was either not specified and/or could not be found for the javaType / jdbcType combination specified. Mybatis를 이용해 데이터베이스를 처리하던 중에 날짜 타입을 Date클래스에서 LocalDate클래스로 타입을 변경하니 에러가 발생했다. birthday 필드의 데이터가 Null이라 데이터베이스에 매핑시키지 못했다. Mybatis의 버전이 낮아서 LocalDate클래스의 타입을 인식하지 못해서 에러가 발생한 것이었다. MyBatis는 버전 3.4.5부터 기본적으로 JSR-310(Date and Time API)을 지원한다고 한다. 3.4.5 이상의 버전을 사용하면서 JSR-310 의존성 주입을 하면 자동으로 매핑해준다. 또는 TypeHandler를 정의해야 한다. 3.4.5 이상 버전에서 설정 방법 pom.xml에 의존성 추가 org.mybatis mybatis-typehandlers-jsr310 1..