並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 102件

新着順 人気順

algorithmの検索結果1 - 40 件 / 102件

  • OpenInterpreter / ついにAIがガチのアシスタントに!これは凄い、というか凄すぎる|shi3z

    凄いものが出てきてしまった。 ChatGPTの「Code Interpreter」が話題になったが、あれはあくまでクラウド上で動いているだけ。それを模してローカルで動作するようになった「Open Interpreter」は、衝撃的な成果である。 Open Interpreterのインストールは簡単。コマンド一発だ $ pip install open-interpreter起動も簡単 $ interpreter -yこれだけでOK。 あとはなんでもやってくれる。 たとえばどんなことができるのかというと、「AppleとMetaの株価の推移をグラフ化してくれ」と言うとネットから自動的に情報をとってきてPythonコード書いてグラフをプロットしてくれる。 凄いのは、ローカルで動くのでたとえばApplescriptを使ってmacOSで動いているアプリを直接起動したり操作したりできる。「Keynot

      OpenInterpreter / ついにAIがガチのアシスタントに!これは凄い、というか凄すぎる|shi3z
    • Googleの検索アルゴリズムの内部資料が漏洩か?「SEO業界で長年疑われていたものが明らかに」

      Mic King @iPullRank Ok, let's get this party started! A couple weeks ago I said I was publishing the most important thing I ever wrote. I was wrong. Documentation related to the Google Search algorithm leaked and I spent the weekend tearing it apart. ipullrank.com/google-algo-le… ✌🏾 2024-05-28 11:10:19 数週間前、私はこれまで書いた中で最も重要なものを発表すると言いました。それは間違いだった。 Google検索のアルゴリズムに関するドキュメントが漏洩したため、私は週末をかけてそれを徹底的に調

        Googleの検索アルゴリズムの内部資料が漏洩か?「SEO業界で長年疑われていたものが明らかに」
      • 東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた - Qiita

        きっかけ 東京大学のAWS講義「コードで学ぶAWS入門」、いわゆる東大AWSってやつがが良いらしいと聞いたのでやってみました。 確かにこれは良いです。クラウドをこれから学びたい方にぜひおすすめ。 集中講義的に休日に半日もあれば学べます。 かかるAWS費用もわずか。 ほとんどのチュートリアルがAWSの無料枠で実行できてしまいます。ディープラーニング用のGPUインスタンスをぶん回すところは有料です。それでも数百円で済みます。 これは一通りハンズオンをやってみたAWSの費用です。 もはや学ばない理由が見当たりませんね。 これを書いた理由 けっこう有名な講義資料なのでいまごろ紹介するまでもないネタかと思っていましたが、いざやってみたらハンズオンのコードが最近のAWS環境では動作しない箇所がいくつかあったので。 動作するように修正した手順をまとめておきました。 本記事がはてブを950件ももらってしま

          東京大学のAWS入門資料がいい感じだったので最新のAWS環境でも実行できるようにしてみた - Qiita
        • GPT-4をセラピストとして実行し、「認知の歪み」を診断させるためのフレームワーク『Diagnosis of Thought (DoT)』と実行プロンプト | AIDB

          近年、精神療法の領域でAIの活用に注目が集まっています。そんな中、カーネギーメロン大学などの研究者らによって新たなフレームワーク『Diagnosis of Thought (DoT)』が考案されました。このフレームワークは、LLMによって人々の「認知の歪み」を診断する目的に特化しており、専門家によって高く評価されています。 認知の歪みとは、例えば「0か100か」のような極端な考え方や、他人の考えを勝手に推測するなど、不健康な思考パターンのことを指します。 DoTフレームワークを用いた診断結果は、人間の専門家が出す診断結果とも高い一致性を示しており、その有用性が確認されています。 (追記)なお、本フレームワークに基づくMyGPTを作成しました。記事末尾にURLを記載するため、興味のある方はぜひお試しください。 参照論文情報 ・タイトル:Empowering Psychotherapy wit

            GPT-4をセラピストとして実行し、「認知の歪み」を診断させるためのフレームワーク『Diagnosis of Thought (DoT)』と実行プロンプト | AIDB
          • アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog

            はじめに 前提 アメリカで働くためのビザ 業務経験 2023年のアメリカのテック業界の状況 具体的な就活のステップ ソフトウェアエンジニアのインタビューで求められることの抽象的な理解 レジュメ Job Descriptionから逆算してレジュメを作る 一枚におさめる 数字を用いてスケールとビジネスインパクトを示す なるべく隙間を埋める フォーマット添削ツールにかける レビューを受ける ネットワーキング・リファラル 応募する アメリカの就活はNumber Game 採用のトレンドを追う 時期を見計らう Linkedinで最新の求人を見つける方法 Promotedをすべて非表示にする "Most Recent"順にする 検索クエリを工夫する 設定をブックマークする 時間を決めて巡回する コーディングインタビュー対策 アルゴリズムの地図を脳内に作る 大学やCouseraでアルゴリズムの授業を取る

              アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog
            • 1ビットLLMの衝撃! 70Bで8.9倍高速 全ての推論を加算のみで!GPU不要になる可能性も

              1ビットLLMの衝撃! 70Bで8.9倍高速 全ての推論を加算のみで!GPU不要になる可能性も 2024.02.28 Updated by Ryo Shimizu on February 28, 2024, 16:46 pm JST 2月は中国では春節というお正月があり、春節にはみんな休む。 それもあってか、12月から1月にかけて怒涛の論文発表が行われて毎日「デイリーAIニュース」を配信している筆者は忙殺されていた。 春節中にはOpenAIがSoraを、GoogleがGemini1.5を発表したのは、その合間を縫ってのことだった。もはやAI最前線の戦いは研究が行われる場所の文化や風土に影響を受けるところまで来ている。 そして春節もあけた今週、さっそくAlibabaがとんでもないトーキングヘッドモデルを引っ提げて登場したかと思えば、Microsoftの中国チームがとてつもないLLMをリリース

                1ビットLLMの衝撃! 70Bで8.9倍高速 全ての推論を加算のみで!GPU不要になる可能性も
              • オセロの必勝法が見つかった件 | やねうら王 公式サイト

                すごいニュースが飛び込んできた。オセロの必勝法が見つかったのだ。正確に言うとオセロが弱解決された。まずはその論文を紹介する。 Othello is Solved : https://arxiv.org/abs/2310.19387 「弱解決(weakly solved)」を簡単に言うと、初期局面からの双方最善手を打つ時の結論(勝敗)がわかったと言う意味である。8×8のオセロの結論は引き分けなのだそうだ。「必勝法が見つかった」と本記事のタイトルで書いたが、その結果として双方最善を尽くした時のオセロの結論が引き分けだったことが判明したので正しくは「必勝法(必ず勝てる方法)が存在しないことが証明された」とでも言うべきか。 今回は、初期局面から到達できるあらゆる局面についての結論(勝敗)がわかったわけではない。こちらは「強解決(strongly solved)」と呼ばれる。 弱解決と強解決とでは、

                • 「線形代数で何を学ぶのか、何に役立つのか」大学や高専で線形代数を学び始めた人へ送るポスト→「学生時代に読んでみたかった」「意味や繋がりが理解できて初めて面白い」

                  三谷 純 Jun MITANI @jmitani 筑波大学 システム情報系 教授('75生)CG/折紙/幾何/プログラミング,一風変わった折り紙の設計,制作をしてます.令和元年度文化庁文化交流使としてアジア諸国をまわってきました.主に数学と折紙と日常のことについてツイートします.折紙作品の写真をこちらで公開しています instagram.com/mitani.jun/ mitani.cs.tsukuba.ac.jp/ja/ 三谷 純 Jun MITANI @jmitani 理工系の大学生1年生の多くは まずはじめの数学で「線形代数」を学ぶことになると思います。 僕が学生だった頃、 「結局これって何を勉強しているの?」 という疑問がずっと拭えなかった記憶があります。 同じような疑問を持っている学生向けに、線形代数で何を学ぶのか説明する文章を作ってみました pic.twitter.com/1j

                    「線形代数で何を学ぶのか、何に役立つのか」大学や高専で線形代数を学び始めた人へ送るポスト→「学生時代に読んでみたかった」「意味や繋がりが理解できて初めて面白い」
                  • スイカゲームの作り方

                    はじめに Go言語用のEbitengineというゲームエンジンに興味があったので、試しにスイカゲームもどきを作りってみました。Ebitengineを使うと意外と簡単にスイカゲームもどきを作る事ができたので、なるべく分かりやすく作り方を紹介してみようと思います。 まずは先に完成品をお見せします。ちなみにフルーツの回転は面倒くさいので実装しないことにしました。 ちなみにEbitengineはwasmでも普通に動きます。ビルドしたものをこちらに置いたのでブラウザから実際に動かす事ができます。 それではスイカゲームもどきを作って行きましょう。 描画する まず一番初めにフルーツの画像を作るところから始めます。これはリンゴ、オレンジ、ブドウ、パイナップル、メロン、スイカのつもりです。 続いてフルーツを定義します

                      スイカゲームの作り方
                    • 「オーディオ版レイトレーシング」と「物理シミュレーションによる音響空間表現」|Prismaton

                      「レイトレーシング」は 3D グラフィックスの重要な技術となっていて、レイトレーシングを使ったリアリティの高いグラフィックス表現を見る機会が増えてきました。 また同時に、「レイトレーシングをオーディオに応用する」といった言及もちょいちょい見かけるようになりました。 しかし、グラフィックスのシミュレーションにレイトレーシングが有効なのは光の特性をレイトレーシングで近似できているからであり、音の特性に関してはレイトレーシングだけで近似するのは困難です。これはもう少し広く知られていて欲しい事実なのですが、何故かあまりきちんと知られていません……。 そもそも悲しいことに、「物理シミュレーションによる音響空間表現(方角、残響、遮蔽などの表現)」を網羅的に真面目に考察した資料は恐ろしく少ないです。この現状では、レイトレーシングだけで音響空間表現が簡単に出来るというような誤解が生まれてしまうのも仕方ない

                        「オーディオ版レイトレーシング」と「物理シミュレーションによる音響空間表現」|Prismaton
                      • ゲーム開発者らが「ユーザーが確率を理解してくれない」とコミュニティで悩みを吐露し合う。でも優しくウソつく時もあるから単純な話でもない - AUTOMATON

                        あるゲーム開発者がRedditにて、ゲーム内に「確率」を表記した場合、多くのプレイヤーが正しく理解してくれないとの見解を投じ、話題を呼んでいる。ゲームにおいては数値どおりの確率で処理されるとプレイヤーにストレスが生じうる可能性もあるようだ。 今回ゲーム内の確率表記にまつわるトピックが議論されているのは、Redditのゲーム開発に関するコミュニティr/gamedev内のスレッドだ。スレッド投稿者のCable23000氏はゲームデザイナーだそうで、手がけた作品でプレイテストをおこなったところ、確率表記を正しく理解してくれないプレイヤーが続出したという。同氏はフィードバックの例として「10%の確率で新たなアイテムを獲得できるPerk」において、“10回に1回は新たなアイテムを獲得できる”といった認識をもたれていたとしている。 確率と試行回数 しかし、たとえば仮に50%の確率でドロップするアイテム

                          ゲーム開発者らが「ユーザーが確率を理解してくれない」とコミュニティで悩みを吐露し合う。でも優しくウソつく時もあるから単純な話でもない - AUTOMATON
                        • ドラクエ4のAI戦闘と作戦、完全に理解した|frenchbread

                          30年ぶりにファミコン版ドラクエ4をプレイしたので、AI戦闘の仕様についてまとめます。ソースは主に下の記事と自分でプレイした検証結果です。 本件に関しては下の記事以上に詳しい情報はないと思われますが、仕様解析というコンセプトで非常に詳細に記載してくださっているため、この記事では自分なりに実プレイ上有用かなと思えるレベルでまとめました。 ご一読いただければ「なぜブライやミネアがいまいち使えなかったのか」といった疑問も解消すると思います。 なお、以下に記載の内容は100%正確とは限りません。 ソースの解析記事を私が誤読している可能性があるのと、一部自分で補完した内容はあくまでプレイ検証して「おそらくこうだろう」と結論づけているに過ぎないためです。ご了承ください。 基礎知識まず基礎知識。 ある程度詳しい方、少し調べたことがある方ならこの辺りはご存じの内容になるかもしれません。 AIは「モンスター

                            ドラクエ4のAI戦闘と作戦、完全に理解した|frenchbread
                          • Othello is Solved 論文解説 (私見) - Qiita

                            今朝起きたら、とんでもない論文を見つけました。 Othello is Solved ゲームの オセロが"解かれた(弱解決)" というのです。飛び起きました。それで、16時まで二度寝してから読みました。 注意すべきは、この論文が査読を経て公開されているわけではないこと、つまり形式上特にチェックを受けたものではないことです。ただ、タイトルからして非常に衝撃的ですので、個人的に読んでみました。この記事では、私がこの論文(およびソースコード)を読んでわかったことを、なるべくわかりやすくまとめます。随時更新します。 余談ですが、このタイトルはどうやら、チェッカーというゲームが以前弱解決された際の論文"Checkers Is Solved"のオマージュだろうという話です。 この記事には専門用語が出てくるので、最後の方に基礎知識として重要な用語や知識をまとめました。 お詫びと訂正 この記事の内容は、私が

                              Othello is Solved 論文解説 (私見) - Qiita
                            • 驚異の1ビットLLMを試す。果たして本当に学習できるのか?|shi3z

                              昨日話題になった「BitNet」という1ビットで推論するLLMがどうしても試したくなったので早速試してみた。 BitNetというのは、1ビット(-1,0,1の三状態を持つ)まで情報を削ぎ落とすことで高速に推論するというアルゴリズム。だから正確には0か1かではなく、-1か0か1ということ。 この手法の行き着くところは、GPUが不要になり新しいハードウェアが出現する世界であると予言されている。マジかよ。 https://arxiv.org/pdf/2402.17764.pdf ということで早速試してみることにした。 オフィシャルの実装は公開されていないが、そもそも1ビット(と言っていいのかわからない,-1,0,1の三状態を持つからだ。 論文著者はlog2(3)で1.58ビットという主張をしている)量子化のアルゴリズム自体の研究の歴史は古いので、BitNetによるTransformerの野良実装

                                驚異の1ビットLLMを試す。果たして本当に学習できるのか?|shi3z
                              • Othello is Solved

                                The game of Othello is one of the world's most complex and popular games that has yet to be computationally solved. Othello has roughly ten octodecillion (10 to the 58th power) possible game records and ten octillion (10 to the 28th power) possible game position. The challenge of solving Othello, determining the outcome of a game with no mistake made by either player, has long been a grand challen

                                • 今、タイでのVTuberブームが大変なことになっている "文化のるつぼ”から生まれる新たな才能を追う

                                  Home » 今、タイでのVTuberブームが大変なことになっている “文化のるつぼ”から生まれる新たな才能を追う バーチャルYouTuberという言葉が始まってから7年以上が経ち、VTuber文化は日本国内の若者から高齢者まで幅広く浸透してきています。このVTuber文化は海外でも少しずつ広がってきていて、各国のユニークな個性を映しだしはじめています。 中国語圏では日本と似た雰囲気のVTuber文化が根付いていて、英語圏ではVShojoを始めとした個人の個性を尊重する文化ができつつあります。ラテンアメリカではよりインディーVTuber(個人VTuber)の存在感がより際立っていて、韓国語圏ではKカルチャーの濃い音楽グループが国内外で人気を集めています。 これらのVTuber文化は言語の壁で、日常的にはなかなか目にする機会が少ないかもしれません。特に知られていない盛り上がりを見せているのが

                                    今、タイでのVTuberブームが大変なことになっている "文化のるつぼ”から生まれる新たな才能を追う
                                  • 全俳句データベース

                                    ぜんぶの俳句のデータベースです

                                      全俳句データベース
                                    • オンラインゲーム 10年の進化と同期方式の選び方 - きゅぶろぐ

                                      オンラインゲームを作ろう!と思ったことがある方は、 こちらの講演記事を1度は見たことがあるのではないでしょうか。 www.4gamer.net こちらの講演は、具体例を交えながら非常に分かりやすくオンラインゲームの主な同期方式が説明してあり、 2024年現在でもオンラインゲームの基礎を学ぶ資料として真っ先に名前を上げる最高の資料です。 しかしながら講演は2010年のものであり、オンラインゲームはこの10年余りで進化しています。 この辺りの進化の話を簡単にまとめつつ、オンラインゲームの同期方式の選び方を紹介します。 (上記講演記事の知識/用語を前提としているため、先に上記記事をお読みください。) オンラインゲームの民主化について 技術の話をする前に。 近年、「マルチプレイヤーゲーム」と聞いてオフラインの画面分割ゲームを想像する人はいないと言って良いほど オンラインゲームは民主化されてきました

                                        オンラインゲーム 10年の進化と同期方式の選び方 - きゅぶろぐ
                                      • Winnyの金子さんのED法について | やねうら王 公式サイト

                                        Winnyの金子勇さんが考案された機械学習アルゴリズムED法を再現して実装した人がいていま話題になっている。 『Winny』の金子勇さんの失われたED法を求めて…いたら見つかりました https://qiita.com/kanekanekaneko/items/901ee2837401750dfdad いまから書くことは私の記憶頼りなので間違ってたらコメント欄で教えて欲しい。 1998年ごろだと思うのだが、私はWinnyの金子勇さんのホームページの熱心な読者だった。(ページも全部保存してたので私のHDDを漁れば出てくると思うが、すぐには出せない。) Winnyのβ版が発表されたのが2002年なのでそれよりはずいぶん前である。 当時、金子さんはNekoFightという3D格闘ゲームを公開されていた。そのゲームには、自動的に対戦から学習するAIが搭載されていた。 当時の金子さんのホームページの

                                        • ゲームプログラミング研修 - KAYAC Engineers' Blog

                                          こんにちは。技術部平山です。 たぶん15年ぶりくらいに研修の類の講師をやったので、そのことについて書きます。 概要 2D用(github)、 3D用(github) の2つのUnityプロジェクトをテンプレートとして用意して、 そこに「コードだけで」ゲームを作る研修をしました。 どちらも、Hierarchyに何かを足すことは禁止、 足して良いアセットはC#ファイルのみで、 そのC#ファイル内ではUnityEngineの機能を使用禁止、 というレギュレーションです。 いずれも、IMachineなるインターフェイスが存在し、 これを通してゲームを作ります。 例えば2D用のIMachineの主要部分はこんな感じです。 public interface IMachine { public int Width { get; } // スクリーン横解像度 public int Height { get

                                            ゲームプログラミング研修 - KAYAC Engineers' Blog
                                          • 『Winny』の金子勇さんの失われたED法を求めて - Qiita

                                            普段は「通知が迷惑かなー」と思ってブックマークしていただいている方に通知せず記事を編集しているのですが、この記事をブクマしていただいている方は続きが気になっている方だと思いますので通知させていただきます。 結論から言うと、この記事を読んだ @pocokhc (ちぃがぅ)さんという方が金子勇さんが書いたED法のサンプルプログラムを見つけてくださいました。 ちぃがぅさんの記事はこちら 自分で解明したかったという気持ちも無いことは無いですが、バズった時点で誰かが実装してくれそうな気はしていました。新卒からIT業界に入って4年目が始まったところですが、業務以外で初めて業界にコントリビュートできた気がして嬉しいです! 追記ついでに、謝罪します。初回公開時に記事タイトル含め本文中で何か所か「Winney」と書いてしまっていた箇所がありました。失礼いたしました。誤字修正してあります。指摘してくださった何

                                              『Winny』の金子勇さんの失われたED法を求めて - Qiita
                                            • かくしてGoogleはスパマーに敗北した | p2ptk[.]org

                                              以下の文章は、コリイ・ドクトロウの「Google reneged on the monopolistic bargain」という記事を翻訳したものである。 Pluralistic 驚くべきことに、かつてAltavistaやYahooをふっと飛ばし、魔法の検索ツールで世界を驚かせたGoogleが、突如クソの山になってしまった。 Googleの検索結果はひどいものだ。ページの上部はスパム、詐欺、広告だらけだ。始末に終えないのは、その広告も詐欺だらけなのだ。時には、資金力のある敵対者がGoogleを出し抜いて大金を稼ごうと大掛かりな詐欺が試みることもある。 https://www.nbcnews.com/tech/tech-news/phone-numbers-airlines-listed-google-directed-scammers-rcna94766 しかし通常、こうした詐欺を働くのは

                                                かくしてGoogleはスパマーに敗北した | p2ptk[.]org
                                              • MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? | mond

                                                MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? 端的に言うと性能が良いからです。 これを理解するにはバッファプールへの理解が必要です。ディスク指向のデータベースの上では有限のメモリを最大限活用することでメモリに入り切らない巨大なデータ群に対して良好な参照性能を出す必要があります。バッファプールとはディスク上のデータの羅列を固定サイズのページ(InnoDBの場合16KB)の羅列であるとして読み書きに必要な分だけをメモリに移し取り複数の書き込みをできる限りメモリ内で受け止めて後でまとめてディスクに書き戻すという、ライトバック型のキャッシュのような機構です。 この中においてバッファプールは有限のサイズしか無いので適宜プール内のデータを書き戻して入れ替えながら上手くやっていく必要があります。 さてB+treeとB-treeの最大の違いは木のリ

                                                  MySQLのインデックスですが、B-treeではなくB+treeを使用するのはどうしてなのでしょうか? | mond
                                                • LLMのプロンプト技術まとめ - Qiita

                                                  現在,34個掲載(一部執筆途中) Xのアカウント@fuyu_quantでも技術系の投稿をしているのでよかったらフォローしてください! はじめに 今回はすぐに使えそうなプロンプトの工夫やフレームワークについて有名なものをまとめました.LMの出力の精度向上に役立てられればと思います. 論文があるものについてはarXivに最初に投稿された順番で掲載しています. 論文で精度向上が確認されているのは英語での検証がほとんどであるため,日本語で改善されるかは分かりません. 全てのLLM(GPT-4,Llama2,...)で精度が改善するとは限りません. ※記事に誤り等ありましたらご指摘いただけますと幸いです. 以下の記事では敵対的プロンプト技術をまとめています! 目次 Zero-shot prompting Few-shot prompting 2021年〜 Generated Knowledge Pr

                                                    LLMのプロンプト技術まとめ - Qiita
                                                  • タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ

                                                    とあるプロジェクトでナノ秒からミリ秒への変換で四捨五入してきた人がいて、時刻を扱うときは保存精度未満は切り捨てるべきというのが常識になっていないなーと思ったので。 2023-10-01 を、何年か表示する時に、2024年に丸める人はいないだろう。 13:45 が何時か表示する時も、13時と表示するだろう。(口頭で何時?と聞かれたら14時と答えるかもしれないけれど) つまり、ある精度で表した時刻は、実際には次のような半開区間を示しているのである。 2023-01-01 00:00:00 <= 2023年 < 2024-01-01 00:00:00 13:45:00.000 <= 13:45 < 13:46:00.000 そして、そう決めたからには一貫して同じように、指定精度未満は切り捨てというルールを維持しなければならない。秒以下は四捨五入で、とかやってはいけないのだ。 一貫しないと何が問題

                                                      タイムスタンプの精度を落とすときは切り捨てろ - methaneのブログ
                                                    • 何でも微分する

                                                      IBIS 2023 企画セッション『最適輸送』 https://ibisml.org/ibis2023/os/#os3 で発表した内容です。 講演概要: 最適輸送が機械学習コミュニティーで人気を博している要因として、最適輸送には微分可能な変種が存在することが挙げられる。微分可能な最適輸送は様々な機械学習モデルに構成要素として簡単に組み入れることができる点が便利である。本講演では、最適輸送の微分可能な変種とその求め方であるシンクホーンアルゴリズムを紹介する。また、この考え方を応用し、ソーティングなどの操作や他の最適化問題を微分可能にする方法を紹介するとともに、これらの微分可能な操作が機械学習においてどのように役立つかを議論する。 シンクホーンアルゴリズムのソースコード:https://colab.research.google.com/drive/1RrQhsS52B-Q8ZvBeo57vK

                                                        何でも微分する
                                                      • UUIDとULIDを理解していない方は見た方がいい記事

                                                        Auto increment(自動採番)型を採用したくない場合 Auto Incrementは、データベースにおいて自動的に一意の識別子を生成するメカニズムです。通常、数値型の列が対象となり、新しいレコードが挿入されるたびにその列の値が自動的にインクリメントされます。典型的なIDですかね。 ここでは一意性の確保の話や、データ移行やバックアップのデメリットには言及せず、セキュリティとプライバシーの懸念にフォーカスして考えます。 予測可能性 Auto Increment型のIDは連番であるため、次に生成されるIDが容易に予測可能です。これにより、攻撃者がシステムの内部構造を推測し、不正アクセスを試みるリスクが高まります。 情報漏洩のリスク 連番のIDはデータベースの挿入順序を反映しているため、公開されることで企業の活動パターンやデータ生成の頻度が漏洩する可能性があります。 例) 競合他社は、公

                                                          UUIDとULIDを理解していない方は見た方がいい記事
                                                        • レコメンドアルゴリズム入門:基礎から応用まで実装に必要な知識を解説 - Qiita

                                                          1: 購入 0: 閲覧(したが購入してない) -: 未観測 ユーザーベース型 ユーザー同士の類似度を計算 「あなたと購入履歴の似たユーザーはこんな商品を買っています」 行を各ユーザーのベクトルとみなして、似たユーザーを見つける(上位N人) 似たユーザーが購入しているアイテムを推薦する(N人の平均値などで購入しそうな順に提示) アイテムベース型 アイテム同士の類似度を計算 「この商品を買ったユーザーはこんな商品も買ってます」 列を各アイテムのベクトルとみなして、類似度の高いアイテムを推薦する(上位M件) 類似度計算には、コサイン類似度やJaccard類似度が使われる。 類似度を計算する際に、未観測「-」は適当な値(0, 0.5など)で埋めるか、無視をする。 ログデータを使うため、情報の少ない新規アイテム/新規ユーザーに弱いコールドスタート問題がある。 コンテンツベースフィルタリング アイテム

                                                            レコメンドアルゴリズム入門:基礎から応用まで実装に必要な知識を解説 - Qiita
                                                          • 浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記

                                                            お近づきになりたい人向けシリーズです。 いろいろなトピックを詰め込みましたが、「これら全部を知らないといけない」のようなつもりではなく、いろいろなことを知るきっかけになったらいいなという気持ちなので、あまり身構えずにちょっとずつ読んでもらえたらうれしい気がします。 まえがき 予備知識 規格 用語 精度という語について 記法 表現について 有限値の表現について エンコードについて 丸めについて よくある誤差や勘違いの例 0.1 = 1 / 10? 0.1 + 0.2 = 0.3? 整数の誤差 Rump’s Example 基本的な誤差評価 用語に関して 実数の丸め 有理数の丸め 基本演算の丸め 差について 複数回の演算 補題たち 桁落ちについて Re: Rump’s example 融合積和 数学関数に関する式の計算 誤差の削減に関して 総和計算 数学関数の精度について 比較演算について 雑

                                                              浮動小数点型の算術とお近づきになりたい人向けの記事 - えびちゃんの日記
                                                            • キャッシュと向き合う、キャッシュと共に生きる / cache pattern

                                                              PHPerKaigi 2024の登壇資料です。 https://phperkaigi.jp/2024/ - https://speakerdeck.com/moznion/pattern-and-strategy-of-web-application-caching - https://soudai.hatenablog.com/entry/cache-strategy

                                                                キャッシュと向き合う、キャッシュと共に生きる / cache pattern
                                                              • 分散システムについて語らせてくれ

                                                                ↓↓↓↓訂正あります。↓↓↓↓ 2018/07/02に株式会社エフコード社内で行われた勉強会のスライドです。 訂正版(随時更新中): https://docs.google.com/presentation/d/15HOMfAbtdWwO48njcB8IdkN3kVAMu3wsmZo0O3S-f_4/edit?usp=sharing 専門家による資料・専門家向けの資料ではありません。自分自身で学習し、論文・文献等を読解してまとめた内容となります。間違い等あるかもしれませんが、あれば是非コメント頂ければと思います。 【訂正事項】 スライド16: 誤:たった一つのプロセスが故障しただけでも有限時間で合意できない 正:たった一つのプロセスが故障しうるだけでも有限時間で合意できない スライド20: 誤: 重要: あるschedule σ1, σ2 がdisjoint (nodeが被ってない) なら

                                                                  分散システムについて語らせてくれ
                                                                • オンライン DDL を期待して ALTER 文を実行したら障害になりかけた話 - カミナシ エンジニアブログ

                                                                  こんにちは。ソフトウェアエンジニアの坂井 (@manabusakai) です。 カミナシではマルチプロダクト化に向けて、認証・認可の切り出しを進めています。その対応を進める中で、既存テーブルへのカラム追加が必要になりました。 先日、そのリリースのために本番データベースにマイグレーションの ALTER 文を実行したところ、クエリが詰まって危うく障害になるところでした(幸いすぐにキャンセルして事なきを得ました)。 原因を調べたところ、オンライン DDL は複数の条件が関係することがわかりました。オンライン DDL に対する知識不足と事前検証の甘さゆえのミスでしたが、結果的には良い学びが得られました。 カミナシのバリューのひとつである「全開オープン」の気持ちで、事の顛末やそこから得た学びを公開します。 なお、今回の話は MySQL 5.7 互換の Amazon Aurora MySQL 2 で確

                                                                    オンライン DDL を期待して ALTER 文を実行したら障害になりかけた話 - カミナシ エンジニアブログ
                                                                  • 【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識

                                                                    概要 4年ほどProductionで使っていたリッチテキストエディタ(Quill on Nuxt.js v2)をTiptap on Next.jsに移行しました。 既存のQuillエディタの使い勝手をTiptapで再現しつつ、改善できるところは改善しつつ、既存の4年分のリッチテキストデータが正しく編集できるようにしなければいけませんでした。 本記事では移行の具体的なプロセスを解説しようと思っていたのですが、リッチテキストエディタは前提知識があまりに多いため、前提となる知識や考え方を解説しているだけでそこそこのボリュームになりました。そこで、一旦考え方や前提知識をまとめた、という体で公開します。 本記事を読んでから各ライブラリのDocsを読んだりカスタマイズを始めたら、少しハードルが下がっていることかと思います。 対象読者の例 リッチテキストエディタに興味がある リッチテキストエディタの開発

                                                                      【React】リッチテキストエディタ(Quill、Tiptap、Slate...)の考え方や前提知識
                                                                    • ChatGPTでの業務効率化を“断念”──正答率94%でも「ごみ出し案内」をAIに託せなかったワケ 三豊市と松尾研の半年間

                                                                      「ごみ出し案内」業務にはChatGPTを“活用しない”と決断した──生成AIを使った業務効率化を検証してきた、香川県三豊市がそんな発表をした。ChatGPT登場から1年がたち、今や職場に導入する企業・自治体も増え、中にはすでに一定の成果を出した事例もある。三豊市でも、ごみ出し案内業務の効率化を図ろうとしたが、思うようにはいかなかった。 今回の事例では、日本のAI研究の権威である松尾豊教授の「東京大学大学院工学系研究科松尾研究室」(松尾研)も協力。約半年間、実証実験に取り組んできた。なぜ、三豊市ではChatGPTを使って業務効率化できなかったのか。三豊市に話を聞いた。 なぜ、ごみ出し案内をChatGPTに託したのか? 三豊市が実証実験を始めたのは6月1日。サービス内容は「市民からのごみの分別や収集日に関する問い合わせに対して、三豊市のごみに関する学習をしたAIが24時間自動応答する」というも

                                                                        ChatGPTでの業務効率化を“断念”──正答率94%でも「ごみ出し案内」をAIに託せなかったワケ 三豊市と松尾研の半年間
                                                                      • 署名付きURLを利用したファイルアップロードWeb API設計の勘所 | フューチャー技術ブログ

                                                                        はじめに現代のWebアプリケーションにおいて、ユーザが写真や動画などのファイルをアップロードする機能は、しばしば求められます。 本記事では、ファイルアップロードを実現するための一手段として、「署名付きURL」を利用した方式を取り上げ、その設計について詳しく解説します。 今回は、Amazon Web Services(AWS)を利用する前提のもと、このアプローチを探求していきます。 前半部分は署名付きURLをそもそもよく知らない方向けの導入部となっていますので、要点だけ抑えたい方は設計上のポイントから読まれることをお勧めします。 ファイルアップロードの実現方式パターン署名付きURLの話をする前に、ファイルアップロード機能をWeb APIとして実現する方式について、いくつか代表的なものを紹介します。 Pattern 1. multipart/form-datamultipart/form-da

                                                                          署名付きURLを利用したファイルアップロードWeb API設計の勘所 | フューチャー技術ブログ
                                                                        • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

                                                                          技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

                                                                            Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
                                                                          • VFXと色収差

                                                                            この世界には電磁波(Electromagnetic waves)という、空間を伝わるある種のエネルギーの波があることが知られています。 電磁波には波長(Wavelength)というものがあります。文字通り、「波の長さ」です。これは波が一回振動したときの距離で、山から山、または谷から谷までの長さということになります。 さまざまな波長の電磁波があります。電磁波の波長の単位はm(メートル)ですが、波長が数千km(キロメートル)に及ぶものから、十億分の1mm(ミリメートル)以下のものまで、さまざまな種類があります。 ひょっとすると電磁波という呼び方をしないので、気づいていないかもしれませんが、電磁波はとても身近なものです。たとえば……。 ・ラジオやテレビ、Wi-Fi、Bluetooth、レーダーなどの「電波」も電磁波 ・電子レンジで食べ物を温める「マイクロ波」も電磁波 ・病院でレントゲン写真を撮る

                                                                              VFXと色収差
                                                                            • malloc.c を読む (malloc / free)

                                                                              このシリーズではこれらの関数が内部でどのように処理されるのかを調べていきます。 malloc.c を読む (malloc / free) malloc.c を読む (bins) malloc.c を読む (arena) 今回は malloc() free() の全体像を紹介します。 注意としてここでの目的は全体を俯瞰して、詳細を詰めずとも各 bins の役割を理解し、攻撃手法を理解できるようにすることです。それに合わないマルチスレッドや最適化などにおける緻密なトリックやコーナーケースなどは暗黙的に実装されていると仮定します。その詳細についてはソースコードや他の資料を参考にしていただきたいです。 ここで扱う glibc のバージョンは v2.38 です。また glibc のソースコードはブラウザ上で読むことができます。 https://elixir.bootlin.com/glibc/lat

                                                                                malloc.c を読む (malloc / free)
                                                                              • 世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita

                                                                                2021年、ふとしたきっかけでオセロAIを作り始め、オセロAIコンテストに作ったAIを提出し、なんやかんやあって半年かけてそのコンテストで世界1位になりました。 それで満足…?と思いきや、全然満足せず、コンテスト関係なしにオセロAIを作って早3年。この記事ではオセロAIが色々なところに私を連れて行ってくれた話と、オセロAIが深いという話をします。 この記事は2年ほど前に書いていっぱい読んでいただけた以下の記事「カンゼンニリカイシタ話」の続編、みたいな立ち位置です。単体で読んでも、以下の記事と合わせて読んでも楽しめます。 世界1位からさらに高みを目指す 私が参加したオセロAIのコンテスト(CodinGame Othello)は、コンテストという特性上、かなり厳しい制約が設けられていました。例えば着手する時間です。これは1手あたり0.15秒以下でないといけません。また、コード長にも制限があり

                                                                                  世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita
                                                                                • アニメーションをスムーズに見せるためのテクニック「指数平滑法」とはどんなものなのか?

                                                                                  グラフィック系の開発者であるニキータ・リシッツァ氏が、「自身のプロダクトのあらゆる場所で使用している」と述べるお気に入りのテクニックである「指数平滑法」について解説を投稿しました。 My favourite animation trick: exponential smoothing | lisyarus blog https://lisyarus.github.io/blog/programming/2023/02/21/exponential-smoothing.html リシッツァ氏は下図のようなトグルボタンを例に解説を行っています。クリックすると「オン」「オフ」が切り替わります。まだアニメーションを何も設置しておらず、トグルボタンは左端と右端を瞬間移動しています。 機能的にはアニメーションが設定されていなくとも問題はないのですが、アニメーションを設定することでユーザーは何が起こって

                                                                                    アニメーションをスムーズに見せるためのテクニック「指数平滑法」とはどんなものなのか?