input & output 2024/4/8-2024/4/14
O`reilly Learning Pickup Book
Dancing with Qubits – Second Edition
https://learning.oreilly.com/library/view/dancing-with-qubits/9781837636754/
量子コンピューティングの包括的な教科書
Effective Rust
https://learning.oreilly.com/library/view/effective-rust/9781098151393/
Rust実用的プログラミング
AI-Assisted Programming
https://learning.oreilly.com/library/view/ai-assisted-programming/9781098164553/
要件、計画、設計、コーディング、デバッグ、テスト、文書化など、コード作成の全段階でAI開発ツール活用方法
Algorithmic Thinking
https://learning.oreilly.com/library/view/algorithmic-thinking/9781098168766/
アルゴリズム学習
JVM Performance Engineering: Inside OpenJDK and the HotSpot Java Virtual Machine
https://learning.oreilly.com/library/view/jvm-performance-engineering/9780134659954/
最先端のJavaパフォーマンス・テクニックとトレンドを提供
Pickup
RAG(Retrieval-Augmented Generation)
https://www.ibm.com/blogs/solutions/jp-ja/retrieval-augmented-generation-rag/
LLMが持つ知識の内部表現を補うために外部の知識ソースにモデルを接地させる(グラウンドさせる)ことで、LLMが生成する回答の質を向上するAIのフレームワークです。
OpenDevin: Code Less, Make More
https://github.com/OpenDevin/OpenDevin
OpenDevinへようこそ。このプロジェクトは、複雑なエンジニアリングタスクを実行し、ソフトウェア開発プロジェクトでユーザーと積極的に協力できる自律型AIソフトウェアエンジニアであるDevinの複製を目指すオープンソースプロジェクトです。
このプロジェクトは、オープンソースコミュニティの力によって、Devinを複製、強化、革新することを目指しています。
Devin AI
https://devinai.ai/
コグニションAIは、世界初の完全自律型AIソフトウェアエンジニアであるDevin AIを発表し、人工知能分野における画期的な開発を発表した。
この革新的なAIは、複雑なソフトウェアエンジニアリングタスクを繊細かつ正確に処理する卓越した能力を示し、業界に新たな基準を打ち立てました。
LLM4Decompile
https://github.com/albertan017/LLM4Decompile
リバースエンジニアリング:大規模言語モデルによるバイナリコードの逆コンパイル
LLM4Decompileは、デコンパイルに特化した先駆的なオープンソースの大規模言語モデルです。
現在のバージョンは、GCCのO0からO3までの最適化レベルのLinux x86_64バイナリを、人間が読めるCソースコードに逆コンパイルすることをサポートしています。私たちのチームは、より広範なアーキテクチャと構成を取り込む努力を続けながら、このツールの機能を拡張することに全力を注いでいます。
Decompile-Evalは、デコンパイルされたコードの再コンパイル可能性と再実行可能性の評価に重点を置いた初のデコンパイル・ベンチマークです。
HumanEvalデータセットのC言語版であり、デコンパイルされたコードの実用性を評価するための一連のCソリューションとアサーションを提供します。
ludic
https://github.com/paveldedik/ludic
https://ludic.readthedocs.io/en/latest/
Ludicは、Reactに似たコンポーネント・アプローチでHTMLページを構築するための軽量フレームワークだ。
htmx.orgと併用することで、開発者は動的なウェブサービスを作成するためにほとんどJavaScriptを書く必要がなくなる。
その可能性は、強力なStarletteフレームワークのラッパーであるWebフレームワークとともに活用できる。Python3.12の最新の機能で構築されており、型付けを多用しています。
htmx
https://htmx.org/
htmxは、属性を使用して、AJAX、CSSトランジション、WebSocket、およびサーバー送信イベントにHTMLで直接アクセスできるため、ハイパーテキストのシンプルさとパワーで最新のユーザーインターフェイスを構築できます。
htmxは小さく(~14k min.gz’d)、依存性がなく、拡張可能で、IE11と互換性があり、reactと比較してコードベースのサイズを67%削減しました。
GraphAI
https://github.com/snakajima/graphai
GraphAIは非同期データフロー実行エンジンであり、あるLLM呼び出しの答えを別のLLM呼び出しにプロンプトとして与えるなど、非同期のAI API呼び出しを、いくつかの依存関係を持ちながら複数回行う必要があるAIアプリケーションを簡単に作成できる。
これらのAPIコール間の依存関係を1つのデータフローグラフ(通常はYAML)に記述し、それを使ってGraphAIオブジェクトを作成し、実行するだけでよい。
PDFViewFX
https://github.com/dlsc-software-consulting-gmbh/PDFViewFX
アプリケーションがPDFファイルを表示するためのカスタムコントロールです。
このコントロールはApacheのPDFBoxプロジェクトを利用しています。
YAGNI原則(You Ain’t Gonna Need It 原則)
「必要なもの以外を実装するな」という考え方です。
無駄なコードを書かないようにすることで開発コストを削減し、システムをよりシンプルに保つことが目的です。
AI支援プログラミングツール
GitHub Copilot
https://docs.github.com/ja/copilot/using-github-copilot/getting-started-with-github-copilot
Tabnine
https://www.tabnine.com/
CodiumAI
https://www.codium.ai/
Amazon CodeWhisperer
https://aws.amazon.com/jp/codewhisperer/
Watsonx.ai
https://www.ibm.com/products/watsonx-ai