KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

KEIS BLOG

見慣れないIPアドレスの正体を調べる4つの方法

アクセスログを眺めていると、時々「これは誰だ?」というIPアドレスに出くわします。大量のアクセスを飛ばしてくるIP、深夜に管理画面を叩いてくるIP——正規のユーザーなのか、それとも攻撃者なのか。この記事では、素性の分からないIPアドレスを調べる実践的な手順をまとめます。 そもそも何を知りたいのか IPを「調べる」と一口に言っても、知りたいことは大きく2つに分かれます。素性(どこの国の、どの...

「providerを固定したのになぜ直らない?」Terraform初心者がハマる落とし穴

ある日、既存の AWS リソース(セキュリティグループ)をコード管理下に置くため、terraformer import というツールで .tf ファイルと tfstate を自動生成しました。生成されたコードに対して terraform plan を実行すると、こんなエラーが出ました。 Error: Unsupported argument on security_group.tf ...

【KEISのメンバー #1】入社2年目・若手エンジニアに聞く、未経験からの1年と「続けられるエンジニア」

未経験から2年目へ。年齢を重ねても現役で手を動かし続ける先輩の姿が、「長く続ける」イメージにつながっている。 働く環境や人の雰囲気は、求人票や会社概要だけではなかなか伝わりません。そこで、ケイズ・ソフトウェアで働くメンバーに、仕事とキャリアについて聞くインタビューシリーズ「KEISのメンバー」を始めます。第1回は、入社2年目の若手エンジニア・Yさんに、入社のきっかけから...

{% partial %} 文法リファレンス ― 名前・属性・型解決・スコープの全仕様

このブログは @nano-cms/core の上で動いています。Liquid 連載では、共通パーツを配る {% partial %} タグを、使う側・なぜ拡げたか・作り方の 3 回で見てきました。本記事は、その補遺となる文法リファレンスです(連載 3 回に続くリファレンス編)。名前・属性・型解決・スコープ・版選択・エラーまで、{% partial %} の文法を端から端まで引けるようにまとめ...

Liquid に自作タグを足す ― partial タグで見る作り方

連載の最後は、Liquid に自作タグを 1 つ足す具体的な手順です。題材は、これまで見てきた {% partial "名前" %} タグそのもの。前回(なぜ Liquid に自作タグを 1 枚だけ足したのか)は「素の Liquid に partial を 1 枚足し、それを支える足場を用意した」という設計の話でした。今回はそのタグの中身を開けて、何をどう書けば 1 つのタグになるのかを追い...

なぜ Liquid に自作タグを1枚だけ足したのか ― テンプレートエンジンの拡げ方

前回は、共通パーツを配る {% partial "名前" %} という 1 つのタグを、使う側から見ました(ヘッダーは 1 か所だけ ― 共通パーツを全ページに配る partial タグ)。今回はその裏側、設計の話です。@nano-cms/core はテンプレートに Liquid を採用していますが、ほとんど素のまま使い、自作のタグはこの partial 1 枚だけ足しています。なぜ 1 枚...

ヘッダーは1か所だけ ― 共通パーツを全ページに配る partial タグ

このブログは @nano-cms/core という自作の CMS の上で動いています。今回から 3 回に分けて、テンプレートを組み立てる仕組み ― Liquid テンプレートの「タグ」について書きます。1 回目は、いちばん身近で具体的な「使う側」の話です。題材は {% partial %} という 1 つのタグだけ。ヘッダーやフッターのような共通パーツを、コピーして回らずに全ページへ配る仕組...

記事検索つきでも静的サイト ── どの CDN でも配れる仕組み

このブログには、記事を探すための検索があります。「検索機能」と聞くと、入力するたびに裏側でサーバとデータベースが動く、いわゆる動的なサイトを思い浮かべる方が多いかもしれません。ところがこのサイトは、公開されたあとは「動かないただのファイル」の集まりで、検索もブラウザの中だけで完結します。だから配信先を特定のサービスに縛られず、いわゆる CDN であればどれでも同じように配れます。 このサイ...

記事は「プログラム」ではなく「ファイル」として届く ― 速い・落ちにくい・狙われにくい仕組み

このブログ自体が、これからご説明する仕組みの上で動いています。記事を「公開」したあと、それが読者のブラウザに届くまでに何が起きているのか ―― その届け方の仕組みを、なるべく専門用語を使わずにお話しします。 先に結論をお伝えします。公開後の記事は「動いているプログラム」ではなく「できあがったファイル」として届きます。この一点が、表示の速さ・止まりにくさ・狙われにくさのすべてにつながっていま...

圧縮はどこで・何回やるか ― 事前圧縮が効く構成と、CDN に任せる構成

このシリーズは配信を軽くする話を続けてきました。前々回は ETag で再検証を安く(CDN と ETag を入れたのにサーバ負荷が上がった ― 動的生成と CDN はなぜ相性が悪いのか)、前回は キャッシュバスティングで「変えた分だけ」失効(更新したのに古い CSS が表示される ― キャッシュバスティングを content hash で正しくやる)。最後は 圧縮です。ただ正直に言うと、圧縮...

更新したのに古い CSS が表示される ― キャッシュバスティングを content hash で正しくやる

前回(CDN と ETag を入れたのにサーバ負荷が上がった ― 動的生成と CDN はなぜ相性が悪いのか)は、動的生成の前に CDN を置いて ETag を返してもかえって負荷が上がること、そして静的化して nginx の更新時刻ベースの ETag を安定させると配信元が楽になることを見ました。今回はその続きで、アセット(CSS・JS・画像・フォント)側の話です。よくある事故から始めます。...

CDN と ETag を入れたのにサーバ負荷が上がった ― 動的生成と CDN はなぜ相性が悪いのか

動的に HTML を生成するサイトの前に CDN を置き、オリジン(配信元サーバ)が ETag を返すようにした。「変わっていなければ 304 Not Modified で済むから、オリジンは楽になるはず」 ―― そう期待したのに、負荷は下がらない。場合によってはむしろ上がる。動的生成サイトでよくある話です。原因は 2 つの事実に集約されます。動的生成では ETag は「作ってからしか決まら...

片付く・戻せる・太らない ― アーカイブと復元、肥大化しないデータ

サイトを長く運用するほど、地味に効いてくる悩みが 3 つあります。古い下書きがたまって一覧が見づらくなる、間違って消したものを戻したくなる、そしてデータがじわじわ膨らんでいく ―― ケイズの CMS は、この「片付く・戻せる・太らない」を仕組みで解決しています。 古い下書きは、自動で片付く 長いあいだ操作されていない作業中のコンテンツは、自動でアーカイブされ、作業一覧から外れます(既定では...

誰が・どのサイトで・何をできるかを、細かく決められる ― 権限と操作ログ

複数の担当者で、しかも複数のサイトを運用するようになると、「この人は編集だけ」「この人は承認・公開まで」「外部の協力会社は閲覧だけ」といった操作範囲の切り分けが必要になります。公開前チェック(承認フロー)と並んで、運用の安心は「誰が・どこで・何をできるか」を仕組みで決められるかどうかで大きく変わります。公開前に承認をはさむ仕組みそのものについては 誤掲載を仕組みで防ぐ ― 承認ワークフローと...

複数サイトを1つの管理画面で・小さなサーバー1台で配信

ブランドサイト、サービスサイト、コーポレートサイト ―― 複数のサイトを、それぞれ別の CMS で運用していると、管理が分散し、サーバーも費用も積み上がっていきます。ケイズのCMSは、複数のサイトを 1 つの管理画面でまとめて運用し、小さなサーバー 1 台で配信できます。 複数サイトを 1 つの管理画面で サイトごとに別々の管理画面へログインし直す必要はありません。1 つの管理画面でサイト...

誤掲載を仕組みで防ぐ ― 承認ワークフローと差分確認

Web サイトの事故でいちばん怖いのは、公開してはいけないものが公開されてしまうことです。誤った料金、未確認のお知らせ、直し忘れの誤字 ―― 承認の仕組みが無い CMS では、こうしたチェックがメールと目視に頼りがちで、抜けが起きます。ケイズのCMSは、公開前のチェックを仕組みとして標準で備えています。 「作業中 → 承認依頼 → 承認完了 → 公開」の 4 段階 記事は、書いた人がそのま...

直すのは1か所、反映は正確に全体へ ― 静的なのにサイト横断で一括更新

料金・スペック・共通の数値 ―― こうした「サイト全体で使い回す情報」は、気づけばサイト内の何十、何百という箇所に散らばっています。1 か所変えるたびに全部を手で直すのは、抜け漏れと事故のもと。ケイズのCMSは、静的サイトでありながら「1 か所変えれば、関係する全ページに反映」を実現しています。 共通データを 1 つの画面でまとめて更新 サイトのあちこちで参照している共通データ(料金表・ス...

公開前にサイト全体を、本番そっくりに確認できる ― サイト丸ごとプレビュー

公開前の確認といえば、ふつうは「いま書いているページ単体」を見るだけです。ですが実際のレイアウト崩れやリンク切れは、ヘッダー・ナビゲーション・関連記事へのリンク、ほかのページとの兼ね合いで起きます。ケイズのCMSは、サイト全体を本番そっくりのまま、公開前に丸ごと確認できます。 ページ単体のプレビューでは、全体の崩れを見落とす 1ページだけのプレビューで分かるのは、そのページの中身だけです。...

なぜ速くて、落ちなくて、狙われにくいのか ― ケイズのCMSの静的配信

Web サイトに求められるのは、結局のところ「速い・落ちない・安全」です。ニュースリリースやキャンペーンでアクセスが集中しても遅くならず、止まらず、攻撃にも強い ―― この 3 つを、ケイズのCMSは配信のしくみ(静的配信)そのもので実現しています。今回はその「公開した後」の強さを、数字を交えてご紹介します。 読者に届くのは「できあがったファイル」だけ 多くの CMS は、読者がページを開...

予約公開しても「当日の見え方」が事前に分かる ― ケイズのCMS

お知らせやキャンペーンを「この日時に出したい」と予約しておく ―― よくある機能です。ですが実際の運用でいちばん不安なのは、その日が来たとき、サイトが本当に思ったとおりに見えるかです。とくに複数のお知らせやバナーを前もって仕込んでおくと、それぞれが重なり合った「当日の姿」は、出してみるまで分からない ―― ここを解消したのが、ケイズのCMSの予約公開です。 指定した日時に、自動で公開される...

エンジニア募集中!

採用情報はこちら

CATEGORY

技術情報

思考

便利サービス

社内イベント

採用担当の戦い

その他

メンバー

LATEST ENTRY

2026.07.08

見慣れないIPアドレスの正体を調べる4つの方法

技術情報

2026.07.08

「providerを固定したのになぜ直らない?」Terraform初心者がハマる落とし穴

技術情報

2026.07.08

【KEISのメンバー #1】入社2年目・若手エンジニアに聞く、未経験からの1年と「続けられるエンジニア」

メンバー

2026.06.21

{% partial %} 文法リファレンス ― 名前・属性・型解決・スコープの全仕様

技術情報

2026.06.21

Liquid に自作タグを足す ― partial タグで見る作り方

技術情報

TAG