タグ

ブックマーク / qiita.com/kawasima (3)

  • ID生成大全 - Qiita

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

    ID生成大全 - Qiita
    khtokage
    khtokage 2017/12/01
  • Excel方眼紙を支える技術2016 - Qiita

    POIを使ったExcel帳票の出力は、システムエンジニアにとっては日常茶飯事、おちゃのこサイサイであります。 takezoen先生による2015年版はこちらになります。 ここで紹介されている、S式からExcel方眼紙を出力するライブラリaxebomber-cljは、こちらをご覧ください。 特筆すべきはaxebomber-cljでは、Excelにありがちな文字切れが起こらないというところです。そもそもExcel方眼紙は、入力文字列が自動改行されない制約を設けて、利用者が意図的な位置で改行をコントロールするために発明されたフォーマットであります。しかし、その特異な見た目が災いし、単に敬遠される存在にとどまっております。axebomber-cljは、文字幅とセル幅を計算し、文字切れしない位置で自動的に改行するようにしています。これにより、Excel方眼紙の文字切れしにくさを活かしつつ、煩わしさを

    Excel方眼紙を支える技術2016 - Qiita
    khtokage
    khtokage 2015/12/20
    MarkdownからExcel方眼紙という闇の深さ
  • パスワード問合せシステムを作る (clojureのreducers) - Qiita

    現在のパスワードを教えてくれるからといって、「平文で保存してる!くぁwせdrftgyふじこlp‎」と脊髄反射してはいけません。 JALの6桁数字パスワードがどう格納されているか? 古いシステムなのでMD5でハッシュ化していると想定しますが、もちろんsaltは付けているでしょう。 さて、そんなパスワード保管方式で、現在のパスワード問合せに応答するシステムを作ってみます。 パスワードを「567890」、saltを「hoge」として、データベースには"hoge$567890"のMD5値"4b364677946ccf79f841114e73ccaf4f"が格納されているとします。 総当りしてみましょう。 (ns six-length.core (:require [clojure.core.reducers :as r]) (:import [java.security MessageDigest

    パスワード問合せシステムを作る (clojureのreducers) - Qiita
    khtokage
    khtokage 2014/02/12
    これは酷いパスワード問い合わせww ちょっと試してみたけどLUTは1.5秒で作れた(Ruby2.0 i3-3225)。これがなんとストレッチング1000回なら25分!どうですかみなさん、凄いでしょう?今ならおまけに塩も付けて(ry
  • 1