[Rust/도서 리뷰] <이지 러스트>
·
Rust 연구 노트/Rust 이야기
한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다.  오늘 리뷰할 책 🦀 예전 포스팅에서 Rust를 소개하면서 한국어로 Rust 강의를 해주는 매클라우드 형을 소개했었는데,이번에 그 형이 빛빛미디어에 한글로 된 Rust 책을 냈다! 사실 23년에 나올 줄 알았는데 드디어 올해 출간됐네  이번 책 리뷰 신청(2권 고름)에는 자바 코드 품질을 높이는 방법과 이 책을 골랐는데,전자를 고른 이유는 내가 지금 Java + Spring 백엔드 개발을 하고 있기 때문이고이 책을 고른 이유는 Rust를 좋아하고, 여러 자료로 공부해본 데다 토이 프로젝트도 해봤기 때문이다.  최종적으로는 빛빛미디어께서 나에게 Rust를 놓지 말라는 계시를 주셔서 이 책을 읽게 되었다.   바로 리뷰 들어가보자고~  ..
[Rust/rust-analyzer] 문제없는 sqlx에 대해 오류로 감지하는 rust-analyzer 버그
·
Rust 연구 노트/"EzyTutors" 프로젝트
문제 상황 - relation "" does not existerror returned from database: relation "ezyweb_user" does not exist 오류가 잡히는데,ezyweb_user는 존재하는 릴레이션이며 cargo run으로 실행 후 DB에 데이터도 잘 저장된다.하지만 rust-analyzer는 계속 존재하지 않는 릴레이션이라며 오류를 표시하는데 여간 불편한 게 아니다. 이 오류를 해결하고 싶어서 어제, 오늘 꼬박 이틀을 잡고 있었는데 아직은 해결하지 못했다.문제가 없는 문제를 해결하려고 하는 건가 싶은 생각마저 들게 한다. 우선 이럴 땐 뭐가 잘못됐는지 점검해 볼 수 있는 방법들을 알아보자.점검하다보면 문제의 원인을 발견하게 될 지도 모른다.  근데 결론부터 말하..
[Rust] 함수 시그니처 lifetime에 대한 고찰
·
Rust 연구 노트/Rust 이야기
Rust LifetimeRust에서는 함수 시그니처에 파라미터가 2개 이상일 때, lifetime을 명시적으로 표기해야 한다.(규칙에 따라 생략 가능한 경우도 있다)아무튼, 함수 입력 파라미터에 있는 참조값과 반환 참조값의 수명 관계에 대해서 생각해보다가떠오른 모순적인 상황fn longest(x: &'a str, y: &'b str) -> &'a str { if x.len() > y.len() { x } else { y // 'b의 라이프타임이 'a보다 크거나 같아야 함 }}일단 문자열 리터럴 a와 b를 비교해서 긴 쪽을 반환하는 함수를 가정해 보자. 이 함수에 두 가지 파라미터가 들어왔을 때, 수명과 문자열 길이(반환되는 조건)는 서로 관련이 없다.즉, 어떤 게..
[Rust/도서 리뷰] <러스트 프로페셔널 코드>
·
Rust 연구 노트/Rust 이야기
책 소개Rust로 토이 프로젝트도 만들어봤지만 내가 Rust를 제대로 쓰고 있는 게 맞나 의구심이 든다. 이럴 때 선배가 옆에서 하나하나 짚어가면서 알려주면 얼마나 좋을까? 초창기 러스트 오픈소스 기여자인 브렌든 매슈스에게 'Rust를 전문가처럼 쓸 수 있는 방법'을 일일 멘토링 받을 수 있는 기회가 바로 이 책에 고스란히 담겨있다. 마침 Rust로 토이 프로젝트를 만들어보면서 점점 흥미를 붙여가는 시점이라,내가 러스트스럽게 코딩을 하고 있나? 고수들은 어떻게 쓸까? 같은 생각이 들고 있었다. 그러던 중에 라는 책이 나와서 읽지 않고는 배길 수가 없었다.그래서 읽어본 이 책은 어떤 책인지, 누가 읽으면 좋을지 적어봤다.   책 리뷰책 구성이 책은 다섯 부분으로 나눌 수 있다.① 도구 소개 및 사용법② 데..
[오류 해결] failed to run custom build command for openssl-sys
·
Rust 연구 노트/"EzyTutors" 프로젝트
openssl-sys야, 왜 빌드가 안 되니 바이너리 빌드용 openssl 크레이트 종속성을 추가해놓은 프로젝트에서# 바이너리 빌드용 Openssl.openssl = {version = "0.10.66", features = ["vendored"]}cargo run을 돌리면, openssl-sys(build)를 빌드하다가 오류가 터진다 Compiling openssl-sys v0.9.103error: failed to run custom build command for openssl-sys v0.9.103  cargo run을 다시 마구 난타해봐도 결과는 똑같다뭐가 문제일까?   해결법: Perl 설치 윈도우 유저 대상 해결법은 strawberry-perl을 설치해주면 된다 이게 왜 필요하냐면 opens..
[Rust] Actix를 사용해서 RESTful API 만들기
·
Rust 연구 노트/"EzyTutors" 프로젝트
오늘의 주제 이번엔 Actix 웹 서버로 REST API를 만들어 볼거다나도 Rust로 이런 거 처음 만들어보니까, 일단 맛보기로 DB없이 인메모리로 간단하게 ㄱ  일단 Actix인지 REST API 나발인지 잘 모르는 사람 있을 수 있으니까설명 간단하게 한번 하고 용어 1줄 요약 설명1. Actix는 웹 프레임워크고, 쓰는 이유는 이전 글에서도 말했지만 비동기를 지원해서다.2. REST API가 뭐냐면, API를 어떤 리소스가 뭔 상태고 이걸로 뭘 하겠다는 건지 딱 보면 알 수 있게 하는 거임.3. API는 특정한 기능(ex. 주문, 등록, 조회 등) 수행에 필요한 정보들. 솔직히 이정도면 설명 개쉬웠다 인정?  오늘 해볼 거는 강사들이 신규 강의 등록하고, 그걸 조회하는 API들을 만드는 거다.딱 3..
[Rust] Rust 소개, 설치 및 IDE 환경 세팅 + Cargo
·
Rust 연구 노트/Rust 이야기
Rust 간단 소개 Rust는 안전하고, 빠르고, 자원 효율적인 프로그래밍 언어다동시에 꾸준히 사랑받고, 존경받는 언어기도 하다https://survey.stackoverflow.co/2023/#section-admired-and-desired-programming-scripting-and-markup-languages Stack Overflow Developer Survey 2023In May 2023 over 90,000 developers responded to our annual survey about how they learn and level up, which tools they're using, and which ones they want.survey.stackoverflow.co  물론 그..
[Rust/도서 리뷰] <Rust 서버, 서비스, 앱 만들기>
·
Rust 연구 노트/"EzyTutors" 프로젝트
책 소개그간 시스템 프로그래밍 언어로 알려져왔던 Rust로 프론트엔드, 백엔드 그리고 인프라까지 모두 직접 구축하며, 웹 어플리케이션 개발부터 배포까지 해볼 수 있다. Rust뿐만 아니라 웹 개발 전체 프로세스를 익히기에도 최적 👍  아직까지 국내엔 Rust 관련 책이 별로 없어서 인터넷에서 자료를 찾아 공부할 수밖에 없었다RustBook이라든가, RustLearning같은 국룰 자료들로 말이다 잘 만들어져 있긴 한데, 난 진짜 책을 선호하는 아날로그 인간이라 아무래도 많이 아쉬웠다 하지만 올해 초부터 제이펍에서 러스트 관련 책들이 하나둘 나오기 시작하면서드디어 국내에도 러스트 맛집이 생긴 것 같다~ 몇 달 전에 을 사읽었는데,어디서 본 것 같은 제목이긴 하지만 그건 무시하고 러스트 책도 드문 나라에서..