본문 바로가기

분류 전체보기160

[Rust] Rust의 let/mut과 Map, JS의 const와 Map JS에서는 Map을 const로 선언하고, 그 안에 데이터를 추가하거나 삭제할 수 있다.const map = new Map();map.set("apples", 10);map.set("bananas", 5);console.log(map); // Map(2) {"apples" => 10, "bananas" => 5}사실 이건 누구나 다 아는 것이다.const는 참조 불변을 뜻하기 때문이다.  그런데 Rust에서는 let(Rust의 let == JS의 const)으로 Map을 선언하고 데이터를 추가/삭제할 수 없다.use std::collections::HashMap;fn main() { let stock = HashMap::new(); stock.insert("apples", 10); // 안됨!.. 2024. 9. 18.
[Spring] Gradle 경로 에러 Could not open cp_init remapped class cache for 38ba98x5kyfop9tii2ef1tpdm (C:\Users\USER\.gradle\caches\6.1.1\scripts-remapped\wrapper_init13_cruz05vu9w82js3x0uvl11riu\38ba98x5kyfop9tii2ef1tpdm\cp_init3607aee355f62839c5e6f549478ccc87).> Could not open cp_init generic class cache for initialization script 'C:\Users\USER\AppData\Local\Temp\wrapper_init13.gradle' (C:\Users\USER\.gradle\caches\6.1.1.. 2024. 9. 11.
[AI] 평균 제곱 오차(Mean Squared Error) 손실 함수 f(x_i): 모델의 예측 값y(i): 실제 값 현재 epoch의 손실값을 구하는 함수이다.i = 1부터 N까지 모델의 예측 값에서 실제 값을 뺀 값을 제곱한 값을 모두 더한 뒤, N으로 나눠준다. 모델의 예측 값에서 실제 값을 뺀 값을 제곱하는 이유는 음수일수도 있기 때문이다. epoch 회수 m회에 대하여 예측값을 모두 더하고 m으로 나눠주면 평균 손실값이 나오는데, 이것이 현재 모델의 성능이다.     p.s.손실 함수에는 여러 종류가 있다. 2024. 9. 9.
[Rust] `println!` 매크로가 참조(borrow)로 동작하는 이유 사전지식:매크로와 함수의 차이함수는 특정 타입의 인수를 받아 런타임에 실행되고, 파라미터의 타입이 강제된다.매크로는 함수의 일부로 컴파일되어 동작(사실 당연한 말..!)하고, 파라미터의 타입이 자유롭다.  `println!`의 내부 동작#[macro_export]macro_rules! println { () => { $crate::print!("\n") }; ($($arg:tt)*) => {{ $crate::io::_print($crate::format_args_nl!($($arg)*)); }};}$crate: 매크로가 정의된 크레이트 내의 경로를 지정하여, 해당 크레이트에 정의된 함수나 매크로를 사용할 수 있도록 함.$($arg:tt)*: 반복 패턴으로, .. 2024. 9. 1.
FSD(Feature-Sliced Design) 프론트 아키텍쳐 FSD(Feature-Sliced Design)란?Feature-Sliced Design은 프론트엔드 애플리케이션을 구조적으로 체계화하는 아키텍처 방법론이다. 이 방법론의 핵심은 애플리케이션을 레이어(Layer)와 슬라이스(Slice)로 나누는 데 있다. 레이어는 애플리케이션의 구조적 계층을 나타내고, 슬라이스는 특정 비즈니스 도메인에 따라 코드를 나눈다. 이렇게 나누면 관련된 코드가 서로 가까이 위치하게 되어 가독성이 높아지고, 각 부분 간의 의존성을 줄일 수 있다. 주요 개념레이어(Layers): 레이어는 애플리케이션의 구조적 계층을 말한다. 예를 들어, pages, widgets, features 같은 레이어가 있으며, 각 레이어는 특정 목적에 맞춰 코드를 그룹화한다.슬라이스(Slices): 슬라이.. 2024. 9. 1.