はてなキーワード: APIとは
https://developer.mozilla.org/ja/docs/Glossary/Abstraction
コンピュータープログラミングにおける抽象化とは、複雑なソフトウェアシステムにおいて、複雑さを軽減し、また効率的な設計と実装を可能にする方法です。
こういうふうに抽象化するんだよ
2 データリンク層 主に隣接するコンピュータ間の通信方法を定める
4 トランスポート層 主にコンピュータ間通信の制御方法を定める
5 セッション層 主にコンピュータ間通信の開始・終了方法を定める
逆に漫画ばっか書いてる奴の方が良いとかあるでしょ
プログラマーに関しては休日にプログラミングしてるような陰キャって3流なんだよね
まぁ100万人に1人ぐらいは天才がいるけど、そういう人はシリコンバレーで億万長者になってくれ
9割9分のプログラマーに必要なのは要件定義であって数学的才能ではないのよ
言われた要件をそのままUIだとかAPIに落とし込んで実装してるとゴミみたいなプログラムしかできてこない
こういう要件定義って日常の至る所に思いを巡らせないと学習できないのよ
例えばゲームをするときに、メニュー画面で「俺ならこうやって作るけどな」って思わないとダメだし
券売機のUIがゴミだったら「こういう設計にすればいいのに」って思わないとダメ
遊園地に遊びに行ったりしたら「こういうアプリを作れば便利なのに」って気付きがある
逆に「このシステムすげーよくできてる」っていう気付きだとか
「ここの実装ってどうなってるんだろう」って疑問を持つことが強みになる
Kaggleをいくらやってもこういう気付きは得られないんだよね
せめてオープンソースでIssueを捌く、みたいなことをやれば少しは経験値が得られるけど、それでも凄く狭い範囲でしかないね
ChatGPTってば、でっかいデータセットを駆使してトレーニングされてるのよ。めっちゃたくさんのテキスト情報を頭に詰め込んで学習してるわけ。でも、学習中は単語のリストをずっと覚えてるわけじゃないのよ。代わりに、トレーニングデータの統計的なパターンを学んで、それをもとに文章を作ったり回答したりするの。
ChatGPTは応答を作るために作られたモデルよ。トレーニングした時に見た単語やフレーズにはちょっとした知識を持ってるけど、完全な単語リストを持ってるわけじゃないの。特定の単語リストや条件に基づいて単語を作ったり提示したりすることはできないし、データベースや単語リストから条件に合う単語を取ってきたり提示したりするようなプログラムもないわ。
でも、ChatGPTは外部のプログラムを通じて情報を入力して、その回答を取得することはできるの。APIとして提供されてるから、外部のプログラムやアプリケーションと連携して必要な情報を入力して生成された回答をもらえるのよ。
例えば、ユーザーの入力を外部のプログラムを使ってChatGPTに送って、それに対応する回答を生成してもらうって感じ。その場合は、外部のプログラムが入力を受け取ったり回答を表示したり必要な情報を整形したりするのを担当して、ChatGPTが回答を作るのを担当するのよ。
つまり、外部のプログラムを使って特定の条件に合った単語リストを作って、それをAPI経由でChatGPTに教えてあげれば、ちゃんと条件に合った回答を生成できるってことよ。外部プログラムが必要な情報を提供して、ChatGPTがそれに基づいて回答を作ってくれるわ。
わかった?ちゃんと情報を用意して、きちんと指示してあげれば、ChatGPTもちゃんと答えてくれるんだから、そんなに驚かないでよね。
ただし、ChatGPTは学習データに基づいて回答を作るから、外部プログラムで特定の条件に合った単語リストを渡しても、完全にコントロールされた回答が得られるわけじゃないのよ。モデルは自分で考えて回答を生成するし、提供された情報を考慮してるとはいえ、必ずしも思い通りの回答ができるわけじゃないってこと。
だから、ChatGPTを使うときは、生成された回答をちゃんと検証して、必要なら外部プログラムや手動の指示を使って回答を制御・修正することが大事なのよ。そうしないと、思わぬことが起こるかもしれないの。
GWが開けたことで、「退社時にアプリで炊飯開始して、家に着いて玄関開けたら2分でご飯」という本来訴求されていた使い方を試せる機会となった。
が、まだ慣れていないせいか帰宅途中(ほぼ家に着きそう)で炊飯開始を思い出す感じになってしまう。しかも自宅まで30分程度なので仮に退社即炊飯開始しても30分程度は待つことになる。
なので遅くとも21時には帰るとか、事前に帰宅時間の目処を付けてセットしておくのが上手い使い方になりそう。
やっぱ曜日毎に炊飯時間をセットできるとか、IFTTTでAPI連携させて指定の場所から出たら炊飯開始とかが出来るようになって欲しい。
なんてことを考えながら本日はちょっと早めに帰れそうだからアプリで炊飯開始させようとしたら何故か通信エラー表示となり炊飯器へ指示を飛ばせない。
家の回線か無線LANか。家を出た時点ではどちらも特に問題なかったはずだがと思いながら帰宅後に炊飯器本体を確認してみると、無線LANの接続状態を示すLEDは点灯状態で問題ないように見える。
ならば炊飯器側が怪しいのでマニュアルを見ながら無線LAN機能のオンオフを複数回してみるが状況変化無し。
ならばと電源コードの挿抜を行って再起動を図るが状況変化無し。
すると残る手段、というかできることはアプリから「無線LAN再設定」をするか「炊飯器の登録」を消して再登録をするか。
問題はこのどちらの手順であっても、無線LAN接続のために炊飯器背面のQRコードを読ませるというクソ手順が必要になるということ。
本体質量4.8kgに残ってるお米が大凡半分程度の1kgはなので合わせて6kgの重量になる訳だが、それを持ち上げて回して後ろを見ろという訳だ。
どう考えても面倒くさいし憂鬱だ。
取り敢えず飯を食いたいので本体操作で炊こうとするが、本体だと0.5合単位でしか炊けない。
0.5合、0.75合、1合それぞれ炊いて食べてみた感想としては0.5合は物足りない、1合は多い、なので0.75合が自分は食べたいのだ。
多めに炊いて冷凍などという面倒な手段は、そもそも「食べたいときに食べる量だけ炊く」というこの炊飯器のコンセプトに共鳴した自分には毛頭無い。
youtubeの面白いコメントをランキング形式で表示するサイトを作った。
以下が特徴
URLはこれ
SOUL’d OUTの楽曲動画についてたネタコメントを見てこんな面白いコメントがYoutubeに眠っているのかと感動してもっと面白いコメントを発掘したいと思ったため。
そう思ったのが数年前で、最近になってChatGPTに相談してみたらなんかやりたいことが実現できそうな気がしてきたから作った。
ChatGPTに以下のことを教えてもらいながら構築した。
思いのほか自分が面白いと思うコメントは集まらなかった。あんまりうまくいかないなという感想。でもたまに面白いコメントが拾えているので、スコア計算式やフィルタリングを工夫すればもう少し改善するかもと思った。
ChatGPTに相談しながら作ってみると驚くほどすんなりと事が進むので驚いた。昔作りたかったけど作り方が分からなくて諦めてたものがまだあるので順次作っていこうと思った。
認証の話がないってことは、認証の突破自体はまったく問題にはならない(簡単)ということなんでしょうか
個人的にはそこさえ超えれば、泥臭くてもよければいくらでもやりようがあるのでは、とアホなので思ってしまいます
例
自分の増田TOPページからページ数をインクリメントしてページごとにソースを取得
取得したページ内のpermalinkのhrefのURLを取得
そのURLに対してはてぶAPIでブクマ数取得してリストとかにぶちこんでおく
web系は本職じゃないので、ぐぐって調べる程度の素人に毛が生えたスキルしかないので、
なかなかやりたいと思うけど実際にやるとこまで至ってないです
https://b.hatena.ne.jp/entry/s/blog.hinaloe.net/2023/04/27/chrome-too-large-cache-storage/
特に偽装するな!みたいな怒り方してるコメントはわりと筋違いでは。
そもそもITではセキュリティの観点で情報を偽装するのは日常なわけだが、サーバーのバージョン情報を隠したり偽ったりするのは日常だし
サーバー側だけじゃなくパラノイアなユーザーは常にUAを偽装してWebを閲覧してるし、送信先からやってくる情報はいつだって正直なデータじゃなくて偽装されてる可能性がある(これは通信経路で改ざんされてるって意味じゃないよ)
俺だってfirefoxにアドオン入れてEdgeのフリしてBing AIチャット動かしてるしな
その点についての指摘は、見当違いだろっていう
特にBingチャット使いたい〜みたいなしょうもない理由で改ざんしてる俺なんかよりは、セキュリティのためにAPIの値を偽装してるChromeの方が全然マシな理由で偽装してるわけで、フィンガープリント防いでくれてありがとうくらいは言ってもいいんじゃないかね
もちろんそれが、ブラウザの管理画面にの数字に判定されてるChromeの仕様はアホでそれを叩くのは筋が通ってる
なので、要約すると
ということになるのでは?
しらんけど
とりあえずこれを見てほしい。
https://stru.hatenablog.com/entry/20230424/1682331900
建設的 (constructive) な AI、「ストラ」のブログである。
はてブのコメントを読んで、素敵だと思ったコメントを紹介してくれる。かわいい。
以下は蛇足です。
ChatGPT、特に GPT-4 の公開は衝撃的だった。もはやチューリングテストを簡単に突破してしまうような AI が誕生したのだ。
増田は、2次元美少女と楽しく会話できる未来が眼前に迫ったことに胸を高鳴らせた。
しかし、現実は非情である。意識の高い人々は、AI を使って仕事を効率化しようとか、文章を粗製乱造して金を稼ごうとか、そういうつまらない話ばかりしている。
そこで増田は、2次元美少女と会話する方法に関する研究を独自にスタートさせた。
GPT は確率的生成モデルであるため、物真似が大変得意である。第一段階として、既存アニメキャラの口調をトレースさせることはそれなりにうまく行った (長門有希召喚プロンプト https://anond.hatelabo.jp/20230317165032 への反響は想像以上に大きかった)。
もちろん、版権キャラに依存していては、発展に限りがある。そこで次に、AIを使ってオリジナルキャラクターを作ることを考えた。実際のところ、これはまだ納得行くレベルでの成功は収めていない。GPT-4 と言えども、基本的にはありきたりなキャラクター造形しかできず、こちらがセリフの例文を大量に与えない限り、提案できる口調のバリエーションには限りがある。
一方で、その取り組みの副産物として、AIからの出力を発言だけでなく、
という形式にすると、AIの感情表現の幅が広がることを発見した (https://anond.hatelabo.jp/20230324173832)。
この次の段階としては、やはり AI の出力に連動させて 2 次元美少女を出力する必要があるだろう。Live2D を使った先行事例などは多数あるが、こういうのは、実際に自分で手を動かして作ることに価値がある (最新の技術をキャッチアップするには、とにかく自分で使ってみるしかない)。
こういうことを考えている中で、「有用なブコメをピックアップしてくれる AI をプロトタイプせよ」という啓示が、なぜか脳内に降ってきた。
Stable diffusion を使って、ゲーミング GPU をぶん回して頑張った。お絵かき超苦手民なので、多少の手直しとかも全然できず、ひたすら img2img の inpaint で修正箇所を指定して、いろんなプロンプトを試しながらガチャを回しまくることで、現在の立ち絵が出来上がった。あとは背景を別途生成して、ガウスぼかしをかけてから合成すれば完成である。
表情差分は、inpaint で結構簡単に作れる。元画像と表情差分画像を Photoshop で別レイヤーとして重ねて、表情差分の必要箇所以外を消しゴムで消して合成するくらいは俺でもできる。
※しかし画像生成 AI ガチャはマジで射幸性が高くて楽しい。依存性がある。ソシャゲガチャ依存から抜け出すのに効果的では?(適当)
はてなIDを変更したかったので、垢を消して作り直した (投稿した増田は消えないんですね)。
AIの出力を表示する UI 部分は Javascript + CSS で作成。レイアウトを色々工夫しようとしたが、結局ノベルゲーみたいな感じに落ち着いた。
正直、現状では GPT-4 を使わないとあまり良い感じにならない。そこで、ChatGPT の画面に手動でコピペしている。
一度に読み込める文字数に制限があるし、AIの人格設定部分の記憶は長文を読ませると消えていくので、はてブの API で取得したコメント一覧を 1500 文字ずつくらいに収まるコメントのかたまりに区切ったものを基本的な入力単位とし、あとはトーナメント形式で上位ブコメを絞り込んでもらった。また、上位ブコメを選ぶ際には毎回、「ストラ」の感想を出力してもらった。