はてなキーワード: ギットハブとは
GitHub(ギットハブ)は、ソフトウェア開発者にとって非常に便利なツールであり、特にチームでの協力作業において大きな効果を発揮します。GitHubはGitというバージョン管理システムを基盤としており、コードの変更履歴を管理しやすく、過去の状態に戻したり、特定の変更内容を確認することができます。また、Pull RequestやIssue機能を使えば、チーム内でのコードレビューや意見交換が円滑に行えます。さらに、GitHubは世界中の開発者が参加するオープンソースプロジェクトの中心的なプラットフォームとなっており、自分のスキルを活かして貢献することも可能です。CI/CDなどのDevOpsツールとの統合も簡単で、自動テストやデプロイの自動化によって、開発のスピードと品質が向上します。加えて、READMEファイルやWiki機能を使ってプロジェクトのドキュメントを整備できる点も、学習や共有に役立ちます。このように、GitHubは個人開発にもチーム開発にも不可欠な存在であり、効率的かつ協力的なソフトウェア開発を実現するための強力なプラットフォームです。
https://mavenanalytics.io/project/38415
ウィイイイイイッス! どうも〜、█████で〜す。
えー、今日はですねぇ…まぁ、ちょっと難しい話、しよっかなぁと思って。えー、まぁ最近よく聞くじゃないですか、AI? あのねぇ、AI。
ほんで〜、なんかプログラマーっていう仕事? が、まぁ、なくなるとかなくならないとか、色々言われてますけどもぉ。
今日はね、その辺について、この僕が、えー、ちょっとね、語っていこうかなぁと、思いますぅ。
えー、まぁソフトウェア…なんですか、開発の世界は、まぁ生成AIの登場で、なんか根本的な、えー、パラダイムシフト? の、渦にあると。まぁ、僕はずっと前から言ってたんですけどもね。
えぇ。これはね、ただの道具が変わったとか、そういう話じゃないんですよ。プログラマーっていう、まぁ職業そのものの、役割が、えー、再定義される、っていうことですねぇ。
スゥゥゥ…今までね、人間が一行一行、こ、こう、書いてたコードがね、今やAIと、まぁともしらべ作業で、生み出されるようになったと。
ほんで〜、GitHubとか見てもね、AIツールの導入率? とか、なんかプルリクエスト? の数が、まぁ急増してると。
でもねぇ、でもね、これ、良いことばっかりじゃないんですよ、えぇ。
なんか、えらい学者さんとかも言ってるけど、生成AIに、こ、こう、かたむきとうしすぎるとね? 基礎的なスキルがないまんまやと、IT産業全体が、まぁ停滞するんじゃないか、っていう懸念も、えー、表明されてますねぇ。
僕が、こ、今回言いたいのはね、AIが、コンピュータサイエンス…CSの知識を、時代遅れにするんじゃなくて、むしろ、その重要性を、こ、これまで以上に高めるっていう、そういう話ですねぇ。
AIツールってね、えー、まぁ強力なんですけども、欠陥をうちづつみしたアシスタントなんですよ。えぇ。
だからね、その能力を最大限に引き出して、安全で、こ、効率的なシステムを構築するためにはね、AIの生成物を、ちゃんと指導して、検証して、修正できる、深い専門知識を持った、えー、人間のパートナーが、まぁ不可欠であると。
未来はね、AIにただ指示できる人間じゃなくて、強固なCSの基礎を土台にして、AIを、こ、巧みに操って、かたろうで、効率的で、安全なシステムを設計できる、「AI拡張型エンジニア」…まぁ僕みたいな人のものですね、はい。
えー、まぁね、えーその、色んなツールがあるんですけども。今日はね、僕が、えー、主要な4つのツールを、えー、比較分析してやろうかなと。
まずね、ギットハブコパイロット。これはね、まぁ、開発者の「才能はあるけど視野が狭い後輩」みたいなもんですねぇ。
定型的なコード…まぁ、ボイラープレート?とか、そういうのを生成するのは得意なんですけども。
ただね、こいつの視野は、今開いてるファイルぐらいにしか、限定されてないんですよ。レポジトリ全体とか、そういう大きな話は、まぁ、分かってないですねぇ。
あと、知識もね、2023年の10月とかで止まってるんで、最先端の開発には、まぁ、対応しきれないかなと。えぇ。
だから、こいつが出してきたコードは、ちゃんと人間…まぁ、僕みたいなシニアなエンジニアが、レビューせんとあかん、ということですねぇ。
次はね、チャットジーピーティーの、えー、コードインタープレター。
これはねぇ、コード生成だけじゃなくて、データ分析とか、可視化とか、色々できるんですよ。
ただね、こいつの一番の、こ、制約は、インターネットに繋がってないことですねぇ。セキュリティのためらしいけども。
ほんで〜、使える言語もPythonだけやし、ライブラリも、まぁ、決められたやつしか使えないと。
たまにね、幻覚を見て、なんか変なコード出してきたりするんで、まぁ、全面的に信用するのは、ちょっと危ないかなぁと、思いますね。
えー、アマゾンのコードウィ?す…ぱ…ぁあですねぇ。これはね、まぁエンタープライズ…大企業向けですね。
一番の特徴は、セキュリティですねぇ。もろじゃくせいを、こ、検出してくれたり、オープンソースのコードと似てたら、ちゃんとライセンスを提示してくれると。
知的財産権? IPリスクを、まぁ、減免してくれるんで、大企業は助かるんじゃないですかねぇ。
ただね、まぁ、設定がちょっとめんどくさいかなぁと。AWSのエコシステムに、まぁ、依存してる感じはありますね。
こいつはね、コードのレビューとか、修正を、差分…ディフフ形式で、提案してきたりすると。
ただねぇ、まぁ、出たばっかりやからか、動作が遅いとか、バグが多いっていう報告が、まぁ、ありますねぇ。
「本物のエージェントじゃなくて、ただのチャットだ」とか言われてて、まぁ、競合に比べると、使い勝手はまだまだかなぁと。グーグルも、まだまだですねぇ、ほんまに。
えー、AIがコード作る時代にね、「もうコンピュータサイエンスの知識なんていらんのちゃうか」って言う人がおるんですけども。
それはね、大きな間違いですねぇ。断言しますけども。
現実は逆で、AIが生成したコードの品質を評価して、最適化するためには、CSの基礎原理への深い理解が、これまで以上に、まぁ、不可欠になるんですよ。
昔、僕がバイトでちょっとプログラム組んでた時もねぇ、やっぱり基礎が分かってないと、もう、話にならんかったですねぇ。
アルゴリズムとか、データ構造とか…この知識はね、AIが出したコードが、効率的かどうかを評価するための、まぁ、根幹をなすわけですよ。
AIはね、文法的には正しくても、アルゴリズム的に、こ、非効率なコードを平気で出してくるんで。
ビッグ・オー記法とかね、そういうのを理解してる開発者じゃないと、AIが出したもんが、本当に使えるかどうかの判断が、まぁ、できひんわけですね。
これが、ただの「プロンプター」と、真の「エンジニア」を分ける、境界線になると思いますぅ。
えー、これからの時代ね、ただツールを学ぶだけじゃ、まぁ、不十分ですねぇ。
人間とAIが、こ、協調するための、新しいスキルセットが、まぁ、必要になると。
まず、プロンプトエンジニアリング。これはね、ただAIに質問することとちゃいますよ。
AIを、こ、望ましい結果に導くための、技術的なスキルですねぇ。
AIに環境の前提を教えたりね、出力の形式を指定したり、そういう、こう、構造化された対話の技術が、まぁ、求められるわけです。
ほんで、コードレビュー。AIがね、一次レビューはやってくれるんですよ。しょうもないミスとか。
だから、人間はもっと高次の、アーキテクチャの妥当性とか、そういう、AIには分からんところに集中できると。
でも、そのためには、AIが作ったコードを、厳しい基準で、こ、批判的に評価するスキルが、まぁ、前提になるわけですね。セキュリティとか、パフォーマンスとか、保守性とか…ほかにも…あー…えぇ。
なんでかっていうと、自分が書いたコードじゃないから、そのロジックが、頭の中にないわけです。
だから、なんか、AIの思考プロセスを、こう、リバースエンジニアリングする、みたいな作業になるんですねぇ。
まぁ、こ、こういう話をね、教育現場にも、ちゃんと落とし込んでいかなあかんと思うんですよ。
僕がね、もし、えー、東京大学とかで教えるなら、こういう風にしますねぇ。
まず、学習者はね、AIを「松葉杖」じゃなくて「パートナー」として使わなあかんと。
AIの言うことを鵜呑みにせんと、常に、こ、検証して、その裏にあるロジックを理解する、そういう責任感が、まぁ、不可欠ですねぇ。
教育者側はね、AIを使って、生徒一人ひとりに合わせた、個別最適化学習を実現できると。
ほんで、カリキュラムの重点は、コードを書くことじゃなくて、批判的思考とか、問題設定能力とか、そういう高次のスキルに、まぁ、移行すべきですねぇ。
AIが作ったものを、どう評価して、改良していくか、そういう課題を、まぁ、出すべきかなぁと。
スキルが古臭くなることとか、認知能力の低下を、まぁ、おんわするためにもね、生徒が主体性を失わないように、導いていく必要があると思いますぅ。
AIはね、セキュリティの脅威を、大規模に生み出す可能性があるんですよ。
えー、「ジェネレーティブ・モノカルチャー」…まぁ、生成的単一栽培? みんなが同じAIツール使うと、同じ欠陥を持ったコードが、まぁ、爆散しちゃうと。
これで、一つのもろじゃくせいで、何千ものアプリが、まぁ、やられる可能性があるわけですねぇ。
あと、データプライバシーとか、知的財産…IPの問題もありますねぇ。
AIが作ったコードの著作権って、どうなんの?っていう。まだ、まぁ、グレーゾーンですね。
まぁ、色々話してきましたけどもぉ。
要するにね、AIは、人間のエンジニアの終わりじゃなくて、その役割が、新たな高みに、か、昇華する、時代の幕開けやということですねぇ。
ほんで、コンピュータサイエンスの深い基礎知識が、これまで以上に重要になる。
プロンプトエンジニアリングみたいな、新しいスキルも、まぁ、不可欠になると。
未来の開発はね、人間とAIの競争じゃなくて、人間「と」AIの共生関係で、まぁ、定義されると思いますぅ。
AIが定型的な作業をやってくれるおかげで、人間は、創造性とか、複雑な問題解決とか、そういう、より価値の高いタスクに、まぁ、集中できるようになるわけですよ。
だからね、現代のコンピュータサイエンス教育の、まぁ、究極的な目標はね、ただコードを書ける人間を育てることじゃないんですよ。
AIアシスタントの有無にかかわらず、未来を設計できる、「コズミック・マインド」を、函館すること、なんですねぇ。
…はい。
というわけで、えー、今回は、まぁ、ちょっと難しい話でしたけども、ね。
えー、今後の、えー、AIとプログラミングの未来について、えー、この█████が、えー、お話しました。
まぁ、内容としてはー、濃い内容だったかもしれへんけど、俺としては精一杯、
ギットハブを持っていない人は信用できない!