<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ramblings]]></title><description><![CDATA[Reflections, Readings, and Repositories]]></description><link>https://blog.raf.town</link><generator>RSS for Node</generator><lastBuildDate>Thu, 14 May 2026 22:01:21 GMT</lastBuildDate><atom:link href="https://blog.raf.town/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[딸깍의 소중함]]></title><description><![CDATA[🤖
망한 제목에 망한 글이 따라온다. 제목도 좀 딸깍 해줘


시작
문득 일을 하다가 meme(밈)이 가진 전달력이 아주 대단하다는 생각을 했다. 별거 아닌 단어 하나를 사용하는데, 해당 밈을 아는 사람에게는 그 밈에 내포된 여러가지 복합적인 의미가 한 번에 전달되는 것이다. 예를 들면 딸깍 같은 단어이다. 전혀 배경을 모르는 사람은 내가 이건 딸깍을 하겠습니다 혹은 이 부분은 딸깍으로 처리하겠습니다 라고 하면 ‘미친 사람인가 갑자기 왠 딸깍...]]></description><link>https://blog.raf.town/65s46rmn7j2yioygjoykke2vqa</link><guid isPermaLink="true">https://blog.raf.town/65s46rmn7j2yioygjoykke2vqa</guid><category><![CDATA[essay ]]></category><dc:creator><![CDATA[Rafael]]></dc:creator><pubDate>Wed, 26 Feb 2025 01:14:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/Gcc87LTQXDg/upload/924f5fc131d826b810ed0e57d6d31e73.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div data-node-type="callout">
<div data-node-type="callout-emoji">🤖</div>
<div data-node-type="callout-text">망한 제목에 망한 글이 따라온다. 제목도 좀 딸깍 해줘</div>
</div>

<h2 id="heading-7iuc7j6r">시작</h2>
<p>문득 일을 하다가 meme(밈)이 가진 전달력이 아주 대단하다는 생각을 했다. 별거 아닌 단어 하나를 사용하는데, 해당 밈을 아는 사람에게는 그 밈에 내포된 여러가지 복합적인 의미가 한 번에 전달되는 것이다. 예를 들면 <code>딸깍</code> 같은 단어이다. 전혀 배경을 모르는 사람은 내가 <code>이건 딸깍을 하겠습니다</code> 혹은 <code>이 부분은 딸깍으로 처리하겠습니다</code> 라고 하면 ‘미친 사람인가 갑자기 왠 딸깍이여..?’ 싶을 것이다. 하지만 나와 같이 일 하는 다른 개발자님은 무슨 의미인지 알기 때문에 별 다른 설명 없이도 의사 소통이 가능하다. 불필요한 부연 설명 없이 짧은 단어나 이미지 한 장으로 설명할 수 있다는 점이 meme 소통이 생산성을 높여 준다는 생각이 들었다. (<s>이 소통 방식 자체가 딸깍이다</s>)</p>
<h2 id="heading-6re4656y7isciouuuoq5jeydtcdrrzdrg5dqs6a">그래서 딸깍이 뭐냐고?</h2>
<p>뭐 옛날에 많이 쓰던 <code>날먹</code> 비슷한 단어이기도 하고.. 아래 짤이 많은 것을 설명해준다고 생각합니다.</p>
<p><a target="_blank" href="https://namu.wiki/w/%EB%94%B8%EA%B9%8D">[딸깍 - 나무위키]</a> 참조하십시오..</p>
<p>나무위키를 참조하니 생각나는 농담.. 최고의 욕은 ‘나무위키 참조했냐?’ 보다 ‘너는 나무위키라도 좀 읽어보고 와라’ 라고.. <s>(나는 나무위키 좋아하는데)</s></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1740475186944/d6a142b9-a820-4f25-b251-9ff29c9949d2.webp" alt class="image--center mx-auto" /></p>
<h2 id="heading-7zek7ja064ky7jisioyimcdsl4bripqg65s46rmn">헤어나올 수 없는 딸깍</h2>
<p>아무튼 요점은 나는 요즘 일하면서 딸깍을 많이 한다는 것이다. 나 그리고 같이 일하는 동료 개발자와의 사이에서 <code>딸깍</code>은 코드 작업 중 일부를 LLM에게 시키는 것을 의미한다. 나는 심지어 문제에 따라서 chatGPT 와 claude를 번갈아 사용한다. 즉 LLM을 업무 보조 용도로 상당히 적극적으로 사용하게 되었다는 말이다. 예전에는 혼자서 실컷 개발을 하다가 막히는 부분이 생기거나, 잘 모르는 부분에 대해서 질문을 하는 검색 엔진 대용으로 LLM을 썼는데, 이제는 거의 인턴과 함께 일 하는 수준으로 LLM을 굴린다. 그러다보니 코드를 작성하는 방식에도 변화가 많이 생겼다.</p>
<p>예전에는 데이터 흐름에 따라서 하나씩 기능을 만들어 나가는 방향을 선호했다. 대충 아래와 같은 순서로 작업하는 경우가 많았다.</p>
<ol>
<li><p>특정 데이터를 분석하고 어떤 형태로 파싱할지 결정</p>
</li>
<li><p>파싱하는 함수 작성</p>
</li>
<li><p>컴포넌트에 데이터 뿌리는 부분 만들기</p>
</li>
<li><p>컴포넌트 스타일링</p>
</li>
<li><p>리팩토링</p>
</li>
</ol>
<p>React native를 가지고 일 할 때도 animation이나 gesture handling을 죽어라 작업할 때도 큰 차이는 없었다. 데이터를 분석하는 것과 비슷했다. 유저의 행동에 따른 이벤트를 분석하고 해당 Event나 Gesture에 따라 반응해야 하는 부분을 작성하는 것이기 때문에 데이터 흐름을 기반으로 하는 것과 유사하게 작업이 가능했다. 나는 설계에 장점이 있는 사람이 아니었기 때문에 미리 크게 크게 설계를 해두고 작업하지 않았고, 일단 기능 명세에 있는대로 동작하도록 다 만들고 재사용할 부분이나 컨벤션에 맞지 않는 부분 등 비효율적인 부분을 제거해 나가는 방식을 선호했다.</p>
<p>그런데 요즘에는 조금 달라졌다. 물론 kotlin + spring 환경에서 작업하는 시간이 더 많았기 때문일수도 있다. controller에서 시작하는 것 보다 infrastructure나 domain 부터 다 잡고 시작하는게 재미있더라. 여기서 느낀 점도 나중에 이야기해보면 좋겠다.</p>
<h2 id="heading-7ja065a76rkmioulroudvoyhjoudkoqzoa">어떻게 달라졌냐고</h2>
<p>그러니까 결론부터 이야기하면 크게 크게 구조를 먼저 잡아두고 세세한 것은 LLM에게 시키는 방식으로 바뀌었다. 물론 구조를 짤 때도 애매하면 LLM에게 조언을 구하기는 하지만, 대부분은 미리 작성한 타입을 주고 “이 데이터를 이 타입으로 변환할거야, 코드 짜봐” 같은 일을 많이 시킨다. 그리고 내가 하는 것보다 매우매우 빠르게 잘 나온다.(<s>왠만하면</s>) 물론 세부적인 체크는 해줘야 한다. 내용이 길어지거나 할 일이 많아지거나 하면 후반부에 지능이 급격하게 떨어지는 건지 당이 떨어지는 건지 모르겠지만 갑자기 이상한 소리를 하는 경우도 있다. 그런데 모델이 발전함에 따라 그런 일도 줄어들고 있고 (특히 이제 막 나온 claude sonnet 3.7은 3.5보다 훨씬 잘 하는 것 같다) 시간 단축이 되는 것은 확연한 사실인 것 같다.</p>
<p>실제로 최근에 FE 프로토타입을 만들어야 해서 claude를 사용했는데 기본적인 기능을 갖추는 데 세 시간도 안걸렸다. 물론 그 뒤로 세부적인 고도화를 하거나 그런 부분은 직접 하고 있지만, 전부 직접 했으면 훨씬 오래 걸렸을 것이다. 특히 tailwind class 붙여서 그럴싸하게 스타일 넣어봐 하면 나보다 예쁘게 잘 만들어서 좋다…</p>
<p>요약하자면 자꾸 하다보니 프롬프팅 하는 능력은 점점 좋아지고 있는 것 같고, 요즘 내 업무의 대부분은 구조를 짜고 세부 코드를 인공지능에게 만들도록 시킨 뒤 코드 리뷰를 하는 식으로 이루어진다 이 말이다.</p>
<h2 id="heading-7j6q64ky6rmo64kyiouspo2gteyimcdsobdsi6w">자나깨나 뒤통수 조심</h2>
<p>하지만 조심해야 한다. 시간이 급하다고 인공지능이가 내민 코드를 전혀 검토하지 않고 쓰다간 통수를 씨게 맞을 수가 있다. 그리고 내 질문에 따라 방향성이 잘못 결정되어버려서 인공지능 꼬맹이랑 같이 동굴 속에서 나오지 못하고 기절하게 되어버리는 경우도 있을 수 있다. 얼마 전 큰 데이터를 차원에 따라 이리 저리 다양한 형태로 사용해야 할 필요가 있었는데(라고 생각했다), 인공지능이는 dataframes 라는 jetbrains에서 만든 kotlin 라이브러리를 극찬했고 우린 바로 사용에 들어갔으며.. 인공지능이 제시하는 코드를 사용하려다 타입 지옥에 빠져 다 죽고 말았다. 꽥</p>
<blockquote>
<p>그리고 열 받아서 dataframes를 빼고 나니 한 시간도 안되어 기능을 다 만든 후 극적으로 살아나고야 말았던 것이다</p>
</blockquote>
<h2 id="heading-64gd">끝</h2>
<p>결론 같은 것은 없는 그저 근황 에세이 같은 글이라 마무리를 어떻게 해야 할 지 모르는데, 저는 잘 지내고 있고, 개발자 둘이 일하면서 네 명이 일을 하는 것 같은 느낌으로(각자 LLM 달고) 일을 한다 이 말입니다. 앞으로는 개발 이야기가 1도 없는 순수 에세이를 적어보고 싶다는 생각을 하며 마무리를 지어봅니다. 다음 번엔 글 자체도 딸깍을 해볼까..</p>
]]></content:encoded></item><item><title><![CDATA[2024년 회고]]></title><description><![CDATA[🤪
라고 쓰고 그냥 의식의 흐름대로 말하기


개요
벌써 2월 중순이긴 하지만 2024년 회고를 간단히 적어보려고 한다. 재밌는 것은 2024년 1월부터 2025년 1월까지 전 직장에 다녔고 연말에 창업을 결정했으니 거의 그 이야기만 하게 될 것 같다. 할 이야기가 많지는 않은데 B2C를 하는 회사도 처음이었고, React-native도 처음이니 관련된 이야기를 하게 될 것 같다.
React-native
나는 주로 React로 웹 프론트엔드 ...]]></description><link>https://blog.raf.town/2024-retrospective</link><guid isPermaLink="true">https://blog.raf.town/2024-retrospective</guid><category><![CDATA[retrosepctive]]></category><category><![CDATA[2024]]></category><dc:creator><![CDATA[Rafael]]></dc:creator><pubDate>Tue, 18 Feb 2025 04:37:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/IrRbSND5EUc/upload/87c9df725bdd17f0e2636dcaec48e569.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div data-node-type="callout">
<div data-node-type="callout-emoji">🤪</div>
<div data-node-type="callout-text">라고 쓰고 그냥 의식의 흐름대로 말하기</div>
</div>

<h2 id="heading-6rcc7jqu">개요</h2>
<p>벌써 2월 중순이긴 하지만 2024년 회고를 간단히 적어보려고 한다. 재밌는 것은 2024년 1월부터 2025년 1월까지 전 직장에 다녔고 연말에 창업을 결정했으니 거의 그 이야기만 하게 될 것 같다. 할 이야기가 많지는 않은데 B2C를 하는 회사도 처음이었고, React-native도 처음이니 관련된 이야기를 하게 될 것 같다.</p>
<h2 id="heading-react-native">React-native</h2>
<p>나는 주로 React로 웹 프론트엔드 개발을 했고, React-native로 앱 개발을 하는 것은 처음이었다. 처음엔 그냥 React 기반이니 뭐 어떻게든 되겠지.. 라고 생각했지만 그렇게 말처럼 쉽지는 않았다. React-native가 가지는 특수성이 있었기 때문에 내가 생각한대로 레이아웃이 나오지 않거나, css를 사용할 수 없는 부분이 있거나 했다. 물론 그것들은 몇 번 문제를 마주치다 보면 익숙해지는 문제긴 했다.</p>
<p>예를 들면 Scroll이 가능한 View를 만들기 위해 쓰는 ScrollView 컴포넌트가 따로 있는데, 앱의 한 페이지 전체를 스크롤 가능하게 만들면서 그 내부에서 또 별도로 Scroll이 가능한 컴포넌트(심지어 이건 이름도 달랐다. FlatList)를 넣기 위한 노력이라던지..(방향이 같은 스크롤 컴포넌트를 중첩하는 것을 피해야 한다더라..) React-native가 android와 iOS에서 모두 사용 가능하다고는 하지만 플랫폼의 특수성을 고려해서 파일 분기처리를 하는 경우도 많이 있었다. 그래도 정리하자면 그런 특수성이 나태한 나의 React 인생에 새로운 자극을 주어서 재미있었다. 진짜로. 진짜라니까?</p>
<h2 id="heading-mobile-app">Mobile App 개발의 특수성</h2>
<p>앱을 빌드하고 스토어를 통해 배포하는 흐름을 처음 겪어보았다. 그 전에는 웹에 단순히 배포하고 덮어쓰면 그만이었는데, 모바일은 좀 달랐다. 새로운 기능을 개발해서 앱을 배포 하면서도 구 버전을 생각해야 했다. 새롭게 생겼거나 수정된 부분 때문에 구 버전을 그냥 쓰는 유저들이 영향을 받으면 안된다는 것이 조금 신선했다. backend api를 수정할 때도 과거 버전을 유저의 경험을 해치지 않도록 하는 것이 늘 중요했다. 그 부분 때문에 작업의 난이도가 올라가기도 했지만, 아무튼 필요하다는 것은 이견이 없다.</p>
<p>또 하나는 생각보다 사람들이 쓰는 모바일 기기의 성능 혹은 브랜드의 범위가 다양하다는 것이었다. sentry에 찍히는 로그를 보면 정말 태어나서 처음 들어보는 회사의 기기가 많았고, 아주 구형의 기기를 계속 사용하는 사람들의 수도 많았다. 가끔 React-native 등 의존성을 업데이트 하다 보면 지원해야 하는 ios나 android의 버전을 올려야 하는 경우가 있는데, 그럴 때 더 이상 앱을 사용할 수 없게 되면서 스토어에 분노의 리뷰를 쏟아내는 것을 보면서 신선한 충격을 받았다.</p>
<p>그리고 스프린트가 보통 2주 단위로 진행되었는데, 스프린트의 마지막에는 배포하는 것을 늘 목표로 잡았기 때문에, 기간 내에 업무가 마무리되는 것이 더 눈에 잘 보였던 것 같다.</p>
<h2 id="heading-64e7kce">도전</h2>
<p>그러던 중 늦가을 쯤에 새로 창업하는 회사에 설립 멤버로 조인할 기회가 생겼다. 한 번쯤 경험해보고 싶었던 일이었고, 더 나이가 들기 전에 도전하지 않으면 기회가 없을 것 같아서 합류를 결심했다. 지금까지 해왔던 Frontend 업무를 계속 이어서 하는 것도 아니고, 처음 경험하게 될 일들이 조금 불안하긴 했지만 일단 시작했다. 지금 회사에서 뭘 하고 있는지는 나중에 좀 더 자세히 따로 이야기해보고 싶다. 아무튼 그렇게 안락한 울타리를 벗어나서 야생을 경험하러 나왔다.</p>
<p>물론 전 회사에서 같이 일했던 분들이 다 좋은 분들이라 헤어지는 것이 조금 아쉽긴 했다. 나는 그래도 일하면서 사람 복은 많은 것 같다는 생각이 드는게, 아직 팀 내에 큰 빌런을 만나 본 적이 없다. 참 다행이지 싶다.</p>
<h2 id="heading-64gd">끝</h2>
<p>참 건질 것 없는 이상한 글이 되었지만, 아무튼 회고는 여기까지. 지나간 것은 좋은 기억과 경험으로 담아두고 앞으로 남은 일들을 조금 기대해보고 싶다.</p>
]]></content:encoded></item><item><title><![CDATA[첫 번째 포스트]]></title><description><![CDATA[원래 쓰던 블로그는 에디터를 열어서 써야 하기도 했고, 새로운 형태로 바꿔보고 싶다는 생각을 늘 했었는데 여러 서비스를 검색하다 보니 notion-like한 에디터를 제공해주는 hashnode를 알게 되어서 여기로 블로그를 옮겨보려고 합니다. 개발자라면 블로그 정도는 직접 만들어서 써야지! 라고 생각했지만 연차가 차다 보니 그런 것들은 큰 의미가 없다는 쪽으로 생각이 굳어지기도 했습니다.
조금 더 가볍고 편하게 글을 써보려고 하고, 과거의 글은...]]></description><link>https://blog.raf.town/7lkriouyioynucdtg4dsnbtti4a</link><guid isPermaLink="true">https://blog.raf.town/7lkriouyioynucdtg4dsnbtti4a</guid><dc:creator><![CDATA[Rafael]]></dc:creator><pubDate>Thu, 24 Oct 2024 04:11:30 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/Oaqk7qqNh_c/upload/7b66331ed72eebee931e0bcdadbd63c6.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>원래 쓰던 블로그는 에디터를 열어서 써야 하기도 했고, 새로운 형태로 바꿔보고 싶다는 생각을 늘 했었는데 여러 서비스를 검색하다 보니 notion-like한 에디터를 제공해주는 hashnode를 알게 되어서 여기로 블로그를 옮겨보려고 합니다. 개발자라면 블로그 정도는 직접 만들어서 써야지! 라고 생각했지만 연차가 차다 보니 그런 것들은 큰 의미가 없다는 쪽으로 생각이 굳어지기도 했습니다.</p>
<p>조금 더 가볍고 편하게 글을 써보려고 하고, 과거의 글은 그대로 두고 여기서는 새로 시작해보려고 합니다.</p>
<p>notion처럼 글을 쓸 수 있으니 편하고 좋네요.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">이렇게 callout도 만드는 것이 가능하고요!</div>
</div>

<p>코드 블럭도 쉽게 쉽게 만들어져요!</p>
<pre><code class="lang-kotlin"><span class="hljs-keyword">val</span> soEasyCodeBlock = <span class="hljs-string">'good'</span>;
</code></pre>
<h2 id="heading-6re4656y7iscioutka">그래서 뭐</h2>
<p>아무튼 쉽게 글을 작성할 수 있으니 무겁고 어려운 개발 관련 지식을 올리는 것 보다는 여러가지 있었던 일에 기반한 일화를 소개하는 느낌의 글들을 작성해보려고 합니다.</p>
<p>하긴 뭐 누가 읽겠습니까 자기만족이지!</p>
<p>깔깔</p>
]]></content:encoded></item></channel></rss>