드리프트의 뉴 코딩 이야기
close
프로필 배경
프로필 로고

드리프트의 뉴 코딩 이야기

  • 분류 전체보기 (404)
    • Javascript (170)
    • Go (140)
    • Rust (33)
    • Python (30)
    • Docker (5)
    • Codings (10)
    • Linux (5)
    • Flutter (3)
    • Etc (8)
  • 홈
  • Javascript
  • Go
  • Rust
  • Python
Go에서 구조체 패킹(structure packing) 이해하기

Go에서 구조체 패킹(structure packing) 이해하기

Go 언어에서 구조체 두 개가 정확히 똑같은 필드를 가지고 있더라도, 하나가 다른 하나보다 메모리를 더 많이 또는 더 적게 요구할 수 있다는 사실이 놀라울 수 있는데요. 일반적으로 필요한 것보다 더 많은 메모리를 사용하지 않도록 하는 것이 좋기 때문에, 구조체 패킹(structure packing)이라는 기술과 Go 프로그래밍 언어에 어떻게 적용할 수 있는지 알아보겠습니다.예제 구조체 만들기다음 예제 코드를 살펴보겠습니다. 이 코드는 두 개의 사용자 정의 타입을 정의하는데, 그 중 하나는 세 개의 필드를 포함하는 구조체입니다.package maintype City uint8const ( NewYork City = iota London Paris Mumba..

  • format_list_bulleted Go
  • · 2024. 12. 28.
  • textsms
Go 언어의 reflect 패키지: 첫걸음부터 실전 활용까지

Go 언어의 reflect 패키지: 첫걸음부터 실전 활용까지

Go 언어의 reflect 패키지: 첫걸음부터 실전 활용까지Go 언어를 사용하면서 reflect 패키지에 대해 어려움을 느끼는 분들이 많을 것 같은데요. 저도 처음에는 잘 사용하지 않았는데, encoding/json과 같은 패키지를 이용해 Excel에 데이터를 입출력하는 기능을 구현하면서 어느 정도 이해하게 되었답니다. 여기서는 최소한의 코드로 reflect 패키지를 간단히 설명해보겠습니다. reflect 패키지란?reflect 패키지는 런타임에 반사를 구현하여 프로그램이 임의의 타입을 가진 객체를 조작할 수 있게 해줍니다. 일반적으로는 정적 타입 interface{}의 값을 받아 해당 값의 동적 타입 정보를 추출하는 데 사용되는데요. TypeOf를 호출하면 Type을 반환하고, ValueOf를 호출하면..

  • format_list_bulleted Go
  • · 2024. 11. 8.
  • textsms
Go 언어의 리플렉션, 제대로 활용하는 방법!

Go 언어의 리플렉션, 제대로 활용하는 방법!

Go 언어의 리플렉션, 제대로 활용하는 방법! Go 언어의 리플렉션(Reflection) 기능, 왠지 어렵고 복잡하게 느껴지시나요? 하지만 리플렉션은 Go 언어의 강력한 기능 중 하나이며, 제대로 이해하고 활용하면 코드의 유연성과 확장성을 크게 높일 수 있습니다. 이 글에서는 Go 언어의 리플렉션 기능을 쉽고 명확하게 설명하고, 실제 코드 예시를 통해 제대로 활용하는 방법을 알려드리겠습니다.  Go 언어의 리플렉션, 핵심 개념부터 짚고 넘어가자! 리플렉션이란?모든 변수를 interface{} 타입으로 다루면서, 변수의 실제 값을 기반으로 유연한(동적 타입 언어처럼) 연산을 수행하는 기능입니다.  Go 언어의 타입 Go 언어는 정적 타입 언어입니다. 즉, 변수의 타입이 컴파일 시점에 결정됩니다.type M..

  • format_list_bulleted Go
  • · 2024. 10. 30.
  • textsms
Go 언어 GC 오버헤드 문제와 효과적인 해결 방안

Go 언어 GC 오버헤드 문제와 효과적인 해결 방안

Go 언어 GC 오버헤드 문제와 효과적인 해결 방안서론안녕하세요, Golang 개발자 여러분! 오늘은 Go 언어의 Garbage Collector(GC)가 어떤 상황에서 오버헤드를 발생시키는지, 그리고 이를 어떻게 효과적으로 회피할 수 있는지에 대해 이야기해보려고 합니다. Go의 GC는 일반적으로 매우 효율적이지만, 특정 조건에서는 성능에 영향을 줄 수 있는 경우가 있습니다. 이를 이해하고 최적화하는 방법을 함께 알아볼까요? Go의 Garbage Collector란?Go 언어의 Garbage Collector는 동시 마크-스위프(Goroutine) GC를 사용합니다. 이 방식은 마크 단계와 스위프 단계로 나뉘며, 사용자 프로그램과 동시에 동작하여 Stop the World(StW) 시간을 최소화합니다. ..

  • format_list_bulleted Go
  • · 2024. 10. 6.
  • textsms
Golang 멀티 모듈 리포지토리와 효과적인 버전 관리 전략

Golang 멀티 모듈 리포지토리와 효과적인 버전 관리 전략

Golang 멀티 모듈 리포지토리와 효과적인 버전 관리 전략서론안녕하세요, Golang 개발자 여러분! 오늘은 멀티 모듈 리포지토리(Multi-module Repository)와 버전 관리에 대해 심도 있게 다뤄보려고 합니다. 최근 많은 프로젝트들이 Monorepo 방식을 채택하면서 여러 모듈을 하나의 리포지토리에서 관리하고 있는데요, 이 과정에서 발생하는 다양한 도전 과제들을 어떻게 해결할 수 있는지 함께 알아보겠습니다. 이 글을 통해 여러분의 프로젝트 관리에 새로운 관점을 제공하고자 합니다. 함께 시작해볼까요? 멀티 모듈 리포지토리란?멀티 모듈 리포지토리는 하나의 Git 리포지토리 내에 여러 개의 Go 모듈이 존재하는 구조를 의미합니다. 공식 문서(Go Modules FAQ)에 따르면, 리포지토리 내..

  • format_list_bulleted Go
  • · 2024. 10. 6.
  • textsms
Go 언어에서 Fake Time 사용으로 병렬 처리 테스트의 혁신

Go 언어에서 Fake Time 사용으로 병렬 처리 테스트의 혁신

Go 언어에서 Fake Time 사용으로 병렬 처리 테스트의 혁신서론안녕하세요, 개발자 여러분! 오늘은 Go 언어에서 병렬 처리 테스트를 보다 효율적으로 수행할 수 있는 Fake Time 도구에 대해 이야기해보려고 합니다. Go의 Goroutine은 강력한 병렬 처리 기능을 제공하지만, 이를 테스트할 때 겪는 어려움이 많습니다. 이번 포스트에서는 Fake Time을 활용하여 이러한 문제들을 어떻게 해결할 수 있는지 살펴보겠습니다.  Fake Time이란 무엇인가?Fake Time은 테스트 환경에서 시간을 조작할 수 있게 해주는 도구입니다. 이를 통해 시간에 의존적인 코드의 테스트를 빠르고 안정적으로 수행할 수 있습니다. 예를 들어, Timer나 Ticker를 사용하는 코드는 실제 시간을 기다려야 하기 때..

  • format_list_bulleted Go
  • · 2024. 10. 6.
  • textsms
  • navigate_before
  • 1
  • ···
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • ···
  • 15
  • navigate_next
태그
  • #타입스크립트
  • #Golang
  • #Rust
  • #성능 최적화
  • #javascript
  • #Go
  • #Go 언어
  • #파이썬
  • #typescript
  • #프로그래밍
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바