chevron_left

メインカテゴリーを選択しなおす

cancel
やわらかテック https://www.okb-shelf.work/

リモートワークでWEBエンジニアをしています。 自称ミニマリストが配線と戦いつつ、快適なデスク環境を目指し「これは買うしかない」と思ったオススメのガジェットなどを紹介中。 エンジニア教育やプログラミング言語に関する内容も。

ぎょうざ
フォロー
住所
未設定
出身
未設定
ブログ村参加

2023/01/11

arrow_drop_down
  • 2023年度のブログ活動の振り返り

    あっという間に今年も残り数時間で終わろうとしていますね。 今年度もありがとうございました。今年は多くの方に記事を読んで頂けて嬉しい限りです。 実は報告などはしていなかったのですが、2023年はある目標を立ててブログ(アウトプット)を続けてきました。 もしかしたら、勘付いている方もいるかもしれませんが、その目標とは「毎月10記事以上の記事を1年、投稿し続ける」というものです。 ブログ上部の「運営者について」に月毎の投稿数が分かる情報を表示するようにしているのですが、2023年は全ての月で10記事以上の記事を投稿し続けて、12月度はすでに9件の記事を公開しており、この記事が10個目の記事になります…

  • 2023年に読んで良かった本

    気づいたらクリスマスが終わっていました。本当に早いですね...。 前回、公開した「2023年に買って良かったもの」に引き続き、年末恒例の「~年に読んで良かった本」についても紹介していきたいと思います。 www.okb-shelf.work 買って使ってみて本当に良かった...と感じたものだけを紹介しているので、ぜひ合わせて読んでみてください。 今年はアウトプットをメインに活動したこともあって、昨年度と比べるとあまり本を読むことができませんでしたが、それでも何冊か衝撃・感銘を受けた書籍がありました。なんだかんだで新しい知識を得ることができる読書が好きで、気づいた時には書店に行ってしまいます。学生…

  • 今更ながらMATERIALIZED VIEW(マテリアライズドビュー)について学ぶ

    アプリケーションにおいて高負荷になりやすい処理の一つにレポート・データ集計があります。 リアルタイム性が求められる場合もあれば、ある時点までに集計されたデータを見れればOKなど、要件はさまざまですが、一般的にはデータベースに対して複雑なクエリや複数テーブルに対しての結合を行う必要があります。そのためデータ量に依存しやすく、リリース当初は問題なくレポートが見れていたのに、サービスの運用期間が長くなるとレポートが見えなくなったという話をよく聞きます。 この問題への対処方法の1つとして、データのキャッシュ化が挙げられます。 リアルタイム性は失われてしまいますが、ある時点までの集計がされているデータを…

  • 2023年に買って良かったもの

    早いもので2023年も終わろうとしています。 いやー、今年もあっという間でしたね。今年もたくさん記事を書いてきましたが、どうでしたでしょうか。 読者の皆さんをはじめ、僕の記事を読んでくださる方には頭が上がりません。本当にいつもありがとうございます。年末なので毎年恒例(?)の「〜年に買って良かったもの」の記事を書きたいと思います。 自称ミニマリストなんですが、なんだかんだで色々と買ってしまいました。 新居に引っ越して今年で2年経つのですが、長く住んでいるとモノが悪くなってきたり「うーん、何か違うなぁ...」と目につくものが続々と現れる一年間でした。 ということで、2023年に買って良かったと感じ…

  • NULL値が含まれるカラムにインデックスは有効なのか

    データベースで0対Nのモデルを表現する際に、よく外部キー制約とNULL許容の制約を定義することがあります。 値は特定のテーブルのIDもしくはNULLのどちらかを持つことになります。これを出版社(publishers)と書籍(books)のモデルをテーブルに落とし込んでみると以下のようになります。 基本的に書籍は出版社から出版されてbooksテーブルのレコードはpublisher_idで紐付けられますが、個人出版・データベースに登録されていない出版社から出版された書籍はpublisher_idにNULLを持つこととします。別途、個人か企業による出版かのカラムを持たせたり...と考えられることはあ…

  • Ruby3.4で追加されるブロックパラメーター"it"について

    先週、届いたRuby Weeklyに面白そうなトピックが紹介されていました。 Ruby 3.4 Will Have 'it' — There’s never been any doubt: Ruby has it. But now as well as the ‘it’ factor, it really will have it. Confused? it is a nicer looking shortcut to the first parameter in a block (a la _1) – e.g. arr.each { puts it }. Ruby 3.3 will warn…

  • データベースにおけるJSON型のカラムの使い所

    最近、データベースのテーブル設計を担当したり、既存のテーブル設計を見ることが多いです。 テーブルの設計書を見てみるとJSON型が指定されているカラムが目につくことがあります。既存のテーブルでもJSON型が使われている箇所がありました。 「json型を使うな!」というわけではありませんが、前から何度も言っているように設計やアーキテクチャというのは常にトレードオフです。JSON型のカラムについても同様にメリット・デメリットがあります。 今回はRDBにおいてJSON型を使っても良いケース、避けるべきケースについて個人的な所感を書いてみたいと思います。なお、今回の内容はSQLアンチパターンでも紹介され…

  • HonoのNode.jsランタイムにマージされた神PRを見てみる

    先日、Twitterにて素晴らしいツイートを見かけました。 うおおお。@usualoma さんの神PRをマージしたぞ。これでHonoがNode.js上で3倍近く速くなった!これはFastifyよりかは少し遅いけど、他のフレームワークと比べると十分速いレベルで、Node.jsの世界においてもHonoは第一選択肢に入ってもいい存在になった。https://t.co/mcAmUsQcUZ pic.twitter.com/pZiKy913rv— Yusuke Wada (@yusukebe) 2023年11月27日 このツイートはHono製作者のYusuke Wadaさんのもので、どうやらNode.j…

  • エアコンの分解洗浄をして内部の汚さに衝撃を受けた

    ある日のこと、ポストに「エアコンの分解洗浄しませんか?」という旨のチラシが入っていました。 今までこういったチラシが入っていたことはなくて、どうもエリアを移動しながら洗浄を行なっているようで、今回、たまたま自分の住んでいる場所が洗浄エリアになったようです。 エアコンの掃除はフィルターを夏と冬、エアコン初稼働の前に簡単に掃除するぐらいで、内部の洗浄までは行なったことがありません。 ただ吹き出し口から内部を覗いてみると、黒くなったホコリが気になります。 とはいえ、手が届かない上に賃貸に付属しているエアコンなので、壊してしまったらどうしよう...と思うと怖くてエアコン内部の洗浄には手が出ませんでした…

  • 中間テーブルへのデータ更新(削除・追加)を効率的に行う方法

    以下のようなテーブルがあったとします。 ユーザーは記事(posts)に対して、自由にタグ(tags)を設定することが可能です。 記事とタグは多対多の関係にあるため、中間テーブル(post_tags)にて記事へ設定したタグの一覧を管理しています。 仕様上、ユーザーは記事に設定したタグを自由に付け外しできます。 既存のある記事にタグA・Bが設定されている状態で、新たにユーザーがタグBを外して、タグCを設定したとします。最終的に中間テーブルには記事とタグA・Cが紐付くデータが残ります。 この場合、中間テーブルのデータ更新のアプローチには大きく2つのアイディアが考えられます。 全てのデータを一度、削除…

arrow_drop_down

ブログリーダー」を活用して、ぎょうざさんをフォローしませんか?

ハンドル名
ぎょうざさん
ブログタイトル
やわらかテック
フォロー
やわらかテック

にほんブログ村 カテゴリー一覧

商用