본문 바로가기
728x90
반응형

rust52

작은 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.
죽은 라이브러리 교체부터 보안 이슈 해결까지 개발을 진행하다보면, 라이브러리 없이 개발을 진행하기에는 어려운 작업들이 존재합니다. 라이브러리들 중에 오픈소스로 github에 공개되어 있는 라이브러리들이 있습니다. 이번에 개인 프로젝트로 개발을 진행하면서 이러한 라이브러리들을 사용하게 되었습니다. 그러다 문득, 현재 사용중인 라이브러리들이 여전히 관리가 되고 있는지 궁금하여, 해당 라이브러리들의 github을 방문하다가 현재 관리가 진행되고 있지 않은 라이브러리를 발견하였습니다.무슨 라이브러리?현재 개인 프로젝트에서는 sqlite를 활용하여 db를 사용하고 있었습니다. db관련 라이브러리들 중 r2d2라고 데이터베이스에 연결을 관리하는 라이브러리였습니다. 해당 라이브러리의 마지막 커밋은 2년전이고, 더이상 관리가 되고 있는것으로 보이지 않아 다른 라.. 2026. 5. 5.
왜 내 서비스는 5초나 걸렸을까? 그리고 0.1초로 줄인 방법 현재 저는 Melog라는 메이플스토리 Open API를 활용한 서비스를 운영하고 있었습니다. 백엔드는 Rust를 사용하고 있어서 전반적인 처리 속도는 빠를 것이라고 기대하고 있었습니다. 하지만 실제로는 캐릭터를 검색하면, Open API에서 10개 이상의 데이터를 가져와 필터링한 뒤 프론트에 전달하는 과정 때문에 약 5~7초 정도의 응답 시간이 발생했습니다. 서버 사양이 2코어 / 1GB 메모리라는 점도 영향을 줬을 것이라고 생각했습니다. 그런데 모니터링을 해보니, Next 서버가 사용 가능한 메모리를 많이 차지하고 있는 것을 확인하게 되었습니다. 이 부분을 어떻게 개선할지 고민하던 중, 비슷한 서비스에서 특정 기술 스택으로 전환 후 성능이 크게 개선되었다는 사례를 보게 되었습니다. 해당 기술은 Ta.. 2026. 4. 24.
728x90
반응형