KENTEM TechBlog
https://tech.kentem.jp/
建設業のDXを実現するKENTEMの技術ブログです。
フィード

ブラウザ間のnew Date()の取り扱いの差異を調べてみた
1

KENTEM TechBlog
こんにちは、KENTEMでフロントエンドを担当しているM.Sです。 普段の開発においてDateオブジェクトの使用は避けては通れないですよね。 皆さんはこのDateオブジェクトの取り扱い(パース)がブラウザ間によって差異があることをご存知ですか? 私はつい先日この事象に遭遇し、結構な時間を吸い取られてしまいました。 今回はこの件についての調査と共有をしていこうと思います。 調査方法 結果 Chromeのみ通るパターン Firefoxのみ通るパターン 所感 (おまけ)Safari 詰まった事象について まとめ おわりに 調査方法 new Date()の引数に思いつく限りのパターンで文字列を格納する…
15時間前

新卒エンジニアが感じたChain of Responsibilityの魅力と実装
KENTEM TechBlog
こんにちは!KENTEMに入社して5か月目の新卒エンジニア、Y.Kです。 私は現在、Next.jsを用いたWebアプリケーションの開発に携わっています。6月に製品開発部門に配属されてから約3か月が経ちましたが、その中で出会った面白いデザインパターン、CoR(Chain of Responsibility)についてご紹介したいと思います。 CoRとは 面白かったところ 実装 参考文献 おわりに CoRとは CoR(Chain of Responsibility)とは、「責任の連鎖」と訳されるデザインパターンです。その名の通り、処理の責任を複数のオブジェクトや関数に分散させ、順番に処理を渡していく…
3日前

1Dayプログラミング体験【3D】のご紹介
KENTEM TechBlog
こんにちは。KENTEM開発統括部のM.Oです。 本日は「1Dayプログラミング体験【3D】」をご紹介いたします。 建設業界と3D技術 突然ですが、皆様、ゲームはお好きですか? 近年、ゲームで使われている3D技術が、建設業界にも活用される流れが加速しています。 これまで建設業界では、2次元の設計図をもとに工事が行われてきました。 しかし最近では、建設業界でも3次元データを活用していく取り組みが急速に広がっています。 実際、国土交通省が中心となって、BIM/CIMと呼ばれる3次元モデルに様々な情報を付加し、施工に活用することが原則となりました。 その結果、施工前に完成形を可視化できることで、関係…
8日前

【Unity】多言語対応を行うときに動的に言語表示を切り替える方法
KENTEM TechBlog
本記事では、UnityのLocalizationという機能を用いて多言語対応を行う際に、ソースコードから動的に表示言語を切り替える方法に関して記載します。 本記事での目的 多言語対応のためのサンプルUI ソースコードの作成 ドロップダウンの作成 ボタンの作成 テキストの更新方法 結果 おわりに 本記事での目的 多言語に対応したUIを容易に作成するためにUnityではLocalizationというアセットが用意されています。 Unityのインスペクターから「Localize String Event」コンポーネントを設定して多言語対応を行うという方法もありますが、設計上どうしてもソースコード上で…
12日前

キーボード愛が止まらない?エンジニアたちの愛用キーボード紹介!
KENTEM TechBlog
こんにちは、エンジニアのA.Uです。 弊社には、個性的でこだわりのあるキーボードを使っているエンジニアが多く在籍しています。そこで今回は、そんなエンジニアたちにおすすめのキーボードを聞いてみました! エンジニアにとってキーボードは、生産性に直結する大切な“相棒”です。お話を伺ってみると、それぞれのキーボードに対する熱い想いやこだわりがあふれていました。 本記事では、6人の精鋭エンジニアが実際に愛用しているおすすめキーボードを、それぞれの“推しポイント”とともにご紹介しています。「新しいキーボードを買いたい!」「なぜエンジニアはキーボードにこだわるのか気になる!」——そんな方は、ぜひ最後まで読ん…
14日前

Bicepでリソース管理しよう!~モジュール・パラメータファイル編~
KENTEM TechBlog
こんにちは、エンジニアTです。 最近部内の一部で静かに広がりつつあるもの・・そう、それがBicepです。 私の所属するプロジェクトにもついに導入したので、今回は モジュール化 パラメータファイル という機能に焦点を当ててご紹介したいと思います。 きっかけ Bicepって何? モジュール化してみる パラメータファイルを使ってみる モジュールにはパラメータファイルを紐づけられない? やってみてどうだったか? おわりに きっかけ 以前、当ブログで以下の記事が投稿されました↓ tech.kentem.jp ほうほう、Bicepでリソース管理すれば環境作成も容易になると・・。 自プロジェクトは他プロジェ…
19日前

【Unity6】スクリプトのテンプレートを自作する方法(2/2)
KENTEM TechBlog
前回の記事では「.cs.txt」という特殊なテキストファイルを用いたテンプレートの作成とメリット、デメリットの比較を行いました。 本記事では、クラスや名前空間の名前以外は動的に埋め込むことができないというデメリットを解消できるよう、Editor拡張を用いてテンプレートの作成を行った事例を紹介いたします。 Editor拡張の実装方法に関する記事はたくさんあります。 そのため本記事ではEditor拡張の使い方は最低限にとどめ、Editor拡張を用いてファイルの作成を行うときに便利になった点を中心に記載しています。 Editor拡張を行う方法 Editor拡張のためのファイルの作成 Editor拡張…
22日前

【Unity6】スクリプトのテンプレートを自作する方法(1/2)
KENTEM TechBlog
Unityでの開発をしていると、自分のプロジェクトに合ったテンプレートが欲しいときがあります。 本記事ではUnity上でスクリプトのテンプレートを自作する方法のうち、「.cs.txt」ファイルを用いた作り方とそのメリット・デメリットの比較について記載します。 本記事を作成しようと考えた理由は下記のとおりです。 テンプレートを自作する記事はいくつか見られたものの、メリット・デメリットを検討した記事が見られなかったため 現在最新であるUnity6で実施された記事がなく、試行錯誤したため はじめに 方法1: Unity Editorに直接テンプレートを作成する テンプレートの保管場所 テンプレートの…
1ヶ月前

GitHub Copilot Agent でアプリを作ってみた
KENTEM TechBlog
こんにちは。みなさん、AIは活用していますか? 今回は GitHub Copilot Agent によるアプリを作成していきます。どんな感じでアプリ作成を行っていくのか実際に作業しながら記事を書きたいと思います。 アイデア出し GitHub リポジトリを作る ざっくり仕様を洗い出す タスクを考えさせる 実装させる デバッグする デプロイと動作確認 おわりに アイデア出し まずはアイデアを出すことから始めます。アイデアは、日々の生活で不便に感じたことの中に隠されているものです。 私は毎週火曜日に富士水泳場へ泳ぎに行くのですが、先日行ってみると臨時休館で閉まっていました。富士水泳場は ホームページ…
1ヶ月前

【9/16静岡市開催】プロダクト開発の壁を越える力 〜事例で学ぶ、価値あるプロダクトのつくり方〜
KENTEM TechBlog
KENTEMのエンジニアが、「プロダクト開発の壁を越える力 〜リアル事例で学ぶ、価値あるプロダクトのつくり方〜」と題してイベントを開催いたします。 新製品開発についてお話しする予定のため、特別なスキルは不要です。 静岡市内、または近隣の方でご興味ある方がいらっしゃいましたら、ぜひご参加ください。 <概要> 日時:9月16日(火) 18:00~19:30 会場:SHIP 所在地:静岡県静岡市葵区呉服町2丁目7−26 静専ビル2F 定員:15名 参加費:無料 <内容> 本セミナーでは、実際のアプリ開発のリアルな事例をもとに、企画から開発、リリース後に直面した“壁”とそれをどう乗り越えたかを実際の事…
1ヶ月前

TypeScriptで知っておきたいユーティリティ型9選
KENTEM TechBlog
こんにちは!フロントエンジニアのH.Rです。TypeScriptで型を定義するときに、「一部だけ取り出したい」「全部をオプショナルにしたい」といった場面がよくあります。 そんなときに役立つのがユーティリティ型(Utility Types)です。 この記事では代表的なユーティリティ型をまとめました。 TypeScriptで知っておきたいユーティリティ型9選 基本となる型定義(共通型) Omit<T, K> — 指定したプロパティを除外する Pick<T, K> — 必要なプロパティだけを抽出 Partial<T> — プロパティをすべてオプショナルに Required<T> — プロパティをすべ…
1ヶ月前

生成AIに全て聞いて動作不安定のHDDをSSDに交換した話
KENTEM TechBlog
こんにちは。開発部のM.M.です。 みなさんはPCのパーツ交換の経験ありますか? 私のプライベートPCは約12年も前に買ったデスクトップPCです。当時情報工学科の学生だった私は、詳しい友人に選ばれるがままデスクトップPCを購入しました。結局、ハードには詳しくならず、パーツ交換する機会もなく、現在では動作が重すぎるPCを使っています。ようやく重い腰を上げHDDをSSDに交換しようと決意しますが、何も知識がありません。そこで生成AI ChatGPT先生をお招きし、手取り足取り全て教えていただきます。 主なスペック パーツ 製品名 OS Windows 10 HDD WDC WD10EZRX-00L…
2ヶ月前

【Unity】Content Size Fitterを使用するときの警告の修正方法
KENTEM TechBlog
UnityでUI配置を便利にできるContent Size Fitterコンポーネントが間違って使用されていることを示す下記の警告の修正方法に焦点を当てて記事を書きました。 このコンポーネント特有の警告を直す方法について試行錯誤した経験があり、本記事を書こうと思いました。 なお本記事では警告の直し方に焦点を置いているため、Content Size Fitterの設定方法や詳細な原理等に関してはUnityのドキュメントや他記事をご覧いただければ幸いです。 docs.unity3d.com Content Size Fitterの警告が出る条件 Content Size Fitterの警告が発生す…
2ヶ月前

最近ハマっているReact / TypeScriptの書き方
KENTEM TechBlog
こんにちは。開発部のY.Oです。 最近ハマっているReact / TypeScript の書き方を5つ、簡単にご紹介します。 詳細は参考文献の方を見ていただければと思います。 弊社で開催したテックカンフで紹介した内容となります。 どれも実際の開発の中で見つけた「ちょっとラクになる」アイデアばかりなので、よければぜひ取り入れてみてください! ① オブジェクトリテラルで条件分岐を減らす 参考文献 ② ジェネレータ関数で複雑な配列作成をシンプルに 参考文献 ③ Ref コールバックで useRef と useEffect を消す 参考文献 ④ Render Props パターン 参考文献 ⑤ Ren…
2ヶ月前

「bit全探索」とは?分かりやすくイチから解説します!
KENTEM TechBlog
こんにちは。KENTEMに入社して3ヶ月目の新卒エンジニアS・Kです。 私は学生時代、アルゴリズムが大好きでよく勉強していました。その中でも面白いなと感じたbit全探索というアルゴリズムを紹介していきたいと思います。 はじめに 簡単な問題とプログラミングでの解法 bit全探索とは? 組み合わせを「数値」で表現する 実装 bit全探索の実装 右シフト演算子 (>>) AND演算(&) 右シフト演算子とAND演算をコードに組み込む bit全探索で問題を解いてみる まとめ 計算量についての補足(競技プログラミング) おわりに はじめに 簡単な問題とプログラミングでの解法 突然ですが皆さんに問題です。…
2ヶ月前

KENTEM TECH CONF 2025 Summer を開催しました!
KENTEM TechBlog
こんにちは!KENTEM開発エンジニアのK.I.です。 6/24・6/25の二日間で、KENTEM TECH CONF 2025 Summerを開催しました。 KENTEM TECH CONFとは? 今回の注目ポイント LT枠の導入 若手賞の導入 ビッグタイトル賞の導入 発表内容の紹介 Iさん(5年目) Oさん(2年目) Kさん(1年目) おわりに KENTEM TECH CONFとは? 「KENTEM TECH CONF」は、年2回開催される社内のオンライン技術発表会です。 目的や背景などの詳細は、以下の記事をご覧ください。 tech.kentem.jp 今回の注目ポイント LT枠の導入 前…
3ヶ月前

「パスワードレス認証」とそのトレンドについてまとめてみる
KENTEM TechBlog
こんにちは。KentemのR.I.です。 年々セキュリティに関する世間の興味も高まり、技術も進展しています。 この記事では、昨今注目され始めた「パスワードレス認証」について私自身も気になったので掘り下げてみます! ※2025年6月時点の状況を様々な資料から集約・整理してみました。 はじめに: パスワードレス認証 とは? 実際どうなの?: パスワードレス認証 の実情 パスワードレス認証 のトレンド「パスキー」 パスキー(Passkeys) どんな技術? どんな手段、サービスがある? 少し気になる「Windows Hello」 トレンド技術に対して感じたこと まとめ おわりに はじめに: パスワー…
3ヶ月前

【C#】Authorize 属性ってなに?Cookie 認証をベースに ASP.NET Core の認証・認可を理解しよう!
KENTEM TechBlog
KENTEM でバックエンドを担当している N.Y です。 よく C# で書いた API Controller のメソッドに、 [Authorize] という属性(アトリビュートとも言う)が付いているのを見たことはありませんか?? [Authorize] // ←これ public IActionResult Dashboard() { // なにかしらの処理 return View(); } ASP.NET Core 側で用意されている属性で、認証・認可で使用されているっぽいな~ということしか知りませんでしたが C# エンジニアになるには理解は必須だと思い、今回調べてみました。 認証・認可に…
3ヶ月前

パフォーマンス検証:バイナリファイル vs テキストファイルの速度比較
KENTEM TechBlog
はじめに なぜテキストファイル読み込みは遅い? 検証 環境 準備 読み込み処理 計測 結果 まとめ 補足として おわりに はじめに こんにちは。 快測Scanという製品の開発に携わってるプログラマです。 快測Scanは、手軽に点群データを取得、確認ができるモバイルアプリです。 点群をUnityEditor上で表示しようとすると実機に比べて処理が非常に遅く、ストレスに感じる場面がありました。 原因の一つとして、データをテキストファイルから読み込んでいることが挙げられます。 そこで、テキストファイルとバイナリファイルからの読み込みで、どれほどの差がでるのか検証してみることにしました。 本記事では以…
3ヶ月前

RDBによるJSONデータ戦略
KENTEM TechBlog
NoSQLデータベースの台頭によりデータをJSONで保持し、それなりに検索性能も担保することが可能になってきた昨今ではありますが、ACID特性やデータの処理コスト、SQLという洗練されたデータ操作インターフェイスの存在で、まだまだRDBはあらゆるシステムで採用されているDBMSであると感じます。とは言え、 データをJSONで保持したい JSON内の1属性に指定の値を持つレコードを検索したい 性能は犠牲にしたくない ACID特性も犠牲にしないでね・・・ という要求はたしかに実在します。 最近のバージョンのMySQLやPostgreSQLはJSON型をサポートしており、特にPostgreSQLはJ…
3ヶ月前

社内コード、どう共有する?4つの方法をゆるっと比較してみた
KENTEM TechBlog
こんにちは! 開発をしていると、「あれ、この機能、前にも別のプロジェクトで使ったな…」って思うこと、ありませんか?ログ出力とか、APIの呼び出し方とか、認証処理とか。 毎回ゼロから書くのは面倒だし、できれば使い回したいですよね。 そんなときに便利なのが「共通機能の共有」。でも、いざ共有しようとすると、「どうやって?」ってなるんです。コピーして貼るだけじゃ後で地獄を見るし、かといって複雑な仕組みを入れると運用が大変…。 この記事では、社内で共通機能を共有する方法として、よく使われる4つのパターンを紹介します。それぞれのメリット・デメリットを、実際に使ってみた感想も交えながら、ゆるっと解説していき…
3ヶ月前

TypeScriptでZustandを使う方法と注意点
KENTEM TechBlog
こんにちは。フロントエンドエンジニアのM・Sです。 皆さんは状態管理ライブラリは何を使っていますか? 私のプロジェクトではZustandを採用しています。 Zustandはシンプルで柔軟な状態管理ライブラリです。 Reactにおけるグローバルな状態の管理に適しており、Reduxのような冗長さを避けつつ、必要な機能を抑えています。 この記事では、TypeScriptでZustandを使う際に最低限知っておくべきことと注意点を紹介します。 基本的な使い方 TypeScriptでの使い方 カリー化について なぜカリー化をする必要がある? 値を永続化して保持する まとめ おわりに 基本的な使い方 基本…
3ヶ月前

Vite × React × TypeScript 開発環境構築ガイド
KENTEM TechBlog
こんにちは! 2年目、フロントエンジニアのH.Rです。 今回は、Vite × React × TypeScriptの開発環境構築ガイドを解説していきたいと思います!! 前提条件 環境 インストール Node.jsのインストール確認 プロジェクトの作成 プロジェクトの作成 TypeScript と TypeScript + SWC の違い プロジェクトの起動 依存パッケージをインストール 開発サーバーを起動 サーバーの停止方法 あとがき 前提条件 Node.jsがインストールされていることを確認してください。 ターミナルで以下のコマンドを実行し、バージョンが表示されなければ公式サイトからインスト…
3ヶ月前

KotlinでGoogle Motion Photo撮影アプリを自作
KENTEM TechBlog
Canvaの capturenowが提供する素材 こんにちは、まつです。 最近スマホを別のメーカーに変えましたのですが、Google Motion Photo形式で写真撮影できないことに気付きました。 Google Motion Photo形式で撮影できるアプリが無いか調べたところ、スマホを変えた時点(2025年3月)ではそのようなアプリが見付かりませんでした。 ということで、無いならば作ればいいの精神で、Google Motion Photo形式で撮影できるアプリを自作しました。 今回は、AndroidのKotlin環境で「Google Motion Photo」を自作する方法をご紹介します…
3ヶ月前

AzureでOCR、どのサービスを使う?
KENTEM TechBlog
開発部のM.Tです。 Azureを使ってOCRするとなると、Document Intelligence (旧Form Recognizer) か、Computer Vision を使うことになると思います。 この2つのサービスの違いをよく知らなかったので、機能とコスト面を簡単に比較してみました。 Document Intelligence 得意分野 使い方 コスト Computer Vision 得意分野 使い方 コスト どっちを使う? OCR まとめ おわりに Document Intelligence Azure AI サービスのひとつで、ドキュメント処理を得意とします。 learn.mi…
3ヶ月前

Jotaiの採用で可読性と保守性向上!:React.ContextからJotaiへの移行
KENTEM TechBlog
こんにちは!KENTEMでフロントエンドエンジニアをしているS.W.です。 私が担当しているプロダクトでは、React Contextを用いた状態管理において、ひとつのContextに複数の状態変数が密集している状態でした。 その結果、 可読性の低下 保守性の悪化 パフォーマンスへの影響 といった課題が顕在化していました。 こうした問題を解決するために、まずは状態管理のアプローチを見直す必要があると考え、第一歩として状態管理ライブラリの導入を検討しました。 その結果、Jotaiを採用する決断をしました。 この記事では、Jotaiへの移行ポイントや実際の移行手順を、具体的なコード例を交えながら詳…
3ヶ月前

来期のチームビジョンについて
KENTEM TechBlog
こんにちは。KENTEM第1開発部のM.Oです。 弊社は6月決算となっており、7月から新しい期に変わります。 私は現在、いくつかのプロジェクトに参加しながら部門のチームリーダーという立場で仕事を行っておりますが、来期より複数のプロダクトを受け持つエンジニアリングマネージャーを担うことになりました。 今までより、部門管理系のマネジメント業務が多くなってくると認識しています。 そこで、私の目指すチームの姿として以下の3つを定義しました。 チームビジョン 1. 自己組織型チームの確立 メンバーが自律的に行動し、目標達成に向けてチームとして意思決定するチームを構築する オープンでフラットなコミュニケー…
3ヶ月前

バージョン管理を半自動化した話~DependaBot × GitHub Actions~
KENTEM TechBlog
はじめに こんにちは!新卒2年目でAIエンジニア(?)になりましたK・Mです。さて、ソフトウェア開発において切り離せないのが外部パッケージです。そんな外部パッケージ、インストールした段階では最新のものを使っていても、少し時がたてば古いバージョンとなってしまい、気づけばEOL間近であわてて大改修。なんて話をちらほら耳にします。(幸いにも自分は経験したことないですが笑) このような事態を防ぐために、GitHubはDependaBotというツールを用意してくれてます。今回は個人開発でこちらを使ってみたのでご紹介します。また、途中から PRがうっとおしい 確認が大変になってきたので、自動マージも導入し…
3ヶ月前

IT未経験から3年間React開発を行った振り返り
KENTEM TechBlog
UnsplashのYannik Zimmermannが撮影した写真 こんにちは。フロントエンドエンジニアのT.C.です。私はITエンジニア未経験でKENTEMにキャリア入社し、React歴も4年目になりました。 どのくらいのスキル感で入社して、各年次ごとにざっくりどの程度のスキルを持つようになったのかを共有します。 スキルの成長は具体的な数値で測りにくい部分もありますが、当時の感覚や経験したことを中心にお伝えできればと思います。 また、後半ではアトミックデザインやフロントエンドテストを導入した際に学んだことも書かせていただきます。 主観の多い記事にはなりますが、Reactエンジニアを目指してい…
3ヶ月前

【C#】C#14にて待望の拡張メンバーが登場!
KENTEM TechBlog
こんにちは!C#愛好家です。 執筆中の2025年6月時点での最新の正式リリースバージョンはC#13ですが、今冬に.NET10と共にリリースされる予定の「C#14」についてご存じでしょうか? C#14では な、な、ナ、ナント、 拡張メンバー(拡張プロパティ) が実装されます!(パチパチパチ) C#erの皆さんなら誰しも待ち望んでいた機能が簡単に実装できます! 今回はその概要をお伝えします! 事前準備 .NET10 SDK 開発環境 プロジェクト作成 実装方法 以前までの実装 C#14での実装 まとめ おわりに 事前準備 C#14は2025年6月時点ではまだプレビュー段階です。 プレビュー機…
3ヶ月前