본문 바로가기
728x90
반응형

rust54

cargo update가 만든 의외의 함정 저는 이전 포스팅에서도 말씀드렸다시피, 최신 버전을 계속해서 업데이트합니다. 그래서 항상 러스트 라이브러리들의 최신 버전을 유지하기 위해, cargo update를 수행합니다. 해당 포스팅에서는 무턱대로 cargo update를 수행하다가 발생한 문제와 이를 해결하는 방법에 대하여 설명드리고자 합니다.뭘 업데이트 했는데?최근에 cargo update를 통해 다음와 같이 새로운 라이브러리와 2개의 다른 라이브러리를 업데이트 하였습니다. 모두 dropbox의 레포에서 업데이트된 라이브러리들입니다.Adding alloc-no-stdlib v3.0.0Updating alloc-stdlib v0.2.2 -> v0.2.3Updating brotli-decompressor v5.0.1 -> v5.0.2이게 무슨 문제.. 2026. 6. 14.
Rust Lint로 숨겨진 Warning 찾기 Rust에는 다양한 warning 로그가 존재합니다. 물론, 모든 warning로그를 지우지 않아도 되지만, 사용하지 않는 코드가 남아있다거나, 불필요한 변수를 선언한 경우 등 다양한 케이스들에도 warning로그가 발생해, 저는 왠만하면 제거하고 있습니다. 그러던 중 [workspace.lints.rust]이라는 것을 알게 되었고, 이를 프로젝트에 적용한 후, cargo build --all-targets --all-features를 실행하게 되면, 숨겨진(?) warning 로그들을 찾아서 알려줍니다. 몇몇 lint들에 대하여 이야기 드리자면버그 발견unused_must_use = "warn"을 사용하게 되면 다음과 같은 케이스를 발견할 수 있습니다.fn process() -> Result { .. 2026. 6. 7.
작은 PR 하나에서 시작된 Rust 오픈소스 기여 3월 17일부터 rust라는 레포에 기여를 진행해 왔습니다. issue에 있는 내용 중, 처리가 가능할거 같다는 내용들만 찾아서 assignee을 받고, pr을 올려 merge까지 진행했었습니다. document 수정부터, issue에 이렇게 수정하면 될거 같다 라던가, 이런 설명은 추가하면 좋겠다 등 다양한 종류들의 issue를 처리해왔습니다. 5/28 오늘 Rust의 신규 버전이 1.96.0 버전이 출시되었습니다. https://blog.rust-lang.org/2026/05/28/Rust-1.96.0/ Rust는 신규 버전이 나올때마다, Rust blog에 해당 내용을 올리고, 새로운 버전이 나오는데 기여해주신 분들을 github 닉네임과 Contributions 횟수를 같이 작성해줍니다. 처음으로.. 2026. 5. 29.
Timing Attack 방지를 위한 Constant-Time 비교 암호학에서 사용하는 constant-time 연산(타이밍 공격 방지용)에 대하여 알려드리고자 작성하였습니다. 특정 key 인식을 통한 인증 시스템을 구현하는 경우, 보통 언어의 equals 기능을 사용하여 적합한 key인지 판별하게 됩니다. 그러나, 해당 방식으로 사용하게 된다면 문제가 될 수 있다.어떻게 구현되어 있는데?언어별 equals에는 문자열 비교는 1byte씩 비교하다가 다른 글자가 나오면 false를 반환합니다.예시 java 내부 코드public boolean equals(Object anObject) { if (this == anObject) { return true; } return (anObject instanceof String aString) .. 2026. 5. 25.
728x90
반응형