본문 바로가기

전체 글

(77)
6. 객체와 자료구조 자료구조와 객체지향에 대해서 이야기 한 챕터입니다. 두개가 서로 정 반대라고 주장하고 용도에 맞게 잘 써야한다고 합니다. 객체지향의 목적은 캡슐화. 쉽게 말하면 사용자가 내부구조를 알 수 없게 잘 숨기는 것이고 자료구조는 구조를 그대로 두고 따로 함수를 제공하지 않는 경우를 말합니다. 도형을 나타내는 코드가 이해하기 쉽고 인상깊어서 아래 남기겠습니다. 자료구조 - 함수를 추가할때 도형 클래스 수정할 필요 없음 - 도형 추가하때는 함수들을 수정해야함 public class Square { public Point topLeft; public double side; } public class Rectangle { public Point topLeft; public double height; public dou..
5. 형식 맞추기 형식은 사실 의사소통의 형식이다. 언어와 똑같이 맞춤법이 엉망인 글은 보기가 어렵다. 남들이 내 코드를 절대 이해하지 못했으면 좋겠다는 악취미를 가지고 코드를 짜는게 아닌이상 형식을 맞추는게 좋다. 읽는 사람은 읽다보면 일정한 형식을 가지고 다음에는 이런 것이 나오겠지 하고 예상을 하면서 읽기 때문에 형식을 맞춰주는게 좋다. 보통 vscode 같은걸 쓰면 사용하게 되는 prettier나 lint 들도 여기에 해당한다고 봐도 될거같다. 더 넓은 범위로 볼 수도 있다. 몇가지 팁을 둘러보자면 - 신문 기사처럼 작성하라 - 개념은 빈 행으로 구분 - 유사한 코드는 서로 가까이 놓기 - 가로로 너무 길게 쓰지 말 것 등이 있다. 사실상 에어비엔비같이 유명한 규율들을 따라도 되고, 자신만의 규율을 따라도 될 것 ..
4. 주석 경력이 정말 짧은 저 임에도 학창시절에 교수님이 예시로 짜준 코드들에서도 많이 보던 실수들 이었습니다. 딱 이 챕터를 다 읽고 드는 생각은 한문장으로 "설명이 필요한 드립은 실패한 드립이다." 였습니다. 주석도 똑같다는 맥락입니다. 설명이 필요한 코드는 실패.. 까지는 아니지만 설명이 필요 없는 코드일수록 좋다는 이야기가 계속 나옵니다. 꼭 필요한 주석만 남기고 다 없애는게 좋다고 주장합니다. 1. 법적인 주석 ex) Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved. 2. 정보를 제공하는 주석 ex) 테스트중인 Responder 인스턴스를 반환한다. 다만 정보를 제공하는 주석의 경우에는 함수 이름등으로 정보를 직접 담는게 낫..
존 카밧진의 왜 마음챙김 명상인가? 군복무 시절 주말마다 법당에 갔었다. 부대 밖으로 나가는게 좋아서도 있었지만, 주말마다 시작되는 모포 일광건조와 잔업에서 도망쳐 법당에 가면 아무것도 하지 않고 시켜주는 명상을 30분정도 시켜줬었다. 30분이 지나갈때 얼마나 그 시간이 아깝고 소중했었는지.. 명상은 그때 이후로 좋은 기억으로 남아있었다. 그러다가 최근에 장동선 박사님의 유튜브 영상을 보다가 명상을 접하고 명상책을 찾아보게 됐다. '도시는 무엇으로 사는가'에서 유현준 작가는 공간에 물체가 들어서면서부터 빈 공간에 경계를 만들고 그것을 통해 공간 감을 가진다고 말했다. 명상이 목표로 하는 무위가 하는 일이 이와 비슷한것 같다. 빠르게 나아가야하는 삶에서 아무것도 하지 않고 가만히 있는것. 그저 주위를 가는데로 흘러가게 바라보는 것을 통해서 ..
[Git] 커밋 메시지 규약 독해 정리하기(the AngularJS commit conventions) 깃을 이용한 커밋은 일기장에 적는 일기가 아니기 때문에 일관되게 작성해야 정보를 명확하게 전달할 수 있습니다. 개략적으로 알기 쉽고 다음에 다시 볼때도 효과적입니다. The Angular JS Commit Convention 을 읽고 나름대로 정리 해 보도록 하겠습니다. 1. 포맷 예시로 이해하는게 가장 쉽기 때문에 포맷부터 뜯어보는 게 개인적으로 편했습니다. (): 포맷은 이런 형태로 이루어집니다. 가독성을 위해 각 줄은 100글자를 넘지 않도록 한다. 1-1. type - feat(feature) : 새로운 기능 개발 - fix(bug fix) : 버그 수정 - docs(documentation) : 문서 작성 및 수정 - style(formatting, missing semi colons, ...)..
번외) 코드포매팅 단축키 요즘 파이썬, 자바, JS 등등 다양한 언어를 찍먹해야 될 일이 생겨서 여러군데서 작업하고 할 때마다 다른 IDE를 써버렸더니 코드 포매팅이 굉장히 불편했다. 단축키를 찾아서 한번에 정리해놓고 필요할때마다 꺼내서 쓸 예정으로 작성한다. 1. Visual Studio Code Windows : alt + shift + K Mac : Option + Shift + F Ubuntu : Ctrl + Shift + I 사용하는 언어에 맞는 Formatter 플러그인을 설치해야 한다고 하는데 js만 써서 그런지 난 안깔아도 잘 됐다.. 만약에 플러그인이 없다면, 친절하게 플러그인 설치를 안내해준다. 2. Eclipse Windows : Ctrl + Shift + F Mac : Command + Shift + F U..
3. 함수 이 장에서는 함수를 예쁘게 작성하는 법에 대해서 나온다. 학교를 다닐때 프로그래밍관련 과목을 들으면서 프로젝트를 할때 소위 '족보'라고 하는 코드를 받아서(운좋게도 본전공이 아니었음에도 컴공친구들이 좀 있었다.) 참고해 가면서 과제를 끝마쳤던게 기억이 난다. 문제는 남이 만든 코드를 받아서 작성하다 보면 input, output과 각 함수가 뭘 하는 녀석인지 이름으로 유추를 하더라도 구조적으로 파악이 꽤 어려웠다는 것이다. 이 장에서는 함수를 작성하면서 가독성을 높이는 방법들을 소개해준다. 제일 중요한 키는 두가지이다. A. 한 함수는 한가지만 해야한다. B. 인수는 적을수록 좋다. 이제부터 아래에 정리할 여러가지 기법들은 이것을 위한 몇가지 테크닉들이다. 1. 작게 만들어라 함수가 크면 클수록 함수를 ..
2. 의미있는 이름 꽃 (김춘수) 내가 그의 이름을 불러주기 전에는 그는 다만 하나의 몸짓에 지나지 않았다. 내가 그의 이름을 불러주었을 때, 그는 나에게로 와서 꽃이 되었다. 내가 그의 이름을 불러준 것처럼 나의 이 빛깔과 향기에 알맞은 누가 나의 이름을 불러다오 그에게로 가서 나도... 그의 꽃이 되고 싶다. 우리들은 모두 무엇이 되고 싶다 너는 나에게 나는 너에게 잊혀지지 않는 하나의 눈짓이 되고 싶다. 아마 작가가 한국인이었다면 이 시를 책에 실었을텐데 아쉽다. 요즘은 많이 없어진 것 같지만, 내가 태어났을 때만 해도 한국에는 '작명소'에서 이름을 지어온 이름을 주곤 했다. 그만큼 이름이 중요했기 때문이다. 일생을 살면서 내가 가장 많이 듣는 말이 무엇일까 생각해보면 단언컨데 내 이름이 아닐까 싶다. 만약 내 이름이..