반응형
반응형

어떤 사람들은 말한다.
"나는 원래 이런 성격이야."
하지만 그건 핑계다. 성격과 성품은 다르다.
성격은 타고난 기질이지만, 성품은 만들어가는
인격이다. 당신이 어떤 성격을 타고났든
좋은 성품은 훈련으로 만들 수 있다.
성품 훈련은 어렵지 않다. 매일
작은 선택을 바르게 하는
것이다.


- 김을호의 《태도는 카피가 안 된다》 중에서 -


* 그렇습니다.
성품도 훈련입니다. 작은 것부터
실천하는 것입니다. 아무도 안 볼 때도
조심하는 것, 약속을 잘 지키는 것, 당장은 불리해도
정직하게 말하는 것, 책을 꾸준히 읽는 것.
이런 작은 선택들이 쌓여서 습관이 되고,
그 습관이 모여서 성품이 됩니다.

반응형

'아침편지' 카테고리의 다른 글

산은 산이 아니다  (0) 2025.12.05
오늘은 그저, 오늘답게  (0) 2025.12.04
잠깐 멈춰도 괜찮아요  (0) 2025.12.02
거울이 되어보라  (0) 2025.12.01
뜬구름 헛된 만행(萬行)  (0) 2025.11.29
반응형

어떠한 행동에
저항하려는 마음과 그 행동을 바꾸려는
결심은 다릅니다. 행동을 바꾸려는 사람은
행동하지만, 행동에 저항하는 사람은
그 행동을 되풀이합니다. 전자는
창조를 하지만, 후자는 같은 것을
끊임없이 되풀이합니다.


- 네빌 고다드의 《내가 원하는 곳에 나를 데려가라》 중에서 -


* 인생은 반복입니다.
행동도 반복됩니다. 되풀이되면서
습관이 만들어지고 인생이 바뀝니다.
자기 인생을 새롭게 창조하고자 하는 사람은
그날그날 자신의 행동을 점검해 볼 필요가
있습니다. 이 행동을 당장 멈춰야 할지,
계속할 것인지 판단해야 합니다.
결심이 필요합니다.

반응형

'아침편지' 카테고리의 다른 글

가끔 집을 떠나자  (0) 2025.11.21
긍정과 행복의 길  (0) 2025.11.20
평범 속의 비범  (0) 2025.11.18
한 걸음 더 나가는 용기  (0) 2025.11.17
옛사랑  (0) 2025.11.17
반응형

나는 천성적으로
'그냥 걷는다'거나 '그냥 운동을 한다'는
말을 이해할 수가 없다. '무엇인가를 하면서'
운동을 해야 직성이 풀린다. 그런 내가 8년
동안 변함없이 지켜온 운동 습관이 있다.
쓰레기 줍기 워킹이다. 쓰레기 줍기와
'걷는' 운동을 병합한 것이다.


- 요시카와 미쓰히데의 《나는 매일 남이 버린 행운을 줍는다》 중에서 -


* '일석이조'(一石二鳥)라는 말이 있습니다.
'돌 하나로 두 마리 새를 잡는다'라는 뜻입니다.
'걷기'를 하면서 '쓰레기 줍기'까지 하면
그야말로 일석이조입니다. 여기에다
환경을 깨끗하게 하는 환경운동,
사회봉사까지 겹치게 되니
일석오조입니다.

반응형

'아침편지' 카테고리의 다른 글

전율과 희열이 춤추는 무릉도원  (0) 2025.08.22
마음의 본성  (0) 2025.08.21
황홀경의 행복감  (0) 2025.08.19
자아 성장과 자기 초월  (1) 2025.08.18
유령(幽靈)  (0) 2025.08.18
반응형

우리의 삶은
기나긴 시간의 연속이다.
당장은 손해인 듯 보이는 운동이
한평생을 두고 봤을 때 크나큰 이익이 되는 것이다.
지적 생활은 건강이 오랫동안 유지되어야만 가능하다.
건강도 실력이다. 건강이 뒷받침되지 않는 지적
노동자는 죽음과 직결된다. 신체를 건강하게
유지하고자 운동이라는 희생을 지불하는
것은 최상의 투자인 것이다.


- 필립 길버트 해머튼 《지적 생활의 즐거움》 중에서 -


* 몸은 우리의 영혼의 집입니다.
몸이 망가지면 영혼도 머무를 곳이 없습니다.
몸을 두고 떠날 수밖에 없습니다. 몸의 건강이
중요한 이유입니다. 섭생, 수면, 운동이 핵심입니다.
특히 운동은 권장 사항이 아니라 필수 요건입니다.
나이가 들어갈수록 근육을 키우기 위한 운동을
매일 습관처럼 해야 합니다. 호흡 운동과
걷기 운동부터 시작해 보십시오.
건강도 실력입니다.

반응형

'아침편지' 카테고리의 다른 글

홀로 핀 민들레처럼  (0) 2025.04.14
봄꽃  (0) 2025.04.14
일상성에서 벗어나라  (0) 2025.04.10
진실로 겸허해야 한다  (0) 2025.04.09
조화로운 한 팀  (0) 2025.04.08
반응형

산책을
영적으로, 또 지적으로 나아가기 위한
수단으로 여긴 사상가는 니체만이 아니다.
다윈도 집 주변에 정기적으로 산책을 하는 길이
있었고 그 길에 샌드워크라는 이름을 붙였다. 그와
동시대를 살았던 찰스 디킨스 역시 런던의 한적한
밤거리를 걸으며 연재 중인 소설을 구상했다.
스티브 잡스도 걷기가 사람을 더 똑똑하게
만든다는 확신으로 미국 애플 캠퍼스에  
산책로와 러닝 트랙을 만들었다.


- 토마스 힐란드 에릭센의 《인생의 의미》 중에서 -


* 옹달샘에도 네 개의 산책길이 있습니다.
용서의 길, 화해의 길, 사랑의 길, 감사의 길.
저도 시시때때로 이 길을 걸으며 고요함을 찾고
아침편지를 쓰고 있습니다. 산책은 몸을 건강하게
할 뿐만 아니라, 생각을 정리하고, 우주의 지혜를
받아들이기에 좋은 습관입니다. 사람을 똑똑하게
만든다고 하니 더 말할 것도 없습니다.

반응형

'아침편지' 카테고리의 다른 글

누구나 복잡하구나  (0) 2025.01.20
제 발등 찍기  (0) 2025.01.20
가장 적대적인 요소  (0) 2025.01.16
사람을 남기는 장사  (0) 2025.01.15
달맞이꽃  (0) 2025.01.14
반응형

https://zarar.dev/good-software-development-habits/

 

Good software development habits

Note: This got and got some attention. This post is not advice, it's what's working for me. It's easy to pick up bad habits and hard to create good o...

zarar.dev

 

 


  • 이 글은 조언이 아닌, 저자가 현재 적용하고 있는 개발 습관들에 대해 작성한 내용
  • 나쁜 습관을 피하고 좋은 습관을 만들기 위해 노력한 경험을 정리한 글로, 생산성 향상과 품질 유지에 도움이 되었던 10가지 습관을 다룸

1. 작은 커밋 유지

  • 커밋을 최대한 작게 유지해야 함. 작은 커밋은 버그 발생 시 특정 커밋만 되돌릴 수 있게 하여, 복잡한 병합 충돌을 피할 수 있음
  • "소프트웨어가 컴파일될 때 커밋할 수 있어야 한다"는 것을 규칙으로 삼음

2. 지속적인 리팩토링

  • Kent Beck의 조언: "변화를 원할 때, 먼저 변화를 쉽게 만들고, 그런 다음 쉽게 변화를 만드세요."
  • 최소 절반의 커밋은 리팩토링이 포함되도록 함. 작은 리팩토링이 큰 요구사항이 들어올 때 큰 도움이 됨
  • 큰 리팩토링은 피해야 함. 대신 10분 이내의 작은 개선 작업을 지속적으로 수행

3. 코드 배포의 중요성

  • 코드 자체는 잠재적 부채이며, 배포되지 않은 코드는 가장 큰 부채임
  • 테스트는 신뢰감을 주지만, 실제 배포는 진정한 승인을 의미함
  • 배포 빈도가 높아질수록 호스팅 비용이 증가할 수 있지만, 최신 작업이 실제로 작동함을 확인하는 것은 중요한 이점임

4. 프레임워크의 기능 테스트하지 않기

  • 프레임워크의 기능을 테스트하지 않음. 프레임워크는 이미 충분히 검증되어 있음
  • 컴포넌트를 작게 유지하면 프레임워크가 대부분의 작업을 처리하게 되어 테스트가 줄어듦
  • 큰 컴포넌트는 복잡성을 추가하고, 이에 따라 많은 테스트가 필요해짐

5. 새로운 모듈 생성

  • 특정 기능이 기존 모듈에 맞지 않는다면, 새 모듈을 생성하는 것이 좋음
  • 기존 모듈에 억지로 기능을 추가하는 것보다 독립적인 모듈로 남겨두는 것이 나음

6. 테스트 주도 개발(TDD)의 유연한 적용

  • API 설계가 명확하지 않을 경우 테스트를 먼저 작성하여 "고객"의 입장에서 생각함
  • TDD는 종교적인 원칙으로 따르지 않음. 필요한 경우 더 큰 단위로 작업 후 테스트할 수 있음
  • 작은 단위의 코드를 실패 상태로 만들지 않아도 되며, 생산성을 저해하는 교조주의에 얽매이지 않음

7. 복붙은 한 번만 허용

  • 한 번의 복사는 괜찮지만, 두 번째 복사부터는 중복이 생김
  • 이 시점에서 적절한 추상화를 통해 중복을 제거해야 함. 파라미터화가 약간 이상해 보여도, 여러 구현을 합치는 것보다는 나음

8. 디자인의 변화 수용

  • 디자인은 시간이 지나면서 낡아짐. 리팩토링을 통해 노화를 늦출 수 있지만 결국에는 바뀔 수밖에 없음
  • 이전의 디자인을 너무 집착하지 말고, 변화를 받아들여야 함
  • 완벽한 디자인은 없으며, 변화에 잘 대처하는 능력이 소프트웨어 개발의 핵심임

9. 기술 부채의 세 가지 유형

  • 기술 부채는 세 가지 유형으로 분류할 수 있음:
    1. 현재 작업을 방해하는 것
    2. 미래 작업을 방해할 가능성이 있는 것
    3. 방해할 가능성이 있을지도 모르는 것
  • 첫 번째 유형의 부채는 최소화하고, 두 번째 유형에 집중하며, 세 번째 유형은 무시해야 함

10. 테스트 가능성과 좋은 설계의 관계

  • 테스트하기 어렵다면 설계에 문제가 있을 가능성이 높음
  • 테스트 설계 또한 개선의 대상이 될 수 있음. 예를 들어, em.getRepository(User).findOneOrFail({id})의 목(Mock) 작성을 어렵게 느낀다면, 별도의 함수로 분리하거나 테스트 유틸리티를 사용하는 것이 좋음
  • 테스트가 작성되지 않는 이유는 테스트하기 어렵기 때문이며, 이는 설계의 문제일 수 있음
반응형

+ Recent posts