분류 전체보기 269

Docker 기초 배우기

Docker를 사용하는 이점환경 구축 시간 단축인프라를 코드화하여 누구나 동일한 환경을 구축할 수 있음CI, CD 등의 자동화 소프트웨어와 잘 어울림컨테이너란?화물선 등에서 사용되는 격리되고 패키징된 상자와 같습니다. 인프라의 컨테이너도 마찬가지로, 서버 상에서 격리된 앱 공간을 만들 수 있는 기술입니다. Docker 외에도Linux ContainersHyper-V 컨테이너Windows 컨테이너 등이 있지만, Linux에서의 사용 편의성 때문에 Docker가 인기를 얻고 있는 듯합니다.가상화와 컨테이너(Docker)의 차이Docker(컨테이너)메모리 상에 존재게스트 OS가 없음메모리 상에 존재하므로 데이터는 일시적Dockerfile로 코드화 가능가상화디스크 상에 존재호스트 OS와 게스트 OS로 나뉨항상 ..

Docker 2024.03.30

Go 개발할 때 필요한 Makefile 작성해보기

안녕하세요? Go를 사용하여 제품을 만들 때, Makefile을 사용하여 빌드를 지정하는 경우가 많습니다. 이유는 다음과 같습니다.버전 정보 등을 삽입하기에 편리합니다.여러 바이너리를 출력할 때 편리합니다.Go의 빌드 옵션을 지정하는 데 여러 가지가 있어 정리해두고 싶습니다.코드 생성기로 미리 작성해야 하는 부분이 있고, 그것을 고려하면 Makefile 등으로 정리하고 싶습니다.그래서 이번에는 프로젝트가 커져가는 중에 어떤 Makefile 작성 방법을 사용하고 있는지 소개하고자 합니다. ** 목 차 **Step 1. 버전 정보를 삽입하기버전 정보를 어느 파일에 작성할지에 대한 논의첫 번째 MakefileStep 2. -race나 -installsuffix 등 옵션을 환경 변수로 지정하기Step 3. 외부..

Go 2024.03.25

React useReducer 완벽 이해

안녕하세요? 오늘은 React의 useReducer에 대해 완벽히 이해하는 시간을 가져볼까 합니다. ** 목차 **React 상태 관리의 최적 접근 방식useState와 useReducer 기본useState 사용 예시useReducer 사용 예시두 개의 훅 비교useReducer를 활용한 복잡한 상태 관리의 장점상태 업데이트 로직의 분리와 재사용성이벤트 소스 모델로서의 활용복잡한 상태 변경의 명확화Immer를 활용한 상태 업데이트 간소화useReducer와 Immer의 통합useState를 이용한 Immer 활용최적의 방법과 성능useState와 useReducer의 적절한 사용성능에 대한 영향React에서의 최상의 사례 예시결론React 상태 관리의 최적 접근 방식 React에서는 컴포넌트 상태를 관..

Javascript 2024.03.19

Hono 웹 프레임워크 소개

안녕하세요? Cloudflare에서 밀고 있는 Hono에 대해 간단히 알아 보겠습니다. 공식 웹 사이트 Hono - Ultrafast web framework for the EdgesHono is a small, simple, and ultrafast web framework for the Edges. It works on Cloudflare Workers, Fastly Compute, Deno, Bun, Vercel, Netlify, AWS Lambda, Lambda@Edge, and Node.js. Fast, but not only fast.hono.dev ** 목 차 **Hono 웹 프레임워크 소개create-hono 명령어Cloudflare Workers3분 내에 배포하기응답 보내기, 요청 처리하..

Javascript 2024.03.06

2024 React 리액트 치트 시트

안녕하세요? 오늘은 리액트 초보자가 볼 만한 치트 시트 개념으로 모던 리액트에서 다루는 내용을 빠르게 훑어 보도록 하겠습니다. ** 목 차 **React 요소 (Elements)리액트 요소 속성 (Element Attributes)리액트 요소 스타일 (Element Styles)React 프래그먼트 (Fragments)리액트 컴포넌트React PropsReact Children PropsReact 조건문 (Conditionals)리액트 리스트 (Lists)리액트 컨텍스트 (React Context)리액트 훅 (React Hooks)React useState 훅리액트 useEffect 훅React useRef리액트 useContextReact useCallbackReact useMemoReact 요소 (E..

Javascript 2024.03.04

Go 언어 개발 환경 설정 - go mod init과 그 필요성

안녕하세요? Go 언어에 푹 빠져서 요즘 계속 배우고 있는데요. Go 언어(일명 Golang)는 Google에서 개발한 정적 타입 언어로 빠르고 안전한 프로그램을 작성하는 데 많이 사용됩니다. 그러나 처음 Go 언어를 접할 때 go mod init이라는 명령어를 만나면 이게 뭔지 혼란스러울 수 있는데요. 이 글에서는 go mod init가 무엇이며 왜 필요한지 자세히 살펴 보겠습니다. ** 목차 **Go 모듈이란?go mod init이란?go mod init이 왜 필요한가요?Go 언어에서의 모듈 관리도구 체인이란?외부 패키지 github.com/gin-gonic/gin에 대하여Python의 의존성 관리와 모듈 관리Java의 의존성 관리와 모듈 관리결론Go 모듈이란?Go 언어에서는 코드 패키지를 구성하고 ..

Go 2024.03.03

zsh 쉘에서 편리한 fish 쉘로 기본 쉘 변경하기

안녕하세요? M1 맥북 에어 구매 기념 기본 zsh 쉘에서 편리하다고 하는 fish 쉘로 변경했습니다. ** 목 차 ** Home Brew로 zsh 설치 설치가 완료되었지만 다음과 같은 경고 메시지가 표시된 경우 fish 설치 터미널의 기본 쉘을 fish로 변경하기 bobthefish 설치하여 편리하게 사용하기 fisher 설치 bobthefish 설치 터미널 환경 설정에서 폰트 변경 그 외에도 fish로 Home Brew 사용 가능하게 하기 Home Brew로 zsh 설치 $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” 설치가 완료되었지만 다음과 같은 경고 메시지가 표시된 경우..

Codings 2024.03.03

Go 언어의 net/http 패키지의 http.HandleFunc이 실행되는 방식 이해하기

안녕하세요? 오늘은 Go 기본 문법을 알고 계시는 분 혹은 Request 요청이 들어왔을 때 함수가 어떻게 실행되는지 궁금하신 분, 또는 Go의 웹 응용 프레임워크를 능숙하게 활용하고 싶은 분들을 위해 조금은 지루한 글을 쓸까 합니다. 웹 응용 프로그램을 개발할 때, 요청이 들어오면 해당 경로에 따라 함수를 실행해야 합니다. 그런데 웹 응용 프레임워크를 사용하면 내부에서 어떤 처리가 이루어지는지 몰라도 동작시킬 수 있습니다. 하지만 웹 응용 프레임워크를 올바르게 활용하려면 내부 구현에 대한 이해가 필요합니다. 그래서 이번 기회에 Go의 net/http 패키지 문서를 참조하여 요청이 들어왔을 때 함수가 어떻게 실행되는지 조사해보았습니다. 특히 http.Handle과 http.HandleFunc과 같은 유사..

Go 2024.03.03

JSR: 새로운 Javascript 패키지 레지스트리

JSR: 새로운 Javascript 패키지 레지스트리 최근에 JSR이라는 용어가 화제가 되고 있습니다. JSR은 JavaScript Registry의 약자로, 다음 세대 JavaScript/TypeScript 패키지 레지스트리를 의미합니다.이 글은 JSR에 대한 작성자의 단편적인 정보를 모아 작성한 것입니다. 오류가 포함되어 있을 수 있습니다. 그럴 경우 지적해 주시면 감사하겠습니다.npm과 어떤 점이 다를까요?npm은 Node Package Manager의 약자로, 이름 그대로 Node.js용으로 개발된 패키지 매니저 및 해당 패키지 매니저가 사용하는 레지스트리입니다. 그 편리함 때문에 Node.js 이외의 브라우저나 다른 런타임에서도 사용됩니다. 예를 들어 Svelte는 브라우저용 패키지이지만, No..

Javascript 2024.03.02

Go 언어로 웹 애플리케이션 만든 경험담

시작하기Go 언어를 사용하여 웹 애플리케이션을 만들어 보았는데요. 스크래치에서부터 작성했기 때문에 작성 도중 계속된 시행착오를 겪으며 최종적으로는 웹 애플리케이션 모양새가 구현될 수 있었습니다. 그래서 MVC 애플리케이션을 구성할 때 특히 컨트롤러 계층을 중심으로 몇가지 생각을 정리해 볼까 합니다. ** 목 차 **시작하기ViewController리퀘스트 핸들러(Request Handler)라우팅(Routing)필터(Filter)리퀘스트 컨텍스트(Request Context)ModelView작성한 웹 애플리케이션은 API 서버였기 때문에 실제로 여기에 대한 지식은 많지 않습니다. 뷰가 있는 앱을 만든다면 개인적으로는 React 등을 사용하여 프론트엔드 애플리케이션으로 구현하고 Go 부분은 API 서버 역..

Go 2024.03.01