2024-03

Docker

Dockerってなんやねん

Docker、今では当たり前の技術で、エンジニアであれば普通に使っていると思います。 もちろん私も使ってきたのですが、「なんとなく」という雰囲気で使ってきたんです。 それでも特に困ったことはなかったのですが、基礎をしっかり固めたい!という思...
インフラ

サーバーって結局こういうこと

フリーランスのサーバーサイドエンジニアとしてプログラムを書いている私ですが、 インフラ周りにもっと強くなりたい!と思い、インフラ周りを勉強しています。 今回の記事では、ネットワークについての備忘録を自分用に書いています。 かなり噛み砕いて書...
Ruby

RackとRailsの関係について備忘録

こんにちは! 私はサーバーサイドのエンジニアとして、普段プログラムを書いているのですが、 インフラ領域に苦手意識があるので、 インフラにも強いサーバーサイドエンジニアを目指して、勉強しております! 今回は、Rackがどういうもので、Rail...
DB

DBのロックの種類(MySQL)

DBのロックの種類 DBのロックには、大きく以下の2種類があります。 共有ロック 排他(占有)ロック 共有ロックとは、参照はできるけど、更新はさせないロック。排他ロックとは、参照も更新もさせないロック。 そしてロックする対象についても、大き...
Ruby

コンソール上からヘルパーメソッドを実行

rails を使っている方で、「コンソールからviewのヘルパーメソッド実行したいなー」と思っていませんか?? helperをかませば実行できますよ! helper.time_ago_in_words(Time.current) ちなみに、...
Ruby

User Agentとは

UA(User Agent)とは、ネット利用者がアクセスしてきた時に利用している端末やOSのことを指します。 例えば、あなたがiPhoneでこのサイトにアクセスしてきたら、「このアクセスのUAはiPhoneですね!」となる訳です。 エンジニ...
DB

DBのオートコミットって知ってる??

DBの処理実行中に「停電だ!」とかでセッションが途切れてしまったとします。 そんな時でも、トランザクションをちゃんと張っていれば、DBの処理が中途半端にならず、ロールバックしてくれますよね。 トランザクションを張る際、コミットと宣言すること...
DB

DELETEとTRUNCATEの違い

特定のテーブルのレコードを全て削除するときは、DELETEではなくほとんど、TRUNCATEが使われる。 DELETETRUNCATEデータをロールバックすることができるデータを完全削除することになり、ロールバックすることはできない処理速度...
DB

CHAR と VARCHARの違い

CHARVARCHAR指定した領域分、ディスク領域が確保される。挿入するデータが指定したサイズよりも小さい場合は、ディスク領域が縮小される。ディスク使用量は多くなる。ディスク使用量は少なくなる。データベース操作のパフォーマンスが良い。(速度...