やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

【2022年版】DB-ENGINESよりデータベースの人気ランキングを見てみる

海外のDB-ENGINESというサイトで紹介されています。以下の画像は2022年5月度の集計結果です。

データベースランキング

  • Oracle
  • MySQL
  • Microsoft SQL Server
  • PostgreSql
  • MongoDB

1位から5位まではランキングにほとんど変更がないようで、ほとんどがRDBです。自分はWEBメインでPostgreSqlをずっと使っていたのですが、MySQLよりもランクが下だったのは驚きました。NoSQLではMongoDBがランクイン。Redisも6位に位置付けています。とはいえ、RDBが現在も確固たる立ち位置を確立していることが分かります。

PostgreSqlのチューニングだけでやっていけるかと考えていましたが甘かったです。 また、各DB名のリンクをクリックすることで詳細ページに遷移するのですが、概要を掴むには十分な情報が記載されており、導入を検討する際は非常に役に立ちそうです。

db-engines.com

続きを読む

pythonでブルームフィルターを作って覚える

ブルームフィルター(Bloom Filter)とは

ブルームフィルターというのは1970年にブルームさんが作った確率的データ構造と呼ばれるデータ構造の1つです。
データ構造というのは

  • 配列
  • 連想配列
  • リスト

などをイメージしてもらえば良いのですが、確率的データ構造という言葉はあまり聞き馴染みがありません。

確率的データ構造というのは簡単に言えば「値がデータ構造に入っているか、いないかをを知ることが出来るデータ構造」のことをいいます。 以下の例では5の値がlstに含まれているかを判定したいとします。pythonであればsearch_val in lstとすれば5の値がlstに含まれているかを簡単に判定することが出来るので、リスト(lst)は確率的データ構造の1つであるといえます。

search_val = 5
lst = [1,2,3,4,5,6,7,8,9]

ブルームフィルターの最大の特徴としては含まれていないものを含んでいる(偽陽性)と誤判定してしまうことがあるが、含まれていないものを含まれていない(偽陰性)と誤判定することはないという点です。

つまり、含まれていると判定されたとしても本当は含まれていないということはありますが、含まれていないと判定された場合に、その値は必ず含まれていないことが保証されます。

続きを読む

【エンジニア教育の壁】ティーチングとコーチングの違いを教えてもらった

どこまで教えてあげれば良いのか問題

教育というのは非常に難しく、私が担当したエンジニア教育についても全く同じことが言えます。
その一例として「どこまで教えてあげれば良いのか分からない」という問題があります。自分の中では答えがあるものの、相手が分かっていない時に、「ここはこうすると....」とか「そうするとこういう問題が起きてくるから...こうしないと」というアドバイスをすることで相手の成長、やる気を奪ってしまう可能性があります。

とはいえ、答えが出てくるのをいつまでも待っている訳にはいかないので、ある程度、先導してあげねば無駄な時間を過ごすことになってしまいます。

この境界線は非常に難しく悩みの種だったのですが、外部メンターの方に非常に参考になる話を頂いたので記事にしました。

続きを読む

初めてOSSにPRを出したらマージされた

Githubトレンドを徘徊中のこと

技術トレンドを追うために定期的にGithubのトレンドを月単位で集計されたものを見ています。
最近、データベースにお熱なのですが、何やら「sqlmap」という面白そうなレポジトリを発見しました。

github.com

最初はSQLを効率よく学習するためのロードマップかなと思ったのですが、実態はsqlインジェクションを悪用した攻撃を検証するための自動化ツールでした。

sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers

普段は「へぇ、こんなの流行ってるんだな」という程度で終わるのですが、何を血迷ったのか「PR投げれるところないかな」と思い立ったのでした。

...。

今になって思えば、以前、外部のエンジニアの方に相談してOSSコミットしてみたら?とアドバイスがあったからかもしれません。

続きを読む

モチベーションがなくなった結果、データベースについて2ヶ月間勉強した

概要

  • 新卒4年目にして業務の慢性化、スキルアップの実感の無さからモチベーションが低下した
  • 得た知識が業務で高確率で役に立つ知識(投資効果の高い)を得ようと思い立つ
  • 投資効果の高いスキルはほぼ100%どのプロジェクトでも使われるデータベースだと考えた
  • ロードマップを作って5冊の書籍を読み進めた
  • 理論、知識を身に付けたが実践が少なすぎる。もっと実践をせねば

新卒4年目にして何をやりたいのか分からなくなった

今年でエンジニアになって4年目になりました(学生時のインターンを含めると6年目)。
「プログラムを書くのって楽しいな」という気持ちからのスタートで、今、好きなことをやってお金を貰えて...まさに天職だなと感じます。

元々、情報系の専攻ではなかったため、覚えること、興味があることが多すぎて、技術書や何かしらの情報に触れない日はありませんでしたが、ある日を境にモチベーションが急低下してしまいました。今になって思えば、業務の慢性化、スキルアップの手応えの無さ、報酬が増えないことに嫌気が指していたのだと思います。

「あれ、何のためにやってるんだっけ?」という問いに対して答えが出せなくなりました。

続きを読む