들어가면서
나는 지난 여름 아내 말을 듣지 않고 생활방수를 믿는다며 폰과 물놀이를 했고,
결국 S20 노트 울트라를 사망에 이르게 만들었다.
급하게 S24FE 를 사서 어찌저찌 살고 있는데…
앱 업데이트가 안된다.
정리
OneUI 버그로 추정된다.
앱 보호 설정으로 인해서 앱 설치를 못하게 막는다.
디바이스케어에서 앱 보호 설정에 앱 보호 끄기 를 해야 앱을 쓸 수 있다.
그리고 이를 공지 하지 않는 것 같다.
끄는 방법은
- 디바이스 케어 > 앱 보호 > 더보기 > 앱 보호 설정 > 앱 보호 끄기 정도로 끄면 된다.
개발자로서 사건 돌아보기
일단 공지가 안된 것에 많이 불쾌 했다.
아직까지는 소비자 관점이다.
이걸 잘 살펴보면, 앱 보호 기능은 McAfee 에서 제공하는 기능이다.
그래서 또 보면 이는 플랫폼에 무관(?) 한 기능이다.
(무관… ㅎㅎㅎ 그렇게 갈라 볼 수도 있다….)
종종 그럴 때가 있다.
어떤때?
말하기도 힘든데…
내 코드 변경은 정말 딱 한 줄 이고 랜더링과 연관이 없는데,
라이브러리를 업데이트 했더니 아무 화면도 나오지 않습니다.
내 잘못이 아니예요.
이럴때!
말하기 힘들고 생각하기 힘들다.
버전 적용
최신 버전, 참 들으면 그럴싸 한데, 막상 그렇게 쓰지 못한다.
- 버전이 변경 되었을 때 사용 방법이 바뀌었을 수 있다.
- 버전이 변경 되었을 때 버그가 있을 수 있다.
- 버전이 변경 되었을 때 버그가 없어질 수 있다. (버그에 기대서 동작했었을 수도 있다….)
등등이 있다.
그렇기 때문에 버전 관리에 대해서는 세심한 확인이 필요하다.
곧 검증이 있어야 한다.
이미 내 제품에 들어온 라이브러리라면,
내 생각에는 이미 그것 역시 내 제품이라 생각한다.
제품에 영향을 미치는 동작에 대해서는 라이브러리 역시 검증이 필요하다.
검증은?
기능이 단순하면 간단하다.
하지만 복잡한 것들을 만들고 있다.
복잡할 수록 차근차근 해보면 좋을 것 같다.
- 빌드가 잘 되는지
- 공통 도구 (common util) 에 대한 입력 / 출력이 이전과 같은지 혹은 의도 대로 되고 있는지
- 작은 단위 component 가 잘 나오는지 - 스토리 북 등등으로 검증해볼 수 있는 수준으로
- API 가 잘 동작한다고 가정하면 어느 정도 복잡한 component 가 잘 나오는지
- 실제 제품이 잘 동작하는지
정적으로 처리해볼 수 있는 부분부터
사실상 모니터링을 하면서 처리를 해봐야 하는 것들을 나열해 봤다.
아주 간단하게만
모니터링 하면서 제품 변경이 실패다라고 검증할 수 있는 것을 자동화 한다면
자동으로 잘 되던 기능으로 되돌 릴 수도 있다고 생각한다.
마치며
요새 버전에 대해서도 고민이 많다.
어떻게 하면 공통 부분을 편하게 관리할 것인지 고민을 해본다.
혹사는 모노레포 하면 다 되지 않냐 하지만,
생각보다 모두가 행복한 상태로 코드들을 유지하는 것에는 생각해보지 못한 많은 노력이 든다.
그렇다고 그냥 버전 잘 올려 쓰면 되지 않냐 하지만,
버전은 쉽게 고정되기 쉽고, 그로 인해 코드가 고이기 쉽다.
그럼 어쩌라는 것이냐? 마치며 어쩌라는 것이냐? 할 텐데
어떤 부분에 대한 공통 요소 혹은 라이브러리인지 고려하여
각 단계에 맞는 처리들을 해보는 것에 대해서 고려를 해야 할 것 같다.
정말 불타오르게 쓰는 라이브러리에 대해서는 복사해서 우리의 수정을 올려 가면서 또 이 수정을 원 라이브러리에 제안 하면서 처리를 해야겠지만
또 가볍게 갈 것들이면 영원히 버전을 고정하는 방법도 있으리라 생각한다.
오히려 전반적인 방법을 생각하는 것이
더 어쩌라는 거냐? 를 양산할 것이라는 생각을 해본다.