오픈 소스와의 첫 번째 상호 작용
소개
내 손이 닿을 수 없는 것처럼 들리기 때문에 내 손이 오픈 소스를 만질 것이라고는 결코 생각하지 못했습니다. 그러나 이번 학기부터 나는 무엇이 나를 기다리고 있는지 알지 못한 채 David Humphrey의 "오픈 소스 개발"이라는 과정을 선택했고 "내 프로그램을 수행하는 또 다른 지루한 과정"과 같은 기대가 있었지만 시작하고 나니 깨달았습니다. 다른 강좌와는 뭔가 다른 것 같아요. 첫 번째 강의에서 우리는 유용한 방식으로 파일을 변환하기 위해 호환 가능한 AI API 엔드포인트를 사용할 수 있는 간단한 CLI 도구를 구축하는 임무를 받았습니다. 아마도 그것이 내 인생을 바꾸었을 것입니다. 말 그대로 저는 프로그래밍에 그렇게 열정을 쏟은 적이 없었고 제가 이 분야에 속하지 않는다고 생각했습니다. 하지만 우리 모두는 길이 항상 직선이 아니며 때로는 좁다는 것을 알고 있습니다. 나는 우리 반에서 아주 능숙한 많은 학생들을 목격했고, 코딩에 대한 내 사랑을 되살린 유일한 생각은 "내가 그들보다 더 나쁜가? 아니... 그게 나를 너무 힘들게 해서 3주째에 쉬지 않고 앉아 있는 것"이었습니다. 완전히 새로운 언어를 선택하고 연구와 테스트를 시작하면서 말 그대로 내가 원하는 것은 무엇이든 만들 수 있다는 것을 이해하는 데 도움이 되는 간단하면서도 흥미로운 결과를 얻었습니다.
다중 언어 코드
PolyglotCode는 개발자가 다른 프로그래밍 언어의 코드로 파일을 번역하는 데 도움이 되는 명령줄 도구입니다. 이 도구는 Maven 종속성 관리자를 사용하여 Java로 작성되었습니다. 단순히 파일을 가져와서 사용자가 번역하려는 언어를 API 엔드포인트에 쿼리로 보내고 번역된 자료를 터미널에 출력하거나 파일에 씁니다(사용자 선택). 앞으로는 Cohere의 AI v1을 사용했다는 점을 언급하고 싶습니다. 끝점.
도구의 자세한 데모 영상을 올렸습니다.
시작하기
1단계. Cohere API 키를 생성하여 메인 클래스 내부의 -a && --api-key 플래그의 defaultValue에 제공합니다.
@Option( names = {"-a", "--api-key"}, defaultValue = "YOUR_API-KEY", description = "Modifying api key manually" ) private String api;
또는
플래그를 사용하여 호출을 지정하고 명령줄에 API 키를 제공합니다(3단계 이후에만 사용 가능).
./polyglot <file(s)...> <language> -a <YOUR-API-KEY>
2단계. bash 스크립트를 실행 가능하게 만들어 사용자가 ./polyglot 명령을 사용하여 코드를 실행할 수 있도록 합니다
chmod +x polyglot
3단계. Maven 패키지를 실행하여 소스 코드 컴파일
mvn package
특징
이유는 릴리스 v0.1이기 때문에 이 도구를 만드는 데 애를 먹었습니다(고군분투했지만 시간이 많이 걸렸다는 뜻입니다. 즐거웠어요 :D) 구현하려고 계획한 기능이 모두 포함되어 있지 않습니다. . 그러나 여전히 필수 기능 중 일부가 포함되어 있으므로 단순히 요구 사항을 따랐을 뿐입니다. 여기 있습니다:
돕다
프로그래밍의 정점이 아닌가, (-h, --help) 플래그. 이 플래그는 사용자가 사용법과 모든 플래그를 배우는 데 도움이 됩니다. 사용법:
./polyglot -h
또는
./polyglot --help
버전
프로그래밍의 또 다른 정점은 (-v, --version) 플래그입니다. 도구의 현재 버전을 표시합니다. 사용법:
./polyglot -v
또는
./polyglot --version
API 키
앞서 언급했듯이 사용자는 코드에 들어가지 않고 단순히 플래그(-a, --api-key)를 사용하여 Cohere-Api 키를 지정할 수 있습니다. 사용법:
./polyglot <file(s)...> <language> -a <YOUR-API>
또는
./polyglot <file(s)...> <language> --api-key <YOUR-API>
기본 URL
예기치 않은 출력이 발생할 수 있으므로 이 애플리케이션의 baseUrl을 변경하지 않는 것이 좋습니다. 그러나 이 옵션은 사용자가 계속 사용할 수 있습니다. 사용법:
./polyglot <file(s)...> <language> -u <baseUrl>
또는
./polyglot <file(s)...> <language> --base-url <baseURL>
산출
사용자가 지정한 파일을 생성하고 거기에 결과를 씁니다. 한 번에 하나의 파일에 이 옵션을 사용하는 것이 좋습니다. 사용법:
./polyglot <file(s)...> <language> -o file.txt
또는
./polyglot <file(s)...> <language> --output file.txt
새 파일의 모습:
내가 직면한 과제
제가 가진 모든 특징을 여러분과 공유한 후에는 제가 직면했던 어려움에 대해 이야기할 시간입니다. 어려운 점 중 하나는 새로운 언어를 배우는 것이었습니다. C/C 이전에 배운 것만큼 어렵지는 않았습니다. 두 번째는 간단한 질문에도 답하기 위해 개발된 것이 아니기 때문에 적절한 AI 엔드포인트를 찾는 것이었고, 제 목표는 그것을 무료로 찾는 것이었습니다 :) 세 번째 과제는 설정에 도움이 되는 도구인 picoCLI의 사용법을 배우는 것이었습니다. CLI 도구, 처음에는 도움이 되도록 bash 스크립트를 만들었고 picoCLI를 사용하지 않으려고 하다가 너무 불편해져서 picoCLI에 대해 더 잘 배우기로 결정했습니다.
전반적으로 이 프로젝트는 열심히 노력하면 모든 것이 가능하다는 것을 이해하는 데 도움이 되었습니다!
위 내용은 오픈 소스와의 첫 번째 상호 작용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

일부 애플리케이션이 제대로 작동하지 않는 회사의 보안 소프트웨어에 대한 문제 해결 및 솔루션. 많은 회사들이 내부 네트워크 보안을 보장하기 위해 보안 소프트웨어를 배포 할 것입니다. ...

많은 응용 프로그램 시나리오에서 정렬을 구현하기 위해 이름으로 이름을 변환하는 솔루션, 사용자는 그룹으로, 특히 하나로 분류해야 할 수도 있습니다.

시스템 도킹의 필드 매핑 처리 시스템 도킹을 수행 할 때 어려운 문제가 발생합니다. 시스템의 인터페이스 필드를 효과적으로 매핑하는 방법 ...

IntellijideAultimate 버전을 사용하여 봄을 시작하십시오 ...

데이터베이스 작업에 MyBatis-Plus 또는 기타 ORM 프레임 워크를 사용하는 경우 엔티티 클래스의 속성 이름을 기반으로 쿼리 조건을 구성해야합니다. 매번 수동으로 ...

Java 객체 및 배열의 변환 : 캐스트 유형 변환의 위험과 올바른 방법에 대한 심층적 인 논의 많은 Java 초보자가 객체를 배열로 변환 할 것입니다 ...

전자 상거래 플랫폼에서 SKU 및 SPU 테이블의 디자인에 대한 자세한 설명이 기사는 전자 상거래 플랫폼에서 SKU 및 SPU의 데이터베이스 설계 문제, 특히 사용자 정의 판매를 처리하는 방법에 대해 논의 할 것입니다 ...

Redis 캐싱 솔루션은 제품 순위 목록의 요구 사항을 어떻게 인식합니까? 개발 과정에서 우리는 종종 a ... 표시와 같은 순위의 요구 사항을 처리해야합니다.
