전체 글
[객체지향의 사실과 오해] 03장 : 타입과 추상화
객체지향과 추상화 추상화 목적 : 현실의 복잡성 극복하기 위한 방법으로, 복잡한 것을 이해하기 쉬운 수준으로 단순화하는 것 방법1 : 사물들 간의 공통점은 취하고 차이점은 버리는 일반화를 통해 단순하게 만듦 방법2 : 중요한 부분을 강조하기 위해 불필요한 세부 사항을 제거함으로써 단순하게 만듦 개념 개념 : 일반적으로 우리가 인식하고 있는 다양한 사물이나 객체에 적용할 수 있는 아이디어나 관념 ⇒ 객체를 여러 그룹으로 분류 가능 & 각 객체는 특정한 개념을 표현하는 그룹의 일원으로 포함됨 (인스턴스(instance)) 개념이 객체에 적용됐을 때 객체를 개념의 인스턴스(instance)라고 함 개념의 세 가지 관점 심볼(symbol): 개념을 가리키는 간략한 이름이나 명칭 내연(intension): 개념의..
[객체지향의 사실과 오해] 02장 : 이상한 나라의 객체
객체 하나의 개별적인 실체로 식별 가능한 물리적인 또는 개념적인 사물은 어떤 것이라도 객체가 될 수 있음 객체는 변경 가능한 상태, 특징적인 행동, 구별 가능한 식별자를 가지며, 객체는 저장된 상태와 실행가능한 코드를 통해 구현된다. 상태 특정 시점에 객체가 가지고 있는 정보의 집합 상태를 이용하면 과거의 모든 행동 이력을 설명하지 않고도 현재를 기반으로 객체의 행동 방식을 이해하고 행동의 결과를 쉽게 예측하고 설명할 수 있음 모든 객체의 상태는 단순한 값과 객체의 조합으로 표현할 수 있다. 객체의 상태 = 프로퍼티 + 프로퍼티 값 프로퍼티 객체의 상태를 구성하는 모든 특징 프로퍼티는 정적 (변경되지 않고 고정됨) 프로퍼티 값(property value)은 동적 (시간이 흐름에 따라 변경됨) 객체의 프로..
[객체지향의 사실과 오해] 01장 : 협력하는 객체들의 공동체
객체지향 프로그래밍이란? 현실 속에 존재하는 사물을 최대한 유사하게 모방해 소프트웨어 내부로 옮겨오는 작업 객체지향의 목표는 실세계를 모방하는 것이 아니라, 오히려 새로운 세계를 창조하는 것 소프트웨어 객체와 실세계 사물 사이에 존재하는 연관성은 희미하다. (ex. 현실 세계에서는 사람이 TV를 켜지만, 소프트웨어 세계에서는 TV 객체가 TV를 켠다. 객체지향에서 가장 중요한 개념 3가지 : 역할, 책임, 협력 역할 : 관련성 높은 책임의 집합으로, 재사용 가능한 협력관계를 구축하는 데 중요 여러 객체가 동일한 역할을 수행할 수 있다. (대체가능성) ⇒ 다형성과 관련 각 객체는 책임을 수행하는 방법을 자율적으로 선택할 수 있다. (자율성) 하나의 객체가 동시에 여러 역할을 수행할 수 있다. 책임 협력 :..
맥북 초기 설정 - 깔아두면 유용한 프로그램
1. AlDente 충전기를 꽂은 채고 노트북을 사용하면, 충전기를 통해 들어오는 전력의 일부는 배터리 충전에 사용되고, 일부는 노트북을 구동시키는 데 사용된다. 마치 데스크탑의 본체에 전력이 들어오는 것처럼. 따라서, 배터리를 적게 사용하려면 충전기를 꽂은 채로 사용하는 것이 좋다고 한다. 그런데, 배터리 완충 상태를 오래 지속하면 배터리가 부풀어오르는 배터리 스웰링 현상이 발생할 수 있다. 이를 방지하기 위해, 배터리를 100%로 충전하지 않고, 최적구간(보통 20% ~80%)를 유지하는 것이 좋다. AlDente 어플리케이션을 통해 배터리 충전 한도를 직접 정하고, 그 이상 충전이 되지 않도록 설정할 수 있는 프로그램이다. 아래 영상에서 보다 자세한 설명과 어플리케이션 사용 방법을 알 수 있다. h..
맥북 사자마자 해야 하는 초기 불량 테스트 11가지
내가 나중에 보려고 작성한 포스팅.. 내 맥북은 맥북 에어 M2 CPU 8코어 GPU 10코어 RAM 16gb SSD 512gb 이다. 1. 외관 체크 체크할 목록 흠집 나사 (나사가 풀린 것은 없는지) 힌지 2. 수평 체크 평평한 바닥에 올려놓고 모서리를 눌러봤을 때 흔들림이 없어야 함 3. 흔들어보기 흔들었을 때 소리가 난다면 내부 부품이 떨어진 것일 수 있음 4. 키보드와 트랙패드 눌러보기 모든 키보드의 키가 잘 눌리고 인식되는지 확인하기 트랙패드가 잘 작동하는지 확인하기 마우스 움직임이 잘 되는지 확인 한 번 누른 상태로 더 눌렀을 때 눌러지는지 즉, 2단계로 누르는게 느껴지는지 확인 5. 액정 확인하기 (불량화소, 빛샘 등) https://monitor.co.kr 에 접속하여 불량화소, 빛샘, ..
[웹 백엔드] MySQL - DDL (create, drop)
부스트코스의 무료강의 중 웹 백엔드 강의를 수강하고 정리한 내용입니다. 부스트코스 사이트 다 함께 배우고 성장하는 부스트코스 부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다. www.boostcourse.org 데이터 정의어(Data Definition Language, DML) 데이터베이스의 스키마 객체를 생성하거나 변경하거나 제거하는 등의 일을 수행 MySQL 데이터 타입 TINYINT(M) 부호 있는 수는 -128 부터127 까지, 부호 없는 수는 0 부터 255 까지의 수 표현. 1 바이트 SMALLINT(M) 부호 있는 수는 -32,768 부터 32,767 까지, 부호 없는 수는 0 부터 65,535 까지의 수 표현. 2 바이트 MEDIUMINT(M..
[웹 백엔드] MySQL - DML(select, insert, update, delete) (4/4)
부스트코스의 무료강의 중 웹 백엔드 강의를 수강하고 정리한 내용입니다. 부스트코스 사이트 다 함께 배우고 성장하는 부스트코스 부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다. www.boostcourse.org 데이터 조작어(Data Manipulation Language, DML)의 종류 데이터 조작어는 모두 동사로 시작 시작하는 동사에 따라서 다음과 같은 4가지 조작어가 있음 SELECT – 검색 INSERT – 등록 UPDATE – 수정 DELETE – 삭제 INSERT 데이터 입력 (INSERT문) INSERT INTO 테이블명 (필드1, 필드2, 필드3, 필드4, ··· ) VALUES (필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값, ··..
[웹 백엔드] MySQL - DML(select, insert, update, delete) (3/4)
부스트코스의 무료강의 중 웹 백엔드 강의를 수강하고 정리한 내용입니다. 부스트코스 사이트 다 함께 배우고 성장하는 부스트코스 부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다. www.boostcourse.org 데이터 조작어(Data Manipulation Language, DML)의 종류 데이터 조작어는 모두 동사로 시작 시작하는 동사에 따라서 다음과 같은 4가지 조작어가 있음 SELECT – 검색 INSERT – 등록 UPDATE – 수정 DELETE – 삭제 SELECT SELECT 구문 (CAST 형변환) CAST 함수는 type을 변경(지정)하는 데 유용 CAST (expression AS type) 또는 CONVERT(expression, type..
[웹 백엔드] MySQL - DML(select, insert, update, delete) (2/4)
부스트코스의 무료강의 중 웹 백엔드 강의를 수강하고 정리한 내용입니다. 부스트코스 사이트 다 함께 배우고 성장하는 부스트코스 부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다. www.boostcourse.org 데이터 조작어(Data Manipulation Language, DML)의 종류 데이터 조작어는 모두 동사로 시작 시작하는 동사에 따라서 다음과 같은 4가지 조작어가 있음 SELECT – 검색 INSERT – 등록 UPDATE – 수정 DELETE – 삭제 SELECT SELECT 구문 예제 (특정 행 검색 - where절) SELECT (DISTINCT) 칼럼명 (ALIAS) FROM 테이블명 WHERE 조건식 ORDER BY 칼럼이나 표현식 (AS..