Zenet Tech Blog

https://media.zenet-web.co.jp/

技術系の話を中心にまとめた株式会社ゼネットのテックブログです

フィード

記事のアイキャッチ画像
ISMSとは?セキュリティを守るセキュリティの基本
Zenet Tech Blog
はじめに こんにちは、システム事業部の熊井です。「ISMSってよく聞くけど、実際どんなものなの?」そんな疑問をお持ちの方も多いのではないでしょうか。 この記事では、ISMSの意味・目的・認証制度を、専門用語をなるべく使わずにわかりやすく解説します。「情報セキュリティの基本を理解したい」「自社のセキュリティ意識を高めたい」という方におすすめの内容です。 🔐 ISMSとは?わかりやすく解説 ISMS(Information Security Management System)とは、情報を守るためのルールと仕組みを会社全体で運用していくことです。 ざっくり言うと、こんなイメージです: 「大事な情報…
19時間前
記事のアイキャッチ画像
N+1を回避したのに性能が悪い!? includes/preload依存の落とし穴と解決策
Zenet Tech Blog
はじめに システム事業部堤田です。 Kaigi on Rails 2025に参加してきました。1カ月以上経過していますが、発表の中で最近自身も似たような経験をしたなという内容があった為、その内容の紹介と共に、自身が体験した事象の振り返りをしたいと思います。まずは、発表内容の紹介です。 タイトルは「そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日」です。 kaigionrails.org 内容は弊社ブログにて、他の社員が紹介しておりますので、そちらを参照ください。 【下書きプレビュー】 初めてのKaigi on Rails2025に参加したことで意味はあったのか …
2日前
記事のアイキャッチ画像
Kaigi on Rails 2025 参加レポート:成功/失敗談から得た「未然防止」の学びと今後の活かし方
Zenet Tech Blog
はじめに 2025年9月26日(金)、27日(土)に Kaigi on Rails 2025 が開催され、今年は会社から「参加してみないか」と声をかけていただいたため、オンライン視聴で参加することにしました。 Kaigi on Rails は、Railsを中心にしつつフロントエンドやプロトコルなどWeb全般も扱う、誰もが参加しやすい包括的な技術カンファレンスです。 存在自体は前々から知っていましたが、今回初めて参加してみて、登壇者の成功/失敗談に触れたときに自分の現場で思い当たる点がいくつもあったのが大きな収穫でした。 視聴を進めるうちに、それらの気づきが自然と「未然防止」という形で整理されて…
3日前
記事のアイキャッチ画像
初めてのKaigi on Rails2025に参加して感じたこと
Zenet Tech Blog
こんにちは!ゼネットの中川です。 Kaigi on Railsというイベントの名前は以前から知っていましたが、「自分が参加しても内容を理解できるのかな?」という不安がありました。 そんな中、会社の支援で参加できる機会をいただいたので「せっかくなら挑戦してみよう」という気持ちで今回はオンライン参加をすることにしました。 まだKaigi on Railsに参加したことが無かったり、イベント参加に悩んでいる人の参考になればと思います。 この記事はこんな方におすすめです。 Kaigi on Railsの存在は知っているけど、経験が浅くても楽しめるのか気になる方 発表内容が難しくて何もわからないまま終わ…
4日前
記事のアイキャッチ画像
Lambda×S3でファイルを自動整理!イベント通知で日付フォルダに振り分ける方法
Zenet Tech Blog
はじめに 課題 実装アーキテクチャ 実装手順 1. S3バケット作成 2. Lambda関数作成 3. トリガー設定(S3イベント通知) 4. Lambda実行ロール権限 5. 動作確認 注意点 まとめ 参照資料 はじめに ゼネットシステム事業部の方です。 AWSを利用していると、S3に大量のファイルが溜まっていき、整理や管理が大変になることがあります。手動で整理するのは手間がかかり、ミスも発生しやすくなります。 本記事では、S3イベント通知をトリガーにLambda関数を動かしてファイルを自動整理する方法を紹介します。IAM権限やバケットポリシーを最小限にしつつ、日付ごとにフォルダに振り分ける…
7日前
記事のアイキャッチ画像
CloudWatchで作るAWS請求額カスタムダッシュボード|サービス別・期間別に簡単可視化
Zenet Tech Blog
はじめに 課題 CloudWatchのメリット 実装手順 1. CloudWatchでのメトリクス確認 2. ダッシュボード作成 3. 閲覧ユーザー権限設定 注意点 まとめ 参照資料 はじめに ゼネットシステム事業部の方です。 AWSを利用していると、請求額の確認は重要な業務の一つです。しかし、Billingコンソールへのアクセス権限がないIAMユーザーだと、請求情報の確認が難しいことがあります。本記事では、CloudWatchダッシュボードを活用して、IAMユーザーでもAWS請求額を簡単に可視化する方法を紹介します。 課題 AWSのコスト管理には、以下のような課題があります。 IAMユーザー…
8日前
記事のアイキャッチ画像
Step FunctionsでCloudFormation StackSetを自動デプロイしてみた⚙️
Zenet Tech Blog
はじめに 課題 全体構成🧩 実装例 注意点⚠️ まとめ 参照資料🔗 はじめに システム事業部の方です。今回は AWS Step Functions を使って CloudFormation StackSetを自動デプロイ する仕組みを構築したので、その内容を紹介します。 AWS環境を複数アカウントで管理している場合、「同じスタックを各アカウントへ一括展開したい」という要件は非常に多いですよね。 StackSet を使えばそれが可能ですが、 「複数アカウントへ段階的にデプロイしたい」 「失敗時に自動リトライや削除を行いたい」といった柔軟な制御をしたい場合、Step Functions が非常に便利…
10日前
記事のアイキャッチ画像
AWS QuickSightの埋め込み3種類を徹底比較!匿名ユーザー・登録済ユーザー・ワンクリックの違いとは
Zenet Tech Blog
はじめに QuickSight埋め込み3方式をざっくり紹介! ワンクリック埋め込み(One-click Embedding) 登録済みユーザー埋め込み(Registered User Embedding) 匿名ユーザー埋め込み(Anonymous Embedding) まとめ おわりに 参考資料 はじめに こんにちは、ゼネットシステム事業部の方です。 最近よく話題になることの多いAWS QuickSightの埋め込み機能について、触れてみたいと思います。 QuickSightは、クラウドベースで使えるBI(ビジネスインテリジェンス)ツールで、最近ではWebアプリや社内ポータルなどにダッシュボー…
11日前
記事のアイキャッチ画像
Qで計算フィールド自動生成!前月/前期フィルタの作り方📊
Zenet Tech Blog
はじめに 従来のやり方 Amazon Q in QuickSight 東京リージョンでリリース!(2025年7月) 実際に使ってみた まとめ 制限事項や注意点 Demo Central で無料体験してみよう 参照資料 はじめに システム事業部の方です。業務上、データ分析基盤の構築に携わっています。BIツールを利用する中で、よく要望として挙がるのが 「今月」「先月」「今年度」など動的な期間フィルタを作りたい というものです。 QuickSightでも従来から計算フィールドを使って実現できますが、dateDiff や truncDate など複数の関数を組み合わせる必要があり、初心者にとっては試行…
14日前
記事のアイキャッチ画像
SCPでS3パブリック禁止でもOK!CloudFrontで実現するセキュア配信🛡️
Zenet Tech Blog
はじめに 課題:S3を直接公開できない 解決策:CloudFront + S3バケットポリシー 結果 まとめ 補足情報OAI と OAC の違い 参照資料 はじめに ゼネットシステム事業部の方です。 AWSでWebサイトやファイルを配信する際、Amazon S3 をオリジンに使う構成はよく見られます。しかし、セキュリティ要件が厳しい会社や組織では S3をパブリックに公開できない ケースがあります。 従来は「S3 ブロックパブリックアクセス」を一部解除し、バケットをインターネットから参照できるようにしなければなりませんでした。ところが、SCP(Service Control Policy)でパブ…
15日前
記事のアイキャッチ画像
【AWS入門】API GatewayとLambdaでHTMLページを動的に生成してみた
Zenet Tech Blog
はじめに 従来の構成:S3の静的サイト API GatewayとLambdaの仕組み Lambdaの設定とコード CloudFrontの設定 ディストリビューション作成 オリジン作成 API Gatewayの設定(CORSとMapping Template込み)📄 1. リソースとメソッドの作成 2. CORS設定 3. マッピングテンプレート設定 (1) 統合リクエストのマッピングテンプレート (2) 統合レスポンスのマッピングテンプレート (3) ヘッダーのマッピング (4) APIデプロイ 結果 まとめ 参照資料 はじめに ゼネットシステム事業部の方です。 AWSでWebサイトを公開する…
17日前
記事のアイキャッチ画像
Rails 8.1.0で追加されたStructured Event Reporterについて整理してみた
Zenet Tech Blog
はじめに ゼネットの土屋です。 先日 2025/10/22 に Rails 8.1.0 がリリースされました。 今回の記事では、Rails 8.1 で追加された注目機能 Structured Event Reporter を紹介します。 これは「Rails.logger」と「ActiveSupport::Notifications」を進化的に統合し、アプリケーションの“観測性”を大きく高める仕組みです。 Structured Event Reporter(Rails.event) とは これまで Rails.logger や ActiveSupport::Notifications などに分散…
21日前
記事のアイキャッチ画像
AWS QuickSight × S3で実現する低コストなデータ分析環境
Zenet Tech Blog
はじめに 構築方法の概要 構成手順 1. Amazon S3にデータを保存 2. QuickSightでデータセットを作成 3. データ可視化 ポイント 活用編 おわりに 参考資料 はじめに こんにちは、ゼネットシステム事業部の方です。業務で AWS を用いたデータ分析基盤の構築に携わる中で、「もっとシンプルに、もっと低コストで BI 環境を構築できないか?」という課題に直面しました。 ビッグデータ時代では、データの分析・可視化はビジネス成功の鍵となります。しかし、多くの BI ツールや環境では、複雑な設定や高いランニングコストが大きな障壁となりがちです。 そこで本記事では、Amazon S3…
22日前
記事のアイキャッチ画像
AWS Step Functionsで使えるデータ変換 ー JSONPathとJSONataの比較
Zenet Tech Blog
はじめに JSONPathとは JSONataとは JSONPathとJSONataの比較 補足:練習環境 try.jsonata.org サンプル まとめ 参考資料 はじめに こんにちは、ゼネットシステム事業部の方です。業務で AWS Step Functions を使ったワークフロー自動化に携わる機会があったので、その際に役立った知識を紹介したいと思います。 AWS Step Functionsでは、状態遷移の中で入力データを加工・変換して次のステップに渡すことができます。その際に活用されるのが JSONPath と JSONata です。本記事では、それぞれの特徴を整理し、メリット・デメ…
23日前
記事のアイキャッチ画像
GitLabの見直し中断から学んだ、移行判断の現実
Zenet Tech Blog
はじめに 先日部署内で「GitLabの見直し」に取り組んでいましたが、最終的に中断となりました。 ですが、その過程で得られた知見はこれから同じような検討を行う人にとっても役立つと思います。 本記事では、検討内容や気づきを整理して共有します。 今後のGit関連サービス選びの参考になりましたら幸いです。 背景 現行:GitLab(v13系)をオンプレで運用 環境:EC2(t3a.medium)、約$35/月 目的:最新バージョン(v17系)までのアップデート、または代替サービスの移行検討 課題: スペックを上げるとコスト増大 未使用機能が多く非効率 アップデート作業が重い など 検討した選択肢 G…
24日前
記事のアイキャッチ画像
Windowsで部分一致履歴検索を使う方法とCygwin/Git Bash/Bash/Zshの違いを解説
Zenet Tech Blog
はじめに Linuxのシェルでは、コマンド履歴から「部分一致検索」が簡単にできます。たとえば cd と入力してから ↑ キーを押すと、cd から始まる履歴だけを遡ることができます。この機能があることで、コマンド履歴から目的の操作を探す手間が減り、作業時間を短縮できます。 しかし、Windows標準の cmd.exe や PowerShell ではこの機能が使えません。 そこで本記事では、Windowsでも部分一致履歴検索を実現する方法として、Cygwin や Git Bash の活用法を紹介します。また、bashとzshの違い、どの環境を選ぶべきかについても詳しく解説します。 1. Windo…
25日前
記事のアイキャッチ画像
初心者向け WebSocket入門|HTTPとの違いをわかりやすく解説
Zenet Tech Blog
ゼネットの西村です。 WebSocketについて業務で扱ったので、今回はWebSocketについての情報を初心者向けにまとめてみました。 WebSocketとは? HTTPとはどう違うのか? HTTPについて HTTPの通信図 WebSocketについて WebSocketの通信図 どんなアプリに使われてるの? 最後に 参考文献 WebSocketとは? WebSocketを一言でいうと「双方向通信を可能にするプロトコル」です。 特筆すべき点は以下になります。 クライアントとサーバー間で常時接続を維持 リアルタイム通信が可能 HTTPとはどう違うのか? HTTPについて HTTPはクライアント…
2ヶ月前
記事のアイキャッチ画像
JavaScript switch 文の使い方まとめ|default の位置や言語差もわかる!
Zenet Tech Blog
はじめに プログラミング初心者が特に苦戦しやすいポイント、switch文。 今回は仕様や目的を正しく学ぶことで、苦手意識を克服していきましょう。 switch文とは if文と同様、条件分岐ができる制御構造です。 if-elseの単一条件の分岐と異なり、一つの条件式の結果を複数の値で構えて、処理を分岐できるのが特徴です。 基本的な使い方 今回はJavaScript準拠で解説します。 言語によって多少の違いがあるため、JavaScript以外を使用する方は詳しく調べてみてください。 一部の仕様については記事内でも紹介します。 switch (条件式) { case 値1: 処理1 case 値2:…
3ヶ月前
記事のアイキャッチ画像
Railsバージョンアップ時に発生したエラーと解消方法について
Zenet Tech Blog
ゼネットの高澤です。 業務でRuby on Railsのバージョンアップ対応を行い、その際に発生したエラーや解決方法を紹介したいと思います。 はじめに 動作環境 本記事のフォーカス default gemsからbundled gemsへ変更によるエラー Gemの非互換性によるエラー 廃止された機能の影響によるエラー 開発小話 最後に 参考リンク はじめに 動作環境 Ruby: 3.2.5 → 3.4.4へバージョンアップRails: 7.0 → 7.1 → 7.2 → 8.0へ段階的にバージョンアップ 本記事のフォーカス 今回は下記に示すバージョンアップ手順のうち、2と3のバージョンアップ対応…
3ヶ月前
記事のアイキャッチ画像
Railsの属性変更検知を極める!ActiveRecord::DirtyとActiveModel::Dirtyの徹底ガイド
Zenet Tech Blog
こんにちは。ゼネットの張です。業務でRuby on Railsを扱っています。 今回はRailsの変更検知に関するモジュールとメソッドを紹介したいと思います! はじめに ActiveRecord::AttributeMethods::Dirtyモジュール attribute_before_last_save attribute_change_to_be_saved attribute_in_database attributes_in_database changed_attribute_names_to_save changes_to_save has_changes_to_save? re…
3ヶ月前
記事のアイキャッチ画像
【新入社員向け】SMARTの法則とは?目標達成率を上げる5つのポイント
Zenet Tech Blog
はじめに どうもこんにちは! ゼネット教育部門の五十嵐です! 「目標を立てても、なかなか達成できない…」と悩んでいませんか? その原因の一つは、目標が曖昧すぎて、具体的な行動につなげられていないこと。 そこで、本記事では 目標達成率をグッと高める「SMARTの法則」 について解説します! この記事を読むとわかること ✅ 目標をスムーズに立てられるようになる ✅ 目標達成率を高める方法がわかる SMARTの法則とは? SMARTの法則 とは、1981年にジョージ・T・ドラン博士が提唱した目標設定のフレームワークです。 この法則を活用すれば、 達成しやすい明確な目標 を立てられます。 SMARTは…
8ヶ月前
記事のアイキャッチ画像
【新入社員向け】プログラミング初心者がどんどん上達する勉強法3選!
Zenet Tech Blog
はじめに どうもこんにちは!ゼネット教育部門の五十嵐です! プログラミングを始めたばかりのあなた、こんな悩みはありませんか? ✅ 参考書を読んでもコードの意味がわからない ✅ 学習サイトを見ているだけでは、なかなか身につかない ✅ エラーが出ると、どう対処すればいいかわからない プログラミングは、ただ知識を詰め込むだけでは上達しません! 実際にコードを書いたり、アウトプットを意識することが大切です。 この記事では、初心者がやりがちな間違いを回避しつつ、効率よく上達する勉強法3選を紹介します! 1. ノートを綺麗にまとめるより、コードを書こう! 多くの初心者は「まずはノートをしっかり取って知識を…
8ヶ月前
記事のアイキャッチ画像
Node.jsとBabelの基本知識について
Zenet Tech Blog
ゼネットの西村です。 業務でNode.jsのバージョンアップ対応を行ったので、その際に役立った知識を紹介したいと思います! はじめに Node.jsについて知る前に Node.jsについて Node.jsの概要 Node.jsのライフサイクル 偶数系について 奇数系について 開発小話① パッケージの管理とビルド工程の処理の流れ Node.jsを実行環境とする処理の例 npmでのパッケージ管理処理 yarnでのパッケージ管理処理 ビルド工程 開発小話② Bebelについて Babelとは Babel 6系以前と7系での変更について Babel 7系へのマイグレーションについて babel-upg…
8ヶ月前
記事のアイキャッチ画像
404エラーの解決に役立つweb.xmlのチェックポイント
Zenet Tech Blog
1. はじめに 2. web.xmlとは? 3. web.xmlで確認してほしいこと 3.1. <servlet-name>は一致しているか 3.2. <servlet-name>が重複していないか 3.3. <servlet-class>にて、クラスの場所の指定は間違えていないか 3.4. <url-pattern>にて、/を忘れていないか 4. おわりに 1. はじめに こんにちは。株式会社ゼネットの伊藤です。 皆さんは、Tomcatを使用している際に404エラーが出て、困ったことはありませんか? 本記事では、404エラーの原因の一つである、web.xmlの記載方法に関してご紹介いたします…
1年前
記事のアイキャッチ画像
プログラミング言語における最適なコメントの書き方
Zenet Tech Blog
始めに 世の中にはさまざまなプログラミング言語があり、コメントを定義する方法も多種多様ですので、ここではそれの定義方法について説明させていただきます。 今回コメントの定義方法を知りたい言語を選択してください。 C 、C++、C#、Java、JavaScript の場合 Ruby と Perl の場合 Python の場合 Visual Basic の場合 Sql の場合 HTML の場合 CSS の場合 C 、C++、C#、Java、JavaScript の場合 //これは一行のコメントです /* 複数行のコメントです。 */ Ruby と Perl の場合 # これは一行のコメントです。 =…
1年前
記事のアイキャッチ画像
Java初心者のためのtry-catch-finally文解説 エラー処理の基礎
Zenet Tech Blog
1.はじめに 2.try-catch-finally文 3.意図的にエラーを発生 throw文 4.おわりに 1.はじめに こんにちは。株式会社ゼネットの明樂です。 今回は私がJava研修で苦戦したtry-catch-finally文と、意図的にエラーを発生させるthrow文について、お話しします。 Java初学者の方の力になれると嬉しいです。 2.try-catch-finally文 try-catch-finally文はエラーが発生しそうな処理をするときに使います。 ファイルが見つからないときや、計算中にゼロで割るエラーが発生するときなど、プログラムを書いていると予期せぬエラーが発生するこ…
1年前
記事のアイキャッチ画像
Javaのfor文:基礎からわかりやすく解説
Zenet Tech Blog
1. はじめに 2. 本題 3. 所感・感想・まとめ 4. 参考記事・文献 1. はじめに この記事は、Java初心者向けに繰り返し処理(for文)を理解するためのガイドです。Javaを始めたばかりで、for文の使い方や処理の内容の理解に戸惑っている方々の助けになれば幸いです。 2. 本題 繰り返し処理は、同じコードを複数回実行する際に便利です。Javaのfor文では、初期化、条件判定、更新の3つのステップで処理が行われます。 例えば、1から5までの数字を順番に表示させたい時に下記のようなfor文を使います。 for (int i = 0; i < 5; i++) { System.out.p…
1年前
記事のアイキャッチ画像
図で分かりやすいMVCモデル
Zenet Tech Blog
はじめに まず、MVCモデルとは・・・ MVCモデルの流れを図に描いてみた MVCモデルのメリット さいごに はじめに 入社2か月目の新人、並木です。 ただいま、入社後3か月のJava研修の最中です。 研修の中で、図に描き起こすことの大事さを実感したので 今回はMVCモデルを描いてみました。 まず、MVCモデルとは・・・ プログラムをModel、View、Controllerの三つの役割に分けたソフトウェア設計モデルのことです。主にwebアプリケーションを作成する際に用いられます! それぞれ、 ・Model プログラム上の”処理”を行う ・View(JSP) 目に見える画面のデザイン,表示を行…
1年前
記事のアイキャッチ画像
Javaの配列宣言と要素アクセス:初学者向け解説
Zenet Tech Blog
・はじめに ・配列とは ・基本的な書き方 ・配列に値を入れるには ・配列の値を取得するには ・終わりに 参考記事・文献 ・はじめに 初めまして、株式会社ゼネットの大竹です。 私は新人研修でJavaを2か月ほど学びました。その中で最初につまずいた点がJavaの配列だったため備忘録を兼ねてJavaの配列の宣言と要素へのアクセスを説明していこうと思います。 ・配列とは Javaの配列は、同じ型の複数のデータを一つの変数にまとめて管理するためのデータ構造です。配列は、同じ種類の複数のデータを一度に処理する際に非常に便利です。 ・基本的な書き方 型名[] 配列の名前{入れたい値}; 今回は型名をStri…
1年前
記事のアイキャッチ画像
Tomcat Servlet 500エラーの解決方法4選!
Zenet Tech Blog
1.はじめに 2.エラーの種類 ・エラー1 java.lang.NullPointerException ・エラー2 サーブレットクラスを初期化中にエラー ・エラー3 org.apache.jasper.JasperException ・エラー4 java.lang.IllegalStateException 3.おわりに 4.参考記事 1.はじめに こんにちは。ゼネットの新人、井上です。 私はJava研修でTomcatを使用しています。 Tomcatを使用していると、500エラーが出ることがありますよね。 500エラーのエラーの種類は1つではないので解決するのが困難ですね。 そこで、Tomc…
1年前