목록전체 글 (290)
거의 알고리즘 일기장
오늘은 잠깐 할 시간이 생겨서 실린더와 구 매시를 구현했다. 이미 강의를 통해 directx로 구현해봤던 것들인데, 다시 짜보려니까 머리가 안돌아가서 혼났다 ㅠ 암튼 했으니 굿~
세가지 조명 (directional, point, spot)을 구현하였다. 구현의 어려움보다는 memory layout을 어케 넘겨야 적절하게 넘어가는지 docs를 봐도 당최 뭔소린지 모르겠어서 한참 시간을 날렸다. 이 글을 보는 사람이 있다면, 그냥 webgpu 유틸리티 구현체들이 npm에 있는것 같은데 그거 쓰는게 정신건강에 이로워 보인다. 조명의 구현방식은 홍정모 선생님의 그래픽스 강의 2편에서 실습해본 조명 코드기반으로 그 코드를 이해하고 그 수식대로 옮겨보았다. 눈으로 보이는게 참 재밌긴 하다.
최근 그래픽스에 관심이 생겼다. (찾다보니 c++ 강의로 좀 유명하셨던 홍정모님의 그래픽스 강의를 1, 2편을 보게 되었다.) 수학이 조금 껴있기도 하고 퇴근후 듣다보니 많이 졸았지만 보이는것들을 코딩하는게 재밌어서 1, 2편까지는 가까스로 다보았다! 하지만, 그냥 넘어간 부분이 너무 많아 개념적으로 헷갈리는 부분이 많아서 처음부터 혼자의 힘으로 간단한 랜더러를 만들어보기로 했다. directx로 해볼까도 했지만, webgpu라는 feature가 브라우저 스펙으로 들어왔다길래 이걸로 해봤다. (아직 사용은 시기상조이긴 하다) webgpu를 이용해본 간단한 후기는 당연한 이야기지만 directx보다 훨씬 불편하고 자료도 적고 지원범위도 적고 그렇다. 예를 들면 fill mode가 따로 없는것으로 보여서 w..
이번에 1. fastlane을 이용해서 react native 앱의 빌드와 배포를 자동화하고 2. github action workflow를 이용해서 특정 trigger시 1번의 내용을 진행하도록 하는 업무를 맡아서 진행했다. fastlane을 이용해서 ci/cd pipeline 구축 자체는 자료와 예제가 많으니 어떻게 진행하는지는 생략하고 대략적으로 fastlane이 하는것이 무엇이고 주의해야 할점 몇가지만 남겨놓으려고 한다. 나를 위해?..ㅋㅋ fastlane이란? 위의 그림처럼 ios, android app 배포시에는 단계가 있다. 별거 아닌 것들이지만 배포시마다 저 과정들을 해주는건 지겨우므로 일련의 과정들의 자동화를 도와주는 도구라고 생각하면 된다. 그리고 fastlane을 구축하고 나면 ci/..
필자는 개인적으로 프로젝트에 기능을 추가할때, 미니 프로젝트를 만들어서 테스트를 충분히 해본 이후 적용하는것을 선호한다. 하지만, 미니 프로젝트를 너무 여러개 만들다보니 예전에 만들었던것을 잊고 새로 세팅하고 새로 세팅하는 금붕어 같은 짓으로 시간을 쓰곤했다. 그래서 떠올린게 최근에 만든 turborepo가 no configuration 수준으로 설정이 간편해서 이걸 이용해 모노레포 환경을 만들면 관리하기 편하지 않을까? 생각해서 시간이 남을때 조금씩 해보게 되었다. 솔직히 Next, react, expo 까지는 문서에 적혀있기도하고 example 보고 세팅하기 편했다. 근데, react native cli는 세팅하면서 자료도 없고 몇가지 짜증난 부분이 있었어서 정리해둔다. 변경해야 할 사항은 크게 세가..
상황 평화롭게 집에서 코딩하던 권모씨 어느날 이런 메일을 보게 되는데... "이제 정책적으로 android target sdk를 33이상으로 올려야 하나보다! 뭐 올려봤자 뭐가 문제가 있겠어 그냥 올리지 뭐~" 자 그렇다 내 이야기다 ㅠ target sdk를 올리면 당연히 breaking change가 있을수도 있었을텐데 왜 그걸 몰랐을까 ㅠㅠ 이제 이게 어떤 부분이 문제였고 어떻게 해결했는지 설명해보겠다! 문제 찾기 문제가 무엇인지 처음부터 유추해보자 로직이 문제일까?? 문제가 되는 부분의 로직은 일기를 이미지로 다운로드할 경우의 로직이었다. 권한 요청을 정상적으로 하고 권한을 제대로 받은 경우에는 돌아가는데 문제 없는 코드이다! 로직적인 문제도 없어 보이고 sdk 33 미만의 시뮬레이터에서는 제대로 ..
최근에 회사에서 따로 관리하던 프로젝트 repo를 monorepo에 넣기로 결정이 되어 해당 작업을 맡아 하게 되었다. 그래서 오늘 작성할 주제는 monorepo 마이그레이션 중 git history 유지를 하는 방법이다. 디렉토리 구조는 turbo repo의 구조로 가정한다. 상황 및 조건 monorepo repo, proj-b repo 따로 따로 있다고 가정한다. 1. 현재 이러한 구조의 monorepo 가 있다. 2. proj-b를 monorepo에 추가하고 싶다. (app directory 안에) 3. git history는 유지된 상태여야 한다. 계획 1. proj-b 를 그대로 monorepo에 merge를 때리면 root에 있는 설정파일과 겹치기 때문에 conflict 난다. 2. proj-..
문제 거의 하루만에 app store에 통과되었다는 메일을 받았다! 기쁜마음도 잠시 바로 이어져서 오는 메일은 나를 슬프게 하였다 ㅠ app store connect도 살펴봤는데, 이런식이었다 ㅠㅠ 해결 약 5분간 어리버리타다가 그냥 구글에 검색해보았다. "개발자가 판매를 중단함" 바로 나왔는데, 해결방법은 정말 간단하다. 공식문서에 적혀있었다. ㅋㅋㅋ https://developer.apple.com/kr/help/app-store-connect/manage-your-apps-availability/restore-an-app-to-the-app-store/ 앱을 App Store에서 복원 - 앱의 사용 가능 여부 관리 - App Store Connect - 도움말 - Apple Developer 포럼 ..
그림일기 프로젝트의 캔버스의 퍼포먼스 향상작업을 하던 도중에 react native skia에 대해서 접하게 되었다. 이 모듈은 rn의 퍼포먼스의 한계상 못했던 다양한 앱을 만들수 있을거 같아 이 모듈을 적극적으로 사용한 앱을 하나 기획하고 만들게 되었다. (앱의 1차버전은 이미 만들기는 다 만들었고 play store는 통과, app store는 아직 미제출 상태이다!) 심사 통과 완료~ https://play.google.com/store/apps/details?id=com.kwonkunkun.whiteboard&pli=1 모션드로우 - Google Play 앱 그림을 그려 재미있는 애니메이션을 만들어보세요! play.google.com https://apps.apple.com/us/app/%EB%A..
이 글은 최근 expo만을 이용해서 앱을 만들고 배포까지 해보고 만든 후기이다. 약 1년전에 이런글을 적은적이 있다. https://kunkunwoo.tistory.com/279 react native 약 1년간 사용해본 얕은 후기 react native를 작년 12월쯤 expo로 이용해본것을 시작으로 사용한지 약 1년쯤 지났다. 최근들어 rn에 대한 회의감이 들기 시작했다. 그래서 한번 rn 약 1년 사용기를 정말 얇게 남겨보고자 한다. 주의!: kunkunwoo.tistory.com 이 당시에는 꽤나 rn에 대한 불신이 가득한 상태로 적어서 조금 부정적으로 적었던거 같다. 현재는 rn 자체에 꽤나 익숙해져서 그런지 디버깅이나 이런게 수월해져 다시 긍정적으로 생각하고 있지만, 초심자들 입장에서는 벽이 ..