온라인 자료

Introduction to Programming and and Computational Problem-Solving

무료로 제공되는 Java 초급 강의로 타입부터 제네릭, 간단한 자료구조까지 다룬다. 늘 대부분의 강의가 콘솔부터 가르치는 것과 다르게 클래스를 정의하고 내부를 살펴보는 방식이 새롭다. 설명의 깊이는 아쉽지만 찾아볼 수 있는 대부분의 키워드는 제공하고 있다. 더불어 테스트 개념도 같이 얘기해주고 있어서 유익함. 특히 상속과 제네릭을 다루는 부분은 여태 봐왔던 동물-코끼리 같은 상속보다 훨씬 와닿고 실무에 가까운 예제로 설명한다.

How to Design Classes

How to design class: object-oriented programming and computing. Matthias Felleisen, Matthew Flatt, Robert Bruce Findler, Kathryn E. Gray, Shriram Krishnamurthi, Viera K. Proulx

제목처럼 클래스, 인터페이스, 상속, 제네릭 등을 어떻게 활용하는지 예제 중심으로 다루는 책. 디자인 패턴을 다루는 책들에 비해 각각의 맥락을 좀 더 이해하기 편하도록 설명한다.

집에 산다는 것은 걱정 없이 거주할 수 있는 공간이 있다는 안정감과 동시에 어디선가 말없이 자라나는 잡초를 제거해야 한다는 의무가 생긴다. 어느 잡초나 그렇듯 뽑고 돌아서면 다시 솟아나는데 비도 잘 오지 않아 건조한 이 동네서도 잡초가 순식간에 자라난다. 더군다나 잡초들이 습기를 찾아 길게 뿌리를 뻗는 탓에 쉽게 잘 제거도 되지 않아서 계속 골치였다. 뒷마당은 길에서 보이지 않으니까 그렇다 쳐도 앞마당은 늘 오가면서 잡초가 빠르게 자라는 게 보여서 집에 들어오기 전부터 일거리의 압박을 받는 기분이었다. 그래서 텍스 리턴을 조금 받은 것으로 차라리 조경을 맡겨서 해결하자 결론에 닿았고 앞마당 조경을 문의했다. 그렇게 눈엣가시였던 앞마당 조경이 일주일도 안 되는 기간에 정리되었다.

깨끗한 앞마당을 갖게 된 이후로 마음의 평안을 찾을 수 있었지만, 뒷마당은 여전히 난장판이었다. 절반은 민들레 같은 잡다한 풀이고 나머지는 씨가 날려서 이곳저곳 마구 자라난 부추였다. 부추는 가끔 먹기도 해서 살림에 도움이 될 때도 있지만 전혀 관리가 되는 상태가 아니었다. 내가 심지 않는 것은 먹을 수 있어도 잡초다. 우리는 직접 뒷마당을 다 정리하고 돌을 깔아서 잡초 없는 뒷마당을 만들 계획을 세웠다. 앞마당 정리 과정에서 보고 배운 것도 있고 유튜브도 몇 편 봤다고 무엇을 어떻게 할 지 감을 잡았다고 생각했다. (물론 착각이었음.) 어찌 되었든 일단 뒷마당 잡초부터 정리하기 시작했다.

계획

필요/사용했던 도구:

  • 손수레 (wheelbarrow)
  • 삽 (둥근 것 digging, 각진 것 spade)
  • 갈퀴 (rake)
  • 예초기 (트리머, String timmer)
  • 경운기 (틸러, tiller)
  • 캔버스 천 또는 방수포 (자갈 받을 때 바닥에 까는 용도)

중간에 바뀐 계획도 있지만 전체적으로는 계획과 크게 다르지 않게 진행됐다. 작업 과정에서 배수가 제대로 되지 않는 상황인 것을 알게 돼서 기왕 자갈을 사용하는 김에 타공 배수관으로 설치하기로 계획했다.

  1. 잡초 제거 및 땅 정리
    • 예초기로 지표면에 있는 잡초를 제거
    • 경운기로 3 인치 깊이의 흙을 뒤집어 지표면 밑 잡초 뿌리 제거
    • 갈퀴, 삽 등 사용해서 잡초 뿌리 등 모아서 버림
    • 기존에 설치한 급수 시설 정리하기 (1/2' cap 구입해서 막음)
  2. 배수관 설치: 기존 배수관을 제거하고 타공 배수관(프렌치 드레인, french drainage)을 설치
    • 기존 배관 제거
    • 타공 배수관 규격에 맞게 땅 파기
    • 배수관용 부직포(filter fabric) 설치
    • 타공관(corrugated pipe)와 배수구(catch basin) 설치
    • 자갈 채우기
    • 부직포를 감싸고 조경용 핀(staple) 사용해서 고정하기
  3. 땅 준비하기
    • 잡초 약(weed preventer)과 진딧물, 개미 문제로 인한 벌레약 처리
    • 배수관을 통해 물이 잘 흘러가도록 땅 정지 작업 (leveling)
    • 조경용 천(landscape fabric) 깔고 핀으로 고정하기
  4. 조경 자갈 주문 및 깔기
    • 땅 넓이 측정해서 얼마나 주문해야 하는지 계산
    • 인근 조경원 방문해서 설치할 자갈 고르고 주문
    • 약속된 날, 집 앞에 쏟아놓은 돌을 부지런히 나르기
  5. 화분 정리
    • 웃자란 화분은 나눠서 심고 부족한 흙 보충하기
    • 화분 위치를 배수구가 있는 쪽으로 옮겨 깔끔하게 정리
  6. 조명 설치

대부분의 재료, 공구는 홈디포에서 구입했다. 조경용 핀은 아마존에서, 배수관용 부직포는 Landscape Discount에서 구입했다. 조경 자갈은 Sunshine Growers Nursery에서 배달 받았다. 홈디포에서도 자갈을 판매하기는 하지만 대량으로 구매할 때는 로컬에서 구입하는게 훨씬 저렴했다.

계산

가장 중요한 게 절대 부족하거나 남지 말아야 한다는 점이었는데 다행스럽게 조금 남는 선에서 마무리되었다. 용적 계산이 번거로웠던 것은 인치, 피트, 야드 변환이 계속 되었던 부분이다. 특히 미터로 살아온 사람이라서 미터 단위 용적이라면 대충 감이라도 올텐데 매번 변환해서 생각해야 하는 부분이 쉽지 않았다.

  • 조경 자갈 (땅 넓이 x 두께, 자갈 같은 경우는 판매처에 문의하면 알아서 잘 계산해서 얼마나 필요한지 알려줌)
  • 조경 천 (땅 넓이, 곂치는 부분 염두)
  • 배수로 자갈 (길이 x 폭 x 깊이 - 배수관 길이 x 단면 넓이)
  • 배수로 천

천은 겹치는 부분을 사전에 잘 계산하면 설치할 때 편하다. 특히 중간에 나무가 있거나 하면 나무에 맞게 잘라줘야 하는 부분도 있는데 여유분이 있으면 유용하다.

비용

최종적으로 $2200 정도 사용했다. 사용한 장비는 이미 집에 있었던 것들이라서 비용 대부분이 재료 및 자재에 사용되었다.

  • 조경석: $1379 (리버락 $932, 라바락 $447 5 cu. yd., 배달비 포함)
  • 배수로 관련: $400 가량 (배수관 100ft $109, 부직포 $150 등)
  • 조경 관련: $400 가량 (조경 천 4ft x 300ft $87, 조명, 잡초 약 등)

기간

총 기간은 34일(3월 14일부터 4월 17일까지) 정도 된다. 체력적 문제😅로 중간에 쉰 날도 많기 때문에 실제 일한 시간만 따지면 3주 정도 되는 것 같다.

고려사항

  • 체력을 맹신하거나 과신하지 말자. 생각보다 힘들다.
  • 일기예보를 잘 보고 계획을 세울 것. 작업하던 기간에 엄청 더운 주간이 있어서 더 쉽지 않았다.
  • 흙을 손으로 정지 작업 하는 일은 쉽지 않다.
    • 시간을 더 많이 배정하거나 좋은 레벨링 도구를 쓰면 좀 도움 된다.
    • 사실 이것만 전문적으로 하는 장비가 있다. 내 생각엔 30 ft 정도는 손으로 해도 할 만한 수준이라고 생각하고 그 이상이면 전문가에게...
  • 대부분 방법은 유튜브에 답이 많이 있는데 사람마다 말이 다른 부분도 있다. 예를 들면 french drain 찾아보면 사람마다 말이 다른데 자신이 사는 지역과 작업하는 공간이 유사한지 비교해보면 도움이 된다.

과정

잡초 제거로 프로젝트가 시작되었다!

잡초 제거 후 모습. 이후 틸러로 땅을 뒤집었다.

경계석도 꼼꼼하게 닦아준다. 한 톨의 흙이라도 있으면 잡초가 다시 생긴다고.

처음 배송받은 5 cu. yd.의 Arizona River Rock. 배수로와 일부 구역 조경에 사용했다.

기존 배수관을 제거하고 배수로를 정비했다.

배수로에 천을 설치한 후 자갈을 놓고 천을 김밥처럼 말아서 핀을 꽂았다.

두 번째 배달. Lava rock도 5 cu. yd.를 주문했는데 리버락보다 훨씬 적게 느껴졌고 나르기도 수월했다.

조경 천을 놓은 후에 돌을 깔기 시작.

돌도 정돈하고 부직포도 길에 맞게 잘라서 정리

처마 밑에 있던 화분도 한 쪽으로 모았다.

태양광으로 충전되는 조명을 설치했다. 구멍난 잔디에는 씨를 잔뜩 뿌렸다.

결과가 좋으면 고생도 아름답게 느껴진다

정리된 후에는 뒷마당에 나와서 저녁 먹기도 하고 차도 마시고 걷기도 하면서 공간을 더 자주 활용하고 있다. 아직도 작업 후유증으로 손을 매일 주물러야 하는 상황이긴 하지만 깔끔하게 정리된 모습을 보면 정말 뿌듯하다. 편입 결과를 기다리면서 계속 정처 없이 웹페이지를 떠돌던 시간이 연속되고 있었는데 땅을 파면서 심적 안정감을 많이 되찾은 기분이다. 쉽지 않은 과정이었지만 조경 내내 함께한 가족들에게도 고맙다.

많이 배웠고 보람찬 경험이었다고 겁 없이 적으면 또 이런 일을 하게 될까 걱정이 앞선다. 이런 조경을 또 할 일이 있을까 싶긴 하지만. 앞으로 몇 년은 화분으로도 충분히 만족하고 살 것 같다.

뒷마당 정리가 모두 끝났다. 생각했던 것보다 깔끔하게 잘 되어서 다행이다. 예상했던 시간에 맞게 잘 끝난 것도 다행이다. 이제는 뒷마당 한 켠에 작은 텃밭을 다시 꾸리려고 준비하고 있다. 과정을 잘 기록하지 않은 게 아쉽다.

그동안 계속 손을 쓴 탓에 여전히 마디가 아프다. 꾸준히 하면 빨리 낫는다는 작은 손 운동도 계속 하고 있다. 손가락을 구부리는 작은 동작도 아파서 잘 되지 않는다. 잃어야 보이는 것을 또 경험한다. 있을 때 잘하는 것은 왜 이렇게 어려울까.

다가오는 금요일에 편입 결과가 거의 다 나온다. 막상 원서와 에세이를 써서 낼 때는 크게 와닿지 않았는데. 결과가 하나씩 나올 때마다 심란했던 마음이 조금씩 성취감으로 바뀌는 기분이다. 그냥 기다렸다면 정말 힘들었을 기간인데 그나마 뒷마당에서 모든 것 잊고 일정에 맞춰 작업에 열중하다보니 심리적인 부담감을 조금이라도 덜 수 있었다.

지원한 학교 중에 한 곳이 유독 많은 에세이를 요구했다. 다른 프롬프트에는 에세이 쓰기에 급급했는데 간단하게 답변하면 된다는 말에 위로가 됐다. 그동안 나는 어떻게 살았는지, 어느 방향으로 가고 있는지 늘 고민해도 모호한 기분만 들었는데. 조금은 정리되는 기분이 들어서. 결과와는 상관 없을지 모르겠지만 기분 좋은 위안이 되었다. 답은 글쓰기에 있는 것일까!

뒷마당 정리 프로젝트를 시작한 지 3주가 되었다. 시작하기 전부터 기록을 남겼어야 했는데 사진이고 영상이고 신경 쓸 틈 없이 매번 날리는 먼지와 갑작스러운 더위와 사투를 벌였다. 생각은 간단했지만 역시나 쉬운 일이 하나 없었다. 그동안 홈디포에서 이것 저것 사다가 땅 엎고 뿌리고 심고 다듬고 다 해본 일이지만 규모가 커지니 노동 강도가 지수적으로 늘어났다. 그나마 다행인건 유튜브에 이런 저런 자료가 많아서 보고 따라만 하면 된다는 점인데 물론 그 사람들이 장비로 한 두 번 파면 끝나는 작업을 일일이 손으로 하니 하루 종일 땅만 보고 있게 된다. 아직도 할 일이 많은데 잠깐 멈출 수 밖에 없었다. 몸이 고장나버렸기 때문인데 온 몸도 욱신거리고 손가락 마디도 어찌 이렇게 아픈지.

  • 잡초 제거 + 흙 뒤집기
    • tiller와 예초기 사용
  • 새 배관 설치 (french drain)
    • 기존 배관 제거
    • filter fabric 깔기
    • corrugated pipe + catch basin 설치
    • 돌 깔기
    • fabric으로 감싸고 staple 꽂기
  • 잡초 약 뿌리기
  • 땅에 landscape fabric 깔기
  • 돌 깔기

돌은 두 종류를 사용하려고 arizona river rock과 lava rock을 주문했다. 배관에 그냥 crushed rock 써도 된다고 하는 사람도 있고 river rock처럼 동글동글한 돌 써야 한다는 말이 있었는데 적어도 5yd.를 구입해야 배달해주는 탓에 river rock으로 구입하게 되었다. 배관에 쓰고 남은 것은 주변 꾸미는데 사용하기로 했다. 뭐 그 정도는 우리가 나를 수 있지 않나 생각하고 호기롭게 카트도 구입했는데 지금은 이 프로젝트를 과연 마무리 할 수 있을까, 그런 두려움이 더 커져버렸다. 어떻게든 끝내긴 해야 하는 상황이 되어버렸지만.

그리고 커뮤니티 컬리지 졸업하게 되었다. 좋은 결과 받고 졸업한 만큼 편입도 좋은 결과가 나왔으면 좋겠다.

오랜만에 바다를 보고 왔다. 맛있는 커피 마시고 책도 읽고 장도 보고. 마스크 안쓰고서 운동하고 산책하는 사람이 참 많았다. 우리만 다른 세계서 온 것 같았다. 일상적인 일이 비일상적으로만 느껴졌다. 그래서 그런지 책방에서도 한참 고민하다 에세이를 집었다.

신입생 어드미션 결과가 나왔다. 지원자와 어드밋 비율을 보면 정말 바늘 구멍이다. 편입 결과는 다음 달에나 나오겠지만 숫자에 놀란 마음은 잘 가라앉지 않는다. 이런 소요에 휘둘리지 않고 할 일 집중하는 것, 요즘 거기에만 온 정신을 쏟는다. 메타고민까지 가기 전에 고민 열차를 멈추고 일상을 회복해야 한다.

<스몰 빅>을 다시 읽기 시작했다. 작은 일과를 꾸준하게 완료하는 것, 목표보다 짧고 반복 가능한 일과를 만들 것, 비교하지 않을 것. 특히 최종 목표와 현재 수준을 비교하는 잘못을 저지르지 말 것.

대선 결과는 참담했지만 누구 말씀대로 더 열심히 살아내야 한다는 것으로 스스로를 위로한다. 혐오의 목소리를 죽이고 살던 사람들이 다시 쏟아져 나와 말도 안되는 일을 시작하는 것 두렵지만. 더 연대하고 더 목소리 내자.

When they go low, we go high.

Creative Selection 표지

Ken Kocienda, Creative Selection, St. Martin's Press, 2018

애플에 일하며 진행한 프로젝트를 일화처럼 이야기하며 애플 내에서 어떤 방식으로 개발 프로세스가 진행되는지 풀어간 책. 프로그래밍을 깊게 알지 못하더라도 일상적인 용어로 쉽게 풀어서 설명하는 과정이 인상적이다. 단순하게 애플의 문화를 설명하는 것 이외에도 프로덕트를 개발하는 과정이 어떤 흐름에서 이뤄지는지 설명하고 있어서 IT 직군에 대한 궁금증이 있다면 재미있게 읽을 수 있다.

iOS 기기 개발 초기는 어땠나도 세세하게 나와서 재미있었지만 Safari가 어떤 과정으로 나타난 프로덕트인지도 재미있는 부분이었다. 글에서는 간단하고 흥미롭게만 쓰였지만 분명 지나간 일이라 이렇게 아름답게 쓸 수 있었을 것이라 생각도 들고. 중간 중간에 어떤 결단들이 이 사람의 커리어에 어떤 영향을 줬는지도 인상적이다.

학생으로 돌아온 이후로 실무에 대한 막연한 그리움이 있었는데 이 책을 읽으면서 프로젝트를 진행하고 결과를 내는 즐거움을 그리워하고 있다는 걸 알게 되었다. 물론 지금도 자잘한 코드를 만들긴 하지만... 함께 만들고 누군가에 도움이 되는 그런 즐거움이 그립다.

Hard work is hard. Inspiration does not pay off without diligence. We collaborated to get through the drudgery. -- p.88

I think if you do something and it turns out pretty good, then you should go do something else wonderful, not dwell on it for too long. Just figure out what's next. -- p.133

I described empathy as trying to see the world from other people's perspectives and creating work that fits into their lives and adapts to their needs. Empathy is a crucial part of making great products. -- p.182

Taste is developing a refined sense of judgement and finding the balance that produces a pleasing and integrated whole. -- p.183

Our goal was to orchestrate a progression of algorithms and heuristics to create great products that would put smiles on people's faces and would function well without fuss. Design is, after all, how it works. -- p.245

Published on March 11, 2022

그동안 고민 많았던 편입 원서를 모두 끝냈다. 개운한 마음 보다는 줄 서서 기다리고 있던 다음 걱정들(이사라든지, 여러 돈 들어가는 일)이 머릿속에 쏟아지고 있다. 좋은 곳에 잘 정착할 수 있었으면 좋겠다.

2월이 지나가버렸다. 원서 끝내기가 목표였어서 별다른 일은 없었지만. 3월은 마음 정리하고 가볍게 일상에 충실하게 지내자 그랬다. 스크린 보고 있으면 괴로운 생각만 드니까 조금 더 멀리하고, 책도 보고 노트도 남기는 그런 일상에 충실하려고.

플리가 플레이리스트 줄임말이라니. 한국어 업데이트 시급하다 😭

더치브로스에서 커피 기다리면서 인생 챕터에 대해 얘기했다. 지금도 순간 순간은 어렵고 고민되는 일은 여전히 있지만 그건 삶의 일부로 당연한 것이고, 다만 이전 챕터와 다르게 함께 하는 사람이 있다는 것이 얼마나 나에게 큰 안정감을 주는지. 가정 구성원으로의 소속감과 책임, 그런 얘기를 하다보니 커피가 나왔다. 감사할 일이 이렇게나 많다.

색상을 바꿔요

눈에 편한 색상을 골라보세요 :)

Darkreader 플러그인으로 선택한 색상이 제대로 표시되지 않을 수 있습니다.