JIGGAG

5월 한달동안 로그

2023년 6월 8일

5월 한달동안

  • 아쉬운점
    • 시간을 월간 보다 주간으로 작게 계획하는게 어떨까 했더니
      • 주간 단위로 밀려버린다 🥺
      • 밀린 것 자체가 아쉽지만 바로 잡는 단위도 주간이였던 것이 큰 아쉬움
  • 잘한점
    • 이렇게 생각해도 될지 모르겠지만
    • 잘한게 없지 않나...
    • 5월은 푸르니깐 너무 푸르게 지냈나
  • 개선할점
    • 최근 3개월 한 일을 기록한게 아니라 해야할 일을 리스트업해두고 체크했다
    • 체크된 리스트는 구분이 될거라 생각했는데
    • 한눈에 들어오지 않아 오히려 이 주에 얼마나 실행했는지 알아보기 어렵다고 느껴졌다
      • 이렇게 바꾼 이유는 할 일을 까먹지 않기 위함이였는데, 이건 루틴이 잡혔다고 생각하고
    • 한 일을 기록하는것으로 다시 수정해본다
    • 🤔 아래쪽에 백로그는 짐일뿐이다 라는 문장이 다시 떠오른다

Less is more

타협해버린 추상화

  • 참고: 촉촉한 코드, 건조한 코드
  • 옛날 옛날 호랑이 이야기 듣는 기분으로 🤡
    • 기능에 약간의 차이가 있어서 바로 가져다 쓸 수는 없었고, 복붙을 해서 조금만 바꾸는 것은 나쁜 코드처럼 느껴졌습니다.
    • DRY 원칙을 위반하기 싫어서 두가지를 통합하기로 했습니다
    • 코드가 기괴해 보이기는 했지만, 현실은 이런거야 하고 넘어갔습니다
    • 처음에 빨간 코드와 보라색 코드를 통합할때, 완전히 같은 코드가 필요하다고 생각했지만 사실은 그들도 약간 차이가 있던것입니다!
    • 결과가 이상하게 느껴질 수 있지만, 앞선 내용들은 점진적으로 이루어 졌고 각 과정에서 아무도 이상함을 말할 수 없었기에 최종적으로 이런 코드가 남게 되었습니다
  • 문제가 시작되는 시점은 상당히 이른 시간에 있었다
    • A와 B를 첫번쨰로 통합하고 예외가 발생한 C를 다시금 통합하려고 할때
    • 이상한 추상화를 시작한 시점입니다
  • 이때 타협해야하는 부분은 약간 복잡해지는 추상화된 코드가 아니라
    • 공통 코드를 없애고 각각의 사용처에서 쓰이도록 약간의 중복을 허용하는 것이였다
  • 추상화를 이야기하면 항상 나오는 결말은
    • 너무 이른 시점에 추상화를 하지 말자
    • 추상화를 만들기 전에 우연적인 공통점인지, 본질적인 공통점인지를 판단하기 위한 시간을 어느정도 갖고 파악할 필요가 있다는 것입니다

백로그

  • 우연히... (눈가리고 살았던)
  • 개인 백로그를 보았다
  • 정말 오랜만이라는게 느껴졌던
  • 마지막 스프린트? 일자가 2022-05 ⁉️
    • 일년 지났는데욤?
    • 이정도면 폐기해야하는거 아닌가
  • ShapeUp에서 봤던 내용 중에
  • 백로그는 짐일뿐 ㅋㅋㅋㅋㅋㅋㅋㅋ

커링

  • 참고: [번역] 함수형 프로그래밍과 객체지향 프로그래밍은 닮은 부분이 있습니다
  • useCurring을 대체하지 못해 또는 구현하지 못해 실패했다
  • 아티클을 참고하여 훅을 객체지향으로 바꾸어 구현하고 그걸 다시 훅으로 바꾸면 어떨까?
    • 실패한 원인은 컨텍스트를 유지시키기 어려웠기 때문이다
    • 리액트 컴포넌트마다 사이클에 따라 변하는 컨텍스트를 커링으로 잡고 있기 복잡했는데
      • 이를 해결하기 위해 수많은 디펜던시를 전달하는 방법이 있었지만
      • 객체를 생성한 후에는 더 이상 객체에서 로직의 일부를 재사용할 수 없습니다. 숫자의 크기를 조정하려면 매번 새로 만들어야 합니다.
      • 함수에서 암시적인 컨텍스트를 어떻게 구현했었나요? 값들을 저장하는 클로저를 구성하는 방식을 사용했었죠!
      • 이걸보니 훅을 객체로, 객체를 다시 훅으로 바꾸면 시도해볼만 하지 않을까 🥺
  • 다시 꿈꾸는 중

shape up

  • 원문을 읽기엔 항상 미루고 미루고 미룬다
  • 요약이 잘 되어있으니 쉽게 내려가본다
  • 참고: Shape Up 한국어 요약
  • "이거 가능하나요?" 대신 "이게 6주 안에 가능할까요?"
    • 돈과 시간만 있으면 불가능한건 없다고 생각한다
    • 하지만 제품은 다르다
  • 6주 스프린트 기간 그리고 2주 쿨다운
    • 무언가 의미, 가치 있는 일을 할 수 있는 최소한의 기간 6주를 달리고
      • 숨쉬는 기간 2주를 보낸다
      • 애자일
      • 6주간의 스프린트 후 2주동안 피드백을 받고 적용한다
  • 모든 사이클마다 이전에 쌓여있는 일이 없도록 하라
    • 한 사이클에는 하나의 것에만 집중한다
    • 한 사이클에서 구현부터 테스트, 배포까지 완료해야한다

REST vs gRPC

  • 지난번 보았던 REST API와 gRPC 비교?차이?
  • 그리고 이번엔 REST API vs gRPC
  • 참고

아직도 fabric + swift

  • React-Core > RCTBridge > setUp > bundleURL
    • 여기에는 localhost/index 번들 주소가 잘 들어가 있는데
    • 왜 메트로에서 연결이 안되는거지?
  • 디버깅 해보니 React-Core > RCTRootView > runApplication 에 안들어온다
    • 그러니 AppRegistry.runApplication 으로 앱 실행 자체가 안된 것
  • 이것은 껍데기만 띄웠다는 증거 🙈