본문 바로가기

전체 글

(77)
모든 것이 산산이 부서지다 모든 것이 산산이 부서지다 - 치누아 아체베 경희대학교 도서관은 한번 빌리면 2주의 대여기간을 준다. 개발책을 빌리러 도서관에 갈때면 2주동안 한 권 정도는 옛날처럼 소설책을 읽어보자고 다짐한 터였다. 그래서 사실은 웹기술과 http에 관한 책을 빌리러 갔다가, 모든것이 산산이 부서지다를 만나게 된 것이다. 처음에는 지난번에 읽었던 '면도날'이 꽤 마음에 든 터라, 서머싯 몸의 다른 책을 찾아보려고 했었다. '인간의 굴레에서' 나 '달과 6펜스'를 찾아보려고 했는데 누가 빌려갔는지 도무지 책을 찾을 수가 없었다. 그러다가 눈에 들어온 것이 치누아 아체베의 책들이었다. 굉장히 나를 설레게 했던 포인트는 아프리카 소설이라는 책의 소개글이었다. 생각해보면 프랑스, 러시아, 북미, 영국 소설들은 많이 봐 왔는데..
면도날 면도날 - 서머싯 몸 돈과 가정을 가진 이사벨 명예를 가진 앨리엇 삶의 목적을 찾은 래리 사랑을 일궈낸 그레이 여성으로서 성공한 예술가가 된 수잔 죽음을 얻은 소피 작가가 말한대로 모두가 해피엔딩이다. 보면서 헤르만 헤세의 싯타르타가 떠올랐다. 다만 싯타르타에서는 싯타르타만이 주인공이었다면 면도날에서는 래리 뿐만 아니라 주변사람 모두가 주인공인 소설이었다고 말하고 싶다. 읽으면서 꽤 많은 생각을 하게 됐다. 개인적으로 캐나다에 있으면서 홈리스나 약쟁이들을 보면 그건 저자들의 잘못이다. 라고 생각해왔었기 때문에 이사벨과 비슷한 입장이었다. 누구에게나 오는 것은 아니지만 누구든 삶이 무너질 정도의 위기가 온다. 그것을 이겨내지 못하고 무너지는 것이 죄인가 라는 질문에 나는 예스라고 생각했다. 나는 작가가 대..
의자 의자-갤런 크랜츠 책 표지에 적힌 것처럼 의자를 다시 생각하게 됐다. 생각해보면 어릴때는 의자를 별로 좋아하지 않았던 것 같다. 식당에 갔을때도 의자가 있는 식당보다는 바닥에 앉는 식당을 더 좋아했었고 공부를 할때도 바닥에 쭈그리고 앉아서 공부하는 시간이 더 많았다. 학교에 다니기 시작하면서 의자에 앉는 것에 익숙해져서 나도 모르게 일을 할때나 밥을 먹을 때 의자에 앉아야 한다고 생각했었다. 가끔 바닥에 구멍이 뚫린 식으로 앉을 수 있는 고급 한정식당을 보면서 느꼈던 묘한 기분은 이 괴리 사이에서 나온게 아닌가 싶다. '의자'는 생각해보면 서양 문물 중에 최전선에서 우리와 맡닿아 있는 가구다. 나는 잘 때와 운동할 때를 제외하고 거의 모든 시간을 의자에 앉아서 보내는 것 같다. 평균 2살때부터 의자에 앉..
괴짜경제학 코로나에 걸려서 자가격리를 하면서 읽었던 책이다. 우연히 코로나 전에 구해뒀던 책이었고, 격리중에서 도서관에 가지 못해서 읽을 거리가 이것밖에 없었는데 기대보다 재미있는 아이디어들이 꽤 있어서 나름 시간을 잘 보냈던것 같다. 작가는 책 뿐만 아니라 블로그도 하고 있었는데, 자신이 블로그에 올렸던 내용과 이전부터 주장했던 내용에 대해서 독자들이 블로그에 '이건 좀 아니지 않나...' 하는 댓글들까지 자신이 직접 가져다가 소개해줘서 신선했다. 내용은 독특하지만 확실히 관통하는 주제는 없는듯 하다. 주로 다루는 내용은 크랙을 판매하는 행위와 그것에서 파생되는 몇가지 재밌는 아이디어들 차이를 만드는 것은 결국에 정보량의 차이라는것 이름이 과연 실제 사람의 인생에 어느정도의 영향력을 끼치는가(ex 흑인들이 많이 ..
10. 클래스 클래스를 예쁘고 깨끗하게 만드는 팁에관한 챕터입니다. 몇가지 팁이 나와있었습니다. 중요한것은 클래스를 작게 쪼개서 이해하기 쉽도록 만드는 것입니다. 같은 10개의 기능을 가진 클래스를 1개로 만드나 10개로 만드나 정보량은 같지만 10개로 쪼갰을때에 각 클래스가 가진 권한이 분리돼서 이해하기 쉽습니다. 또한 프로그램은 지속적으로 수정과 변화가 일어나기 때문에 클래스와 메서드는 최대한 작게 쪼개서 단일한 일만 하도록 하는것이 좋습니다. - 순서 처음 나오는 부분은 클래스 안에서의 순서입니다 1. static public 2. static private 3. private instance 4. public method 의 순서대로 하는게 국룰이라고 합니다. - SOLID 1. SRP(Single Respon..
9. 단위 테스트 가장 중요한 3요소. 가독성, 가독성, 가독성 테스트 코드는 실제 코드와는 다르지만 수평하게 생각해야한다. 아무렇게나 짜면 안된다. 제 1번 요구사항은 가독성이다 아래에서는 좀더 세분화한 다섯가지 규칙 (FIRST 규칙)을 제시한다. 1. Fast 빠른 빠르지 않은 테스트 코드는 점점 돌리기가 힘들어지고 유지보수에 문제를 만든다 2. Independant 독립적인 각 테스트가 서로 의존하고 있으면 점점 테스트코드를 분화시키기 어려워진다. 각 함수가 한가지 일만 하는 것처럼 각 테스트도 한가지 일만 해야하고 서로 독립적일수록 좋다. 3. Repeatable 반복하는 환경이 바뀌어도 반복가능해야한다. 집이든 회사든 어디서든. 4. Self-validating 자가검증하는 결과를 성공, 실패로만 내야한다. 결..
8. 경계 뒷 파트로 갈수록 확실히 책의 전반부와 다르게 협업을 위한 방법들이 많이 소개되는것 같습니다. 아직 배움이 짧아서 공감하기 어려운 내용들이지만 완주를 목표로 이해한만큼 기록하겠습니다. 개발을 하게 되면 다양한 api나 라이브러리 등을 가져다 써야할 일이 생깁니다.(거의 무조건) 이럴때 확장성을 잘 생각하며 짜야합니다. 일종의 도킹처럼, 결합하는 그 부분에서 생기는 이슈와 결합후 호환에 대한 이슈를 고려해야 합니다. 책에서 추천해주는 가장 좋은 방법은 test를 적극 활용하는 것입니다. 코드를 직접 뜯어서 하나하나 이해하는 것보다 용도에 맞게 test를 통해서 사용법만 익히면서 배우는 것이 훨씬 경제적 이라고 주장합니다.
7. 예외처리 사실 저는 자바를 거의 공부하지 않았고, 기본서로 딥다이브정도를 읽다가 하차한 상태기 때문에 자바의 try, catch가 익숙하지 않습니다만 예외처리에 관해서 중요하다고 생각합니다. 간단하게 코테공부만 해도 항상 경계값, 임계치 등이 기준이 되도록 잘 설정해서 문제가 틀리지 않도록 하는 것, 혹은 나중에 코드를 수정하다가 여러 예외처리들을 주먹구구식으로 해와서 더러운 코드때문에 처음부터 다시 짜야할 일 이 초반에 꽤 있었기 때문입니다. 여기서도 간단한 몇가지 법칙을 보여주는데, 일단 자바가 아니라도 쓸만한 몇가지가 기억이 나 남겨놓습니다. 1. 메서드로 null을 넘기거나, 예외처리를 null을 통해서 하는 것을 지양하자 2. 오류를 직접 처리하는 것보다, try catch를 사용하자 3. 예외에 의미를..