목록전체 글 (5)
포메

관심 배경 채팅, 회의, AI, 음성 관련 플랫폼을 만들다 보니, 평소에 별로 눈여겨 보지 않았던 기능이 필요하게 되었다.바로 줌이나 쿠팡에 있는 기능!웹 URL을 클릭하면, 자동으로 설치된 앱을 실행하고, 설치된 앱에서 원하는 페이지까지 이동시키는 기능이다. 줌은 웹 URL을 누르면 특정 회의실로 저절로 진입하게 해준다. 그 과정에서 설치된 앱을 저절로 켜준다.쿠팡 역시 (보통 광고의 용도로 많이 사용되지만) 웹 URL을 누르면 쿠팡 앱을 자동으로 켜준다. 이 기능이 없이 사용자가 직접 앱을 찾아서 클릭하고 링크나 암호를 직접 입력하게 방식을 사용한다면편의성이 크게 떨어질 것이라고 생각했다. 그래서이 기능을 구현하기 위해 많은 조사와 고민, 설계를 했다. DeepLink, Associated Domai..

flutter로 코딩을 처음하면 다음과 같은 경고 문구를 자주 본다. 이 경고 문구는 flutter, dart의 자체적인 linter가 알아서 감지하고 수정해 준다.불변하는 위젯에 대해 const로 선언하여 런타임 렌더링/빌드 성능을 올리라는 추천이다. 처음에는 별 생각 없이 추천을 따르긴 했다. 성능적 이점이 확실히 검증됐기 때문에, linter에서 이렇게 강한 수정이 들어가는 것이라고 단순히 생각했다.이제는 플러터에 많이 익숙해졌고, 어떤 측면에서 어떠한 성능적 이점이 있는지 디테일이 궁금해졌다.그래서 공부를 좀 해봤다! flutter의 const 위젯은 런타임 RAM의 data 영역에 저장되는 불변 상수이다.즉, 통상적인 프로그래밍 언어의 "전역 변수"와 유사한 취급을 받는다. 통상적으로 이러한 ..
나는 파이썬, 리액트 등 프로젝트를 진행할 때 대부분항상 여러 개발자의 공용 서버 환경에서 개발해왔다.이전 회사에서 그렇게 해왔었기 때문에, 계속 그렇게 해왔다. 공용 서버를 쓰면 이점이 있다.각종 환경 설정을 통일하기 편하고, 데이터 공유도 쉽고 등등, 협업 개발 환경에서 공용의 서버 개발 컴퓨터를 쓰는 건 상황에 따라 괜찮다.외부 코드 유출을 어느 정도 방지할 수 있는 보안적인 이점도 있다. 그런데 공용 서버 환경에서 앱개발을 하는 건 처음이었고, 생각보다 여러 난관이 있었다.오늘은 그 난관 중 하나인, 안드로이드 에뮬레이터를 다뤄보고자 한다.이전 프로젝트에서는 난관이 없었던 이유 이유는 매우 간단. "웹개발"이었기 때문. (혹은 셸 기반의 인공지능 결과 출력)웹 브라우저는 진짜 엄청난 걸작품이다. ..

flutter 기본 개념을 배워가면서, 앱의 뼈대를 갖추면서 개발을 하고 있었기 때문에일단 이곳저곳 급하게 구현한 곳이 많았다. 그리고 그것들을 바로 잡는 과정 중에 있었다. 기존 코드를 둘러보다가 문득 걱정이 들었다.걱정의 대상이 된 코드는 다음과 같다. 기존 코드 (home_screen.dart) HomeScreen은 goRouter 기반으로final String memberHome = '/';memberHome, 즉 root route에서 빌드하는 화면이었다.해당 화면에는 FirebaseAuth.instance.authStateChages()기반의 StreamBuilder가 들어가 있었다.그렇기 때문에 authState가 바뀔 때마다 자동으로 NonMemberHome(), MemberHome() 위..
2019년, 나는 별 생각 없이 학교를 다니고 있던, 게임을 좋아하던, 영어영문학과 학생이었다.그러나 지금은 개발자이다. 2019년, 학교에서 파이썬 기초 수업을 들었었다. 재밌었다. 그래서 하나하나 꼼꼼히 찾아가며 열심히 들었다.손코딩을 시키거나, 중요하지 않은 함수들을 암기시키는 수업이었지만, 그래도 재밌었다. 나는 python에서 rsplit() 메서드처럼 중요하지 않은 것들을 암기하기도 했고,여러 줄로 나눠서 써도 되는 복잡한 정규표현식을 억지로 한 줄로 써보기도 했고,(피씨방에서 이틀 밤샘 게임하면서 과제 병행 ㅋㅋ)손코딩을 하면서 많은 실수를 하기도 했다. 지금 생각해보면, 좋은 학습법의 수업은 아니었던 거 같다.그럼에도, 그 수업을 시작으로 나는 2025년까지 코딩을 계속 해왔다.재미!와 적..