タグ

algorithmとあとで読むに関するs1251のブックマーク (7)

  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

    ID生成大全 - Qiita
  • 「プログラミングの常識」を時々見直す必要性について|Rui Ueyama

    自分の中のプログラミングの常識というものは、ときどき現実のハードウェアに合わせて調節しないといけない。ハードウェアが進歩し続けているので、コンピュータで簡単にできることと相対的に難しいことのバランスが変化し続けているからだ。ここでは特にストレージにフォーカスして書こうと思う。 昔はメモリが相対的にとても貴重な資源だったので多くのプログラマがメモリを節約することに血道を上げていた。例えばWindowsの初期の頃に設計されたデータ構造には、メモリをバイト単位ででもいいから節約したいという意図の痕跡がいまでも多く見受けられる。DRAMの次に速い記憶装置はHDDだったので、メモリが足りなくなればHDDにデータを保存せざるを得ないのだが、DRAMとHDDのランダムアクセスの速度差は、机の上のの開いているページを見るのと、そのAmazonで注文して到着するのを待つのと同じくらいのスケールで違うの

    「プログラミングの常識」を時々見直す必要性について|Rui Ueyama
  • SQLトランザクション分離 実践ガイド | POSTD

    (注:2017/10/16、いただいたフィードバックを元に翻訳を修正いたしました。) (注:2017/10/11、いただいたフィードバックを元に翻訳を修正いたしました。) データベースのドキュメントで分離レベルを目にして、軽く不安を感じつつ、あまり考えないようにしたことはないでしょうか。トランザクションの日常の使用例できちんと分離について言及しているものはほとんどありません。多くはデータベースの初期設定の分離レベルを利用しており、後は運頼みです。しかし、来、理解しておくべき基的なトピックであり、いくらか時間を投入してこのガイドの内容を学習すれば、もっと快適に作業できるようになるでしょう。 私はこの記事の情報を学術論文、PostgreSQLドキュメンテーションから集めました。分離レベルの 何たる かだけでなく、適用の正確さを保持しつつ最大速度で使うにはいつ使うべきか、という疑問に答えるべ

    SQLトランザクション分離 実践ガイド | POSTD
  • 【機械学習初心者向け】scikit-learn「アルゴリズム・チートシート」の全手法を実装・解説してみた - Qiita

    scikit-learnのアルゴリズム・チートシートで紹介されている手法を全て実装し、解説してみました。 注釈 記事シリーズの内容は、さらに丁寧に記載を加え、書籍「AIエンジニアを目指す人のための機械学習入門 実装しながらアルゴリズムの流れを学ぶ」 として、出版いたしました。 概要 scikit-learn アルゴリズム・チートシート 【対象者】機械学習を使用したい方、初心者向けの機械学習を読んで少し実装してみた方 scikit-learnの説明は英語で分かりにくいし、実装例もシンプルでなくて、よく分からんという方 【得られるもの】模擬データを用いて、各手法を使用したミニマム・シンプルなプログラムが実装できるようになります。 アルゴリズムの詳細な数式は理解できませんが、だいたい何をやりたいのか、意図と心、エッセンスが分かります。 アルゴリズムマップの手法をひとつずつ実装・解説します。

    【機械学習初心者向け】scikit-learn「アルゴリズム・チートシート」の全手法を実装・解説してみた - Qiita
  • 体系的なSwift言語学習 - Qiita

    言語学習をしていると、もっと体系的に学びたい、実際に実務でどんな感じのソースコードが書かれているかみたいなどと思うことがあると思います。その中で自分が体系的に学べたものをいくつか紹介したいと思います。 ※内容は初心者から中級者向けです。 Github Repositories https://github.com/raywenderlich/swift-algorithm-club raywenderlichさんによる、swiftでalgorithmを学べるリポジトリです。 https://github.com/kickstarter/ios-oss Kickstarterさんが実際にリリースしているアプリのオープンソースリポジトリです。 https://github.com/mixi-inc/iOSTraining/blob/master/Swift/README.md mixiさんが公

    体系的なSwift言語学習 - Qiita
  • Go言語にさらに入門するために係り受け解析器を書いた話 - yasuhisa's blog

    今年からGo言語に入門していますが、もう少し複雑なものをものを書いてみたいと思ったので、係り受け解析器を書きました。その過程で工夫したこと、苦労したことをまとめます。作ったものはこちら。 一人で作っているプロジェクトですが、100行以下の細かめの修正毎にPull Requestを作っているので、どのような過程でやっているかが比較的分かりやすいと思います。 easy-first algorithmについて 係り受け解析アルゴリズムの1つです 最も自信のある(つまり簡単な)ところから係り受け関係を付けていくgreedyな方法です コーパスには正解の係り受けは付与されていますが、簡単さの順序は当然分からないので、構造化パーセプトロンでそれを含めて学習します 構造化パーセプロトンについては入門エントリを書いているので、興味がある方はどうぞ なぜ係り受け解析器を書いてGo言語の入門をするのか 学んだ

    Go言語にさらに入門するために係り受け解析器を書いた話 - yasuhisa's blog
  • さまざまなアルゴリズムをアニメーションで解説してくれる『Algomation』 | 100SHIKI

    見ていて楽しい感じだったのでご紹介。マニアックだが。 Algomationはさまざまなアルゴリズムをアニメーションで解説してくれるサイトだ。 よくあるソート系のアルゴリズムや、オセロを題材にした人工知能のアルゴリズムまで網羅している。 また自分でアルゴリズムを作って投稿することも可能だ。これ系の思考実験が好きな人は覗いてみるといいですね。

    さまざまなアルゴリズムをアニメーションで解説してくれる『Algomation』 | 100SHIKI
  • 1