전체 글(105)
-
GIS 및 3D/웹 기술 용어 정리
GIS & 지도 프로토콜 용어OGC (Open Geospatial Consortium)한 줄 요약: 공간 정보계의 W3C(웹 표준 기구).설명: 지도와 위치 데이터는 회사마다 포맷이 제각각이면 연동이 안 됩니다. 그래서 "전 세계 모든 지도 시스템이 공통으로 따르자"고 만든 국제 표준 기구입니다. 아래 나오는 WMS, WFS 등이 모두 OGC에서 만든 규격입니다.WMS (Web Map Service)한 줄 요약: 지도를 이미지(사진) 통째로 찍어서 주는 서비스.설명: 서버가 지도를 PNG나 JPEG 같은 그림 파일로 렌더링해서 클라이언트에 던져줍니다. 브라우저는 가볍지만, 사용자가 지도 위의 건물 하나를 클릭해서 색을 바꾸거나 정보를 가져오는 인터랙션은 어렵습니다.WFS (Web Feature Servi..
2026.10.11 -
AI가 코드를 써주는 시대, 개발자의 진짜 실력은 무엇인가?
개발자의 일은 오랫동안 “코드를 잘 쓰는 일”로 이해되어 왔다.물론 틀린 말은 아니다. 개발자는 결국 코드를 통해 문제를 해결한다. 하지만 AI 코딩 도구가 일상으로 들어온 지금, 이 정의는 조금 부족해졌다. 이제 코드는 더 이상 개발자만이 처음부터 끝까지 손으로 작성하는 산물이 아니다. ChatGPT, GitHub Copilot, Cursor, Claude Code 같은 도구는 함수 초안, 테스트 코드, 리팩토링 방향, 문서, 에러 원인 분석까지 빠르게 만들어낸다.Stack Overflow 2025 Developer Survey에 따르면 응답자의 84%가 개발 과정에서 AI 도구를 사용하거나 사용할 계획이 있다고 답했고, 전문 개발자의 51%는 매일 AI 도구를 사용한다고 답했다. 하지만 동시에 AI ..
2026.07.06 -
React/Next.js 프로젝트에서 상태 관리 설계하기
상태 관리는 라이브러리 선택이 아니라 소유권, 렌더링 위치, 생명주기 설계다React 프로젝트를 시작하면 상태 관리는 대체로 단순하다. const [isOpen, setIsOpen] = useState(false);const [keyword, setKeyword] = useState("");const [selectedId, setSelectedId] = useState(null); 하지만 프로젝트가 커지면 질문이 달라진다.이 상태를 useState에 둘까?Context에 둘까?Zustand에 둘까?TanStack Query에 둘까?URL에 둘까?Server Component에서 가져올까?Server Action으로 바꿀까?localStorage에 저장할까? 상태 관리가 어려워지는 이유는 상태가 많아져서만..
2026.06.29 -
서버 상태와 클라이언트 상태 구분하기
상태 관리는 “어디에 저장할까”가 아니라 “누가 소유하는가”의 문제다프론트엔드 애플리케이션이 작을 때 상태 관리는 단순해 보인다. const [user, setUser] = useState(null);const [isModalOpen, setIsModalOpen] = useState(false);const [keyword, setKeyword] = useState(""); 하지만 기능이 늘어나면 상태는 빠르게 복잡해진다.사용자 정보, 권한, 상품 목록, 검색 필터, 페이지 번호, 모달 열림 여부, 폼 입력값, 선택된 행, 정렬 조건, 알림 배지, 로딩 상태, 에러 상태, 캐시, WebSocket 메시지, optimistic update까지 모두 “상태”라는 이름으로 섞이기 시작한다.이때 많은 팀이 다음 ..
2026.06.26 -
실무 Promise 아키텍처: 취소, 타임아웃, 재시도, 메모리와 작업 수명
Promise와 async/await 깊이 이해하기 4/4들어가며Promise 코드를 작성하는 것은 어렵지 않다.어려운 것은 작업의 생명주기를 설계하는 일이다.사용자가 페이지를 떠나면 요청을 중단해야 하는가?timeout이 발생하면 실제 네트워크 요청도 종료되는가?부모 작업이 실패하면 자식 작업은 어떻게 되는가?어떤 오류를 재시도해도 안전한가?영원히 pending인 Promise는 무엇을 메모리에 유지하는가?하나가 아닌 여러 비동기 값은 무엇으로 표현해야 하는가? Promise는 성공과 실패를 표현하지만 다음 요소를 직접 제공하지 않는다.취소timeout자원 소유권재시도 정책멱등성backpressure구조적 동시성 이 요소들은 애플리케이션 아키텍처가 별도로 설계해야 한다.1. Promise에는 취소가 없..
2026.06.25 -
Promise 동시성 설계: 순차 실행, 조합자, Critical Path
Promise와 async/await 깊이 이해하기 3/4들어가며async/await 코드는 읽기 쉽다.그러나 너무 자연스럽게 읽히기 때문에 오히려 불필요한 순차 실행을 만들기 쉽다. const user = await fetchUser();const settings = await fetchSettings(); 두 작업이 서로 독립적이라면 이 코드는 존재하지 않는 의존 관계를 만들어낸다.fetchUser 완료 ↓fetchSettings 시작 Promise 동시성 설계의 핵심은 Promise.all()을 외우는 것이 아니다.다음 질문에 답하는 것이다.어떤 작업이 다른 작업의 결과를 필요로 하는가?어떤 작업은 동시에 시작할 수 있는가?실패했을 때 나머지 작업은 어떻게 해야 하는가?동시에 몇 개까지..
2026.06.24