WooKoo Blog

물과 같이

분류 전체보기 123

[회고] 포카마켓 여정의 오프보딩

신세 많이 지었습니다!!!안녕하세요. iOS 개발하고 있는 WooKoo 입니다.아쉽지만 잘 다니고 있는 회사를 여러 이유로 12월에 퇴사를 하게 되었습니다.  잘가요 우리 회사. 현재 회사는 초기에 개발적으로 아무것도 없는 스타트업이었습니다.(깃허브도 없고, Xcode 프로젝트도 막 만들어야 하는 그린필드 환경이었죠...)당시 경력이 1년 조금 넘었던 저에게는 사수나 체계가 없다면 도태 될 수 있다는 생각이 있었지만, 함께 체계를 만들어가본다면 유의미한 성과를 거둘 수 있을 것 같았습니다. 이전 회사에서 겪었던 안 좋은 문화들을 많이 개선해 보고, 타 회사에 부끄럽지 않은 프로덕트 팀을 만들고 싶었습니다. 당장은 많이 힘들 것을 알았지만, 퇴사할 때는 많이 성장한 내 모습을 꿈꾸며 무엇이든 최선의 선택을..

개발/회고 2024.11.26

포카마켓 iOS 팀의 여정 (실시간 채팅) - EP04

안녕하세요포카마켓 iOS 팀에서 개발을하고 있는 WooKoo 입니다. 많은 서비스들에서 사용하는 실시간 채팅 기능이 저희 서비스의 여정에 대한 이야기를 조금 얘기해보고자합니다. 오늘은 기술적인 이야기와 코드들이 조금 있을 것 같아요!앱이 첫 출시까지 대략 반년이라는 시간이 걸렸는데요. 그 중에서 가장 시간을 많이 들였었던 피처였던 것 같습니다.왜냐하면 다른 피처들은 간단하게 제작할 수 있지만 채팅은 카카오톡처럼 이미 유저들에게 친숙한 기능들은 대부분 지원을 해야해서 참으로 어려웠습니다. 실시간 채팅이라는 피처가 어려운 이유는 크게는 소켓 핸들링, 채팅 타입별 다이나믹한 UI 이기 때문일 것 같아요 !소켓이랑 UI 핸들링과 관련 된 내용을 다뤄보고자합니다.  소켓우선 서버 개발자분과 당시소켓 서버 구축을 ..

개발/개발 2024.11.21

포카마켓 iOS 팀의 여정 (세상에 나온 앱) - EP03

안녕하세요포카마켓 iOS 팀에서 개발을하고 있는 WooKoo 입니다. 저희 서비스는 제가 운영 및 유지보수를 전담하고 있는 국내 서비스와 웹앱으로 패키징 된 글로벌 서비스가 있습니다.기술적인 내용은 조금 건너서 이번 포스팅에서는 조금은 편안한 내용입니다. 옛날 얘기 좀 하고자 합니다..ㅎㅅㅎ...  국내서비스 세상에 공개되다. 2020년 3월 회사에 입사하여 반 년이 지난 후에야 제 자식과도 같은 서비스가 세상에 공개되었습니다.왜 반 년이나 걸렸냐면.. MVP 의 모델로 가볍게 시작하기보다는 기존에 리액트로 구성 된 작은 앱이 있었습니다. 작은 규모의 유저들도 있었구요. 그렇기에 기존에 지원하던 BM 기능과 실시간 채팅 등의 기능이 더 업그레이드 되어야 했습니다.(아마 다음 포스팅은 실시간 채팅에 대한 ..

개발/개발 2024.10.17

포카마켓 iOS 팀의 여정 (디버깅 및 검수) - EP02

안녕하세요포카마켓 iOS 팀에서 개발을하고 있는 WooKoo 입니다. 지금까지 포카마켓의 iOS 팀에서 어떤 식으로 디버깅 및 검수 QA 등을 진행하는지 이야기를 들려 드리고자합니다.이번 포스팅에서는 디버깅이란 단순히 버그를 수정해나아가는 과정을 넘어서, 문제를 조금 더 쉽게 발견하고, 잠재적인 이슈를 트래킹 할 수 있는 방법 등을 이야기 해보고자 합니다.  1. LookIn LookIn 이란 View 의 계층과 상태들을 요구사항과 맞는지 빠르게 확인 할 수 있는 중국산(?) 도구입니다. 개발 타겟의 앱에서 쉽게 UI 를 디자이너분들이 확인(간격, 크기 등) 할 수 있는 도구들은 없을까 고민하던 중에 발견했습니다.https://lookin.work/ https://lookin.work/ lookin.wo..

개발/개발 2024.10.16

포카마켓 iOS 팀의 여정(개발 전략 및 체계) - EP01

안녕하세요.포카마켓 iOS 팀에서 개발을하고 있는 WooKoo 입니다. 지금까지 포카마켓의 iOS 팀을 빌딩하면서 어떤 방식과 나름의 고민으로 개발 전략을 구성하게 되었는지 이야기를 들려드리고자 합니다.  2020년 03월 입사와 함께 아무 것도 존재하지않는 iOS 팀에 합류하게 되었습니다.Xcode 프로젝트 조차 없었기에 회사에 프로젝트를 개설하는 첫 창조주가 되었습니다. 보통은 작은 레거시 프로젝트라도 있기 마련인데 말이죠.. 1. 협업 충돌모든 프로젝트와 마찬가지로 제 컴퓨터의 로컬에만 존재했던 프로젝트였습니다. 초기에는 정말 많은 프로젝트 설정들이 변경되어야했습니다. 단순 Main Storyboard 를 info.plist 부터 날리는 것부터 권한 설정 및 기타 설정 등 팀원과의 깃 충돌은 어마무..

개발/개발 2024.10.14

5년 차 개발자의 넋두리

안녕하세요 오랜만에 글을 작성하러 왔습니다.그 동안 앞만 보고 달려오느라 뒤를 돌아보지 못했던 것 같아서 조금은 후회스럽습니다.어느 덧 만으로 4년 이제는 5년 차에 들어섰습니다. 너무 많은 일들이 있었고, 하고싶은 이야기가 산더미처럼 많아서 무슨 이야기를 꺼내야 할지 고민이 됩니다.  5년 차라고하면 주니어의 탈은 벗어나고 멋있게 1인분을 하는 그런 시기라고 생각을 많이 했었는데 막상 그런 연차가 되어보니 크게 달라진 것은 없는 것도 같고 아직도 기술은 많이 부족하다고 생각합니다. 그러나 중요하게 생각하는 가치관들의 변화가 많이 생기고 성장했던 시기인 것 같습니다.   1. 회의가 많아진다.리드 포지션을 맡게되면 작게는 iOS 팀의 의사결정부터 모바일팀, 크게는 프로덕트팀 전체의 의사결정에 의사를 내어..

개발/회고 2024.10.13

[iOS] - Quick/Nimble 문서로 Unit Test 배우기 - 2

https://lazyowl.tistory.com/374 지난 1편에 이어서 바로 시작하겠습니다. Nimble Assertions 를 사용하여 테스트 더욱 간결하게 하기 XCTest 로 개발한 테스트 케이스가 실패 할 경우 어떻게 나타날까요? 이렇게만 뜰꺼에요 우리는 이왕 정보를 얻을거 좀 더 많은 정보를 얻으면 좋겠죠? 무언가를 실패했는데? 그래서 뭔데? 등등 왜 실패했는지 원인을 찾는데 많은 시간을 들여요. 그래서 실패 시 이렇게 메세지를 작성했었죠 여기서 nimble 의 힘이 나타납니다! expect(sillyMonkeys).to(contain(kiki)) 이렇게 expect(). to() 를 이용하면 메세지를 작성하지 않아도 알아서 알려줍니다. Quick Example 과 Example 그룹으로 ..

개발/개발 2023.02.14

[iOS] - Quick/Nimble 문서로 Unit Test 배우기 - 1

지난 Unit Test 의 기본 개념에 이어서 https://lazyowl.tistory.com/370 [iOS] - Unit Test 기본 개념 공부하기 많은 개발자분들께서 테스트 코드를 작성이 중요하고 작성을 하고 있다는 것을 알게되었습니다. TDD 에 대하여 장단점을 논하면서 쓰자 쓰지말자 논쟁도 많았구요. 그러나 정말 중요한 것은 테 lazyowl.tistory.com 오늘은 Quick/Nimble 을 배워보려고합니다. Quick 문서가 너무나도 한국어로 잘되어있어서 배워보면서 정리해보려고합니다. Objective-C 와 라이브러리 설치, 프로젝트 설정 등은 과감하게 제외하고 테스트 관련 내용만 문서를 보고 정리하였습니다. https://github.com/Quick/Quick/tree/main/..

개발/개발 2023.02.14

[개발] Github vs AWS Code Commit

배경 얼마 전 동료 개발자분과 AWS 의 Code Commit 과 Github 의 선택에 있어서 대화를 나누었습니다. 나: "우리는 모르지만 인기있는 도구에 있어서는 그 이유가 있고 대세를 따라가서 나쁠게 없다. 그리고 코드리뷰 UI 개쩜!" 동료: "AWS 만의 장점이 있기때문에 납득할만한 이유가 없다면 넘어갈 이유가 없다!!! 그리고 Github 기본 기능 다 됌" 두 개의 형상도구를 서로 비교해보지 않아서 비교 자료를 찾아보고 정리해보았습니다. 형상 도구를 어떤 것을 선택하느냐보다 중요한 것은 어떤 전략을 가지고 Git 을 이용하냐인 것 같습니다. 형상 관리도구를 선택함에 있어 주된 목표는 파일들을 저장 할 수 있는 레퍼지토리를 제공하고 쉽게 논의하고 관리해야합니다. 또한 코드 및 바이너리 파일과 ..

개발/개발 2023.02.06

[iOS] - XcodeGen 에서 Tuist 로 전환 후기

안녕하세요. 2022년 올 해 마지막 목표였던 XcodeGen 에서 Tuist 로 전환하는 프로젝트가 무사히 끝났습니다. 이번 글에서는 Tuist 로 가기까지의 여정에 대한 글로써 남겨보고자 포스팅하게 되었습니다. 1. XcodeGen 도입 회사 프로젝트 초기에는 단순히 협업을 위한 충돌 방지 목적으로 XcodeGen과 Tuist 를 알게 되었습니다. (알아보다보니 모듈화 아키텍처까지 알게되었구요.) 그때 당시에는 지금처럼 모듈화에 대한 관심이나 개발 시장에서의 트렌드가 지금처럼 뜨겁지는 않았던 것 같아요. 오히려 TDD 가 유행했던 시절... 필요하신분들은 미리 공부하시고 적용하셨겠지만 전 초보 1년차 개발자였습니다. 처음에는 XcodeGen 을 선택했어요. XcodeGen 이후에 나온 Tuist 를 ..

개발/개발 2022.12.14