タグ

2021年12月24日のブックマーク (2件)

  • pingcap/parser (MySQL互換) で SQL を手軽に解析 - freee Developers Hub

    この記事は freee Developers Advent Calendar 2021 の23日目の記事です🎄 freeeDBRE チームに所属している caterpillar です. なんだか大きなデータベースを眺める仕事をしています. 突然ですが, pingcap/parser を使って SQL を簡単に解析していきたいと思います. Go 製 の SQL Parser で, MySQL への高い互換性を謳う TiDB で利用されています. この parser の嬉しい点はこんな感じです. シンプルで使いやすい TiDB に利用されていることから, ある程度結果を信頼できる mask 済 SQL もおおよそ構文解析可能 3つ目について, mask済の SQL は select * from users where id = ? のように一部が別の文字に置き換わっているものを指しま

    pingcap/parser (MySQL互換) で SQL を手軽に解析 - freee Developers Hub
  • アルゴリズムの世界地図 - Qiita

    0. アルゴリズムとは? まず、アルゴリズムとは何かを説明します。(0 節の説明はスライド「50 分で学ぶアルゴリズム」 の説明を参考にして書きました) さて、次の問題を考えてみましょう。 問題: 1 + 2 + 3 + … + 100 の値を計算してください。 単純な方法として、式の通りに 1 つずつ足していく方法が考えられます。すると、以下の図のように答えが計算されることになります。 これで答え 5050 が正しく求まりました。これはれっきとした アルゴリズム であり、この問題を 99 回の足し算 で解いています。しかし、計算回数が多く、計算に時間がかかるのではないかと思った方もいると思います。 ここで、方法を変えて、「1 + 100」「2 + 99」「3 + 98」…「50 + 51」の合計を求めることで、1 + 2 + 3 + … + 100 の値を計算してみましょう。 50 個の

    アルゴリズムの世界地図 - Qiita