Jinyoung Hong

Journal of building things, business and life

1인개발

  • Day 07 · 되돌아보기 week 1

    지난주 토요일 나는, 내 인생의 로드맵을 설계하면서
    내 인생에서 가장 중요하다고 생각하는 TOP10 우선순위를 정의하였다.
    매일 기억해야 할 10가지 리스트와, 아침저녁으로 육성으로 외칠 확언 역시 정의하였다.

    우선순위에 따른 삶에 집중하기로 마음먹은 지 일주일이 되었고,
    일주일을 돌아보며 로드맵을 설계하기 전과 후의 변화를 느껴보고,
    6개월 혹은 12개월 주기로 로드맵 설계를 변경 혹은 추가할 생각이다.

    일단 원래의 내 하루는 이렇게 흘러갔다.

    평일 기준할 일
    AM 04:00새벽 기상 (러닝하는 날)
    AM ~06:15아침 스트레칭, 영양제 섭취, 러닝 10km
    AM ~08:00출근 (출근길 한국경제신문 읽기)
    PM ~17:00퇴근 (퇴근길 밀리의 서재 읽기)
    PM ~19:00귀가 후 씻고 저녁 먹기
    PM ~20:30폼롤러 스트레칭 후 TV 시청 및 휴식
    PM ~21:00피부를 위한 관리 1개 이상 (메디큐브 기기 관리 또는 괄사 또는 마스크팩)
    PM ~21:30잠들 때까지 쇼츠 시청

    지난주 토요일 점검해보니 평일 기준으로도
    휴식을 핑계로 한 의미 없는 여가의 시간을 하루에 약 2시간에서 3시간은 쓰고 있었다.

    꽤 통제된 삶을 살고 있다고 생각했었는데 (운동, 독서, 경제신문, 스트레칭, 관리 등)
    그저 체력과 건강을 위한 통제만 있고
    내 삶의 우선순위에 대한 투자는 없는
    반쪽짜리 통제된 하루. 주말은 더더욱 시간을 “그냥” 흘려보내는 날이 대부분이었다.

    로드맵을 설계하는 시간은 많은 깨달음을 주었다.
    내 인생에 대하여… 로드맵을 설계하고 하루, 일주일 단위의 “시간”을 “설계”하면서
    ‘진작에 할걸’ 하는 후회도 들었지만, 지금이라도 “허투루 쓰는 시간”은 최대한 줄여서
    미래의 나에게 “레버리지”를 선물할 것이다.
    실제로 인생을 점검하는 데 걸리는 시간은 얼마 되지도 않는다.
    성적표를 열어보는 것처럼 두려워 차일피일 미루게 됐던 것뿐.

    지난주 토요일 나의 인생의 로드맵에서 평소에 내가 낭비하던 2~3시간의 시간은
    “내 하루를 기록하는 시간, 내 꿈을 위한 시간”으로 설계했다.
    그리고 매일 시간 단위로 내가 무엇을 했는지 기록하고 있다.
    책『레버리지』에서는 이 기록을 2주만 써보라고 권하는데, 내가 하루를 어떻게 보내고 있는지 알기 위해서다.
    일주일 동안 작성해보니 한 주를 되돌아볼 때 통계를 낼 수 있어 요긴한 것 같다.
    (2주만 쓸 게 아니라 계속 써도 좋을 것 같다. ^ㅁ^)

    로드맵 설계 후 week 1 리포트_통계

    1. 러닝 주 4회 실행, 마일리지 총 54.6km
    2. 밤 명상 주 3회 실행
    3. 확언 주 7일(매일 아침/저녁) 실행
    4. 독서 주 7일 실행, 총 4권 (3권 완독: 『될 일은 된다』, 『실행에 집중하라』, 『급류』 / 1권 진행 중: 『시너지스트』)
    5. 꿈을 위한 시간 투자 주 7일 (비율은 다름. 하루 1시간일 때도 있었음) 총 26시간
    6. 낭비한 시간 → 총 16시간

    매일 시간마다 하는 일을 기록하고 나니 일주일 통계가 선물이 되었다!!!!

    내 삶에 울림을 준 책은 진짜 많고
    감명 받은 책도 많고 인생 책도 많은데
    진짜 어메이징한 책이다, “레버리지”!!

    되돌아보기 week 1 체크리스트

    다음은 일주일 단위로 로드맵 점검을 하기 위한 체크리스트이다.

    1. 건강을 위해 무엇을 했나?
      → 주 54.6km 러닝으로 체력 단련을 했다!
    2. 가족과 어떤 시간을 보냈나?
      → 이번 주는 추석이 끼어 있어서 남편뿐만 아니라 양가 가족과도 시간을 보낼 수 있어서 행복했다.
    3. 내 꿈을 위해 실제로 무엇을 만들었나?
      → 멈춰 있던 우월에 다시 숨을 불어넣어 주고 있다. 약 10개월 만에 배포할 수 있는 준비가 되었다. 서버는 운영 배포도 완료했다. 앱은 오류도 수정했고 페이지도 개선했다. 한 달에 한 번은 운영에 업데이트할 수 있기를 기대한다.
    4. 사회의 문제를 이해하기 위해 무엇을 배웠나?
      → 일단 내 제품 우월의 BM을 설계하면서 결혼 시장 외에도 레몬마켓은 아직도 많이 존재한다는 것을? 배웠다. 그 외에도 사회의 문제나 경제를 읽기 위해 노력한다. 경제신문은 2년째 구독해서 매일 읽고 있다.
    5. 고객/사람을 몇 명 만났나?
      → 아직은 만나지 못했다. 만나기 위해서 이번 주는 명함을 제작했다.
    6. 돈을 버는 시스템에 가까워졌나?
      → 한 걸음 정도는 가까워졌다고 생각한다.
    7. 이번 주 가장 많이 낭비한 시간은 무엇이었나?
      → 쇼츠/릴스에 뜨는 관심사 알고리즘…….. 러닝, 마라톤, 성공, 반려동물……..귀여운 것들 ㅠㅠㅠ 그리고 요리 레시피,,,? 유부의 삶 ^^
    8. 다음 주 내 삶에서 무엇을 줄여서 그 시간을 어디에 쓸 것인가?
      → 낭비한 시간을 줄여서 좀 더 생산적인 일에 투자하고 싶다. 잠자기 전 쇼츠를 끊고 독서를 하고 싶다…
    9. 다음 주 반드시 만들어 낼 결과 하나는 무엇인가?
      → 우월의 정상적인 운영 업데이트, 그리고 스레드 매일 글 1개 포스팅 자동화.
    10. 이번 주 나는 내가 원하는 사람이 되고 있었는가?
      → 네. 당연하죠!

    week 1은 week 1답게 오래가기 위한 작은 보폭의 움직임 정도로 실행한 주였던 것 같다.
    실제로 실행하고 있는 나를 만나니까 성취감과 뿌듯함이 몰려온다.
    다음 주는 더 나은 내가 되고 싶은 마음이다.
    한 주 동안 수고한 나, 굿밤 ❤️

  • Day 06 · 실행하기 (1)

    약 6개월 전, 구글 로그인 오류에 헤매다 현생을 핑계로 덮어뒀던
    우월의 코드 성적표란… 뜯어볼수록 내 마음을 아프게 한다 ㅠㅠㅠㅠㅠㅠㅠ
    아무리 급했다 해도 너무 탈이 많이 나서 속상하다.

    현재 상황은…
    며칠 전에 안드로이드 에뮬레이터 이상이라고 종결짓기로 하고
    오늘은 남편 폰으로 debug 모드 실기기 테스트를 해보려던 참이었는데
    내가 debug와 release의 차이에 대한 개념이 부족한 것 같아서 다시 들여다봤다.

    구글 플레이 콘솔, Firebase 콘솔, 구글 클라우드 콘솔에서 쓰이는
    SHA-1 지문 키… 서명 키… 용도도 각각 달랐던…
    세 군데에서나 키를 관리해야 하고, 왔다 갔다 키 매칭하는 것도
    예전부터 너무 헷갈렸다 ㅠㅠ (난 본 투 비 서버 개발자다 ^ㅁ^)

    며칠이나 삽질을 한 건지 모르겠지만
    암튼 이제 debug와 release의 차이는 서명 키 차이라는 것을 확실히 알았다!

    개념을 바로잡고 생각해보니
    서명 키 차이인데 그럼 충돌 나는 키를 정리하고 에뮬레이터에서 release 모드로
    빌드해도 로그인이 되어야 하는 거 아닌가? 싶어서 시도해봤는데
    release 모드로는 역시 안 되는 거 아닌가 ㅠ

    더군다나 서명 키 충돌을 해결했다는 게,
    충돌 나는 클라이언트가 다른 프로젝트에 있어서 그 클라이언트를 삭제한 거였는데
    충돌 해결 후 release 빌드 버전에서도 로그인이 안 되고
    운영 앱에서도 로그인이 안 되는 사태가 발생했다…
    더 꼬였다 생각했지만 원리를 알고 나니 당황스럽지 않았다.
    30일 이내 복구가 가능했기에 삭제한 클라이언트를 복구하고 운영을 되돌려놨다.

    프로젝트 매칭이 안 됐던 클라이언트 키로 운영에서 로그인이 된다는 것은…
    코드 어딘가에서 분명 매칭해주고 있을 것…
    코드를 정리하고 release 모드로 테스트 배포를 진행했다.
    (로컬에서는 충돌을 해결하기 전까진 당분간 release 모드로 테스트가 불가할 듯 ^^)

    기존 앱에서도, release 모드로 배포한 앱에서도 구글 로그인은 잘된다 ^^
    (FCM null 문제도 해결…!!)

    이렇게 불안정한 상태로 약 2년 가까이 운영해오고 있었던,
    칼날 위를 걷는 듯한 처참하고 위태로운 나의 운영 상태를 돌아보게 되는 계기가 되었다…

    요즘 다시 우월에 애정을 쏟으면서 반성도 많이 되고…
    미안한 게 한두 가지가 아니다 ㅠ

    테스트 버전으로 AOS, iOS 배포 완료!! (이게 얼마만에 배포인지 ^,,^)


    오늘부터는 본격적인 실행 단계다.
    주말 내내 테스트 돌리고, 월요일에 운영 반영하고,
    앞으로는 주기적으로 점검 및 업데이트를 해야겠다.

    많이 아껴줄게, 다시 나랑 잘해보자 우월아 ❤️

  • Day 05 · 블로그 세팅하기 (2)

    오늘은 추석 연휴 첫날!
    솔직히 말하면 우월을 위한 일은 딱히 한 게 없다 ㅎ
    (브랜드 슬로건 하나 붙잡고 하루 종일 씨름한 것 빼고…)

    근데 이게 마냥 찔리지는 않는다.
    Day 01에 책 레버리지를 읽고 내 삶에서 중요한 것들을 적어보는 시간을 가졌는데
    꽤 높은 순위에 ‘가족’이 있었다.
    가족과 보내는 시간도 나한테는 의미 있는 시간이다.

    그러니까 오늘은 가족에게 쓴 시간의 비중이 높은 날이고,
    내가 적어둔 우선순위대로 산 날이기도 하다.
    (창업을 위해서는 상당한 시간을 제품에 갈아 넣어야 할 것 같은 압박이 있긴 하지만…. 그렇게 하면 오래 못 간다는 것도 안다 ^ㅁ^)

    아침엔 시댁에 다녀왔고,
    돌아와서는 러닝 2시간.
    그리고 Product 페이지 하나 만드니까 오늘의 거의 끝나간다… (시간이 왜 이렇게 빠른걸까 ㅠㅠ)

    근데 이 페이지 하나 만드는 게 생각보다 오래 걸렸다…
    어제 About 페이지를 만들고 오늘 Product 페이지를 만들면서
    우월이 뭔지, 한 문장으로 뭐라고 말해야 하는지를
    처음부터 다시 붙잡고 있었기 때문이다.

    처음엔 얼마 전에 낸 공모전 사업계획서를 참고해서 초안을 잡았는데
    막상 나온 걸 보니까…
    가입자 수, 데이터 건수, 1년 목표, 수익모델 단계까지
    이건 제품 소개가 아니라 심사위원한테 내는 진행 보고서였다 ㅋㅋ

    블로그에 들어온 사람이 궁금한 건
    “그래서 이게 뭔데? 나한테 뭐가 좋은데?” 일 텐데
    나는 계속 “이렇게 돈 벌 거예요”로 초안을 잡고 있었던 것 ^^…….

    그래서 숫자랑 로드맵은 싹 빼고
    무슨 제품인지, 왜 필요한지, 뭐가 다른지,
    그리고 궁극적으로 뭘 바꾸고 싶은지만 남겼다.

    진짜 말 그대로 제품 소개 페이지 !!!!!로 만들기!

    슬로건 방황기

    생각보다 시간을 많이 쓴 건 슬로건이었다.
    페이지를 한 문장으로 마무리하고 싶었는데 그 한 문장이 안 나왔다.

    • 큰돈을 쓰기 전에, 기준을 먼저 보여드립니다 → 뭔가 어색…
    • 아는 사람만 유리한 시장에서, 누구나 기준을 가진 시장으로 → 이상함
    • 결혼부터 시작해 라이프 예산의 기준 → 라이프 예산? 어감이 별로
    • 결혼부터 시작해 라이프 월렛의 기준 → 월렛이 기준을 갖는다는 게 말이 안 됨
    • 레몬마켓을 피치마켓으로 → 경제용어라 일반인 접근성 떨어짐 + 유치함

    내가 하고 싶은 말은 분명했다.
    결혼부터 시작해서 생활 전반의 레몬마켓을 피치마켓으로 바꾸는 것.
    그 가격의 기준이 되는 플랫폼이 우월이라는 것.
    근데 이걸 한 줄로 줄이려니까 자꾸 설명이 되거나, 유치해지거나, 둘 다 되거나 ㅠ

    그러다 문득 어제 만든 명함에
    거기 내가 적었던 우월에 부제(?)를 보고서 음…

    실거래가로 우월하게, 우리의 월렛

    슬로건을 명함에 넣었어야 했나? 라는 생각도 들었다.
    결정된 슬로건 -> “결혼부터 시작하는, 생활 가격의 기준”

    생각해보니 둘 다 필요하긴 하다.

    브랜드 네이밍을 중의적인 뜻으로 만들었으니까!!!

    (실거래가로 “우월”하게, “우월 – 우리의 월렛”)

    명함에 들어가는 건 한 번 스쳐도 기억에 남는 태그라인이고,
    “결혼부터 시작하는, 생활 가격의 기준”은 처음 보는 사람한테 우월이 뭔지 알려주는 설명문이다.
    태그라인은 기억에 남아야 하고, 설명문은 이해가 돼야 한다.
    그래서 Product 페이지의 마지막은 명함과 똑같은 문장으로 끝냈다.
    명함, 블로그, 앱이 같은 문장으로 끝나야 사람들이 “우월” 하면 이 말로 기억할 테니까.

    그리고 소소한 삽질도 하나.
    Product 페이지를 페이지가 아니라 글로 만들어버려서
    홈 화면 일지 목록에 Product가 Uncategorized 달고 Day 04 위에 떡하니 올라가 있었다 ^^;
    워드프레스는 카테고리 없는 글에 자동으로 Uncategorized를 붙인다는 걸 이렇게 배운다.

    17.2km, 그리고 페이스

    사실 나는 요즘 인생 첫 하프마라톤을 준비하고 있다.
    오늘은 2시간 동안 17.2km를 뛰었다.
    하프까지 3.9km 남았다!

    뛰는 내내 시계를 봤다.
    km당 7분 페이스.
    이 숫자가 없으면 내가 지금 너무 빠른 건지, 이대로 가도 되는 건지 알 수가 없다.
    페이스는 러너한테 기준이다.

    돌아와서 Product 페이지를 쓰다 보니까 이게 계속 겹쳐 보였다.
    결혼 준비하는 사람한테는 이 페이스가 없다.
    내가 받은 견적이 빠른 건지 느린 건지, 비싼 건지 괜찮은 건지
    기준 없이 그냥 뛰는 거다.

    우월이 만들고 싶은 게 결국 그 페이스구나 싶었다.
    오늘 한 일은 코드 한 줄 없었지만,
    내가 뭘 만들고 있는지를 한 문장으로 말하는 연습을 한 날이었다.

    연휴에도 조금은 달렸다 ㅎ
    가족도, 러닝도, 우월도.
    각자의 페이스대로.

  • Day 04 · 실행하기 위한 준비 (2)

    ‘우월’에 몰입하기 위한 순서로 가까이에 있는 굵직한 계획은 대충 이렇다.

    1. 명함 만들기
    2. 가입자 늘리기 활동을 위한 자동화 시스템 1개 만들어보기
    3. 자동화 시스템 돌아가는 동안 비즈니스 창업 미팅 다니기
    4. 변화된 bm에 따른 시스템 설계 변경
    5. 클라이언트, 백엔드 리팩터링

    위의 5번까지의 계획도 역시 ‘실행’해야 한다.
    모든 일은 역시 거저 되는 것이 없다 ㅎ

    일단 명함은 만들었으니
    스레드에 매일매일 가입자를 늘리기 위한 게시글을 작성하는 시스템을
    만들려고 하는데…

    우월 코드를 안 들여다본 지 너무 오래됐고
    현재 활성화된 사용자도 너무 없어서
    오늘 아침 갑자기!!!!
    구글 플레이 콘솔에 안 쓰는 프로젝트 삭제된다는 경고 메일이 왔다.

    덕분에 오늘 내가 해야 하는 일 우선순위가 바뀌었다.

    하지만 어차피 꼭 했어야 하는 일…
    마지막 배포 후 새로운 환경에서
    개발 환경 세팅만 해놓고 리팩터링을 하지 못한 채
    미루고 미뤄왔던 구글 세팅 문제를 우선 해결하기로 했다.

    6개월 전에 firebase, google cloud, google play console 등
    sha1 지문 키, 테스트 프로젝트와의 충돌…
    fcm 연동 등 꽤 복잡하게 꼬여 있는 설정들을 해결하지 못한 채
    방치해 뒀던 내 우월 프로젝트를 뜯어고칠 순간이 온 것이었다.

    회피하고 나태했던 나 자신을 반성하며
    최종 배포일에 쓰였을 main 브랜치로 시점을 되돌려
    거기서부터 차근차근 다시 풀어나가기 시작했다.
    (git도 혼자 개발한다고 너무 체계도 없고.. 어디까지 관리가 된 branch인지 모르겠다. 너무 오래 방치해 놓은 듯하다…. 난 창업자이기 전에 개발자인데 ^^ 정신 차려)

    일단 첫 번째 문제로는
    구글 클라우드 콘솔에 있는 여러 개의 프로젝트 중에서
    내 flutter 코드상 실제 운영에 어떤 sha1 지문을 쓰고 있는지를 분별하였는데,
    골 때리게도 android랑 ios가 쓰고 있는 sha 지문 키가 달랐다
    여기서 한 번 꼬였던 것…

    그래서 ios 설정 키와 aos 설정 키를 하나의 프로젝트에서 관리할 수 있도록
    통일되도록 먼저 수정하였고

    두 번째 문제로는
    fcm 키가 null이 반환되는 문제였다. (그래서 구글 로그인이 안 됐던 것, 그래서 구글 클라우드 콘솔, 플레이 콘솔, firebase 등 설정 키들을 여기저기서 재발급하고 끼워 맞추고.. 6개월 전에 헤매다가 현생 이슈로 덮어둔 기억이 가물가물하게 있다.)
    일단 코드에서는 fcm 키가 null이라서 구글 로그인이 안 되게 막혀 있어서
    구글 로그인이 안 되는 이슈로 착각했었던 거고
    fcm 키가 null이어도 google 로그인이 정상 200 반환을 한다면
    구글 로그인은 통과되도록 코드를 수정하였다.
    로그인은 잘된다. 이 문제는 해결했는데 그럼 fcm null은?
    이건 테스트에 시간을 많이 들였는데 일단 결론은 안드로이드 에뮬레이터 문제일 확률이 크다고 한다.
    왜냐하면 aos 운영에서는 fcm 키가 잘 들어오고,
    ios도 에뮬레이터 개발 환경 그리고 운영에서 전부 fcm 키가 잘 들어오기 때문이다.

    그래서 debug 모드로 apk 파일을 빌드한 다음
    남편 폰으로 설치해서 구글 로그인을 테스트해 볼 생각이다.
    (여기서 debug 모드로 테스트하는 이유는 debug 모드에서 쓰는 sha 지문 키가 한 달 내 삭제될 예정이라서! 오늘 아침에 구글로부터 받은 경고에 대부분은 걱정할 내용이 아니었는데 debug 모드에서 쓰던 지문 키는 로그인으로 업데이트 한 번 시켜 줘야 한다더라)

    그래서 debug 모드로 로그인도 성공하고, fcm도 null이 아니면
    에뮬레이터 문제인 것으로 종결할 예정이다!

    그리고 세 번째 문제…
    Apple, Google 스토어에 배포하기 전에 리팩터링하고 싶었던 부분이 있었는데,
    현재는 이벤트 페이지는 이미지를 앱에 포함시켜서 로딩하는 구조로 되어 있다.
    그런데 이벤트 페이지 디자인만 바뀌는데도 스토어에 늘 배포해야만 반영되는 게,
    그럴 때마다 배포를 해야 하는 게 너무 불편했다.

    그래서 s3 스토리지에 이미지를 올리고 그 URL을 서버에서 받아오는 로직으로
    수정할 것이었다. (DB에서 image url만 업데이트 치면 되도록)
    그러려면 db도 바뀌어야 되고 서버 코드도 바꿔서 배포해야 했고,
    클라이언트 코드도 api를 호출하는 로직으로 수정했어야 했다.

    이 내용을 수정하는 중에.. 치명적인 정말 믿기지 않는 대사건 발생!!!
    aws s3 스토리지를 사용하고 있는데
    s3에 접근 가능한 key가 public으로 노출되어 있었다……….. 오마이갓
    노출된 경로는………….
    git은 private 저장소였는데 docker image 저장소인 docker hub repository가 public이었던 것……. 오마이갓……….. 오마이갓!!!!!!!!!!!!!!
    누가 내 거 보겠어~ 하고 public으로 생각 없이 설정해 놨던 것 같은데
    그리고 소스에서도 .gitignore에 추가하지 않고 배포에 급급해서 그대로 docker image를 빌드했던 나 자신 똥멍청이……………..
    다행히 aws에서 s3 권한밖에 없었기 때문에 과금된 것은 없었고
    user들에게 피해 간 것도 없어 보인다. (jwt secret 토큰도 털렸다 ㅠㅠ)
    무서웠던 것은… 12일 전? 프랑크푸르트에서 접속 시도가 있었던 것…. (너 누구야)
    클로드에게 물어보니까 해킹 시도는 채굴식으로 계속 시도되고 있다고 한다…………….

    그래서 더 큰일 나기 전에 기본적인 보안 설정도 다 개선하였다.

    1. 사용 중인 전체 키 다시 받기
    2. 키 절대 저장소에 올리지 않기!!
    3. 키는 환경변수로만 취급한다!!!
    4. 아무리 테스트 프로젝트여도 이젠 저장소는 무조건 private!!!!!!!!!

    나.. 그래도 꽤 경력 있는 개발자인데
    이런 초보 같은 실수를……
    많은 배움과 깨달음이 있었던 하루였다.

    그렇게 우여곡절 끝에 여러 트러블슈팅을 마치고 무사히 운영 서버 배포와 테스트도 마쳤다.
    그리고 이벤트 페이지도 디자인을 새로이 단장하였다 ^ㅁ^

    Before
    After

    클로드 짱 ㅎㅅㅎ