전체 글 60

Agent 이해하기 1편 - 기본 흐름 따라가기

아무래도 요즘 개발자들 사이에서 가장 화두는 AI, 그리고 agent 일 것이다. (그게 아니라면 삼전, 하닉,,, 오디세이..?) 그런데 이것이 뭔지 쓰면서도 아리까리 했던 것들이 꽤나 있었다. 이번 기회에 글로 한번 정리해보려 한다. LLM과 에이전트의 차이점부터 감이 와야할거 같은데, LLM은 단순히 말하면 두뇌이자 다음 말에 뭐가 올지 예측하는 통계 머신? 이고.에이전트는 두뇌를 장착한 움직이는 로봇이라고 하면 될까? 에이전트는 손, 발을 사용해서 직접 어떤 문제 해결, 목표를 갖고 움직인다.(2020년 인공지능 전공 쉅에서 김현철 교수님이 에이전트, 에이전트 노래를 부르셨는데, 이게 여기까지 될 줄이야..) 에이전트는 채팅형 인터페이스 chat gpt, claude web과 달리 답변에서 끝나지..

AI & 자동화 2026.08.31

[프론트엔드 개발자를 위한 Android] 부수효과와 생명주기: useEffect는 Android에서 뭐가 될까

1,2,3편에서는 상태(State), 제스처 이벤트, 전역 상태를 React와 비교하며 설명하였다.이번에는 React 개발자가 가장 많이 쓰는 훅, useEffect다.데이터를 불러오고, 구독을 걸고, 타이머를 돌리고, 정리(cleanup)하는 과정. Compose에선 이걸 어떻게 할까?1. React에서의 useEffectuseEffect는 useEffect는 외부 시스템과 컴포넌트를 동기화하는 React Hook입니다.라고 공식문서에서 소개하고 있다.외부 시스템은 주로 네트워크 요청을 예시로 많이 든다. effect는 side effect에서 온 것으로 기억하고 있는데(가물가물하군..)컴포넌트로써 화면에 렌더링 되는 역할이 아닌 "부수효과"를 컴포넌트에 반영하기 위한 훅이다.function UserP..

Android 2026.05.31

AI 시대 성과 측정과 셀프 리뷰는 어떻게 하면 좋을까?

요즘 클로드 겁나 쓰고 있다회사에서 요즘 claude를 거의 무제한으로 체감될 만큼 많이 제공하고 있다.하루 비용에 수억이라고 하니 엄청난 과도기적 투자를 하고 있는 것이다.추후에 언제 인당 토큰을 지금보다 제한하고, "일단 써봐" 에서 "효율적으로 써봐"로 바뀔지 모르는 일이다. 그리고 전사에서 AI를 활용한 생산성 향상에 매우 관심이 많아한해 개인 목표 설정에도 AI 활용 관련한 목표를 작성해야했고, 작년 셀프리뷰에서도 AI 활용을 어떻게 했는지에 대한 항목이 있었다.즉, 내가 AI를 어떻게, 잘 활용했는지를 잘 어필하는게 중요하다. 따라서 내가 연말에 혹은 언제라도 AI 활용을 얼마나 했고 생산성을 어떻게 올릴지를 뒷받침할 근거 데이터 정도는 미리 모아둬야겠다는 생각을 했다. 요거를 100% 스케줄..

AI & 자동화 2026.04.30

Agentic coding의 시대, 신입개발자는 무엇을 해야하는가?(26년-1분기회고)

회고라기보단 1분기 일기장..1.25년 7월 입사 후 겨울까지는 전사에 claude code가 보급되지 않았다.그래서 모르는 것을 배우고 직접 코딩하며 "개발자"가 된 기분을 만끽하였다.(물론 처음 접하는 안드로이드 분야와 여러 POC를 담당하며 길을 잃긴 했지만..) 하지만 올해 1월부터는 점점 코드보다 프롬프트만 작성하였고,급기야 터미널만 쓰고 IDE는 켜지도 않는 수준이 되었다.cursor가 그래서 힘든걸까? 그래도 아직 git은 터미널에서 보는 것보다 GUI, graph로 보는게 편하다.아니면 git + 안드로이드 빌드 돌리러 Android studio를 열곤 했다.혹은 시니어 분들께 전수 받은 소스트리 정도...(Android Studio도 켜는게 귀찮아서 터미널만 보고 빌드도 adb cli를 ..

회고 2026.03.31

Solana 체인의 PDA란(Ethereum과의 차이점)

Solana 체인의 PDA — 프로그램이 소유하는 주소이더리움으로 입문하다가 솔라나를 보았을 때, 헷갈릴 만한 개념이다.(본인이 헷갈림..)그래서 가볍게 설명해보고자 한다.왜 PDA가 필요한가?Solana에서 모든 데이터는 계정(Account)에 저장된다.잔액이든, NFT 메타데이터든, 게임 점수든 전부 계정이다.그런데 문제가 하나 있다. 프로그램(스마트 컨트랙트)이 어떤 계정에 토큰을 보관하거나 상태를 저장하려면, 그 계정을 "소유"하고 제어할 수 있어야 한다.(정리하자면 프로그램과 스토리지가 분리되어있다)일반적인 키페어 계정은 비밀키를 가진 사람만 서명할 수 있다. (지갑의 계정이라고 하면 쉬울까?)그런데 프로그램은 사람이 아니다. 비밀키를 들고 있을 수도 없다. 그렇다면 프로그램이 직접 관리하면서도..

Web3 2026.02.28

이더리움 Fusaka 업그레이드: EIP 스펙부터 Geth 구현 살펴보기 2편

이 글은 다음 1편 글의 후속편이다.조만간 보충 설명할 자료를 추가할 예정이다.. (ppt 장표로 만든 자료)블록체인 코어 코드를 처음 보는데, 개발자다보니 스펙+코드를 보니까 생각보다 이해가 되는 편인 것 같다.이더리움 Fusaka 업그레이드: EIP 스펙부터 Geth 구현 살펴보기 1편5. EIP-7594: PeerDAS5.1 PeerDAS 란?이번 Fusaka 업데이트의 핵심 기능이라고 할 수 있습니다.Peer Data Availability Sampling이라는 뜻으로, 노드가 전체 blob 데이터를 다운로드하지 않고도 데이터 가용성을 검증할 수 있게 합니다. 데이터 가용성이란?롤업 같은 스케일링 솔루션은 트랜잭션을 오프체인에서 처리한 후 배치로 메인넷에 게시합니다. 이는 이더리움 처리량을 높이고..

Web3 2026.01.31

이더리움 Fusaka 업그레이드: EIP 스펙부터 Geth 구현 살펴보기 1편

이더리움 Fusaka 업그레이드: EIP 스펙부터 Geth 구현 살펴보기이더리움은 끊임없이 진화하며, 단순한 소프트웨어가 아닙니다. 하드포크 등 과감한 업데이트도 진행하며, 확장성 로드맵인 'The Surge'와 'The Verge'로 나아가는 교두보 역할을 수행하기 위한 Fusaka(Fulu + Osaka) 업데이트를 2025년 12월 3일 진행하였습니다.일반적인 디앱(DApp) 개발자에게 하드포크란 "가스비 절감"이나 "새로운 EVM opcode" 정도의 추상적인 개념일 수 있습니다. 하지만 노드를 운영하거나 프로토콜의 기저를 이해해야 하는 코어 개발자들에게 하드포크는 클라이언트의 심장부인 가상 머신(VM) 로직을 수정하고, 트랜잭션의 유효성 검증 규칙을 재정의하며, 경제적 상수를 조정하는 외과 수술..

Web3 2026.01.31

DevFest Android in Korea 2025 후기(성과를 내는 법, Firebender)

작년에는 FEConfig 같은 프론트엔드 관련 컨퍼런스를 다녀봤는데, 이제는 안드로이드 개발을 하니 또 안드쪽 컨퍼런스 소식에도 관심이 생겼다. 특히 나는 아직 모르는 것도 많고, 요즘 업계 현황을 얻기 좋아 시간만 맞고 세션이 좋아보인다면 가급적 참여하는 편이다.이번 GDG에서 하는 DevFest Android in Korea 2025에 우테코 6기 안드 크루의 추천을 받고 한번 참석해보았다.https://www.ticketa.co/events/devfest-android-in-korea-2025-beoteomaegjupati-3253z828 세션은 다음과 같았다.안드쪽에서 박상권님이 유명하셔서 궁금하기도 했고 우테코 안드 코치님 레아(김수현)와 신기하게도 네이버쪽 안드 개발자분들도 발표하셔서 매우 ..

회고 2025.12.31

n8n으로 릴리즈노트 자동 생성(w.github api, slack slash command)

깃헙에서 열심히 작업 후 하나의 마이너 버전이 올라가면, 릴리즈노트를 보통 작성한다.여간 힘들고 귀찮은 작업이 아닐 수 없다. 심지어 중요하다. 버전에 대한건 케이스마다 다르겠지만 어쨋든 그럼 엄청난 diff와 PR, issue를 처리하였을 것이고,뭐했더라..? 와 함께 내가 잘 모르는 팀원의 작업물도 있을 것이다. 앱 릴리즈노트도 있지만만약SDK 개발 같은 것도 함께 한다면 인터페이스나 기능이 바뀌는 Breaking Changes도 릴리즈노트에 포함시켜줘야 할 것이다. 이를 이전 버전과 히스토리를 비교하며 직접 작성할 수도 있겠지만 AI를 시켜서 자동화해보고자 했다. n8n왜 선택했는가? 노코드로 편하게 워크플로우를 만들 수 있었다.(지나고 보면 서버 설정 등 더 귀찮았던 점이 많지만 우선 한번 환경 ..

AI & 자동화 2025.12.30

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

Seoulana 2025 해커톤 Bitcoin on Solana 트랙 3등, 그리고 미세 팁

4월 4일 ~ 6일, 처음으로 2박 3일 해커톤을 나갔다.카이스트 소속 오라클 학회로 나가는 첫 행사이기도 했다.그동안의 해커톤에서 느꼈듯 첫 마음가짐은 적당히 수면을 취하고 해보자였으나.. 결국 하루에 3~4시간 자고 쭉 회의와 개발을 하였다.결과는 Bitcoin on Solana 트랙에서 3등을 수상했다!블록체인 해커톤에서 첫 수상이어서 힘들었던 기억이 모두 미화되었다 ㅎㅎ상금 1000USDT가 달달하더라.Web3 해커톤은 최고다항상 느끼지만 Web3 해커톤, 특히 메인넷 해커톤은 규모도 크고 상금, 지원도 짱짱하다.매끼 넘치는 밥과 간식을 넣어준다. 또 메인넷 재단에서 기술적, 비즈니스적 조언 및 지원 또한 상당하다.시니어 엔지니어 분과 현업, 그리고 스폰서 트랙의 메인테이너가 오피스 아워도 운영하..

Web3 2025.06.30