ちょうど1ヶ月前にパスワードの制限が厳しいとハッシュ化していない可能性が高い理由についての記事を書きました。
そして先日携帯キャリアがパスワードを平分のまま保存しているというニュースが流れました。
今回はTwitterから広がったみたいですけど、ぶっちゃけ今更だよね?・・・というツッコミは置いといて、本件について勝手にコメンテーターになってみます。
ちょうど1ヶ月前にパスワードの制限が厳しいとハッシュ化していない可能性が高い理由についての記事を書きました。
そして先日携帯キャリアがパスワードを平分のまま保存しているというニュースが流れました。
今回はTwitterから広がったみたいですけど、ぶっちゃけ今更だよね?・・・というツッコミは置いといて、本件について勝手にコメンテーターになってみます。
Codeというソースコードエディターがあります。Visual Studio Codeや、そのOSS版 Code - OSS のことではありません。
elementary OSに付属しているエディターです。なんとまぎらわしい。
elementary OS自体知らない人も多いかもしれませんが、UbuntuベースでmacOSっぽい見た目のOSです。
このCodeはVSCodeのようにElectronベースではなく、Vala言語で書かれてネイティブコードにコンパイルされるエディターです。あまり有名じゃないためなのかelementary OS用に書かれたためなのかわかりませんが、Gentoo Linux用のパッケージがなかったのでオレオレリポジトリーに追加してみました。
パッケージ名はapp-editors/code
です。
今回はただのネタです。
Code Golfとは別方向の趣向で、予約語を使わないFizzBuzzの実装です。
Array(100).fill(0).map((_,i)=>console.log(++i%15?i%5?i%3?i:"Fizz":"Buzz":"FizzBuzz"))
これでもまだわかりやすい部類の書き方だと思うので、わかりやすさを犠牲にすれば多分もっと文字数は減らせます。
他の言語ではどうなるんだろう。CとかJavaみたいに絶対に実現できない言語もあるけど。
プログラミングスクール生のみなさん、FizzBuzzの課題を出されたらこれを提出してもいいですよ。
以前、イライラするパスワード登録画面5選という記事でこんな趣旨のことを書きました。
パスワードが「8文字以上16文字以下で入力してください」とか「英数字で入力してください」のように制限が厳しいサービスは、パスワードをハッシュ化せずにそのままDBに保存している可能性が高い
生パスワードをそのまま保存する危険性については言わずもがなですが、上記の内容について先日「なんで?」という質問を受けたので、この場でも書いておきます。
みなさん、作ったウェブサービスが吐いているログをちゃんと確認していますか?
サービス監視、ログファイルの出力と集約の設定はやった。でもログの監視をしていなくて、ヤバいエラーが出ていたのに気づかずにユーザーから問い合わせが来て初めて知った・・・みたいなことは割とあるあるです。
これをなんとかした話。とは言っても別に画期的な方法とかではありません。
JavaScriptでバックエンド開発していると非同期処理を使うことが多いですよね。
そこで問題になるのがasync関数に対するawait
のつけ忘れ。まだasync/awaitが使えなくてPromiseオブジェクトに対してthen()
やcatch()
をしていた頃ならすぐ気づいたんですが、単に関数呼び出しにawait
をつけるだけというのは便利な反面忘れやすいです。よくやらかします。
JavaScriptは実行するまでPromiseオブジェクトかどうかわからないからESLintじゃ検出できないよなぁ。TypeScript ESLintならできるんかなぁと思いながらルールを探したらありました。