전체 글 썸네일형 리스트형 [성남 완전 정복]5코스 판교에서 야탑까지, 맛으로 엮은 포근한 산책 [판교-야탑 로드] 맛으로 엮은 포근한 산책화려한 빌딩 숲 판교에서 시작해, 사람 냄새 나는 야탑의 골목까지. 오늘은 분당의 두 가지 매력을 '맛'으로 이어보는 특별한 산책 코스를 소개합니다.1. 정희 판교아브뉴프랑점:시작은 단정하게, 정갈한 한 끼 (판교)산책의 시작은 속을 편안하게 채우는 것입니다. 판교의 세련된 거리 어딘가, 자극적이지 않고 재료 본연의 맛을 살린 '정갈한 한 끼'로 든든하게 배를 채워보세요. 정성스럽게 차려진 밥상은 오늘 하루를 대접받는 기분을 느끼게 해 줍니다.2. 데조로의집: 붙잡는 향기, 따뜻한 빵 내음식사 후 거리를 걷다 보면, 코끝을 간지럽히는 고소한 버터 향을 만나게 됩니다. 갓 구워낸 '따뜻한 빵 내음'은 배가 불러도 지나칠 수 없는 유혹이죠. 폭신한 빵 한 조각을 손.. 더보기 [성남 완정 정복] 코스4 금광동 골목, 온기를 채우는 맛의 여정 [금광동 골목 투어] 온기를 채우는 맛의 여정차가운 바람이 옷깃을 파고드는 계절, 화려한 맛집보다 마음까지 데워줄 투박한 한 끼가 그리워질 때가 있습니다. 성남 금광동 골목 사이사이, 꽁꽁 언 몸과 마음을 녹여줄 든든한 미식 코스를 소개합니다.1. 투박한 온기의 시작 : 1번지 손칼국수전문점여정의 시작은 '1번지 손칼국수전문점'입니다. 김이 모락모락 나는 그릇에 담긴 바지락과 손으로 빚어낸 쫄깃한 면발. "투박한 온기"라는 말처럼, 소박하지만 깊은 국물 한 모금이 얼어붙은 몸을 단번에 녹여줍니다.2. 호로록 넘어가는 즐거움 : 길동우동가볍지만 확실한 행복을 원한다면 '길동우동'으로 발걸음을 옮겨보세요. 꼬치 어묵과 함께 즐기는 따끈한 우동 한 그릇은 "호로록 즐거움"을 선사합니다. 깔끔한 국물 맛이 입안.. 더보기 [성남 완전 정복]코스3 신흥/성남동 맛과 재미, 감성까지 꽉 채운 알짜배기 데이트성남의 원시가지, 신흥동과 성남동은 투박한 골목 사이로 세련된 즐거움이 숨어 있는 보물 같은 곳입니다. 셰프의 요리부터 짜릿한 액티비티까지, 지루할 틈 없이 이어지는 완벽한 하루 코스를 제안합니다. 1. 신흥동 : 셰프의 손맛과 유쾌한 놀이 여행의 시작은 '임솊키친'입니다. 아늑한 분위기에서 즐기는 셰프의 파스타 한 접시는 평범한 점심을 특별한 기억으로 바꿔줍니다. 기분 좋게 배를 채웠다면 '홈즈앤루팡'으로 향해보세요. 셜록 홈즈 테마의 감각적인 공간에서 펼치는 보드게임 한 판은 잊고 지낸 웃음과 승부욕을 되찾아줍니다. 2. 저녁의 하이라이트 : 무쇠의 열기와 탈출의 스릴 열심히 놀았다면 든든하게 채울 차례입니다. '무쇠뚝삼겹'의 뜨거운 솥뚜껑 위에서 지글지글.. 더보기 [성남 완정 정복] 코스2 구미/수내/서현 [성남 완정 정복] 미식과 액티비티가 꽉 찬 하루 코스정적인 힐링과 동적인 에너지가 공존하는 분당의 '찐' 코스를 소개합니다. 구미동의 차분한 미식으로 시작해 수내동의 활기찬 액티비티, 그리고 서현동의 달콤한 마무리까지. 지루할 틈 없이 완벽하게 짜인 하루를 즐겨보세요. 1. 구미동 : 기분 좋은 시작 여행의 시작은 든든해야 합니다. '메종드 쿠로이'의 두툼하고 바삭한 돈가스는 실패 없는 선택입니다. 식사 후엔 근처 '프레이저커피'에서 향긋한 커피 한 잔의 여유를 가져보세요. 세련된 공간에서 즐기는 커피는 오후를 위한 에너지를 부드럽게 채워줍니다. 2. 수내동 : 땀 흘린 뒤 채우는 활력 이제 몸을 깨울 시간입니다. '락트리클라이밍'에서 암벽을 오르며 짜릿한 성취감을 맛보세요. 손끝에 전해지는 쾌감이 스.. 더보기 [성남 완전 정복]코스1 정자동/금곡동 [성남 완전 정복]일상과 여행 사이, 완벽한 하루를 위한 코스매일 걷던 거리도 순서를 바꾸면 여행이 됩니다. 정자동과 금곡동을 잇는, 쉼과 미식이 조화로운 알짜배기 코스를 소개합니다. 첨부된 손그림 지도와 함께 따라오세요. 1. 사색의 오전: 어느비움 & 나나방콕 여행의 시작은 북카페 '어느비움'입니다. 고요한 공간에서 책 한 권과 함께 복잡한 머릿속을 비워내는 시간, 그것이 휴식의 첫걸음입니다. 허기가 질 땐 '나나방콕'으로 향합니다. 이국적인 태국 음식의 향연이 도심 속 작은 동남아 여행을 선물합니다. 2. 유쾌한 오후: 아레테 & 벌툰 파리지앵 나른한 오후, '아레테'의 세련된 커피로 감각을 깨우세요. 에너지가 충전됐다면 '벌툰 파리지앵'으로 이동합니다. 만화책과 보드게임을 즐기며 어린아이처럼 뒹굴.. 더보기 JPA Specification을 활용한 동적 쿼리 생성 패턴 지옥에서 온 검색 조건? JPA Specification으로 동적 쿼리를 우아하게 설계하는 패턴도입부 (Introduction)Spring Boot 기반 백엔드 개발에서 데이터 검색 기능을 구현할 때, **동적 쿼리(Dynamic Query)**는 피할 수 없는 난관입니다. 사용자 요청에 따라 필터 조건, 정렬 기준, 검색 키워드가 시시각각 변할 때, 개발자들은 다음과 같은 문제에 직면합니다:if-else 문의 지옥: 조건이 늘어날 때마다 코드가 폭발적으로 증가하고 가독성이 떨어집니다.재사용성 저하: 특정 검색 로직을 다른 곳에서 재사용하기 어렵습니다.유지보수 난이도 상승: 복잡한 쿼리 로직을 디버깅하기 어렵습니다.이러한 문제의 우아한 해결책이 바로 JPA Specification입니다. Spring D.. 더보기 Hibernate Spatial + GeoTools 기반 지리적 데이터 처리 좌표 찍고 거리 재고.. 개발자, 지도 위를 걷다 (feat. Hibernate Spatial, GeoTools)도입부 (Introduction)"우리 동네 3km 이내, 별점 4.5 이상, 픽업 가능한 카페 찾아줘!" 우리가 매일 사용하는 배달앱, 지도앱의 핵심 기능이죠. 이런 서비스들은 어떻게 수많은 장소 데이터 중에서 빛의 속도로 정확한 위치를 찾아낼까요? 단순한 위도, 경도 숫자만 데이터베이스에 저장해서는 복잡한 공간 연산을 처리하기 어렵습니다. WHERE distance 바로 이때, 우리에게 강력한 무기를 쥐여주는 것이 Hibernate Spatial입니다. Hibernate Spatial은 JPA와 Hibernate를 사용하여 지리적 데이터를 '점', '선', '면'과 같은 객체로 다룰 수 있.. 더보기 "포토샵은 끝났다" 선언? 베일 벗은 구글의 비밀병기, 나노바나나(Nano-banana) 파헤치기 도입부 (Introduction)2025년 8월, 전 세계 AI 커뮤니티가 정체불명의 이미지 생성 모델 하나 때문에 들썩였습니다. 공식 발표도, 기술 백서도 없이 AI 모델 벤치마크 플랫폼 'LMArena'에 유령처럼 등장한 '나노바나나(Nano-banana)'. 사용자들은 경악을 금치 못했습니다. 매번 얼굴이 바뀌던 캐릭터의 고질적인 문제를 해결하고, 사진인지 AI 생성물인지 구분하기 힘든 수준의 자연스러운 편집 능력을 보여줬기 때문입니다. "포토샵의 시대는 끝났다"는 섣부른 예측까지 나올 정도였죠. 소문만 무성하던 이 비밀병기의 정체는 결국 '구글'로 밝혀졌습니다. 이 글에서는 나노바나나가 어떻게 등장했으며, 기존 모델들과 차별화되는 핵심 성능은 무엇인지, 그리고 개발자들이 이 강력한 도구를 어떻게 .. 더보기 스프링을 사용한 Lightrun 소개: Spring Boot Observability: A Deep Dive into Redeployment-Free Debugging with Lightrun "또 로그 찍고 재배포?" 이제 그만! Spring Boot 개발자의 칼퇴를 앞당길 Lightrun 사용법 도입부 (Introduction)개발자에게 '운영 환경 버그'만큼 식은땀 나는 시나리오는 없습니다. 특히 간헐적으로 발생하는 버그는 추적이 매우 까다롭죠. 원인을 파악하기 위해 로그를 추가하고, 빌드하고, 재배포하는 과정을 반복하다 보면 어느새 새벽을 맞이하기 일쑤입니다. 기존 APM(Application Performance Monitoring) 툴은 시스템의 전반적인 성능 병목을 알려주지만, 특정 코드 라인에서 변수가 어떤 값을 가지고 있는지, 왜 특정 로직이 오작동하는지에 대한 '현미경' 같은 가시성은 제공하지 못합니다.이 지루하고 비효율적인 싸움에 종지부를 찍을 게임 체인저가 바로 Light.. 더보기 Hibernate Spatial + GeoTools 기반 지리적 데이터 처리 코드로 지도를 그리다: Spring Boot와 Hibernate Spatial로 위치 기반 서비스(LBS) 완벽 정복하기도입부 (Introduction)"오늘 점심 뭐 먹지?"라는 고민에 배달 앱을 켜면 가장 먼저 눈에 띄는 것은 바로 '내 주변 맛집' 리스트입니다. 부동산 앱에서는 '반경 1km 내 편의시설' 정보를 찾아보고, 당근마켓에서는 우리 동네의 따끈한 매물을 확인하죠. 이 모든 서비스의 중심에는 '위치', 즉 지리적 데이터(Geospatial Data)가 있습니다.과거에는 이런 위치 기반 서비스(LBS, Location-Based Service)를 구현하는 것이 매우 복잡하고 어려운 일이었습니다. 하지만 Spring Boot와 JPA 생태계가 발전하면서, 우리에게도 강력한 무기가 생겼습니다. .. 더보기 NPE 지옥 탈출! Java List 속 null과 빈 문자열을 우아하게 다루는 법 도입부 (Introduction)NullPointerException. 자바 개발자라면 누구나 한 번쯤은 마주쳤을, 어쩌면 가장 친숙하고도 두려운 예외일 겁니다. 특히 외부 API 응답이나 사용자 입력을 List 형태로 받았을 때, 그 안에는 우리의 예상을 벗어난 null 값이나 비어있는 문자열("")이 숨어있을 수 있습니다."설마 비어있는 값이 들어오겠어?"라는 안일한 생각으로 데이터를 다루다 보면, 서비스의 가장 취약한 부분에서 예외가 발생하여 전체 로직을 멈춰 세우는 아찔한 경험을 하게 됩니다. 이는 단순히 버그 하나를 넘어 서비스의 신뢰도와 직결되는 문제입니다.이 글에서는 단순히 List 안의 null이나 빈 문자열을 '찾는' 수준을 넘어, 이런 예외적인 데이터로부터 우리 Spring Boot 애.. 더보기 Spring에서 스케줄링된 작업(Scheduled Tasks) Spring에서 스케줄링된 작업(Scheduled Tasks) 1. 소개 (Introduction)때로는 특정 시간에 또는 정해진 주기마다 코드를 실행해야 하는 경우가 있습니다. 예를 들어, 매일 밤 12시에 보고서를 생성하거나, 5분마다 외부 API에서 데이터를 가져오는 작업 등이 그렇습니다.Spring 프레임워크는 @Scheduled 어노테이션을 통해 이러한 스케줄링된 작업을 매우 간단하게 설정할 수 있는 기능을 제공합니다. 이를 통해 개발자는 복잡한 스케줄링 라이브러리(예: Quartz) 없이도 손쉽게 백그라운드 작업을 구성할 수 있습니다.이 글에서는 Spring에서 스케줄링된 작업을 활성화하고 사용하는 방법을 알아봅니다.2. 스케줄링 활성화 (Enabling Scheduling)Spring에서 스.. 더보기 MySQL의 BOOLEAN 데이터 타입 MySQL의 BOOLEAN 데이터 타입 1. 소개 (Introduction)데이터베이스 스키마를 설계할 때, 참(true) 또는 거짓(false) 값을 저장해야 하는 경우는 매우 흔합니다. 대부분의 데이터베이스 시스템은 이를 위해 BOOLEAN이라는 명확한 데이터 타입을 제공합니다.하지만 MySQL은 조금 다릅니다. 이 글에서는 MySQL이 BOOLEAN 타입을 어떻게 처리하는지, 그리고 실제로 데이터가 어떻게 저장되는지에 대해 알아봅니다.2. MySQL의 BOOLEAN 타입결론부터 말하면, MySQL에는 진정한 의미의 BOOLEAN 데이터 타입이 없습니다. 대신, BOOLEAN 또는 BOOL 키워드를 사용하면, MySQL은 이를 TINYINT(1) 타입의 별칭(alias)으로 내부적으로 변환합니다.TI.. 더보기 공간 데이터베이스 표준 가이드(OGC) 개발자를 위한 공간 데이터베이스 표준 가이드: OGC 표준부터 MySQL을 활용한 고성능 구현까지Part I: 공간 SQL의 기초이 파트는 개발자가 공간 데이터 표준이 왜 존재하는지, 그리고 어떤 핵심 개념 위에 구축되었는지를 이해하도록 이론적 토대를 마련합니다. Open Geospatial Consortium (OGC)의 기초 문서를 세심하게 분석하여 공간 SQL의 근본 원리를 설명합니다.Chapter 1: OGC Simple Feature Access 표준의 이해1.1 지리공간 표준 입문지리공간 데이터는 현대 애플리케이션의 핵심 요소로 자리 잡았습니다. 위치 기반 서비스, 도시 계획, 환경 분석 등 다양한 분야에서 그 중요성은 날로 커지고 있습니다. 그러나 이러한 데이터가 서로 다른 시스템 간에 원활.. 더보기 MySQL 공간 데이터 가이드 3/3 - 공간 함수와 쿼리 최적화 마스터하기 [MySQL 공간 데이터 가이드 3/3] 공간 함수와 쿼리 최적화 마스터하기안녕하세요! 대망의 [MySQL 공간 데이터 가이드] 마지막 시리즈입니다. 지난 MySQL 공간 데이터 가이드 1/3 - OGC 표준과 개념 알아보기 포스팅에서 이론을, MySQL 공간 데이터 가이드 2/3 - 대한민국 공공 데이터로 DB 구축 실습포스팅에서 데이터 구축 실습을 마쳤습니다. 이제 준비된 seoul_h_dong 데이터를 가지고 실제 서비스에 필요한 질문을 던지고 답을 얻어낼 시간입니다.이번 포스팅에서는 MySQL의 핵심 공간 함수들을 총망라하고, 대용량 데이터를 다룰 때 필수적인 공간 인덱스를 활용한 쿼리 성능 최적화, 그리고 실제 애플리케이션과의 통합 사례까지 다루며 시리즈를 마무리하겠습니다.1. 핵심 공간 함수 .. 더보기 MySQL 공간 데이터 가이드 2/3 - 대한민국 공공 데이터로 DB 구축 실습 [MySQL 공간 데이터 가이드 2/3] 대한민국 공공 데이터로 DB 구축 실습안녕하세요! 지난 [MySQL 공간 데이터 가이드 1/3 - OGC 표준과 개념 알아보기] 포스팅에서는 OGC 표준, 지오메트리 객체 모델, 좌표 기준 체계(CRS) 등 공간 데이터베이스의 핵심 이론을 다뤘습니다. 이제 탄탄한 이론을 바탕으로 실제 코드를 작성해 볼 시간입니다.이번 포스팅에서는 빈 데이터베이스에서 시작하여 실제 대한민국 공공 데이터를 적재하고 운영 가능한 공간 데이터베이스를 구축하는 전 과정을 포스팅으로 안내합니다. 백엔드 개발자로서 직접 데이터를 다루고 테이블을 생성하는 구체적인 방법을 익힐 수 있을 것입니다.1. 개발 환경 설정 및 DB 초기화안정적이고 재현 가능한 개발 환경을 위해 Docker를 사용하는 .. 더보기 MySQL 공간 데이터 가이드 1/3 - OGC 표준과 개념 알아보기 [MySQL 공간 데이터 가이드 1/3] OGC 표준과 개념 알아보기안녕하세요! 최근 위치 기반 기능을 다루는 프로젝트를 진행하면서, 백엔드에서 공간 데이터(Spatial Data)를 효율적으로 다루는 것이 서비스의 성능과 확장성에 얼마나 중요한지 다시 한번 체감하게 되었습니다. 이 경험을 바탕으로, 저처럼 공간 데이터를 처음 접하거나 더 깊이 있게 이해하고 싶은 개발자분들을 위해 직접 공부하고 정리한 내용을 공유하고자 합니다.앞으로 총 3편의 시리즈에 걸쳐, OGC(Open Geospatial Consortium) 표준을 기반으로 MySQL에서 공간 데이터를 효과적으로 다루는 방법을 A부터 Z까지 알아보겠습니다. 첫 번째 포스팅에서는 공간 데이터베이스의 근간을 이루는 OGC 표준의 핵심 아키텍처와 객체.. 더보기 사이트 신뢰성 엔지니어링(SRE) 소개 사이트 신뢰성 엔지니어링(SRE) 소개1. 소개 (Introduction)"서버가 다운됐어요!" 이 말은 모든 개발팀과 비즈니스에 악몽과도 같습니다. 서비스의 신뢰성(Reliability)은 사용자 만족도와 비즈니스 성공에 직접적인 영향을 미칩니다. 사이트 신뢰성 엔지니어링(Site Reliability Engineering, SRE)은 바로 이 '신뢰성'이라는 문제를 소프트웨어 엔지니어링의 관점에서 접근하여 해결하는 체계적인 방법론입니다.SRE는 Google에서 시작된 개념으로, "소프트웨어 엔지니어에게 운영(Operations) 업무를 맡겼을 때 일어나는 일"이라고 요약할 수 있습니다. 즉, 반복적이고 수동적인 운영 업무를 자동화하고, 데이터 기반의 의사결정을 통해 서비스의 신뢰성을 측정하고 개선하는.. 더보기 Spring AI와 Oracle AI Vector Search 연동하기 Spring AI와 Oracle AI Vector Search 연동하기1. 소개 (Introduction)AI 기반 애플리케이션을 구축할 때, RAG(검색 증강 생성) 패턴은 LLM(거대 언어 모델)의 능력을 외부 데이터와 결합하는 핵심적인 방법론이다. 이 RAG의 중심에는 텍스트 데이터를 벡터로 변환하여 저장하고, 유사도 기반으로 빠르게 검색하는 벡터 데이터베이스(Vector Database)가 있다.이 글에서는 Spring AI 프레임워크와, 세계적으로 널리 사용되는 관계형 데이터베이스인 Oracle Database 23c에 도입된 AI Vector Search 기능을 함께 사용하여 RAG 애플리케이션을 구축하는 방법을 알아본다. 2. Oracle AI Vector SearchOracle Databa.. 더보기 Fast Follower를 넘어 Deep Follower로: 우리의 성장 전략을 한 단계 레벨업하기 [FEConf 2025 미리보기] 컨퍼런스에서 발견하는 FE들의 성장 청사진 ==> 이글을 읽고 평소 나의 생각과 관점을 정리해보고 싶어서 정리한 글입니다.Fast Follower를 넘어 Deep Follower로: 우리의 성장 전략을 한 단계 레벨업하기나는 지금까지 "프론티어가 되지는 못해도 패스트 팔로워(Fast Follower)는 되어야 한다"는 기조 아래, Google과 같은 선도 기업들이 내놓은 좋은 기술들을 빠르게 학습하고 적용하며 달려왔고 팀원들에게도 이런 가성비 전략을 강조해 왔습니다. 이 전략은 최소한의 노력으로 최신 기술의 이점을 빠르게 활용하며 경쟁력을 유지할 수 있기때문 입니다. 나는 이방식이 매우 실용적이고 성공적인 방식이라고 항상 생각해 왔습니다.나의 개발자로써 패스트 팔로워 전.. 더보기 이전 1 2 3 4 다음