분류 전체보기 51

NAVER DAN25 다녀온 가벼운 후기

시작부터 이런 얘기 어떨지 모르겠지만, 사실 네이버의 컨퍼런스인 DAN25는 처음이다.내가 생각하기에, 그리고 주변 지인들을 보면 주니어 입장에서 우아한형제들 우아콘, 토스 Makers conference 같은게 좀 더 와닿는 이야기를 하는 것 같다.DAN은 언제부턴가 AI 관련 이야기를 많이 하는 느낌..? 이전 DEVIEW 시절이나 사내 엔지니어링데이 세션이 주니어인 내 입장에서는 더 흥미롭고 재밌게 들었던 것 같다. 그럼에도 DAN에서 얻어갈 수 있는 것은 네이버에서 진행하는 최신 프로젝트와 시스템/알고리즘에 대한 힌트를 얻을 수 있는게 장점인거 같다. 또 컨퍼런스를 하면 세션 뿐만 아니라 최근 네이버에서 집중하는 사업에 대한 체험과 부스를 둘러 볼 수 있는데, 이게 또 재미있는 편이다. 나는 현재..

회고 2025.11.30

[프론트엔드 개발자를 위한 Android] 전역상태 사용하기

사실 이 "프론트엔드 개발자를 위한 Android" 글의 타겟팅을 확장해도 되겠다는 생각을 했다. 안드 개발자분이 프론트를 해야할 때 도움이 되었다는 연락을 받았기에.. 조금 더 프론트 안드로이드 비교하는 글로 가도 되겠다는 생각을 했다. 제목과 글 방향을 한번 고민해봐야겠다. React에서 전역 상태를 사용하는 대표적인 방법은 Context API를 쓰거나 전역 상태 라이브러리(Redux, Zustand, Jotai..)를 쓰는 것이다.Android에서도 전역 상태라는 개념이 있으며, CompositionLocal가 있다.약간 개념이 다르지만 StateFlow와 함께 ViewModel도 어찌보면 전역 상태같은 느낌을 받았는데, 뒤에서 풀어보겠다.(전역에서 참조 가능한 store..?)그리고 처음에 헷..

Android 2025.11.29

[프론트엔드 개발자를 위한 Android] 제스처 이벤트 감지하기

클릭 제스처탭이라고도 하는 클릭 제스처는 modifier로 보이는 모든 컴포저블에서 감지 가능하다.SomeComposable( modifier = Modifier.clickable { })참고) selectable : clickable과 비슷한 동작이지만 UI 접근성 측면에서 이점이 있다. 내부 구현은 clickable이다.Modifier .selectable( selected = true or false, // state onClick = { }, )하지만 탭, 더블 탭, 프레스, 롱 프레스를 구분하려면 PointerInputScope 를 활용해야한다.제스처는 다음과 같이 진행된다.press -> long presspress -> tab(터치 해제)press -> ..

Android 2025.10.31

[프론트엔드 개발자를 위한 Android] 상태(State) 쓰기

클라이언트 측에서 "상태"라는 개념은 굉장히 중요하다.프론트엔드에서는 useState라는 훅으로 간단히 상태를 관리할 수 있다.안드로이드 kotlin에서는 상태를 어떻게 관리할까?remember / mutableStateOf아래에서 살펴볼 StateFlow 같은 경우에는 코틀린에서 제공하는 기능이지만,Jetpack Compose 라이브러리에서 제공하는 상태 관리 도구는 remember, mutableStateOf가 있다.(뭐.. 똑같진 않지만 React 라이브러리에서 쓰이는 useState라고 비유하면 되려나?) mutableStateOf는 Composable 스코프 내부에서 관찰 가능한 상태 객체를 만드는 함수이다.import androidx.compose.runtime.*// Composable 스코..

Android 2025.09.30

코루틴은 선점하는가?(pre-emptive)

자바스크립트에서는 하나의 스택과 이벤트 루프, 태스크 큐로 비동기를 가능케 한다.그렇다면 코틀린에서의 비동기는 어떻게 구현되는지 궁금했다.스택이 비면 태스크 큐에서 옮겨지는 자바스크립트와 달리, 코틀린에서 비동기 작업이 끝나면 어떻게 끼어들까? 코루틴은 선점(preemption) 하지 않는다.즉, 운영체제가 스레드를 강제로 뺏어가는 방식이 아니라, 개발자가 명시적으로 선언한 일시중단 지점(suspend) 에서만 실행을 멈추고 다른 코루틴에게 제어를 넘긴다.따라서 실행 중인 코드가 일시중단 지점에 도달하지 않는 한, 다른 코루틴이 끼어들어 실행될 수 없다라고 파악되었다. 코루틴이 일시중단되면, 재개(resume) 요청이 발생할 때 해당 코루틴은 디스패처(dispatcher) 가 관리하는 큐(작업 대기열)에..

Kotlin 2025.09.30

Android XR과 SDK 현황 살펴보기(with Google I/O 25) 2편

지난 Android XR과 SDK 현황 살펴보기 1편에 이어 2편에서는 SDK와 Android XR로 개발하려면 알아야하는 필수적인 개념들을 소개해보고자 한다. 비전 프로나 오큘러스를 써본 사람이라면 알겠지만, 각 플랫폼마다 지칭하는 용어가 다르다. 특히, Android XR 같은 경우에는 Jetpack Compose 기반으로 라이브러리화 해두는 방향이기에 코드 스타일도 Compose와 동일하다.Compose를 알고 이번 글에서 설명하는 XR 개념만 안다면 바로 Android XR SDK로 개발을 할 수 있을 정도일 것이다. Android SDK 중 하나Andrpod XR SDK는 폴더블, 웨어러블 SDK처럼 안드로이드에서 붙일 수 있는 하나의 SDK라고 생각하면 편할 것이다.뭔가 새로운 개발 플랫폼이 ..

Android 2025.08.31

Android XR과 SDK 현황 살펴보기(with Google I/O 25) 1편

최근 하반기에 나올 삼성의 무한 XR기기 프로젝트와 Google IO에서 핫했던 Android XR 관련하여 조사 및 간단한 앱 구현을 해보았다.이 과정에서 알게된 개념과 SDK 관련한 부분을 정리해보고자 한다.아마 SDK 관련된 부분은 지금도 활발히 개발중이라 나중에 보면 꽤 많은 부분이 바뀌어 있을지도 모른다. 당장만 해도 2주만에 SDK가 바뀌어 빌드 오류가 나기도 했으니 말이다.. 이번 글 에서는 헷갈리는 용어들을 간략히 정리하고(AR, VR, MR, XR), Android XR을 살펴볼 예정이다.이후 2편에서는 Android XR SDK를 살펴보고 개발하면서 느낀 중요한 개념 몇가지를 짚어보겠다. 1. AR / VR / MR, 그리고 XR- AR (Augmented Reality, 증강현실) 이..

Android 2025.08.31

jaewi님은 혹시 안드세요?(feat.상반기 회고)

네. 안드입니다.프론트엔드로 입사했지만 자대배치를 안드로이드로 받았다. 갤럭시 S2 이후로 쭉 앱등이였던 내가,모든 활동, 경력, 프로젝트가 프론트엔드였던 내가,네이버 프론트엔드를 꿈꾸고 들어왔던 내가, 자바진영은 깔짝만 해봤는데 어째서...? 살면서 첫 반기별 회고글 start ✨인턴 생활열심히 첫 인턴 생활에 적응 중인 인턴 2주차였다.이때 처음 실무에서 찐 배포되는 개발을 해보며 많은 것을 느꼈다.아.. 진짜 JS에 클래스형 컴포넌트가 있구나..와 진짜 빠르게 개발하신다들..부족함을 정말 많이 느꼈다. 프론트엔드 개발자이면서 마크업에서도 시간을 오래 잡아먹었다. 특히 익숙하지 않은 컨벤션에 적응하는데에 꽤 많은 코드리뷰 과정을 거쳐야했다.그때의 사수분들께 이렇게나마 감사의 인사를 전하고 싶다. 그럼..

회고 2025.07.31

2025 팀네이버 신입공채 합격후기-Tech 프론트엔드

아직도 실감이 나지 않지만, 나도 많은 선배들의 합격 후기를 보고 힘도 얻고 준비 방향을 얻었기 때문에 기록 겸 후배 응원차 합격 후기를 남긴다. 그리고 무수히 날아오는 "어떻게 준비했어요?"에 대한 답이다.또 나중에 연차가 쌓이고 이 글을 보며 간절했던 마음을 다시 되새기길! (미래의 나야!) * 개인적인 소감에 대한 글이고, 어떤 오픈된 자료를 보고 공부했는지만 포함되어 있습니다. 실제 면접 관련 정보나 공식적으로 전달받은 내용은 없습니다.진행했던 절차는 다음과 같았다.- 서류 전형(이력 + 자소서)- 코딩테스트(알고리즘 + CS 문제)- 1차 기술 역량 인터뷰- 종합 역량 인터뷰 서류 전형자소서가 굉장히 중요한 것 같다. 서류 + 코딩테스트를 종합적으로 판단하여, 1차 기술 역량 인터뷰 대상을 선발..

회고 2025.07.31

직접적인 의존성을 갖지 말자

스프링을 써보다가 의존성 관련한 이야기를 정말 많이 본다.하다보니 자연스럽게 프론트에서는 어떻게 활용해 볼 수 있을지 상상해보곤 했다. 예를 들어, fetch를 다음과 같이 쓰고 있었다고 해보자useEffect(() => { const fetchPosts = async () => { try { const response = await fetch( 'https://jsonplaceholder.typicode.com/posts?_limit=5', );// ... 여기서 fetch API와는 너무 직접적인 의존성을 갖는다.Fetch API가 쉽게 바뀌진 않겠지만 혹여 fetch에 들어가는 파라미터가 바뀌어 코드를 변경해야할 일이 생긴다면 어떨까?fetch를 쓰는 모든 부..

프론트엔드 2025.06.30