전체 글 240

Go 모듈(go mod)과 의존성 관리: 실무에서 헷갈리지 않는 기준 정리

프로젝트 구조까지 정리했다면, 이제 Go 개발에서 빠질 수 없는 주제인의존성 관리, 즉 go mod를 살펴볼 차례다.예전의 GOPATH 기반 개발을 경험한 사람이라면go mod 도입 이후 “훨씬 편해졌다”는 말을 많이 하게 된다.다만 실제로 쓰다 보면go.mod, go.sum, replace, tidy 같은 개념에서 한 번쯤 헷갈리게 된다.이 글에서는go mod의 기본 개념go.mod / go.sum의 역할실무에서 자주 쓰는 명령어와 주의점을 중심으로 정리한다.Go 모듈이란 무엇인가Go 모듈은 프로젝트 단위의 의존성 관리 시스템이다.프로젝트가 어떤 라이브러리를 사용하는지어떤 버전을 사용하는지어떻게 재현 가능한 빌드를 보장하는지를 명확하게 관리한다.Go 1.16 이후부터는go mod가 사실상 표준 방식이 ..

backend 2026.01.20

React Native API 연동 기초: fetch와 axios 사용법 정리

네비게이션까지 만들었다면이제 앱의 형태는 거의 갖춰졌다.다음 단계는“실제 데이터”를 붙이는 것이다.서버에서 목록 가져오기상세 정보 요청로딩 처리에러 처리React Native에서 API 연동은웹과 크게 다르지 않지만,처음에는 몇 가지 포인트에서 헷갈린다.이 글에서는fetch와 axios를 기준으로 API 연동의 기본 흐름을입문자 + 실무 기준으로 정리한다.이 글이 필요한 사람서버 데이터를 화면에 띄우고 싶은 경우fetch와 axios 중 뭘 써야 할지 고민되는 경우API 호출 위치와 타이밍이 헷갈리는 경우React Native에서 API 연동 흐름전체 흐름을 먼저 보면 이렇다.화면 진입API 요청로딩 상태 표시데이터 성공/실패 처리화면 렌더링이 흐름은React Native든 웹이든 거의 동일하다.[이미지..

react-native 2026.01.20

Go 프로젝트 구조와 패키지 설계: 실무에서 흔히 쓰는 기준 정리

동시성까지 한 번 훑었다면, 이제는**“Go 프로젝트를 어떻게 구성하는 게 좋은가”**라는 질문으로 넘어오게 된다.Go는 문법뿐만 아니라프로젝트 구조와 패키지 설계에서도 강한 의견을 가진 언어다.처음에는 “너무 자유로운 것 아닌가?”라는 느낌을 받을 수 있지만,몇 가지 기준만 잡아두면 오히려 유지보수가 쉬워진다.이 글에서는Go 프로젝트의 기본 구조패키지를 나누는 기준실제로 많이 사용하는 디렉터리 패턴을 중심으로 정리한다.Go 프로젝트 구조에는 정답이 없다먼저 전제부터 정리할 필요가 있다.Go에는 공식적으로 강제되는 프로젝트 구조가 없다Spring, Django처럼“이 디렉터리는 반드시 이 역할” 같은 규칙이 존재하지 않는다.대신 Go는 다음 원칙을 강하게 밀고 있다.패키지는 작게의존성은 한 방향으로불필요..

backend 2026.01.19

React Native 하단 탭 네비게이션 구현하기: Tab Navigation 기본 구조

Stack Navigation으로화면 이동까지 구현했다면이제 앱 구조가 조금 보이기 시작한다.하지만 실제 앱을 떠올려보면대부분 이런 형태다.하단에 탭이 있고홈 / 검색 / 설정 같은 화면이 고정되어 있음화면을 왔다 갔다 해도 탭은 유지됨이 구조를 만드는 게**Tab Navigation(탭 네비게이션)**이다.이번 글에서는react-navigation 기반 하단 탭 구조를 처음부터입문자 기준으로 정리한다.이 글이 필요한 사람하단 탭이 있는 앱 구조를 만들고 싶은 경우Stack과 Tab을 어떻게 같이 써야 할지 헷갈리는 경우실제 앱 같은 구조로 확장하고 싶은 경우Tab Navigation이 필요한 이유Stack Navigation만 쓰면화면이 계속 쌓이는 구조가 된다.홈 → 상세 → 설정 → 다시 홈이런 흐..

react-native 2026.01.19

Go 언어 select 문 정리: 여러 channel을 동시에 다루는 방법

channel까지 이해했다면, 이제 Go 동시성의 흐름을 실제로 제어하는select 문을 살펴볼 차례다.goroutine과 channel을 사용하다 보면“여러 channel 중 하나라도 준비되면 처리하고 싶다”는 상황이 자연스럽게 등장한다.이때 사용하는 문법이 바로 select다.이 글에서는select 문이 어떤 역할을 하는지동작 방식과 기본 규칙실무에서 자주 사용하는 패턴을 중심으로 정리한다.select 문이 필요한 이유channel 하나만 다룰 때는 하지만 channel이 여러 개라면 이야기가 달라진다.// 이런 상황은 불가능하다if 여러 channel을 동시에 기다리기 위해Go는 select라는 전용 문법을 제공한다.select 기본 구조select {case v := 준비된 case 하나만 실행실..

backend 2026.01.18

React Native 네비게이션 기초: react-navigation으로 화면 전환 구현하기

입력과 버튼까지 다뤘다면이제 앱다운 앱을 만들기 위한 마지막 기본 퍼즐이 남는다.바로 화면 전환이다.로그인 화면 → 홈 화면목록 화면 → 상세 화면뒤로 가기 처리React Native에는화면 전환이 기본으로 제공되지 않는다.그래서 대부분의 앱에서react-navigation 라이브러리를 사용한다.이 글에서는react-navigation을 처음 쓰는 사람 기준으로개념부터 가장 기본적인 사용법까지 정리한다.이 글이 필요한 사람화면이 하나짜리 앱에서 다음 단계로 가고 싶은 경우페이지 이동 개념이 아직 헷갈리는 경우react-navigation이 왜 필요한지 궁금한 경우React Native에 네비게이션이 없는 이유웹에서는 이런 흐름이 익숙하다.URL 변경페이지 이동뒤로 가기하지만 React Native 앱은단..

react-native 2026.01.18

Go 언어 channel 기초: goroutine 간 통신과 동기화 방법

goroutine의 개념을 이해했다면, 이제 거의 항상 함께 사용되는channel을 다룰 차례다.goroutine이 “동시에 실행되는 작업 단위”라면,channel은 그 작업들 사이를 연결하는 통로에 해당한다.Go에서는 공유 메모리보다 메시지 전달을 우선하는 방식으로 동시성을 설계한다.이 글에서는channel의 기본 개념송수신 방식과 동작 특성실제로 자주 사용하는 패턴을 중심으로 정리한다.channel이란 무엇인가channel은 값을 주고받기 위한 통로다.ch := make(chan int)chan 타입 형태로 선언같은 타입의 값만 송수신 가능goroutine 간에 값을 안전하게 전달하기 위한 수단이며,락(lock)을 직접 다루지 않아도 동기화를 가능하게 해준다.[이미지: Go channel 기본 구조]..

backend 2026.01.17

React Native 스크롤 처리 정리: ScrollView와 FlatList 차이와 선택 기준

화면에 내용이 조금만 늘어나면바로 이런 상황을 마주친다.화면 아래가 잘려서 안 보인다리스트를 만들었는데 스크롤이 안 된다ScrollView로 했더니 느려진다React Native에서스크롤은 기본이 아니다.명시적으로 컴포넌트를 선택해야 한다.이 글에서는ScrollView와 FlatList의 차이와 사용 기준을실무에서 헷갈리지 않게 정리한다.이 글이 필요한 사람화면이 길어졌는데 스크롤이 안 되는 경우ScrollView와 FlatList 차이를 잘 모르는 경우리스트 성능 이슈가 걱정되는 경우React Native에서 스크롤이 필요한 이유React Native의 View는스크롤 기능이 없다.콘텐츠가 화면을 넘어가면그냥 잘린다.그래서 스크롤이 필요한 화면에서는반드시 전용 컴포넌트를 사용해야 한다.ScrollVie..

react-native 2026.01.17

Go 언어 goroutine과 동시성 기초: 병렬 처리의 기본 단위 이해하기

defer까지 이해했다면, 이제 Go를 선택하는 가장 큰 이유 중 하나인동시성(concurrency) 을 다룰 차례다.Go의 동시성은 복잡한 스레드 제어 대신goroutine과 channel이라는 비교적 단순한 개념을 중심으로 설계되어 있다.문법은 간단하지만, 개념을 제대로 이해하지 않으면 예상치 못한 동작을 만들기 쉽다.이 글에서는goroutine이 무엇인지어떻게 실행되고 관리되는지실제로 써보면서 느끼는 특징을 중심으로 정리한다.goroutine이란 무엇인가goroutine은 Go에서 제공하는 경량 스레드(lightweight thread) 다.go doWork()go 키워드를 붙이면 새로운 goroutine에서 함수가 실행된다함수 호출 자체는 즉시 반환된다이 한 줄로 동시 실행이 가능해진다는 점이Go..

backend 2026.01.16

React Native 스타일링 기초: StyleSheet와 Flexbox로 레이아웃 잡기

기본 컴포넌트(View, Text, Image)를 써서화면에 뭔가 띄우는 데까지는 금방 온다.그다음부터 막히는 지점은 거의 항상 같다.왜 가운데 정렬이 안 되지?웹처럼 margin: auto가 안 먹히네?가로 정렬은 했는데 세로가 이상하다이건 React Native가웹이 아니라 Flexbox 기반 레이아웃이기 때문이다.이 글에서는React Native 스타일링의 핵심인StyleSheet와 Flexbox 개념을 입문자 기준으로 정리한다.이 글이 필요한 사람React Native에서 레이아웃이 자꾸 어긋나는 경우Flexbox 개념이 아직 헷갈리는 경우웹 CSS 감각으로 접근했다가 막힌 경우React Native 스타일링 기본 개념React Native에서는CSS 파일을 따로 쓰지 않는다.대신 JavaScri..

react-native 2026.01.16