전체 글
-
Rust: reqwest GET/POST snippet컴퓨터/Rust 2021. 8. 19. 15:47
[dependencies] reqwest = { version = "0.11", features = ["json", "blocking"] } ... GET use reqwest::header::USER_AGENT; pub async fn get() -> Result { let client = reqwest::Client::builder() .danger_accept_invalid_certs(true) .build()?; // USER_AGENT 설정 let res = client.get(URL).header(USER_AGENT, "User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome..
-
scrcpy: Android 스마트폰 화면&소리 컴퓨터에서 캡쳐컴퓨터/소프트웨어 2021. 8. 15. 20:10
scrcpy GitHub - Genymobile/scrcpy: Display and control your Android deviceDisplay and control your Android device. Contribute to Genymobile/scrcpy development by creating an account on GitHub.github.comscrcpy는 스크린 카피라고 발음되는 오픈소스 애플리케이션으로,컴퓨터에서 USB나 TCP/IP를 통해 안드로이드 기기의 화면과 음성을 미러링 하고키보드와 마우스로 조작할 수 있게 해 줍니다. 루팅이 필요하지 않으며, 리눅스, 윈도, 맥 OS에서 모두 작동합니다.그냥 연결된 안드로이드 폰 화면을 컴퓨터에서 빠르게 볼 수 있게 해주는 프로그램이다.C언..
-
Rust: actix를 이용하여 카카오 챗봇 만들기컴퓨터/Rust 2021. 8. 2. 16:06
결과물 백엔드 + 프론트엔드 + 카카오톡 챗봇 프로젝트 Rust 언어 github.com Go언어 gin으로 만들기: @참고 Python언어 FastAPI로 만들기: @참고 Python, Go, C, Rust 언어로 카카오 챗봇을 만들어 보았는데 Go랑 Rust로 만드는 걸 추천드립니다. 1. 카카오 챗봇 만들기 준비물 카카오 i 챗봇 사용 허락 @링크 AWS EC2나 구름 IDE 환경 준비하기 @AWS EC2 만들기 링크 AWS RDS (MySQL), AWS S3 위 준비를 다했으면 학교 일정을 MySQL에 저장해서, 사용자가 "달력", "일정"... 이란 발화 문을 제시하면 MySQL에서 일정을 불러와서 보여줄 것이다. 2. 시나리오 만들기 발화 문 지정 엔티티를 만들어서, "일정", "달력"과 같은..
-
Rust: scraper를 이용한 네이버 날씨 파싱컴퓨터/Rust 2021. 7. 28. 23:17
Rust Rust Programming Language A language empowering everyone to build reliable and efficient software. www.rust-lang.org 1. 크롤링 우선 데이터를 가져올 사이트는 다음과 같다. ?cpName=ACCUWEATHER을 넘겨서 아큐웨더 제공자 사용함 (아주대 지역 날씨) 네이버 날씨 국내외 날씨와 미세먼지에 대한 종합정보 제공 weather.naver.com Rust언어에서 Python의 beautifulsoup4처럼 html 요소를 쉽게 선택할 수 있는 라이브러리는 scraper가 가장 괜찮은 것 같다. Cargo.toml scraper = "0.12.0" 2. Rust언어 소스 맨 위에 보이는 현재 온도 = ..
-
Rust: serde json Enum 공부컴퓨터/Rust 2021. 7. 28. 19:20
serde Overview · Serde Serde Serde is a framework for serializing and deserializing Rust data structures efficiently and generically. serde.rs 할 것 지난 글에서 trait를 이용해서 Serialize를 하였는데 (dyn erased_serde::Serialize) 여기서 Deserialize까지 하고 싶었더니 복잡하게 되었다. polymorphism을 파이썬처럼 생각하고 짰더니 어려워진 것 같다. Rust에서는 enum이 하스켈처럼 다양하게 사용될 수 있는 것 같다. 자바에서 enum과 정말 다르다. 간단 예제 // Create an `enum` to classify a web event. ..
-
Rust: Javascript POST json 데이터 consume컴퓨터/Rust 2021. 7. 25. 22:01
할것 Rust Rocket 웹 프레임워크로 서버를 만들고 (backend) 홈페이지에서 (frontend) 아래에서 메시지를 입력하면 만들어둔 Rust 서버로 데이터를 보낼 것이다. 여기서 메시지는 json string을 보내고 이 데이터를 javascript로 POST 한다. Rust 카카오 챗봇은 여러가지 메시지를 한번에 담아서 보낼 수 있는데 (template.outputs) 각 type을 체크해서 vector에 string으로 담아 rust로 { "type": "carousel", "json": data } JSON 형식으로 반환할 것이다. #[post("/json", format = "json", data = "")] pub fn json_test(kakao: String) -> Result {..
-
Rust: String 한글 len() (UTF-8)컴퓨터/Rust 2021. 7. 20. 12:39
할 것 Rust String은 UTF-8 기준으로 len()을 부르면 바이트 기준으로 센다. Go언어의 utf8.RuneCountInString처럼 "안녕하세요"를 length 5로 세고 싶을 땐 unicode-segment crate를 사용하면 편해진다. (또는 chars().count()도 있지만 이 예제에선 String 길이가 5 이상이면 자르고 ... 을 추가한다.) 예제 코드 use unicode_segmentation::UnicodeSegmentation; let mut some_string = "가나다라마바사아"; if some_string.graphemes(true).count() > 5 { // 자소 기준 길이 5 넘음 some_string = UnicodeSegmentation::gra..
-
Rust: serde De/Serialize traits into JSON컴퓨터/Rust 2021. 7. 19. 16:55
할 것 A 버튼이 있고, B 버튼이 있을 때 이 두 버튼은 Base 란 trait를 implement 한다. (자바로 보면 class A implements Base) 이 trait를 implement한 struct들을 Vector에 담아서 이 결과를 json으로 바꾸고 싶은데 하지만 기본적으로는 trait는 불가능하다. 5시간 정도 헤매었다. erased_serde crate를 사용하면 편해진다. 예제 코드 공식 문서에 예제가 없어 카카오톡 챗봇 반응에서 버튼 JSON을 만들 때를 코딩했다. 설명 ButtonJSON이란 struct가 있다. 이 구조체는 벡터 형식으로 trait를 implement한 모든 구조체들의 모음이다. Button이란 trait를 보면 new, set_label, set_msg ..