본문 바로가기
  • 1+1=3
반응형

독서/개발관련10

이펙티브 자바 시작! 오늘이 금욜이니까, 화욜에 이펙티브를 사고 수욜부터 읽기 시작했다. 취업을 하고, 7주간 진짜 삼성의 푸른 피를 수혈한다는 명목 하에 합숙을 하느라 개발을 손에서 그냥 말그대로 놓았기 때문이다. 7주가 지나고 내 부서에 오니, 스스로 이건 뭔가 잘못됐다 느꼈다. 면접보기 위해 딸딸 외웠던 JVM구조부터 시작해서, 내가 직접 한 프로젝트의 코드도 이게 무슨 뜻인지 알수가 없는 상황이 온 것이다. 훌륭하신 선배님들과 인사를 하고, 더욱 더 위기를 느꼈다. 회사에서 아무리 신입한테 뭐 기대를 안한다 해도, 내 수준은 개발로 돈 버는 프로로서 자격이 없다 생각했다. 일단 자바부터 탄탄히 하자는 생각으로 이펙티브 자바를 선택했다. 선배님께서 추천해주시기도 했고, 이전부터 무조건 읽고 싶었던 책이었다. 관련해서 인.. 2022. 9. 2.
[데이터베이스 첫걸음] 8장: 정규화 정규형 테이블은 한마디로 정리하면 '고유한 기본키를 가진 공통점에 의해 정리된 것들의 집합'이다. 여기서 더 나아가 어떤 열을 가져야 하는지 고려해보자. 테이블은 세상의 모든 것들을 다 자의적으로 담을 수 있고, 따라서 매우 자의적으로 열을 정의할 수도 있음. 이러면 설계자 이외에 아무도 이해를 할 수 없게 된다. 따라서 정규형이 등장. 하나의 규칙같은 것임. 정규형은 매우 복잡해서 1~5형이 있지만, 실무에서는 3형까지만 이해하면 된다. 정규형은 말그대로 '제대로 된 형태'를 말함. 즉 '데이터의 갱신이 발생한 경우에도 부정합이 발생하기 어려운 테이블의 형태'라는 뜻이다. 근데 1형은 너무나 당연한 것이기에 2,3형만 알면 된다. 제 1정규형 당연한것임. '테이블 셀에 복합적인 값을 포함하지 않는다'이.. 2022. 1. 9.
[데이터베이스 첫걸음] 7장: 트랜잭션과 동시성 제어 트랜잭션이란 테이블 갱신은 단순히 INSERT/DELETE/UPDATE만 사용하지 않고, 대부분 복수 쿼리를 연속적으로 수행한다. 또한, 갱신 전의 데이터로 SELECT를 사용할 때 이를 포함해 복수 쿼리를 일관된 형태의 한덩어리로 다뤄야 한다. 트랜잭션이란 이런 복수쿼리를 한단위로 묶은 것. 트랜잭션의 특징은 ACID로 정의된다. - Atomicity(원자성) - Consistency(일관성) - Isolation(고립성 또는 격리성) - Durability(지속성) 원자성(Atomicity) 데이터 변경(INSERT/DELETE/UPDATE)을 수반하는 일련의 데이터 조작이 전부 성공할지 전부 실패할지를 보증하는 구조. 예) 기차표 예매하는데 결제하기 전에 보유한 돈이 부족해서 결제 실패하는 경우(또.. 2022. 1. 3.
[데이터베이스 첫걸음] 5,6장: DBMS구조, 뷰 5장: DBMS를 조작할 때 필요한 기본지식 관계형 데이터베이스 계층 데이터를 사용한다는 것은 DBMS에 저장된 테이블을 sql을 사용해서 조작하는 것. 그러므로 DBMS구조를 아는것도 중요하다. 데이터베이스 내부의 테이블은 몇개의 그룹으로 나뉘어서 관리된다. 마치 폴더처럼.이 폴더르 디비에선 바로 '스키마'라고 한다. 스키마 '틀' 이란 의미이다. 테이블은 몇개싀 스키마 속에 저장되는 형식임. 사용자가 자유롭게 스키마 만들어서 용도별로 나눌 수 있다. 스키마 상위에는 또 하나의 계층으로 '데이터베이스'가 있다. 근데 사실 데이터베이스는 '데이터를 관리하는 기능의 집합체'가 원래 정의이지만, '계층'을 표시하는 의미도 갖고 있음. (혼동 소지 있다..) 인스턴스 데이터베이스보다 한층 더 위에 있는 '인스.. 2021. 12. 31.
[객체지향의 사실과 오해] 4-역할,책임,협력 | 5장 - 책임과 메시지 106~176페이지. 4장 인간의 행동방식은 개인이 처해있는 문맥(context)에 따라 결정된다. 객체지향에서도 각 개별 객체가 아니라 협력이라는 문맥을 고려해야 한다. 이상한 나라의 앨리스에서, 왕과 토끼, 모자장수가 재판을 한다. 왕은 재판을 수행하고, 토끼는 목격자인 모자장수를 데려오는 책임이 있다. 이 재판이라는 협력은 각 구성원들 간의 '메시지 전송(ex. 증언하라!)'을 통해 책임을 부여하고 행동함으로써 이뤄진다. 마찬가지로, 객체지향설계는 협력을 위해 어떤 객체가 어떤 책임을 수행해야 하고 어떤 객체로부터 메시지를 수신할 것인지를 결정하는 것으로부터 나온다. 또한, 재판장이 왕비가 될수도 있고, 목격자가 앨리스가 될수도 있다. 그러나 셋의 협력은 '재판'이며 각각 모두 같은 역할을 한다. .. 2021. 12. 24.
[객체지향의 사실과 오해] 3장 - 타입과 추상화 72페이지~105페이지 읽음. 추상화 지하철 노선도를 보면 추상화 이해가 쉽다. 어떤 목적을 잘 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법이다. 차이점을 버리고 이반화를 통해 단순화하고, 불필요한 세부사항을 제거함으로써 이뤄진다. 객체와 타입 이상한 나라의 앨리스에서, 트럼프 병사들을 보면서 앨리스는 '그저 다 트럼프일 뿐이야!'라고 생각한다. 트럼프라는 개념을 이용해서 추상화를 한 것이다. 여기서 개념을 바로 '타입'이라고 한다. 객체를 다른 객체와 분류하는 기준은 무엇인가? 동일한 행동을 하면 같은 타입이다. 즉 타입은 데이터가 아니라 행동에 의해 결정된다. 동일한 행동은 동일한 책임을 의미하며, 동일한 책임이란 동일한 메시지 수신을 의미한다. 다만, 내.. 2021. 12. 24.
반응형