전체 글
-
Rust: 구글 Bard 바드 CLI 앱 만들기컴퓨터/Rust 2023. 4. 28. 17:21
Bard Bard is your creative and helpful collaborator to supercharge your imagination, boost productivity, and bring ideas to life. bard.google.com 소개 구글의 ChatGPT, 바드가 한국에서 사용할 수 있게 된 지 꽤 되었다. 성능은... 뭐라 못하겠고 아직 개발 초창기니까 믿어본다. 꽤 괜찮은 기능은 Bing처럼 Google 인덱싱 된 문서들을 긁어올 수 있고 출처도 남겨준다. (근데 물어봐도 이해를 잘못함) 아무튼 이 글에서는 Bard를 CLI 앱으로 만드는 과정을 적었다. Rust 언어 async로 작성하였다. How 우선 어떻게 답변이 생성되는지 확인하기 위해 네트워크에서 다음과 같이..
-
Github Action: 카카오톡 CI 봇컴퓨터 2023. 4. 26. 20:01
카카오톡 CI KakaoTalk CI Action - GitHub Marketplace A Github action for KakaoTalk CI github.com Github Action을 이용한 카카오톡 CI 봇을 만들어 보았다. function_name에는 send_to_me_custom (나한테 보내기)나 send_to_groups_custom (친구들에게 보내기)를 사용할 수 있습니다. (템플릿 이용한 버전) ! send_to_groups 에서는 with: 에 receiver_uuids를 ["uuid1", "uuid2"] 형식으로 지정해 넘겨야 합니다. Usage name: Example CI on: push: branches: - main jobs: build-and-notify: runs-..
-
Rust: async의 늪컴퓨터/Rust 2023. 4. 18. 22:08
actix 웹 프레임워크에서 POST를 받으면 load_courses라는 async 함수를 부르는 상황이다. CSV 파일이 커서 tokio를 이용해 async read를 했다. use csv::ReaderBuilder; use tokio::fs::File; use tokio::io::AsyncReadExt; async fn load_csv_data(file_path: &str) -> Result { let mut buf = Vec::new(); let mut file = File::open(file_path).await?; file.read_to_end(&mut buf).await?; let mut reader = ReaderBuilder::new() .delimiter(b',') .flexible(tr..
-
Rust: 한글 종성 유니코드 변경하기컴퓨터/Rust 2023. 4. 17. 22:18
할 것: 종성이 'ㄲ'인 것을 'ㄴ'으로 바꾸기 (pdf를 txt로 변환하다 보니 "깐"인데 "깎" 이런 식으로 되어 있어서 만들게 됨) 한글 유니코드: 초성: (음절 - 0xAC00) / (21 * 28) 중성: (음절 - 0xAC00) % (21 * 28) / 28 종성: (음절 - 0xAC00) % 28 음절의 종성이 'ㄲ'(02)인 경우, 이를 'ㄴ'(04)으로 바꿔야 한다. fn main() { let input = "갂깡깔깐깎..."; let result = replace_gg_with_n(input); println!("Result: {:}", result); // Result: 간깡깔깐깐... } /// ㄲ 받침 -> ㄴ으로 바꿈 fn replace_gg_with_n(text: &str) ..
-
Jenkins: Rust 프로젝트 테스트컴퓨터/Jenkins 2023. 4. 17. 19:35
해볼 것: Jenkins 빌드 오류 시 메일 보내기 Jenkins를 경험하기 위해 Rust 프로젝트 테스트를 하는 것을 해보았다. Dockerfile을 이용하여 러스트 프로젝트 테스트를 실행할 것이다. Windows11에서 하려고 했으나 복잡해져서 Zorin OS 듀얼 부팅으로 넘어왔다. 윈도우 에러 설치 시에 this account either does not have the privilege to logon as a service 부터 막혀서 Windows Tools - 로컬 보안 정책 - 로컬 정책 - 사용자 권한 할당 - 서비스로 로그온 - 사용자 추가를 눌러 현재 계정을 넣었다. 비번은 windows 에 연결된 마이크로소프트 비번이었다. localhost에 돌리는 만큼 아래 플러그인을 받아서 D..
-
Ubuntu/Zorin OS 설치 파티션 설정컴퓨터 2023. 4. 16. 14:36
빈 공간을 선택하고 "추가" 버튼을 클릭하여 새로운 파티션을 생성합니다. 1. 루트 파티션을 생성하려면 다음 설정을 선택하세요: 크기: 약 20-30GB 정도를 권장합니다. 종류: Primary 위치: 디스크의 시작 파일 시스템: ext4 마운트 지점: / 2. 남은 빈 공간을 선택하고 "추가" 버튼을 클릭하여 스왑 파티션을 생성합니다. 크기: RAM 용량에 따라 4-8GB를 추천합니다. 종류: Primary 위치: 디스크의 시작 파일 시스템: swap area 스왑 파티션 크기에 대한 공식은 다양하며, 사용자의 실제 사용 패턴과 시스템 요구 사항에 따라 달라집니다. 일반적으로 램 크기에 따라 스왑 크기를 설정하는 것이 좋습니다. 24GB의 RAM이 있는 시스템의 경우, 다음과 같은 고려 사항이 있습니다..
-
Rust: cargo something 만들기컴퓨터/Rust 2023. 3. 28. 10:06
cargo-subcommand 소개 cargo inspect cargo depsize cargo korea cargo 기본 옵션에 없는 위와 같은 옵션은 어떻게 만들까? cargo-subcommand라고도 불리며 Cargo를 수정하지 않고 새 하위 명령어를 추가할 수 있도록 설계되었다. $PATH에 있는 바이너리 파일의 이름이 cargo-something으로 지정되면 cargo something처럼 실행하여 마치 Cargo 하위 명령어인 것처럼 사용할 수 있다. 이러한 사용자 정의 명령어는 cargo --list를 실행할 때 나열된다. 이 글에서는 실제로 만들어보고 사용하는 과정을 적었다. @코드 바로 보기 만들 cargo-depsize는 Cargo 패키지 매니저를 사용하여 현재 Rust workspac..
-
Rust: 카카오 Karlo API wrapper컴퓨터/Rust 2023. 3. 24. 17:00
Karlo 소개 카카오브레인 ‘카카오디벨로퍼스’에서 카카오브레인의 한층 더 발전된 AI 이미지 모델 ‘Karlo(이하 칼로)’를 API가 있다. Generative AI Karlo는 사용자가 입력한 문장을 기반으로 사실적인 이미지와 다양한 작품을 생성할 수 있는 AI 모델이다. 1억 8천만 장 규모의 이미지와 이미지를 설명하는 텍스트와의 관계를 학습했다고 한다. 총 3가지 기능이 있다. 사용자가 입력한 단어나 문장을 기반으로 관련된 이미지와 다양한 작품을 생성 (Image gen) 사용자가 업로드한 이미지를 기반으로 관련된 이미지와 다양한 작품을 생성 (Variation gen) 이미지에 그리기 도구로 편집할 부분을 마스킹하고, 입력 단어나 문장(공백 가능)을 기반으로 지운 부분을 채워 새로운 작품을 생..