並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 951件

新着順 人気順

algorithmの検索結果201 - 240 件 / 951件

  • なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記

    How do you imagine a building? You consciously create each aspect, puzzling over it in stages. Inception 型なし言語に馴染みはあるものの型付言語をいざ使ってみたらどういう気持ちで書いたらいいのかわからなかったと同僚から相談があり, それをきっかけにして社内の勉強会で以下の話をしました. よく型なし vs. 型付の文脈では「型を書くのは面倒だ」「安全の方が大事だ」「でも面倒だ」「それは型推論を前提にしていないからだ」などの議論になりがちな気がしますが、これはあくまで「計算ありきの型」を考えているからで, 「型ありきの計算」だと全く見え方が違います. 「型はある種の仕様」とおもえば, 型ファーストであることと, 型なし言語でテスト駆動開発(TDD)するときに最初にテストを書くこととは, 同じ

      なぜ型ファーストで考えるのか - 貳佰伍拾陸夜日記
    • ブロックチェーンでそんなことはできない - chike0905の日記

      概要 本稿は、突然ムシャクシャした筆者が自分の考えるブロックチェーンの定義と、世間で言われているブロックチェーンの特性および応用例を批判するものである。 本稿は筆者の見解であり、所属組織の公式見解ではない。 ブロックチェーンの定義 そもそもブロックチェーンとはなんなのか。狭義には、「ブロック」の「チェーン」であることから、以下の定義をしたい。 データが、当該データ直前のデータの暗号学的ハッシュ値を持つリスト型のデータ構造 ここでは、そのデータの中に何を保持するかは一切考慮しない。 データがハッシュ値で連鎖することによって、リスト中の任意のデータのみを書き換えると、ハッシュチェーンの整合性が失われ、書き換えが行われたことを検知可能なデータ構造であると定義する。 しかし、世間で「ブロックチェーン」に興味を持つ諸氏はこの定義だけではいささか狭すぎると感じるだろう。 そこで、狭義のブロックチェーン

        ブロックチェーンでそんなことはできない - chike0905の日記
      • DeepMind、AIで人間考案のものより優秀なソートアルゴリズムを発見 最大70%高速化

        米Google傘下のAI企業Google DeepMindは6月7日(現地時間)、アルゴリズムを開発するAI「AlphaDev」が、人間が考えたものより高速なソートアルゴリズムを発見したと発表した。 ソートアルゴリズムは、入力されたデータを一定のルールに基づいて並べ替えるもの。ネット検索結果の並べ替えやランキング制作などIT技術の根幹を担う技術の一つ。今回AlphaDevが考案したアルゴリズムは既存のものに比べて、少量のデータなら最大70%、数十万規模の大量のデータなら約1.7%速く処理できた。 DeepMindはAlphaDevに新しいアルゴリズムを発見させるため、ソートの作業を「組み立てゲーム」としてプレイさせた。「正確にソートできる」「既存のアルゴリズムより高速である」という2点を満たせばクリアとした。 関連記事 OpenAIやDeepMindのCEOやトップ研究者ら、「AIによる人

          DeepMind、AIで人間考案のものより優秀なソートアルゴリズムを発見 最大70%高速化
        • リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得ら

          リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得られるということなのだと思うので、可能であればMVCCを採用したいのですが、あまり初学者向けの実装例も見当たらず、どうしたものかと悩んでおります。 SS2PL/S2PLとMVCCの実装の難易度・工数はどの程度違うものなのでしょうか? また、初めてリレーショナルデータベースシステムを開発する者

            リレーショナルデータベースシステムを趣味で開発している者です。 現在、開発中のシステムを並行トランザクションへ対応させることを検討しており、どのような手法があるのか調べたところ、SS2PLもしくはS2PLという手法が私と同じように自作をされている方々の中では多く採用されているようだと分かりました。 一方で、PostgreSQLやMySQLなどのプロダクションレベルで利用されているシステムではMVCCと呼ばれる手法が採用されているということも分かりました。 きっと後者の方が多くの場合で高いスループットが得ら
          • ゲーム開発者らが「ユーザーが確率を理解してくれない」とコミュニティで悩みを吐露し合う。でも優しくウソつく時もあるから単純な話でもない - AUTOMATON

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

              ゲーム開発者らが「ユーザーが確率を理解してくれない」とコミュニティで悩みを吐露し合う。でも優しくウソつく時もあるから単純な話でもない - AUTOMATON
            • 「視覴」の謎

              ChatGPTが「視覴」という新語を発明したらしいことをフガクラさんのツイート(2023-06-08 08:51:02 JST)で知る。 すでに「視覴」は、いくつかの最近書かれたWebページで使われていた。ChatGPTで生成されたページらしい。ざっと検索して見つけたページを列挙しておく。いずれも最近作られたか修正されたページである(1件だけ2020年のページがあるが、最近修正されたものかどうか不明)。 映像・音声編集におけるノーマライズの重要性!(2023-05-11)「視覴的・聴覚的な一貫性」「視覴的な効果を最大化」「視覴的な混乱を避け」(2回)なお、このページは現在消えて視覴とは?AI(ChatGPT)が出力した新しい言葉なのか?(2023-06-08)にリダイレクトされ、「弊社では、2023年3月より用語集作成に際しAIライティングの試験運用を行っておりますが、この度、「視覚」の誤

              • ドラクエ4のAI戦闘と作戦、完全に理解した|frenchbread

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

                  ドラクエ4のAI戦闘と作戦、完全に理解した|frenchbread
                • 図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書

                  この本の概要 テレビ会議やリモートワークが普及する中,情報を守る暗号や本人確認のための認証技術の重要性が増しています。本書は公開鍵暗号や署名などの理論を基礎から詳しく解説し,TLS1.3やHTTP/3,FIDOなどの新しい技術も紹介します。更にブロックチェーンで注目されている秘密計算,ゼロ知識証明,量子コンピュータなど最先端の話題も扱います。 こんな方におすすめ 暗号と認証の基礎を学習したい人 Web担当者やセキュリティ担当者など 1章 暗号の基礎知識 01 情報セキュリティ 情報セキュリティの三要素 情報セキュリティと暗号技術 利便性とコスト 追加された要件 02 暗号 暗号とは よい暗号と使い方 暗号の動向を知る 03 認証 パスワードによる認証 パスワード攻撃者の能力 パスワードの攻撃手法 認証の分類 認可 OAuth 04 古典暗号 シフト暗号 換字式暗号 符号化 2章 アルゴリズ

                    図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
                  • (数式を使わない) Transformer の直感的な説明 / 真面目なプログラマのためのディープラーニング入門

                    (数式を使わない) Transformer の直感的な説明 RNN の欠点 Transformer はこれをどう解決したか Transformer の動作原理 複数の要素間の関係を考慮する (Self-Attention、自己注意) 要素の順序を考慮する (Positional Encoding、位置エンコーディング) まとめ 概要: ChatGPT などで使われている Transformer モデルは、 ニューラルネットワークの世界にいくつかの革新的なアイデアをもたらした。 本記事では、プログラマに理解しやすい形でそれらのアイデアを解説する。 実際に使われている数学の詳細には触れない。 (技術的解説については元論文 Attention is All You Need か、 その注釈版である The Annotated Transformer を参照のこと。 日本語では この解説 がわかり

                    • DBMSをGoで実装してみた - Sansan Tech Blog

                      こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかの本やサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そして本ブログでは、上記の講義

                        DBMSをGoで実装してみた - Sansan Tech Blog
                      • 網羅的で読みやすい必読本。「教養としてのコンピュータサイエンス講義」カーニハン|TAKASU Masakazu

                        教養としてのコンピューターサイエンス講義 今こそ知っておくべき「デジタル世界」の基礎知識www.amazon.co.jp すばらしく良い本なのは間違いない。プリンストン大学の講義なので網羅的だ。この網羅的は、ハードウェアからコンピュータ関連の知財、更にはコンピュータ教育や個人情報保護はどうあるべきかまでというドメインが広くて全部カバーしてるという網羅性と、「ソフトウェアはもともと数学と考えられてたので特許が適用されなかった」みたいな、それぞれの知識内の範囲がすごく広いことの両方を指す。つまり、広くて深い。 事例が新しいし、内容が親しみやすいから若い優秀な人が書いた本かと思ったら、著者はC言語のカーニハン先生!!名前とWikipediaを見直してしまった。 なにしろこんな大御所が、ここまで細かく網羅的な、押し付けがましくなく書いてある入門書を出してるのはすごい。本のタイトルにカーニハンが腕組

                          網羅的で読みやすい必読本。「教養としてのコンピュータサイエンス講義」カーニハン|TAKASU Masakazu
                        • 数百万件残っていたHTTPのはてなブログを4年越しにすべてHTTPS化させた話 - Hatena Developer Blog

                          こんにちは id:cohalz です。はてなブログでは2021年4月の公式ブログで、すべてのブログをHTTPSに一本化していくことを案内しました。 ▶ 「HTTPS配信」への切り替えと、ブログの表示の確認をお願いいたします この時点でまだ数百万件のHTTPのブログが残っている状態でしたが、2021年8月には上記の案内に追記したように、全ブログでHTTPS化を完了できました。 完了までに行ってきたことをこの記事で振り返ってみようと思います。 はてなブログのHTTPS化のこれまで はてなブログのHTTPS化は、2017年9月に最初のお知らせを行ってスタートしました。 当初の予定より時間がかかりましたが、2018年2月にHTTPS配信の提供を開始し、これ以降に作成されたブログは最初からHTTPSのみで配信されています。また、それ以前に作成されたブログでも、ユーザ側で設定を変更することで自分のブロ

                            数百万件残っていたHTTPのはてなブログを4年越しにすべてHTTPS化させた話 - Hatena Developer Blog
                          • QRコードを生成できるだけでなく「作り方」まで理解できる「Creating a QR Code step by step」

                            キャッシュレス決済の筆頭としてPayPayやLINE PayといったQRコード決済が日本においても普及し始めていますが、QRコードがどのように生成されているのかを知る機会は多くありません。「Creating a QR Code step by step」は、好きな文字列を表すQRコードを簡単に生成でき、さらにQRコードの生成過程まで理解できるウェブアプリです。 Creating a QR Code step by step https://www.nayuki.io/page/creating-a-qr-code-step-by-step まずは「Creating a QR Code step by step」にアクセス。ひとまずオプションの理解は置いておいて「Text string」に「GIGAZINE」と入力し、「Force minimum version」を「2」に設定して「Gene

                              QRコードを生成できるだけでなく「作り方」まで理解できる「Creating a QR Code step by step」
                            • 仮想DOMは本当に“速い”のか? DOM操作の新しい考え方を、フレームワークを実装して理解しよう|ハイクラス転職・求人情報サイト AMBI(アンビ)

                              仮想DOMは本当に“速い”のか? DOM操作の新しい考え方を、フレームワークを実装して理解しよう 最近のJavaScriptフレームワークで利用される「仮想DOM」について、リアルDOMの違い、メリット・デメリット、仮想DOMを使ったフレームワーク開発などを、ダーシノ(bc_rikko)さんが解説します。 はじめまして、ダーシノ(@bc_rikko)です。さくらインターネットでフロントエンドエンジニアをする傍ら、NES.cssというファミコン風CSSフレームワークを開発しています。 さっそくですが、皆さんは、ReactやVue.jsといったJavaScriptフレームワークを使ったことがありますか? そういったフレームワークで使われている、仮想DOMについて知っていますか? 「聞いたことない」「聞いたことはあるけど、どう実装されているかは知らない」「熟知している」。いろいろなレベルの方がい

                                仮想DOMは本当に“速い”のか? DOM操作の新しい考え方を、フレームワークを実装して理解しよう|ハイクラス転職・求人情報サイト AMBI(アンビ)
                              • Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記

                                どうも、しいたけです。 去年あたりからローレイヤー周りの知識を充実させようと思い、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読んでCコンパイラを書いてみたりx86_64の勉強をしたりしていました。 今年に入ってから、よりローなレイヤー、具体的にはハードウェアやOSについてもう少し知りたいと思い始め、手頃な書籍を探していました。 CPUなどのハードウェア周りについては概要しか知らなくて手を動かしたことがないので、実際に何か作りながら学べるものとして、 O'Reilly Japan - コンピュータシステムの理論と実装 に挑戦することにしました。 O'Reilly Japan - コンピュータシステムの理論と実装 成果物は以下のリポジトリに置いてあります。 yuroyoro/nand2tetris 結論から言うと、やってみて大変楽しめました! 特にハードウェア周りは今まで挑戦したこ

                                  Nand2Tetris(コンピュータシステムの理論と実装)でCPUからOSまで一気通貫で作るのが最高に楽しかった話 - ( ꒪⌓꒪) ゆるよろ日記
                                • 食べログ側に賠償命令、評価点下落「優越的地位の乱用」 - 日本経済新聞

                                  グルメサイト「食べログ」で評価点が不当に下がり、売り上げが減少したとして、飲食チェーン店がサイト運営のカカクコムに約6億4000万円の損害賠償などを求めた訴訟の判決が16日、東京地裁であった。林史高裁判長は独占禁止法が禁じている「優越的地位の乱用」に当たると判断。チェーン店側の請求を認め、カカクコムに3840万円の支払いを命じた。原告側によると、評価点を決めるルールの「アルゴリズム」(計算手法

                                    食べログ側に賠償命令、評価点下落「優越的地位の乱用」 - 日本経済新聞
                                  • Othello is Solved 論文解説 (私見) - Qiita

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

                                      Othello is Solved 論文解説 (私見) - Qiita
                                    • 「画像AIに絵を描いてもらうためのテキストを作るAI」が公開 どのような文章を入力したらいいのか分からないとの声を受け開発

                                      テクノロジースタートアップのデジタルレシピは、「画像生成AIに絵を描いてもらうためのテキスト作成支援AI」を公開しました。無料で利用できます。 AI画像生成ツール用にテキストを生成ジェネレーター ユーザーが入力したテキストをもとに画像を生成するとして話題の「画像生成AI」ですが、デジタルレシピは「どのような文章を入力したらいいのか分からない」というSNSでの声が多かったことからジェネレーターを開発したとのこと。 テキストボックスに日本語で文章を入力(推奨は全角500文字以上)、絵のスタイルを指定しボタンを押すと画像生成AIに読み込ませるためのテキストが生成されます。 「AI画像生成ツール用にテキストを生成ジェネレーター」を使って筆者が「Midjourney」で生成。テキストは日本語で「2人の少年が、草原でサッカーボールを蹴って遊んでいます。空は晴れていて気持ちよさそうな天気です。よく見ると

                                        「画像AIに絵を描いてもらうためのテキストを作るAI」が公開 どのような文章を入力したらいいのか分からないとの声を受け開発
                                      • 驚異の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
                                        • ツイッターの「おすすめ」に慣れてきた - phaの日記

                                          一時期はあんなに嫌いだった、ツイッターの「おすすめ」タイムラインに、だんだん慣れてきてしまった。 ツイッターにはもともと、フォローしている人のつぶやきが時系列順に並ぶという、一種類のタイムラインしかなかった。 ところがあるときから、ユーザーの好みに合わせてツイッター社がおすすめするつぶやきが並ぶタイムラインが登場した。これが「おすすめ」タイムラインだ(英語では「for you」)。 最初は、「おすすめ」なんて全く要らない機能だと思っていた。 「おすすめ」だとフォローしていない人の興味のないつぶやきが流れてきたりするのがストレスだった。時系列順に並んでないと理解できないつぶやきが意味不明になるのも嫌だった。 ツイッター社は「おすすめ」をやたらとおすすめしてきたのだけど、余計なことをするな、と反感を持っていた。 自分の見たいものは自分で決める。おすすめアルゴリズムなんかに決められたくない。 ツ

                                            ツイッターの「おすすめ」に慣れてきた - phaの日記
                                          • 2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog

                                            こんにちは。労働者です。とあるプログラムで学生さんの課題を添削していたら面白い話に出会いました。 僕は今、主に学部生向けのインターン研修的なプログラムでメンターなるものをやっています。メンターとしての仕事は、学生さんの課題へフィードバックを返し、Office Hourというセッションを毎週設けて質問受けやCSに関するトークを行うといった内容になっています。今回話題に取り上げるのはその中の課題の1つ、「行列積のプログラムを書いて時間を計測せよ」という何気ない話で、続く課題たちのいわば前座のようなものです。こういったところに沼は隠されているものですね。 担当している学生さんたちが細かい実験を行ってくれて以下のような疑問が提示されました。 「行列積の計算が N = 1024のときだけ N = 1023, 1025のときに比べて3倍遅いのはなぜ?」 配列のサイズが2のべき乗になるのは避けるべきとい

                                              2のべき乗サイズの配列は危ないという話 via 行列積 - elkurin’s blog
                                            • ひょっとして一般人がツイッターをやるメリットってない?

                                              フォロワーが多いから給料上がることなんてないし。 ツイッター頑張ってるから課長に昇進なんてこともない。 逆に誰かに発言をチクられて会社から注意されるリスクはある。 褒められることはないわりに、クソリプが飛んできたり、余計なおせっかいなアドバイスされたりしてイライラすることはよくある。 謎のアルゴリズムでフォロワーが少なくてもバズることがあるうえに、バズったらクソリプが殺到してイナゴに食い尽くされるという仕様。 もはやロシアンルーレットをやっているようなもの。 SNSをやるメリットって以前はあったと思うけど、今はなくね? ツイッターでなにか発信したりせずに、普通に暮らしたほうがよくね?

                                                ひょっとして一般人がツイッターをやるメリットってない?
                                              • 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

                                                • Reactのレンダリングに関する完全ガイド - Qiita

                                                  この記事はComplete Guide to React Rendering Behaviorの翻訳記事になっています。 ご本人(Markさん)にも許可を頂いて翻訳しております。 こちらの記事がReactのレンダリングを理解する上で今までで一番体系的で一番分かりやすかったので、ぜひ紹介したく翻訳させて頂きました。 翻訳ツールにもたくさん助けてもらいながら行い、意訳が出来ていない部分が多々あるかと思いますので修正依頼を出して頂けると幸いです! Twitterでも、フロントエンドに関する事や、アメリカでのエンジニア経験に関してツイートしているので、よかったらフォローお願いします。 Twitter: @hellokenta_ja 下記から本文です。 Complete Guide to React Rendering Behavior この記事は、Reactレンダリングがどのように振る舞うか、Co

                                                    Reactのレンダリングに関する完全ガイド - Qiita
                                                  • 良いコードの書き方 - Qiita

                                                    概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマーの教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

                                                      良いコードの書き方 - Qiita
                                                    • 数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita

                                                      Help us understand the problem. What is going on with this article? このエントリはCompetitive Programming (1) Advent Calendar 2019 4日目のエントリで、バーチャル幼女プログラマーきりみんちゃんが書いています。 きりみんちゃんはVTuberとしてAtCoderの過去問を解く配信をしたりしています。 競プロ、しっていますか? さて、みなさんは競技プログラミング/プログラミングコンテストというものをご存知でしょうか。 かなり昔から行われているものではあるので、存在は知っているという方が多いかもしれません。 競技プログラミングをざっくり説明すると、期待される入力と出力が定義された問題が出題され、それをコーディングによって解き用意された自動テストを通すまでの速度などを競うコンテストです

                                                        数学得意じゃない系の社会人エンジニアに競プロとAtCoderを全力で布教したい。あるいは競プロのよくある誤解と楽しむコツ - Qiita
                                                      • ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog

                                                        この記事について この記事では、ファイルに書き込みを行うプログラムを実装する時の注意点について説明します。 ファイル書き込みは、プログラミングにおいて比較的よく利用される機能でありながら、実装時に注意していないと、システムクラッシュ(意図しない電源の喪失や OS のクラッシュ等)後にファイル上のデータが整合性を失う可能性、平たく言えば、データが破損する場合があります。 今回の主な内容はトランザクションに関連する事柄で、ご存知の方からすると当たり前と思われることだと思われますが、執筆者がプログラミングの勉強を始めて以降知らない期間が長かったことと、他にもご存知ない方がある程度いらっしゃるのではないかと思ったため、このように記事にさせていただきました。 また、ここで説明する注意点は、クラッシュ後にデータの整合性が重要でない場合は、気を付ける必要がないものであることを先に書いておきます。 先にこ

                                                          ファイル書き込みをするプログラムで気をつけた方がよいこと | IIJ Engineers Blog
                                                        • Google Mapsがレビュー数を伸ばすための取り組みとサービスデザイン考察記事|坪田 朋

                                                          先日、グーグルが飲食店検索で初のトップにという記事を見かけて、Google Mapsがどうやってレビュー情報を集めてきたのか、過去に書いた考察記事を公開しました。 UXリサーチ目的で、普段からデザインアップデート記録を残しているんだけど、Google Mapsのレビュー機能は2016年から頻度高く使ってきたので、実体験とコンテンツを増やしてきたのか考察をまとめた内容です。 Google Mapsのレビューを始めたキッカケ最初にレビューを投稿したのは2016年で、旅行前にGoogle Mapsで行きたい場所やお店を保存して、現地に行った時になんとなく写真と口コミを投稿したのがキッカケ。 初回投稿後にレビューを促進するコンテンツがメールで届くようになった当時Google Mapsのレビューはまだ認知度が低くメールのタイトルも実験中の雰囲気があった。特典という言葉に釣られてローカルガイドに参加し

                                                            Google Mapsがレビュー数を伸ばすための取り組みとサービスデザイン考察記事|坪田 朋
                                                          • 中学・高校数学で学ぶ、数学×Pythonプログラミングの第一歩

                                                            中学・高校数学で学ぶ、数学×Pythonプログラミングの第一歩:数学×Pythonプログラミング入門 「Pythonの文法は分かったけど、自分では数学や数式をプログラミングコードに起こせない」という人に向けて、中学や高校で学んだ数学を題材に「数学的な考え方×Pythonプログラミング」を習得するための新連載がスタート。連載コンセプトから、前提知識、目標、本格的に始めるための準備までを説明する。 連載目次 この連載では、中学や高校で学んだ数学を題材にして、Pythonによるプログラミングを学びます。といっても、数学の教科書に載っている定理や公式だけに限らず、興味深い数式の例やAI/機械学習の基本となる例を取り上げながら、数学的な考え方を背景としてプログラミングを学ぶお話にしていこうと思います。 今回は、それに先だって、プログラミングを学ぶ上で数学を使うことのメリットや、Pythonでどのよう

                                                              中学・高校数学で学ぶ、数学×Pythonプログラミングの第一歩
                                                            • ネットワーク越しリトライ考 - その手の平は尻もつかめるさ

                                                              ここ最近では何らかのインターネットサービスを構築・運用するにあたって、ネットワーク越しのリトライを考えることは避けられなくなりつつあります。 micro services のようなアーキテクチャを採用している場合はサービス間のメッセージのやり取りはまず失敗する前提 (つまりリトライをする前提) で組む必要がありますし、たくさんのクライアントがいてそのクライアントが定期的に何かを処理してセントラルにデータを送ってくる IoT のようなシステムを構築する時もその処理のリトライをよく考える必要があります。 というわけで「ネットワーク越しのリトライ」についてここ最近考えていることをざっくりと書き留めるものであります。 前提 リトライをする側をクライアント、リトライを試みられる側をサーバと呼称します リトライにおいて、サーバおよびネットワークはクライアントよりも弱者です クライアントはリトライをコン

                                                                ネットワーク越しリトライ考 - その手の平は尻もつかめるさ
                                                              • 攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog

                                                                こんにちは。 マネーフォワードの新卒Railsエンジニア、きなこ と申します。 マネーフォワードX という組織で、日々プロダクトの開発に勤しんでおります😊 突然ですが皆さんは JWT という技術をご存知でしょうか? 私は趣味でCTFというセキュリティコンテストに出場するのですが、最近ホットだと感じるのがJWTに関連する攻撃です。 今年の1月に初めてJWTを題材にした問題に遭遇し、その後JWTの出題頻度が強まっていると感じ、社内に向けてJWTにまつわる攻撃を通して学ぶための記事を書いたところ、たくさんの反応をいただきました。 今回の記事はその内容を社外向けにアレンジし、ハンズオンを通して実際にJWTを改竄し、受け取るAPIを攻撃することでJWT自体を学べるようにしたものです。 本記事はJWTに興味があるWeb開発者を想定していますが、そうでない方も楽しんでいただけるようにハンズオンを用意し

                                                                  攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog
                                                                • 全俳句データベース

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

                                                                    全俳句データベース
                                                                  • ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena

                                                                    いろいろ仕組み的にChatGPTというのはGoogle検索の代替以上の働きをするなぁと思っていたのだけど、それとは別にChatGPTによって検索が使い物にならなく未来が考えられるなぁと思った。 ChatGPTが検索よりもいいのは、そのものズバリな文書がなくても、その周辺から学んだ単語の関係をもとに、答えを構築してくれることです。 たとえば検索の場合は、日本語で書かれた文書が用意されていなければ、たとえ英語や中国語の文書があったとしても日本語での検索には引っかかりません。 けど、ChatGPTの場合は、英語や中国語の文書から学んだ単語の関係や、ほかの文書から学んだ英語と日本語の関係、日本語での単語の関係などから、日本語の回答を生成してくれます。 たとえばGluonという会社について日本語で説明してる記事はおそらくないと思うのですが、ちゃんと日本語で説明してくれます。本社はベルギーですが。。。

                                                                      ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena
                                                                    • 機械学習による株価予想の十八手 - Qiita

                                                                      1. 株価はサプライズによって動く 株式相場には常にプロの投資家がうごめいており、各銘柄の各種業績数値を常に予想して投資活動をしている。そんな状況下において、仮に「売上が前年比2倍」という決算が発表されても、株価が2倍になるわけではない。むしろ3倍が予想されていたのに、2倍だったら失望売りとなる。つまり事前予想と比較してこそ意味があり、staticな値や過去実績との比較を特徴量にすることはあまり意味がない。事前予想と決算の乖離、または前回予想と今回予想の乖離こそが意味のある特徴量であると言える。 2. 業績数値の単純な変化率では株価インパクトは測れない 営業利益の事前予想100億円に対し、決算が200億円の場合、 変化率 = ( 実績 - 予想 ) / 予想 の計算式を使うと、変化率は100%となる。 この変化率を特徴量にするのは一見もっともらしいが、株においてはこれは使いづらい。 営業利

                                                                        機械学習による株価予想の十八手 - Qiita
                                                                      • AIきりたんの仕掛け人、森勢将雅准教授に聞く、AI歌声合成の世界で今起こっていること|DTMステーション

                                                                        すでにご存じの方も多いと思いますが、2月22日にAIきりたんなるものが登場し、大騒ぎとなりました。正確にはSHACHI(@SHACHI_KRTN)さんという方が開発したNEUTRINOというAI歌声合成ソフトがフリーウェアで公開されるとともに、それで歌わせた楽曲が、くろ州さんなどによって公開され、話題になったのです。2月22日は、ちょうどMIDI 2.0の日米合意があった日で、そのドタバタでネットをチェックできておらず、私が気づいたのは24日になってから。その歌声を聴いて驚愕しました。 実際どんなものなのかと、さっそくNEUTRINOをダウンロードし、手元にあったMusicXMLデータを元に歌わせてみると、従来のVOCALOIDなどとは別次元の人間的な歌声で、東北きりたんが歌ってくれてさらに驚いたのです。どういうことなのか知りたいと思い、開発者のSHACHIさんに連絡してみたところ「種々の

                                                                          AIきりたんの仕掛け人、森勢将雅准教授に聞く、AI歌声合成の世界で今起こっていること|DTMステーション
                                                                        • NFTがゴミである理由

                                                                          NFTは著作権、翻案権をめぐる致命的な脆弱性をいくつも持っている。その大半は何の権利も所有者に与えない詐欺まがいの代物だ。そして複製可能でもある。NFTを扱うということは詐欺師と法律家を儲けさせるということだ。 俳優でテレビ・プロデューサーのセス・グリーンが、自身が所有する膨大なNFTコレクションに関連するキャラクターを用いて新アニメシリーズを企画していたが、5月、フィッシング詐欺に遭って4枚のNFTを奪われ、新アニメの制作がストップした。 グリーンは2021年7月に有名アート「BAYC」のNFTを購入し、この数ヶ月間、そのNFTにまつわる「権利」を基に自らが企画する番組の主役にするための知的財産(IP)を開発・活用してきた。 この「盗難」は、様々なNFTの法的な問題を露見させる絶好のケース・スタディとなっている。著作権や所有権、その珍しいライセンス体系をめぐる議論を呼び起こしたのだ。 ス

                                                                            NFTがゴミである理由
                                                                          • ポケモンの最強タイプを考える【グラフ理論】 - Qiita

                                                                            導入 先日、ポケモンの最新作『Pokémon LEGENDS アルセウス』が発売されました。ポケモン愛好家の中で密かに話題を集めたのが、新たに登場したポケモン「ゾロア(ヒスイのすがた)」と「ゾロアーク(ヒスイの姿)」のタイプです。なんと驚くべきことに、両者のタイプは未だ登場したことのなかった「ノーマル・ゴースト」だったのです。 ポケモンを知る人には説明不要ですが、これはノーマルタイプの唯一の弱点であるかくとう技をゴーストタイプで無効化しながら、ゴーストタイプの弱点であるゴースト技をノーマルタイプで無効化するという、非常にバランスのとれた、まさに夢のような複合タイプです。一部では、この「ノーマル・ゴースト」こそ最強の組み合わせなのではないかと噂されました。 しかし、果たして本当にそうなのでしょうか? ポケモンのタイプは全部で18種類あり、一匹のポケモンは二つまでタイプを持つことができます。考

                                                                              ポケモンの最強タイプを考える【グラフ理論】 - Qiita
                                                                            • 高校生がアルゴリズムとスパコンの力で、京都の碁盤目状道路を13.9%効率化した話 - Qiita

                                                                              2. 本研究で解く問題 「いざ研究しよう!」と思っても、条件や設定を決めないと何も始まりません。 まずは研究を分かりやすくするために、「一つの問題」に落とし込むことにしました。 問題設定 縦 $N$ 行・横 $N$ 列の大きさの碁盤の目があります。隣り合う交差点間の距離は 1 です。つまり、交差点が合計で $N^2$ 個あり、それぞれ座標 $(1, 1), (1, 2), ..., (1, N),$ $(2, 1), (2, 2), ..., (N, N-1), (N, N)$ に位置すると考えることもできます。 下の図は、$N = 4$ の場合の交差点の位置です。 あなたは、碁盤の目の交差点の位置は変えずに、道路の並びのみを変えることができます。上手く道路の並びを変えることで、できるだけ「便利」な道路網を建設してください。 「便利な道路網」って何? 私は、以下の 2 つの条件を満たす道路

                                                                                高校生がアルゴリズムとスパコンの力で、京都の碁盤目状道路を13.9%効率化した話 - Qiita
                                                                              • アニメーションで感覚的にハッシュ関数「SHA-256」の算出過程を理解できる「SHA-256 Animation」

                                                                                電子証明書の暗号化やブロックチェーンは、入力された値からまったく異なる値であるハッシュ値を算出する「ハッシュ関数」によって成り立っています。エンジニアのGreg Walker氏が、代表的なハッシュ関数である「SHA-256」のハッシュ値算出の過程をアニメーションで表示できるプログラム「SHA-256 Animation」を公開しています。 GitHub - in3rsha/sha256-animation: Animation of the SHA-256 hash function in your terminal. https://github.com/in3rsha/sha256-animation 実際にプログラムを動かしてみたムービーが以下のものです。 ハッシュ値が生成される様子を「SHA-256 Animation」で観察するとこんな感じ - YouTube プログラムを動かす

                                                                                  アニメーションで感覚的にハッシュ関数「SHA-256」の算出過程を理解できる「SHA-256 Animation」
                                                                                • 2で割ることと3で割ること - Qiita

                                                                                  この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。 除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算を別の計算に置き換えようとします。 最適化ができる場合の一つとして、割る数が定数である場合があります。頭のいいコンパイラは、除算を乗算とビットシフト等を駆使した演算に置き換えます。この記事では、そういった最適化の背景にある理屈を部分的に解説します。 計算機環境としてはモダンなx86 CPUを仮定します。したがってレジスタは32/64ビットであり、負数は2の補数表現になっています。ある程度は他の命令セットでも通用する話になっているかもしれません。 そもそも整数の除算とは プログラミングにおける整数の除算の定義について確認します。整数$n$を整数$d$で割るとき $$ n = q \times d + r $$ が成り立つように除

                                                                                    2で割ることと3で割ること - Qiita