2018年7月8日のブックマーク (8件)

  • モナド則がちょっと分かった? - Qiita

    モナドを勉強しようとするとモナド則が立ちはだかります。しかしモナド則は意味だけでなく、それがモナドを勉強する上でどういう位置付けなのかも分かりにくいです。とりあえず棚上げしたまま分かる範囲のことから手を付けていましたが、ちょっと分かったような気がしたのでメモしておきます。 モナド則に関する現時点の理解ですが、正確さは保証できません。 これを読めばモナドが理解できるという類の説明(モナドチュートリアル)ではありません。 試験的にモナド則を図示しました。コードを図に転写して、多少の解釈を加えたものです。もし分かりにくければ無視しても構いません。 この記事はHaskell 超入門シリーズの番外編です。 モナド則は return と >>= の動きに関するルールです。 return x >>= f == f x m >>= return == m (m >>= f) >>= g == m >>=

    モナド則がちょっと分かった? - Qiita
    harukeki
    harukeki 2018/07/08
  • ヨーダ記法 - Wikipedia

    この記事には参考文献や外部リンクの一覧が含まれていますが、脚注による参照が不十分であるため、情報源が依然不明確です。適切な位置に脚注を追加して、記事の信頼性向上にご協力ください。(2016年8月) ヨーダ記法(ヨーダきほう、Yoda notation)またはヨーダ条件式(ヨーダじょうけんしき、Yoda conditions)とは、プログラミングにおけるジャーゴンのひとつで、If文などの条件式において比較するふたつの要素を一般的な順序と逆に記述するプログラミングスタイルをいう。ヨーダ記法では条件式の左辺(比較演算子の左オペランド)に定数を配置する。 映画『スター・ウォーズ』シリーズの登場人物・ヨーダが、標準的ではない英語の文法で話すことに由来する。 ヨーダ記法はWordPress[1][2]やSymfony[3]のPHPコーディング標準の一部に採用されている。一方、CakePHPのコーディン

    harukeki
    harukeki 2018/07/08
  • 初心者プログラマが犯しがちな過ち25選 - Qiita

    以下はThe Mistakes I Made As a Beginner Programmerの日語訳です。 The Mistakes I Made As a Beginner Programmer 初心者プログラマが犯しがちな間違いと、それらを特定し、避けるための習慣を学ぶ方法。 まず最初に言っておくことがあります。 この記事は、誤りを犯すことを悪いと糾弾するために作成されたものではありません。 むしろ貴方が誤りに自ら気付き、あるいはその兆候を見いだし、それらを避けられるようにするために書かれたものです。 私は過去これらの誤りを犯し、それぞれから学びを得てきました。 今ではこれらを避けるようなコーディングを習慣付けるようにしています。 貴方もそうしましょう。 紹介は順不同です。 1) 設計せずに実装する 高品質なコンテンツは、一般的には容易に作成できるものではありません。 それには慎重

    初心者プログラマが犯しがちな過ち25選 - Qiita
    harukeki
    harukeki 2018/07/08
  • Yoda conditions - Wikipedia

    In programming jargon, Yoda conditions (also called Yoda notation) is a programming style where the two parts of an expression are reversed from the typical order in a conditional statement. A Yoda condition places the constant portion of the expression on the left side of the conditional statement. Yoda conditions are part of the coding standards for Symfony[1] and WordPress.[2] Origin[edit] The

    harukeki
    harukeki 2018/07/08
  • パスワードのハッシュ値を保管するときのsaltの作り方

    flat/京山和将@昼夢堂 @flat_ff パスワードハッシュ値のsaltって低品質の乱数由来でもいいんだろうか?ユーザーごとに分けろって話はあるけど、精度はあまり問題にならない?見つけた範囲では、/dev/urandomつかってるものから、平文パスのmd5を使ってるものまでさまざま。

    パスワードのハッシュ値を保管するときのsaltの作り方
    harukeki
    harukeki 2018/07/08
    “ません。最低限の要件は、短くないことと、ユーザ毎に違うことです。パスワードを元にしたSaltは後者を満たし”
  • パスワードのストレッチング処理に抵抗を感じる理由 - Qiita

    ストレッチング処理とは? ハッシュ化された文字列に対して更にハッシュ化の処理を行う * n を行う処理 ハッシュ化されたパスワード (と 利用したソルト) が悪意のある第三者に渡った場合でも、解析までの時間を稼ぐ事ができる パスワードをハッシュ化して保存する処理 に対する個人的な感想 ソルト処理 (パスワードに適当な文字列を付加してからハッシュ化) やらなきゃだめだよね! ストレッチング (ハッシュ化された文字列をハッシュ化 * n) やりたくねぇぇぇ 以下は個人的な感想です(´・ω・`) ストレッチングが手軽で有効なのはわかるんだけど・・・という気持ちをまとめてみました。 高速に動作する処理を複数回実行して低速に! もともと、プログラムを書いていて、「ハッシュを使いたい!」と思う場面では、「高速」であるからハッシュを使っている、ということが多い。 データ比較処理の高速化 (自分の感覚では

    パスワードのストレッチング処理に抵抗を感じる理由 - Qiita
    harukeki
    harukeki 2018/07/08
  • パスワードはハッシュ化するだけで十分?

    2016年はパスワード流失のニュースが相次ぎました。また2017年7月には流出したパスワードが悪用されたとみられる事例も報道されています。「暗号化」や「ハッシュ化」しておけば安全だったのに、と思われたでしょうか?今回はパスワード流出事例や、パスワード保存時の対策について取り上げます。 2016年9月、米ヤフーから5億件以上のハッシュ(※1)化されたパスワードを含むユーザーアカウント情報が流出(※2)、さらにDropboxから6,800万件以上(※3)のパスワードが流出していたと報道されました。パスワードが流出しても、「暗号化」や「ハッシュ化」されていれば問題ないのでは、と思われた方もいるかもしれません。ところが、暗号化やハッシュ化されたパスワードから元のパスワードが割り出されてしまう事例は多数確認されています。 ※1 ハッシュ(ハッシュ値) 任意の文字列から規則性のない値を生成するアルゴリ

    パスワードはハッシュ化するだけで十分?
    harukeki
    harukeki 2018/07/08
  • npxが結構良さそうな件について - Qiita

    追記:2017/07/12 gist連携時の理解が間違ってたので修正 npm 5.2リリース。npmパッケージのダウンロードと実行を一度に行うCLIツールnpxが同梱された / “Release v5.2.0 (2017-07-05) · npm/npm · GitHub” https://t.co/2CXccPBqcq — Teppei Sato (@teppeis) 2017年7月11日 へー、と思って見に行ったら結構面白かったので雑な紹介を書いてみることにする。 v.5.2.0 リリースノート npxの紹介記事 この記事は紹介記事のざっくりしたサマリ相当です。 適当に20分くらい触ってわかったことだけ書いてあるので間違ってたり不正確だったりしたら別途詳解記事を書いて教えてもらえると幸いです。 npx is 何? $(npm bin) やってくれるマン npx tsc は大体 $(np

    npxが結構良さそうな件について - Qiita
    harukeki
    harukeki 2018/07/08