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

드리프트의 뉴 코딩 이야기

  • 분류 전체보기 (404)
    • Javascript (170)
    • Go (140)
    • Rust (33)
    • Python (30)
    • Docker (5)
    • Codings (10)
    • Linux (5)
    • Flutter (3)
    • Etc (8)
  • 홈
  • Javascript
  • Go
  • Rust
  • Python
Rust (러스트) 멀티스레딩 향상: 고급 Arc (아크) 최적화

Rust (러스트) 멀티스레딩 향상: 고급 Arc (아크) 최적화

Rust (러스트) 멀티스레딩 향상: 고급 Arc (아크) 최적화Rust (러스트) 프로그래밍에서 Arc (아크, 원자적 참조 카운팅)를 뮤텍스(Mutex (뮤텍스) 등)와 결합하는 것은 멀티스레드 환경에서 데이터를 공유하고 수정하는 데 사용되는 일반적인 패턴입니다.그러나 이 접근 방식은 특히 락 경합이 심한 경우 성능 병목 현상을 유발할 수 있습니다.이 글에서는 스레드 안전성을 유지하면서 락 경합을 줄이고 성능을 향상시키는 몇 가지 최적화 기법을 살펴봅니다.예를 들어, 다음과 같은 경우를 고려해 보겠습니다.세분화된 락 사용성능을 향상시키는 한 가지 방법은 더 세분화된 락을 사용하는 것입니다.이는 데이터 구조를 여러 부분으로 분해하고 각 부분에 자체 잠금 메커니즘을 두어 달성할 수 있습니다.예를 들어, ..

  • format_list_bulleted Rust
  • · 2025. 5. 17.
  • textsms
Rust (러스트) 릴리스 최적화: 작고 빠른 바이너리 빌드하는 방법

Rust (러스트) 릴리스 최적화: 작고 빠른 바이너리 빌드하는 방법

Rust (러스트) 릴리스 최적화: 작고 빠른 바이너리 빌드하는 방법Rust (러스트) 프로젝트 작성을 완료하고 이제 컴파일 작업을 하고 계시는군요.어떻게 하면 컴파일된 파일을 최대한 작게 만들 수 있을까요?어떻게 하면 최대한 빠르게 실행되도록 할 수 있을까요?아니면 어떻게 작은 크기와 빠른 속도 모두를 달성할 수 있을까요?다음과 같은 고려 사항이 있을 수 있습니다.파일 크기 최소화: 임베디드 개발에 적합하며, 프로젝트가 작고 복잡하지 않으며 실행 속도는 이미 빠릅니다.주요 목표는 파일 크기를 최대한 줄이는 것입니다.실행 속도 최대화: 파일 크기는 중요하지 않지만 동시성을 최대화하는 것이 최우선인 네트워크 서비스에 적합합니다.크기와 속도 균형: 다양한 유형의 프로젝트에 적합한 중간 지점입니다.Cargo...

  • format_list_bulleted Rust
  • · 2025. 5. 17.
  • textsms
Rust (러스트)의 매크로와 함수: 언제 무엇을 사용해야 할까요?

Rust (러스트)의 매크로와 함수: 언제 무엇을 사용해야 할까요?

Rust (러스트)의 매크로와 함수: 언제 무엇을 사용해야 할까요?Rust (러스트)로 개발할 때, 코드를 단순화하기 위해 언제 매크로를 사용해야 하고, 언제 대신 함수에 의존해야 하는지에 대한 딜레마에 직면하는 경우가 많습니다.이 글에서는 매크로 사용 시나리오를 분석하여 언제 매크로가 적절한지 이해하는 데 도움을 드릴 것입니다.결론부터 말씀드리자면 다음과 같습니다.매크로와 함수는 서로 대체할 수 있는 것이 아니라 상호 보완적입니다.각각 고유한 강점을 가지고 있으며, 이를 적절히 사용해야만 훌륭한 Rust (러스트) 코드를 작성할 수 있습니다.이제 매크로의 사용 사례를 살펴보겠습니다.매크로의 종류Rust (러스트)의 매크로는 다음과 같이 분류됩니다.선언적 매크로 (macro_rules! (매크로 룰즈))..

  • format_list_bulleted Rust
  • · 2025. 5. 17.
  • textsms
Go 개발자의 눈으로 본 Rust (4/4): 동시성부터 생태계, 빌드까지 최종 비교

Go 개발자의 눈으로 본 Rust (4/4): 동시성부터 생태계, 빌드까지 최종 비교

Go 개발자의 눈으로 본 Rust (4/4): 동시성부터 생태계, 빌드까지 최종 비교3편 복습 및 시리즈 마무리 예고 지난 3편까지 우리는 Go와 Rust의 언어 철학, 메모리 관리, 문법, 타입 시스템, 추상화 방식, 제네릭, 테스팅, 모듈 시스템 등 다양한 측면에서 두 언어의 차이점을 심층적으로 비교 분석했습니다. Go의 간결함과 생산성, Rust의 안전성과 제어권이라는 각기 다른 매력을 확인할 수 있었는데요. 이번 마지막 4편에서는 현대적인 애플리케이션 개발에서 빼놓을 수 없는 비동기 처리(동시성) 모델, 개발 생산성과 직결되는 생태계(Ecosystem), 그리고 실제 개발 과정에 영향을 미치는 빌드 시스템(Build System) 과 주요 활용 영역을 비교하며 이 긴 여정을 마무리하고자 합니다. ..

  • format_list_bulleted Rust
  • · 2025. 4. 27.
  • textsms
Go 개발자의 눈으로 본 Rust (3/4): 제네릭, 테스트, 모듈 - 재사용성과 구조화의 차이

Go 개발자의 눈으로 본 Rust (3/4): 제네릭, 테스트, 모듈 - 재사용성과 구조화의 차이

Go 개발자의 눈으로 본 Rust (3/4): 제네릭, 테스트, 모듈 - 재사용성과 구조화의 차이2편 복습 및 이번 편 미리보기 지난 2편에서는 Go와 Rust의 문법적 특징, 타입 시스템의 표현력, 그리고 추상화 방식(interface vs. trait)의 차이를 살펴보았습니다. Rust가 제공하는 풍부한 문법과 강력한 타입 안전성 기능들이 Go의 간결함과는 또 다른 매력을 가지고 있음을 확인했는데요. 이번 3편에서는 한 걸음 더 나아가, 코드의 재사용성을 높이고 프로젝트를 효과적으로 구조화하는 데 필수적인 요소들을 비교 분석합니다. 바로 제네릭(Generics), 테스팅(Testing) 프레임워크, 그리고 모듈 시스템(Module System) 입니다. 두 언어가 이 중요한 영역들에서 어떤 철학적, ..

  • format_list_bulleted Rust
  • · 2025. 4. 27.
  • textsms
Go 개발자의 눈으로 본 Rust (2/4): 문법부터 타입 시스템까지 - 표현력과 안전성의 균형

Go 개발자의 눈으로 본 Rust (2/4): 문법부터 타입 시스템까지 - 표현력과 안전성의 균형

Go 개발자의 눈으로 본 Rust (2/4): 문법부터 타입 시스템까지 - 표현력과 안전성의 균형 1편 복습 및 이번 편 미리보기 지난 1편에서는 Go와 Rust의 근본적인 설계 철학 차이와 Rust의 핵심인 소유권 및 생명주기 시스템에 대해 알아보았습니다. Go의 간결성과 GC 기반 메모리 관리에 익숙한 개발자에게 Rust의 엄격한 규칙은 분명 새로운 도전인데요. 하지만 이러한 규칙들이 컴파일 시점에 메모리 안전성을 보장한다는 강력한 이점을 제공한다는 점도 확인했습니다. 이번 2편에서는 두 언어의 표면으로 드러나는 차이점, 즉 문법(Syntax), 타입 시스템의 표현력(Type System Expressiveness), 그리고 추상화 메커니즘(Abstraction Mechanism) 에 대해 더 깊이 ..

  • format_list_bulleted Rust
  • · 2025. 4. 27.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • navigate_next
태그
  • #타입스크립트
  • #javascript
  • #Rust
  • #프로그래밍
  • #Go
  • #typescript
  • #파이썬
  • #성능 최적화
  • #Golang
  • #Go 언어
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바