Language(38)
-
dotnet cli nuget 저장소 지정
개요 요즘 Visual Studio보다 Visual Studio Code를 더 많이 사용 중입니다. 오늘 nuget을 다운받으려고 하는데, 패키지를 자꾸 찾을 수 없어 해결 방법에 대해 글을 쓰려합니다. 문제점 BenchmarkDotNet이라는 Nuget 패키지를 설치하고 싶었습니다. 그래서 dotnet add package BenchmarkDotNet 명령을 입력 했는데 아래와 같이 에러가 발생하였습니다. > dotnet add package BenchmarkDotNet 복원할 프로젝트를 확인하는 중... info : X.509 certificate chain validation will use the default trust store selected by .NET. info : X.509 certi..
2023.06.16 -
Rust의 HashMap 소개
HashMap이란? HashMap은 키-값 쌍(Key-Value Pair)로 이루어진 데이터를 저장하는 데이터 구조입니다. HashMap을 사용하면 키를 통해 값을 빠르게 검색하거나 수정하는 것이 가능합니다. 또한 키는 고유하며, 중복되지 않아야 합니다. let mut 변수명 : HashMap = HashMap::new(); 위와 같이 HashMap을 생성 할 수 있습니다. HashMap 생성 및 값 추가 모듈 가져오기 먼저 모듈을 가져오기 위해서는 아래와 같이 표준 라이브러리로부터 해당 모듈을 가져와야 합니다. use std::collections::HashMap; HashMap 생성하기 HashMap은 키와 값을 연결해 주는 테이블입니다. 아래와 같이 생성합니다. let mut fruits = Has..
2023.06.15 -
Rust Shuffle
Shuffle은 컬렉션의 요소를 무작위로 섞는 알고리즘으로, 데이터의 순서를 무작위로 변경하는데 사용됩니다. 셔플을 사용하기 위해서는 여러 방법이 있습니다. Std Shuffle 사용 Rust에서는 Array, List, Vector 등 기본적으로 Shuffle을 사용 할 수 있습니다. use rand::{Rng, seq::SliceRandom}; const LEN:usize = 10; fn main() { let mut vectors = vec![]; let mut arrays= [0;LEN]; for i in 1..=LEN { vectors.push(i); arrays[i-1] = i; } let mut rng = rand::thread_rng(); println!("[Vector] before : ..
2023.06.11 -
Rust fmt 모듈
Rust에서 문자를 출력하기 위해서는 print!이나 println!을 사용합니다. 끝에 !(느낌표)가 붙는 것은 Rust 매크로 아래 글을 참고하시면 됩니다. 2023.03.11 - [Language/Rust] - Rust 매크로 [Rust 매크로 매크로란? Rust에서는 매크로를 지원합니다. 매크로는 메타 프로그래밍이라고 하는데, 내가 만든 Rust 코드가 새로운 Rust 코드를 만드는 것을 매크로라고 합니다. 대표적으로 우리가 많이 사용하 jandari91.tistory.com](https://jandari91.tistory.com/12) 화면에 출력하기 위해 println!()을 많이 사용하는데, 출력하기 위한 여러 포맷에 대해 알아봅시다. std::fmt std::fmt 모듈은 포맷 출력을 제어..
2023.06.07 -
.NET AOP DynamicProxy
최근 ASP.NET으로 백엔드를 개발 중입니다. Transaction 관리 부분을 어떻게 하면 좀 더 쉽게 만들 수 있을까 고민하던 중 DynamicProxy를 알게 되어 정리하려 합니다. 현재 상황 지금 만들고 있는 백엔드는 계층형 아키텍처를 사용 중이며, EF Core를 사용하면, 쉽게 트랜젝션이 관리 된다고 하던데 저희는 Oracle과 Dapper를 사용하기 때문에 트랜젝션을 Business 계층에서 관리하려 합니다. public class UserService : IUserService { private IUserRepo userRepo; private ICircleRepo circleRepo; public UserService(IUserRepo userRepo, ICircleRepo circle..
2023.06.05 -
StringBuilder vs String Join
회사에서 StringBuilder가 쓰여진 부분을 List로 모은 다음, 마지막 Join을 통해 성능 개선을 했다고 발표 한 자료가 있었습니다. 하지만 제가 알기로는 StringBuilder가 가장 빠르다고 알고 있는데, List와 Join을 통해 성능 개선을 했다고 해서 궁금해서 Benchmark를 돌려보기로 하였습니다. 집에서 사용하는 OS가 리눅스라 VS Code와 dotnet CLI를 통해 예제를 실행하도록 하겠습니다. Spec. CPU : Intel Core i5-4690 .NET Version : .NET 7.0.3 OS : Linuxmin 21 BenchmarkDotnet Version : v.0.13.5 프로젝트 준비 프로젝트 생성 먼저 아래와 같이 프로젝트를 생성합니다. $ mkdir S..
2023.06.04