분류 전체보기 240

Go 언어 에러 처리 방식 정리: error 인터페이스와 실전 패턴

인터페이스까지 이해했다면, 이제 Go를 Go답게 만드는 핵심 주제인에러 처리(error handling) 를 살펴볼 차례다.Go의 에러 처리는 종종 “번거롭다”, “코드가 길어진다”는 평가를 받는다.하지만 실제로 사용해보면, 이 방식이 에러를 숨기지 않고 드러내는 데 초점을 두고 있다는 걸 알게 된다.이 글에서는Go의 error 인터페이스 구조에러를 처리하는 기본 패턴실무에서 자주 쓰는 설계 방식을 중심으로 정리한다.Go에서 error는 인터페이스다Go에서 에러는 내장 타입이 아니라 인터페이스다.type error interface { Error() string}Error() 메서드를 구현하면 모두 error가 된다에러는 값(value)처럼 전달된다이 구조 덕분에,Go의 에러는 예외(exceptio..

backend 2026.01.15

React Native 기본 컴포넌트 정리: View, Text, Image부터 제대로 이해하기

Expo 프로젝트 구조를 한 번 훑어봤다면이제 진짜로 화면을 만드는 단계로 들어간다.React Native에서 화면은컴포넌트 조합으로 만들어진다.처음엔 태그 이름이 낯설어서 헷갈리지만,몇 개만 정확히 이해해두면이후 UI 작성이 훨씬 수월해진다.이 글에서는가장 기본이 되는 컴포넌트 3가지를실무 기준으로 정리한다.이 글이 필요한 사람React Native 화면 코드가 아직 낯선 경우와 역할이 헷갈리는 경우웹의 처럼 생각해도 되는지 궁금한 경우React Native 컴포넌트의 기본 개념React Native에는HTML 태그가 없다.대신,모바일 네이티브 UI에 대응되는 컴포넌트를 사용한다.웹처럼 보이지만실제로는 iOS / Android 네이티브 컴포넌트다.[이미지: React Native 컴포넌트와 네이티브 ..

react-native 2026.01.15

Go 언어 defer 정리: 자원 관리와 실행 순서 이해하기

에러 처리까지 익혔다면, 이제 Go 코드에서 거의 항상 함께 등장하는defer 문을 정리할 차례다.defer는 문법 자체는 단순하지만,언제 실행되는지, 어떤 순서로 동작하는지를 정확히 이해하지 않으면의도와 다른 코드가 만들어지기 쉽다.이 글에서는defer의 기본 동작 방식자원 관리에서의 사용 패턴실제로 자주 실수하는 포인트를 중심으로 정리한다.defer란 무엇인가defer는 함수 종료 시점에 실행될 코드를 등록하는 키워드다.defer fmt.Println("end")fmt.Println("start")실행 결과는 다음과 같다.startenddefer로 등록된 코드는 현재 함수가 return되기 직전에 실행된다정상 종료든, 에러 반환이든 동일하게 실행된다이 특성 때문에, defer는 자원 정리에 매우 잘 ..

backend 2026.01.14

Expo 프로젝트 구조 한 번에 정리하기: 처음 열면 보이는 파일들 이해하기

Expo로 프로젝트를 생성하고 나면생각보다 많은 파일이 한꺼번에 생긴다.이 파일들… 다 써야 하나?App.js만 보면 되는 거 아냐?건드리면 안 되는 건 뭐지?처음엔 구조를 정확히 이해하지 않아도앱은 실행된다.하지만 폴더 역할을 모르고 시작하면조금만 커져도 금방 헷갈린다.이 글에서는Expo 프로젝트를 처음 열었을 때 꼭 알아야 할 구조만실무 기준으로 정리한다.이 글이 필요한 사람Expo로 React Native 프로젝트를 처음 만든 경우App.js 외에 뭐가 뭔지 헷갈리는 경우나중에 구조를 어떻게 나눠야 할지 감이 안 오는 경우Expo 기본 프로젝트 구조 전체 보기Expo 기본 템플릿을 생성하면대략 이런 구조를 보게 된다.my-app├─ App.js├─ app.json├─ package.json├─ as..

react-native 2026.01.14

Go 언어 인터페이스(interface): 느슨한 결합과 다형성 이해하기

구조체와 메서드까지 익혔다면, 이제 Go 설계의 핵심이라고 할 수 있는interface를 이해할 차례다.Go 인터페이스는 다른 언어의 인터페이스나 추상 클래스와 개념적으로 비슷해 보이지만,사용 방식과 철학은 꽤 다르다.특히 “명시적으로 구현하지 않는다”는 점에서 처음 접하면 헷갈리기 쉽다.이 글에서는Go 인터페이스가 무엇인지어떻게 구현되는지실무에서 왜 자주 쓰이는지를 예제와 함께 정리해본다.interface란 무엇인가Go에서 인터페이스는 메서드 집합의 정의다.type Reader interface { Read() string}필드는 없다어떤 메서드를 가져야 하는지만 정의한다이 인터페이스를 구현하려면,해당 메서드를 가진 타입이면 자동으로 인터페이스를 만족한다.명시적인 implements가 없다Go 인..

backend 2026.01.13

React Native 개발 환경 설정: Expo vs CLI, 처음엔 무엇을 선택해야 할까

React Native를 시작하려고 하면가장 먼저 마주치는 선택지가 있다.Expo로 시작할 것인가,React Native CLI로 시작할 것인가.공식 문서를 봐도 둘 다 가능하다고 하고,검색해보면 의견도 제각각이다.이 글은React Native를 처음 시작하는 사람 기준으로Expo와 CLI의 차이를 정리하고,어떤 선택이 현실적인지 설명한다.이 글이 필요한 사람React Native를 이제 막 시작한 경우Expo와 CLI 차이로 고민 중인 경우“실무에서는 뭘 쓰는지” 감이 안 오는 경우전체 흐름 먼저 정리React Native 개발 환경은크게 두 가지 방식으로 나뉜다.Expo 기반 개발React Native CLI 기반 개발둘은 프로젝트 생성 방식부터 개발 경험까지 다르다.[이미지: Expo vs Reac..

react-native 2026.01.13

Go 언어 구조체와 메서드: 데이터와 동작을 함께 다루는 방법

제어문과 반복문까지 익혔다면, 이제부터는 코드를 어떻게 구조화할 것인가가 중요해진다.Go에서는 이 역할을 구조체(struct) 와 메서드(method) 가 담당한다.객체지향 언어에 익숙한 사람이라면 “클래스가 없는 객체지향”이라는 설명을 자주 접했을 텐데,실제로 Go의 구조체와 메서드를 이해하면 그 표현이 왜 나왔는지 자연스럽게 납득하게 된다.이 글에서는구조체가 어떤 역할을 하는지메서드는 왜 함수와 분리되어 있는지실제로 쓰면서 어떤 패턴이 많이 등장하는지를 중심으로 정리해본다.구조체(struct): 여러 값을 하나의 의미로 묶기구조체는 여러 필드를 하나의 타입으로 묶는 방법이다.type User struct { ID int Name string Age int}type 키워드로 새로운..

backend 2026.01.12

React Native란 무엇인가? 모바일 앱을 시작하기 전에 알아야 할 것들

요즘 모바일 앱을 만든다고 하면React Native를 한 번쯤은 반드시 듣게 된다.웹 개발을 조금이라도 해봤다면“JavaScript로 앱을 만든다”, “React로 모바일을 만든다”는 말이어느 정도는 감이 올 것이다.하지만 막상 시작하려고 하면 이런 생각이 든다.React랑 뭐가 다른 거지?웹이랑 앱은 완전히 다른 거 아니야?이걸로 실제 서비스가 가능한가?이 글은React Native를 처음 접하는 사람을 기준으로,개념부터 왜 쓰이는지까지 차분하게 정리한 글이다.이 글이 필요한 사람모바일 앱 개발을 처음 시작하려는 경우React는 해봤지만 React Native는 처음인 경우Flutter, Native와 비교하며 고민 중인 경우React Native란 무엇인가React Native는**JavaScrip..

react-native 2026.01.12

Go 언어 제어문과 반복문 정리: if, switch, for 제대로 이해하기

변수와 타입을 어느 정도 익히고 나면, 다음으로 자연스럽게 넘어가는 주제가 제어문과 반복문이다.Go는 “문법이 단순하다”는 평가를 많이 받지만, 이 부분에서 특히 그 특징이 잘 드러난다.다른 언어를 경험해본 사람이라면 익숙한 개념들이지만,Go에서는 의도적으로 제거된 문법과 명확하게 제한된 규칙들이 있다.처음엔 불편하게 느껴질 수 있지만, 실제로 써보면 코드 흐름이 정리된다는 느낌을 받게 된다.이 글은 Go의 if, switch, for 문을 중심으로왜 이렇게 설계됐는지, 실제로 쓰면서 느끼는 포인트를 함께 정리한다.if 문: 조건식은 단순하게Go의 if 문은 다른 언어와 큰 차이는 없지만, 몇 가지 중요한 제한이 있다.if x > 10 { fmt.Println("x is greater than 10..

backend 2026.01.11

GitHub 레포 처음 만들 때 Git 설정 정리: git remote부터 push까지

처음 GitHub 레포지토리를 만들면막상 다음 단계에서 이런 생각이 든다.이 로컬 폴더를 GitHub 레포랑 어떻게 연결하지?git remote는 언제 쓰는 거지?매번 검색해서 복붙하는데, 정리된 게 없네이 글은GitHub에서 새 레포지토리를 만든 직후, 로컬에서 처음 한 번 설정하는 과정을실무 기준으로 차분하게 정리한 포스팅이다.Git을 이미 조금 써본 사람이라도처음 세팅 단계는 은근히 헷갈리는 경우가 많다.이 글이 필요한 사람GitHub 레포지토리를 이제 막 만든 경우로컬 프로젝트를 기존 GitHub 레포와 연결하려는 경우git remote, origin 개념이 애매한 경우전체 흐름 먼저 보기GitHub 레포지토리 생성 후로컬에서 해야 할 작업은 크게 보면 이 순서다.GitHub에서 레포지토리 생성로..

git 2026.01.10