개요알람 앱 프로젝트를 진행하던 중에 알람 생성하는 단계에서 PendingIntent를 사용하는 것을 발견하였다.이걸 보고 PendingIntent가 무엇인지 궁금해서 공부한 내용을 정리해본다. val operation = PendingIntent.getBroadcast( context, request.id.hashCode(), alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE,)val showIntent = PendingIntent.getActivity( context, request.id.hashCode() xor Int.MIN_VALUE, AlarmRingingActivi..
벌써 레벨2가 끝났다.글을 작성하는 지금 시점은 레벨3가 시작한 첫날인데, 더 미루다가는 영원히 쓰지 않을 것 같아서, 레벨2 회고글을 지금이라도 작성해보려고 한다. 프로덕트 중심 엔지니어로 나아가기레벨2에서 가장 큰 수확이 뭐였냐고 물어본다면, 앞으로 어떻게 나아가야할지에 대한 태도를 확실하게 정리할 수 있었다고 답할 것이다.레벨1에서도 그렇고, 이번 레벨2에서도 그렇고 AI에 대한 이야기가 지속적으로 나왔고, AI가 발전됨에 따라서 백엔드 / 프론트엔드의 구분이 없다는 말을 계속해서 들어왔다. 그리고 레벨2 마무리 쯤 진행한 현업자 특강을 통해 현업 개발자 분들의 이야기도 들을 수 있다고 했는데, 요즘 많은 기업들이 백엔드 / 프론트엔드 구분이 없이 개발을 진행하고, 디자이너, 기획자 분들이 직접 ..
저번 주에 테코톡으로 발표한 프리뷰 주도 개발에 대해서 내용을 다시 한번 정리해보고자 글을 작성한다. Compose를 사용하여 컴포넌트를 만들 때 잘 만들고 있는지 확인하기 위해서는 어떤 방법이 있을까?단순하게 생각하자면 앱을 실행해서 직접 확인하는 방법이 있을 것이다. 그러나 이 방법은 몇 가지 단점들이 존재한다. 1. 매번 앱을 실행해야 한다.프로젝트의 규모가 작으면 그나마 괜찮겠지만, 규모가 어느정도 있는 프로젝트의 경우에는 빌드를 하는데 3~5분 걸리기도 한다.한 두번이면 괜찮겠지만 계속 반복된다면 빌드 시간을 기다리는 것 그 자체만으로도 개발자가 지칠 수 있다고 생각한다. 2. 빌드를 완료했다고 끝나는게 아니다.확인할 컴포넌트가 있는 스크린까지 직접 컨트롤해서 찾아야 한다.또한 특정 상황 (..
launch를 사용해서 생성되는 코루틴은 기본적으로 작업 실행 후 결과를 반환하지 않는다.그렇다면 코루틴으로부터 결과를 받아야 하는 경우에는 어떤 방법이 있을까? 이러한 상황을 위해서 코루틴 라이브러리는 async를 제공한다. async를 사용하게 되면 결과값을 가지고 있는 코루틴 객체인 Deferred가 반환되고, 이 Deferred 객체를 통해 코루틴으로부터 결과값을 수신할 수 있다. async 함수 뜯어보기public fun CoroutineScope.async( context: CoroutineContext = EmptyCoroutineContext, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend Coroutine..
적을 내용이 별로 없어서 미루고 미루다가 쓰는 7번째 우테코 회고록.앞으로 우테코 회고록은 한 달 단위로 써야겠다.주마다 쓰려니 내용이 없다..지키미 수업지키미의 특혜 중 하나는 지키미 전용 수업을 들을 수 있다.수업은 소프트 스킬과 관련된 수업으로, 많은 과목이 있는데 이 중 최소 2개 과목을 수강해야 한다.나는 피드백 / 리더십 과 관련된 과목으로 2개를 선택하였고 모두 수강을 끝냈다. 피드백을 잘 받고 잘 요청하는 법 수업은 조를 구성하여 활동하는 방식으로 진행되었고, 나는 처음보는 백엔드 크루 2분과 함께 조를 이뤄 활동을 진행했다.내가 가장 인상 깊었던 활동은 트리거를 경험해보는 활동이었다.피드백을 받을 때 반사적으로 발동하는 방어 반응을 트리거라고 한다. 트리거는 3가지 종류가 있다. 사실 ..
앱을 사용하던 중에 기기의 화면을 회전하게 되면 remember로 관리하고 있는 값들이 전부 초기화되는 현상이 발생한다.화면 회전 뿐만 아니라 시스템의 폰트 사이즈를 변경하던지, 시스템의 테마를 다크 테마로 변경한다던지 등 스크린이 다시 그려지는 상황에서 이런 문제가 발생한다. remember를 사용한 값은 유지된다고 했는데.. 왜 이럴까?var count by remember { mutableIntStateOf(0) }Column( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.Center, horizontalAlignment = Alignment.CenterHorizontally) { Text(text ..
일주일의 방학이 끝나고 레벨2가 시작되었다. (일주일 너무 빨리 지나감..) 방학 기간동안 본가에 내려가 하루종일 게임도 하고, 친구들도 만나고,잠도 많이 자며 휴식을 취했다! 많이 쉬었으니 이제 9주 정도 되는 레벨2를 다시 달려보자!! 안드로이드 수업레벨2부터 안드로이드를 배우기 시작했다.Activity, Intent, Lifecycle 등의 내용을 배웠다.첫 미션은 간단한 쇼핑 앱을 제작하는 것으로 전체 상품 목록과 상품 상세 페이지, 장바구니 페이지를 구현해야 했다.미션을 하면서 가장 집중했던건 스크린 이동과 스크린 재생성(화면 회전이나, 시스템 폰트 사이즈가 변경될 때..)이 발생할 때 스크린에 출력되는 값들이 초기화 되는 문제를 수정하는 일 2가지였다! 스크린 이동개인 프로젝트를 해보면서 co..
우테코 레벨1 영화 예매 미션의 피드백 중에 value class와 관련된 피드백이 있었다.value class 자체를 이번 미션에서 처음 써 보았다.사용한 이유는 단순히 '미션 힌트에 원시값과 문자열을 의미 있는 객체로 포장한다' 가 있었기 때문이다. value class를 사용해서 좋은 점이 무엇인지, 왜 사용하는지 모르고 그냥 사용했기 때문에리뷰어의 피드백에 답변을 잘 할수가 없었다. 피드백 뿐만 아니라 레벨1 인터뷰에서도 value class와 관련된 질문에 답변을 제대로 하지 못하였다.그래서 이번에 value class에 대해 알아보려고 한다.Value class가 만들어진 이유Sometimes it is useful to wrap a value in a class to create a more..
- Total
- Today
- Yesterday
- scaffold
- context switching
- 문맥교환
- OS
- 웹
- 토큰
- 마인크래프트
- 키보드
- 운영체제
- MongoDB
- keyboard
- 마인크래프트 엑스레이방지
- 플러터
- ㅇ
- 도메인
- 쿠키
- 엑스레이 플러그인
- 개발
- jwt
- Vercel
- 마인크래프트 플러그인
- 마인크래프트 플러그인 개발
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |