モリサワ Tech Blogのフィード
https://zenn.dev/p/morisawa
株式会社モリサワのシステム開発部のテックブログです。 採用ページはこちら https://www.morisawa.co.jp/about/recruit/
フィード

Claude Code Actionで GitHubのプルリクエスト運用を効率化する
1
モリサワ Tech Blogのフィード
はじめに弊社ではClaudeのTeamプランを契約し、普段の開発業務でClaude Codeを活用しています。プルリクエストのコードレビューにも活用を広げるため、Claude CodeをGitHub Actionで動かす Claude Code Action を導入しました。この記事では、Claude Code Actionを使ってプルリクエスト運用を効率化した内容について紹介します。 Claude Code ActionとはClaude Code Action は、Anthropicが公式に提供するGitHub Actionです。GitHub上のプルリクエストやイシュー...
3日前

斜体はどうして選択範囲からはみ出るの?
モリサワ Tech Blogのフィード
ある日、社内 Slack に、こんな投稿がありました。フォントがカーソルから大きくはみ出すのはそういう仕様でいいんだろうか?水色の選択領域からはみ出した回鍋肉これは当社の DriveFlux というフォントで表示したテキストで、右に文字が大きく傾いています。Web ブラウザーやテキストエディターで斜体の文字を選択状態にすると、矩形から文字がはみ出して見えることがあります。Web フォントとして利用する際にボックス内でクリッピングを設定していたら、表示が欠けてしまうことにもつながります。どうしてこうなっているのでしょうか?もしかして、フォントのつくりが悪いのでしょうか?実は、こ...
11日前

AthenaではIcebergのTagを作れないが参照はできる
モリサワ Tech Blogのフィード
株式会社モリサワではデータレイクにIcebergテーブルを採用し、Athenaで分析を行っています。弊社ではDynamoDBからS3へのZeroETLによる連携の検証を行っており、特定のスナップショットを残すためにこのTag機能を利用しようとしました。ところが、AthenaではTagの作成がサポートされていません。では、別の手段でTagを作成した場合、Athenaから参照することはできるのでしょうか? 本記事ではその検証の過程と結果を紹介します。 TaggingIcebergではTagという機能があり、スナップショットに名前をつけることができます。Tagをつけることで指定の期間スナ...
18日前

IPアドレス証明書を発行してデモアプリを社内公開したい
モリサワ Tech Blogのフィード
研究開発において、社内向けにデモアプリを公開したいことがあります。この時、http:// ではなく https:// で公開したいのはやまやまですが、OpenSSL などで作成した自己署名証明書を安易に適用しても、ブラウザでのアクセス時に以下のような警告が表示されます。これではデモアプリを気軽に使ってもらうことができません。 IPアドレス証明書ところで先日 6-day and IP Address Certificates are Generally Available という件名の記事が Let's Encrypt からリリースされていました。一部抜粋して日本語に翻訳すると以...
1ヶ月前

CDKでaddToResourcePolicyを使ってDynamoDBにポリシー追加したのに反映されない!?
モリサワ Tech Blogのフィード
はじめにCDKで addToResourcePolicy を使ってDynamoDBにポリシーを追加したはずが反映されていませんでした。結論から述べますとIssueとして報告されている事象で addToResourcePolicy を使わずに直接記載することでポリシーが反映されます。 背景株式会社モリサワではデータ基盤をAWS上に構築しています。現在はサービスで使われているDynamoDBのPITR(ポイントインタイムリカバリ)を日次でS3に取り込んでいます。よりリアルタイムにデータを取得することと、データパイプラインの簡素化を目的にZeroETLへの移行の可能性を検証していま...
5ヶ月前

AWS IAMの「IDプロバイダ」を置換しても反映されない?
モリサワ Tech Blogのフィード
はじめに小ネタです。AWS IAMの IDプロバイダ を使用してSAML認証を設定している際、設定を置換したにも関わらず変更が反映されないという問題に遭遇しました。結論から申しますと、 IDプロバイダ の再作成でうまく動いたのですがなぜか置換の場合はうまくいきませんでしたので、同様の問題に遭遇した方の参考になれば幸いです。 前提弊社ではAWS IAM Identity Centerを利用して、認証基盤にEntra IDを用いてAWSへの権限管理をしています。一方、QuickSightへのアクセスはAWS全体へのアクセスとは異なるEntra IDのエンタープライズアプリケ...
6ヶ月前

空のパーティションにダミーファイルを置くとAthenaのクエリのパフォーマンスは向上するのか?
モリサワ Tech Blogのフィード
背景Athenaにはパーティション射影という機能があり、この機能を用いることでパーティションの管理を自動化することができます。一方で射影されたパーティションに対して空のパーティションが多い場合は、クエリのパフォーマンスが低下する可能性があります。そこで形式的にダミーファイルを空のパーティションに配置することで、パーティションが空の場合に対してパフォーマンスがどう変化するのかが気になり調べました。https://docs.aws.amazon.com/ja_jp/athena/latest/ug/partition-projection.html パーティション化とはデータを...
6ヶ月前

VS Code 1.102でMCP(Model Context Protocol)がGA化されました
モリサワ Tech Blogのフィード
はじめにVS Code 1.102で、MCP(Model Context Protocol)のサポートがついにGA(General Availability)となりました。MCPは、AIエージェントとツールを連携させるためのオープンなプロトコルで、VS CodeのCopilot Agentの機能を大幅に拡張できる仕組みです。これまでプレビュー機能として提供されていましたが、今回のリリースで正式版として利用可能になりました。詳細は公式ブログを見ていただき、当記事では「MCPをとりあえず使ってみたい」という方に向けてポイントだけ記載いたします。 MCPサーバーの発見・インストー...
8ヶ月前

出力先のS3なしでAthenaのクエリを実行が可能になった
モリサワ Tech Blogのフィード
株式会社モリサワでは分析のためのツールの一つとしてAthenaを利用しています。これまでAthenaを利用するにあたっては出力先のS3バケットを指定する必要がありました。そのため出力先のS3バケットの管理が必要でした。具体的にはS3に対する権限の付与や、不要な課金を避けるためにライフサイクルポリシーを設定して古いクエリ結果を定期的に掃除する必要がありました。今回発表された機能によってクエリ結果をS3ではなくAWSが管理するストレージに保存できるようになりました。これを利用すれば出力先のS3バケットを指定せずに、Athenaのクエリを実行でき、S3の管理が不要になります。 AWSマネ...
9ヶ月前

AWS Lake Formation構築時にadministrator設定を行うときの注意点
モリサワ Tech Blogのフィード
はじめにAWS Lake Formationはデータレイクの管理を統括するサービスとして非常に有用です。データレイクの構築と管理を効率化できる一方で、初期設定時にはいくつか注意が必要な点があります。今回は、Lake Formation構築時にadministrator設定を行うときの注意点について解説します。 AWS Lake Formationとは?今回、弊社開発部ではデータガバナンスを強化するために、AWS Lake Formation(以降、AWSを省略)を導入することにしました。Lake Formationについては、以下のように説明されています。AWS L...
10ヶ月前

ECRのライフサイクルポリシー適用でコスト最適化を実現
モリサワ Tech Blogのフィード
研究開発において、インフラ周りの処理を IaC で管理しようということで、AWS CDK (AWS Cloud Development Kit) を活用しています。https://aws.amazon.com/jp/cdk/PyTorch などの巨大ライブラリを Lambda で利用しようとした場合、サイズの問題からコンテナイメージを使うことになると思います。この際、ECR (Elastic Container Registry) を活用にすることになりますが、意外なところにデータが溜まっていたために無駄なコストがかかってしまっていました。今回はそのような「ゴミデータ問題」に直面した...
10ヶ月前

AI コーディングアシスタント Claude Code を Amazon Bedrock で試してみた
モリサワ Tech Blogのフィード
はじめに最近、AI によるコーディングアシスタントツールが次々と登場しています。その中で、先日 Anthropic 社は最新モデル Claude 3.7 Sonnet と同時に、新しいツール Claude Code をプレビュー公開しました。https://docs.anthropic.com/ja/docs/agents-and-tools/claude-code/overviewClaude Code はターミナル上で動作するコーディングアシスタントツールです。公式ドキュメントによれば、主に以下の機能を提供しています。コードベース全体でのファイル編集とバグ修正コー...
1年前

GitHub Copilot Agentを試してみた
モリサワ Tech Blogのフィード
はじめにhttps://github.blog/jp/2025-02-07-github-copilot-the-agent-awakens/GitHubの公式ブログで「GitHub Copilot:エージェントの覚醒」が発表されました。Copilot EditsがGA(一般提供)され、新たにAgentモードがプレビュー公開されたとのことで、実際に試してみました。 Copilot EditsがGAされた Copilot EditsとはCopilot Editsは、チャットとインラインチャットの長所を組み合わせたもので、会話型のフローと、管理するファイル群に対してイン...
1年前

S3の不完全なマルチパートアップロードを削除して不要なコストを削減する
モリサワ Tech Blogのフィード
背景株式会社モリサワでは分析のためのツールの一つとしてAthenaを利用しています。Athenaでクエリを実行した結果はCSVファイルとしてS3に格納されます。クエリの実行結果を永続化しておく必要はないため、一定期間後にファイルを削除するようにライフサイクルを設定していました。そのため当該バケットは一時的なデータ置き場の感覚で利用しており、ストレージはほとんど利用していない認識でした。 S3の料金と使用している容量が一致しないS3の費用削減のためにStorage Lensのダッシュボードをみていると、ほとんどストレージを使用していないはずのバケットで大量に使われていました....
1年前

Cloudflare Workers の実行時間が遅くなることがある
モリサワ Tech Blogのフィード
はじめにMorisawa Fonts というフォントサブスクリプションサービスで SRE を担当しています。https://morisawafonts.com/先日、Morisawa Fonts で Web フォントのサービス をリリースしました。これはモリサワのフォントを Web サイトで利用できるサービスです。その中で、Web フォントを配信する機能の一部 を Cloudflare Workers を使って実現しました。以下は簡単な構成図です。 実行時間Cloudflare Workers のダッシュボードでは、CPU 時間 と Wall 時間 の 2 種類の実行...
1年前

Morisawa Fonts のアドビアプリケーション プラグインを更新しました
モリサワ Tech Blogのフィード
はじめにこんにちは、株式会社モリサワ システム開発部門の大西です。前回の記事 Morisawa Fonts のアドビアプリケーション プラグインを開発しました では、Morisawa Fonts 向けにアドビアプリケーションのプラグインを開発した話にふれました。今回は、みなさまの声をもとに改善を行いましたので、その内容をご紹介したいと思います。 自動アクティベートプラグイン Ver.0.9.3 の公開 プラグインの対応範囲対応するアドビアプリケーションは次のとおりです。InDesign 2023/2024/2025Illustrator 2023/2024/2...
1年前

AI支援付きPostgresサービスの「postgres.new」を触ってみた
モリサワ Tech Blogのフィード
はじめにAI支援付きPostgresサービスの「postgres.new」を触ってみたので、その内容を共有します。 概要ブラウザ内で利用できるPostgresサンドボックスにAI支援がついているサービスです。サービスサイトはこちらです。https://postgres.new/OSSなのでGitHubでソースは公開されています。 AI支援がついているとは?CSVファイルをアップロードするだけで、テーブルの作成やデータの挿入が自動で行われます。クエリも自然言語で行えます。 サンプルデータ作成せっかくなので、サンプルデータも生成AIに任せてみます。DBのサ...
1年前

App Runnerのネットワークについて調べてみた
モリサワ Tech Blogのフィード
はじめにこんにちは、株式会社モリサワ システム開発部門の小室です。AWS の NAT Gateway はそこそこ料金が高いですよね。先日、使ってないと思っていた NAT Gateway を停止したところ、App Runner で構築したアプリケーションにアクセスできなくなる事象が発生しました。このアプリケーションでは VPC コネクターを利用していたので、NAT Gateway が必須だったのが理由でしたが、なぜアクセスできなくなるのか App Runner のネットワーク周りの仕組みを理解していなかったので、これを機会に少し調べてみました。 App Runner のネッ...
2年前

DiffVGを導入してフォント形状を最適化してみる
モリサワ Tech Blogのフィード
はじめにこんにちは、株式会社モリサワの田中です。フォントに関するR&Dを主に担当しています。本記事では、フォントを含むベクターグラフィクスとAIにまたがる分野の研究で重宝するDiffVGについて、導入手順や基本的な使い方の解説と、フォントの文字形状を編集する簡単な実験について紹介します。 ベクターグラフィクスとはベクターグラフィクスは、数式で表される直線・円・ベジエ曲線などを使用して画像を表現する方法です。ピクセルで構成されるラスター画像と比較して、拡大しても画質が低下しない・編集が行いやすいなどの利点があります。なかでもベジェ曲線は、円弧などよりも表現の幅が広く...
2年前

Morisawa Fonts のアドビアプリケーション プラグインを開発しました
モリサワ Tech Blogのフィード
はじめにこんにちは、株式会社モリサワ システム開発部門の大西です。Morisawa Fonts の利便性向上の取り組みとして、自動アクティベート機能を実現するアドビアプリケーションのプラグインβ版を開発しました。自動アクティベート機能は、アドビ社のアプリケーション(InDesign、Illustrator、Photoshop)のドキュメントを開いたとき、アクティベートしていないフォントがあれば、自動的にフォントをアクティベートする機能となります。制作チームで共有されたドキュメントを開いた際や、過去のドキュメントを開くとき、環境にフォントがないと警告が表示され、そのたびフォント...
2年前