전체 글

Full Stack Developer
· Front-End
배경React Server Component/Action 변경점은 2024년 12월 5일에 출시한 React 19 중 가장 인상 깊은 부분이다. 어떤 방식으로 내부적인 갱신과 render 처리를 하는지 정리해보기 위하여 작성하였다.주요 개념Server Component/Action 개념은 next.js 경험이 있다면 직관적으로 이해할 것이다.파일 최상단 "use server" 선언을 통해서 server component 구현을 할 수 있다. 이는 client 측에서 발생한 상호작용이 촉발하여 비롯한 연산을 서버에서 처리한다. 처리가 완료 되면 Payload 전송을 통해 client component("use client" 선언으로 시작하는 component) 일부분을 갱신(reconciliation)한다..
· Back-End
배경내부 망도 1Gbps 연결로 구축하고, 라즈베리 파이도 4B를 구매해서 1Gbps 연결을 받도록 하고, 인터넷 회선도 1Gbps 신청했다.WAN 직결하여 속도 측정 시 900Mbps 속도를 볼 수 있었는데, RPi4B 연결을 하자마자 300Mbps 정도 밖에 안 나왔다.최소 800Mbps 이상을 원했기 때문에 방법을 찾아봤다.기기 및 환경Raspberry Pi 4B 8GBMicroSD 16GBCat. 6 LAN cablenexi gigabit USB-ethernet card (RealTek chip)과정ImmortalWRT FlashOpenWRT 환경에서는 어떤 방법을 해도 400Mbps 속도를 넘길 수 없었다.RPi4 자체에서는 800Mbps 속도가 나왔지만 유선으로 연결한 기기에서는 eth1 re..
· AI
배경목표그림을 명령대로 그려주는 모델들(Stable Diffusion 3.5, SDXL)로 특정 화풍으로 그려내고, 이를 옷에 인쇄한 모습의 Mock-up 생성(LoRA 기법으로 tuning 방법은 추후 작성)주의아래 코드는 이해를 돕기 위한 예시로서, 각각 다른 여러 버전에서 짜깁기하여 작성한 것이다. Tools and EnviromentsMac Book Pro 16" - 64GB 통합 RAM, Apple M3 Max(16core CPU, 40core GPU, 16core Neural Engine)Python 3.13 (3.14.0 버전에서는 지원 하지 않는 package 있음)OpenCVrem-bgStable Diffusion 3.5SDXLStableDiffusionImg2ImgPipelineCont..
· Back-End
목적openWRT를 설치하고자 하는 이유는 다음과 같다. :DDNS : frontli.ne.kr domain을 유동 IP에 대응내부 다른 서버로 port forward : wiki 및 RDP/VNC, SSL 등DNS 보안을 위한 설정 : DNSSEC, DoH, DoTAdblock : 광고 차단구조ISP(통신사) ↔ RPi(openWRT) ↔ hub ↔ [hub2, 공유기1(bridge), 공유기2(bridge), 컴퓨터1, 컴퓨터2, 컴퓨터3, …, 컴퓨터N]PrepareHardwareRaspberry Pi 3B 혹은 4B(4GB)를 사용nexi USB-Ethernet Adapter (해당 링크로 구매해도 제게 적립 되지 않습니다)nexi Gbps 지원 unmanaged-hub (해당 링크로 구매해도 제..
· Back-End
서비스 차원일반적인 차원에서는 Query 개선, Index 개선, Schema 재설계, 서버 설정과 자원 개선, 병목현상을 제거하는 방법으로 개선을 꾀할 수 있습니다.Query 개선Query 최적화HAVING 대신 WHERE 절을 사용하고, 조건을 효율적으로 개선하여 불필요한 JOIN을 제거합니다. 또한, SELECT 절에서 필요한 column만 선택하여 검사하는 row를 최소화합니다.Subquery → JOINSubquery가 반복되는 경우, 가능하면 JOIN으로 대체하여 처리 속도를 향상시킵니다. 또한 WITH 사용을 고려해볼 수 있습니다.Index 개선Index 검토 및 추가자주 사용되는 검색 column과 JOIN column에 Index를 걸어 줍니다Index 관리index 통계를 정기적으로 갱..
· Peopleware
CTO 제안을 받은 당신, 축하합니다. 새로운 도전을 응원합니다. 작은 스타트업에서 CTO로서 11개월 간 개발 및 관리한 경험을 토대로, 실제로 진행하며 참고하거나 미리 검토했으면 좋았을 항목들을 공유합니다.입사 전서비스[ ] 서비스 도메인 종류[ ] 시장 조사[ ] 목표 대상[ ] 점유율[ ] KPI[ ] Business Model 검증[ ] Global 혹은 Multi Region 서비스가 가능한지Owner Risk[ ] 인격[ ] 여러 사업을 진행하고 있다면 입사할 회사가 진행하는 사업에 할애하는 시간[ ] 책임과 권한 분리에 대한 이해도[ ] 불편한 점이 있을 때 해결하는 방식[ ] IT 서비스에 이해도[ ] 전 CTO 혹은 직원 채용 기준[ ] 회사 문화[ ] 재정 상황[ ] 투자금[ ] 자본..
· Retrospect
출발 친한 동생과 커피를 마시던 화요일 저녁. “너나 나나 다 재택이고, 언제든지 떠날 수 있는데, 왜 우리 아직도 여기에 있지?” 그렇게 갑작스럽게 열흘 간 워케이션(Workation, Work+Vacation)을 떠나게 되었다. 더보기 준비물 Cal Digit - TS4 Dock DP Cable WavLink HDMI adapter : DisplayLink 적용 iPhone 충전 Cable Android Test 기기 : Galaxy Z Flip 5 MacBook Pro - M3, 14인치 아침 대신 먹을 단백질 바 옷 운동복 잠옷 외출복 바람막이 후리스 신발 크록스 실내(헬스장)에서 신는 운동화 시가 (마땅히 피울 곳이 없어서 결국 못피움) Cohiba 2017 Limitada Toro Talisk..
· Front-End
배경 XCode에서 iOS SDK 17 이상으로 build 해야만 App Store에 Upload할 수 있다는 경고가 떠서 version up & migrate ticket이 생겼다. 2024년 4월 부터 적용하기 때문에 이번 Sprint에서 해결해야하는데, 아무도 나서서 하지 않길래 솔선수범하여 나섰다. React Native로 작성한 Application은 2개 였는데, 각각 버전이 0.5x, 0.6x 였다. 3주에 걸쳐 작업한 과정을 간단하게 기록한다. 과정 Upgrade Helper 일단 major change와 pod file, gradle script와 같은 변화를 쉽게 보여준다. 다만 기존 build.gradle 파일이나 android/settings.properties 같이, 이전에 pac..
ViXtor
Daily Improvement Framework