カミナシで、Webフロントエンドエンジニアをしている osuzu です。 これまでフロントエンド専門外のエンジニアからReactを学ぶ良い方法やお勧めドキュメントを聞かれる度に、 公式ドキュメント のリンクを貼る日々を過ごしてきましたが、何かすごい上達方法がないものかと普段意識していることをこの記事で書き起こしてみました。 文字にした結果、中身になにか特別なことや魔法のテクニックは一つもなく、むしろプログラミング一般に通ずる話ばかりになりましたが、(自戒も込めて)凡事徹底することの難しさもあると…
Forbes JAPANによる次世代スタートアップ100選1にも選出されたFaciloは、創業CEOである市川紘(こう)さんが長年取り組んできた不動産テックの事業領域において、既存の不動産仲介会社の営業活動を支援するビジネスモデルを選び、顧客への物件紹介や内見といったプロセスでDX(デジタルトランスフォーメーション)を支援しています。 アプリケーション開発においては当初からマルチプロダクト展開を想定し、どのエンジニアでも扱えるようなインフラ環境の設計、保守運用のしやすさを重視したアプリケーション…
私が機械学習を学び始めたとき、訓練データとテストデータは異なるのだから、訓練データ上で損失を下げたとしても、テストデータでの性能が必ずしも保証されるとは限らないのではないかと感じ、理解に苦労しました。 本稿では、かつての自分を含め、統計と機械学習の初心者に向けて、なぜテストデータでも性能が理論的に保証されるのかを丁寧に解説します。 本稿の最後では、この議論を深層学習の理論に応用し、最先端の研究にまで一気に繋げます。期待値や分散などの統計学の基礎知識だけからここまで発展的な内容にまでたどり着くとい…
しばらく前に、こんなことを嘯いたら思いの外反応が伸びたのでした。「データも見られなければ統計的学習モデルのアルゴリズムも実装コードも見られない」状況で、そのデータ分析のどこにどんな不具合があるかを「分析結果だけを見る」ことで言い当てるのってデータサイエンティスト的には最高に面白いゲームだと思うんだけど、同意してくれる人いますかね— TJO (@TJO_datasci) 2025年2月7日 日本社会にデータサイエンスが本格的に普及するようになって10年強が経ち、空前のDXブームで猫も杓子もデータ活…
モンスターハンターワイルズの力の護符と守りの護符をいつの間にか取っていたものの、ずっとアイテムBOXの中に入れていて取り出さないとダメ、ということに HR 70 になってから気がついた柴田です。 今日は最近紹介記事をよく見かける AI Agent による自動コーディングについて実際に試してできたコードや感想についてご紹介します。 GitHub Copilot の Agent mode 勤務先のアンドパッドではエンジニア全員が GitHub の Copilot のビジネスプランを使用することができ…
自分の考えをまとめたものです。 前提としてプログラミング言語間の性能ベンチマークは好きではありません。 この記事で書いてある自分の考えに基づくとあまり意味のないものだからです。 本題 プログラミング言語の性能については得られる性能とそのために必要なコストの曲線(コスパ曲線)を意識することが最も重要だと考えています。 (無限のコストを投入すればどの言語においても同じ性能に到達すると仮定しています) コスパ曲線については以下のことを考えています。 ビジネスの場合は投入できるコストを一定としたときに最…
こんにちは。 Findy で Tech Lead をやらせてもらってる戸田です。 現在のソフトウェア開発の世界は、生成AIの登場により大きな転換点を迎えています。 GitHub Copilotやチャットベースの開発支援ツールなど、生成AIを活用した開発支援ツールが次々と登場し、開発者の日常的なワークフローに組み込まれつつあります。 しかし、これらのツールを導入すれば即座に開発生産性が向上する、というわけではありません。 生成AIを効果的に活用し、真の意味で開発生産性を向上させるためには、適切な準…
GoogleからGemma 3が出たり、AlibabaがQwQを出したりで、27Bや32BでDeepSeek V3の671Bに匹敵すると言っていて、小さいサイズや2bit量子化でも実際結構賢いので、普通の人がもってるPCでもローカルLLMが実用的に使える感じになってきています。 Gemma 3 Gemma 3は単一GPUで動くLLMで最高と言ってます。 https://blog.google/technology/developers/gemma-3/ 1B、4B、12B、27Bがあって、最高な…
リポジトリのディスク容量を削減する 開発を何年も継続し続けるとリポジトリもそれなりの規模になる。エンジニアの心理としてはリポジトリを整理したくなるもので、5種類の方法を紹介する。 方法 過去へのアクセス 削減度 作業の手軽さ git-gc ◎ 50%~ ◎ partial-clone ◎ 90%~ ◯ shallow-clone ◯ 90%~ ◯ logic-compress ◯ 90%~ △ reborn ✕ 100% ◯ その1:git gcを用いる これは最も簡単でそれなりの効果が得られる…
こんにちは、エムスリーエンジニアリンググループ、コンシューマチームの園田です。本記事では、外部サービスとAIエージェントの連携を可能にするMCPプロトコルについて、技術検証の実装例を交えてお話しします。 1. MCPとは(ざっくり) MCP(Model Context Protocol)とは、Anthropic社によって策定されたAIエージェントが外部サービスから情報を参照したり連携することを目的としたプロトコルです。 「MCPサーバー」は、GitHubやPostgreSQLといったリソースをM…
こんにちは、ネオセールスカンパニーCTOの菊池(@_pochi)です。 1月にリリースした 「アポドリ 」 は、大変ありがたいことに多くの反響をいただいています。本記事では、その開発を通じて得た、「作らない」ことが成功につながる理由 についてお話しします。 apodori.ai 本記事では、アポドリの開発を通じて学んだ、「いかに作らないか」という反直感的なトピックについて書いていきたいと思います。 AIエージェント開発で後回しにすべきもの 業務A、業務B、業務Cという連続する3つの業務からなる一…
こんにちは。バクラク事業部 機械学習・データ部 データグループの@civitaspoです。最近、アルコール度数の低いお酒にハマっています。飲んでも意識がハッキリしているので、趣味の時間を長く確保できるようになってハッピーになれます。僕的には「正気のサタン」がおすすめです。 yonasato.com さて本記事では、最近バクラクのデータ基盤管理リポジトリで導入した Taskfile.dev を紹介しようと思います。 これまでバクラクのデータ基盤では、非エンジニア職のPC環境でも問題なく動作するよう…
RAKSULグループといえば、印刷ECサービス「ラクスル」の印象が強いでしょう。現在では印刷事業だけではなく、物流事業の「ハコベル」、マーケティング事業の「ノバセル」、ITデバイス&SaaS統合管理サービス「ジョーシス」、ホームページ制作SaaS「ペライチ」など、多方面で事業を展開しています。直近では金融プラットフォーム事業への参入を発表し、事業領域を拡大し続けています。 そんなRAKSULグループは今、共通ID「RAKSUL ID」を軸に、グループのサービスを横断する共通プラットフォームを構築…
こんにちは osyoyu です。最近は環境変数の扱いの整理に取り組んでいました。 ところで、秘匿値を環境変数で管理する場合、改行文字(0x0A = LF)を含む環境変数を取り扱わねばならないケースは稀にあります。もっともありがちな例は秘密鍵のPEMでしょうか。GitHub Appを作成するとよくあるケースですね。 -----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQCw0YNSqI9T1VFvRsIOejZ9feiKz1SgGfbe9Xq5tEzt2yJC…
2025年3月10日、SNSプラットフォームのX(旧Twitter)は一時アクセス障害が発生し利用できない状態になりました。X社のイーロン・マスクCEOは障害原因がサイバー攻撃によるものと明らかにし、複数のセキュリティ組織などはDDoS攻撃によるものであった可能性をあげています。ここでは関連する情報をまとめます。 Xで断続的に発生した半日にわたる広範なアクセス障害 Xでアクセス障害が始まったのは2025年3月10日19時頃(日本時間)で、その後一時復旧するなどしたが翌11日までは断続的に接続しづ…
はじめに プロダクト開発部でTUNAGの開発をしているhisaです。最近、花粉の症状が出始めて悩まされています。目のかゆみと戦いながらも、先週EMConf JP 2025に参加してきました。 エンジニアリングマネジメント(EM)は、エンジニアのキャリアの中でも特に難易度が高い領域の一つだと感じています。私はEMではありませんが、「プロダクトに関わるすべての人が幸せになれば」という思いを持ち、そのためには「良いプロダクトを作るには良い組織が必要」と考えています。その延長として、EMについての理解を…
こんにちは。Findy Tech Blog編集長の高橋(@Taka_bow)です。 この記事は自慢の作業環境を大公開シリーズの第6弾になります。今回も、3名のエンジニアの作業環境を紹介します! トップバッターは安達さんです! ■ 安達さん / プロダクト開発部 / SRE ■ みなさんこんにちは。SREチームの安達(@adachin0817)です。 僕は週2出社とリモートワークでハイブリッドな働き方をしていますが、エンジニアガジェッターでもあります。それでは作業環境を紹介していきたいと思います。…
どんなあみだくじでも答えにたどり着くことを証明した。 ここでいうあみだくじとは 有限本のくじ(縦棒)がある 縦棒上の点と点を結ぶ横道が有限本ある 横道は水平線だけじゃなく、遠くのくじへ行ったり自身を上に行ったりできる ダメなこと 「ふりだしへもどる」はない 同じ点と点を結ぶことはできない 一方通行はない 一度通ると崩れるマリオのブロックみたいな道はない どちらに行くか選べる分岐みたいなのはない なぜ証明したか PPLで話題になって証明しようかなと思った。 ざっくりとしたアイディア あみだくじを形…
Agile Journeyをご覧のみなさん、こんにちは。今井健男(@bonotake)と申します。「ぼのたけ」と名乗っていることもあります。普段はフリーランスのアジャイルコーチをしつつ、現在は国立情報学研究所という国の研究所でスクラムの研究をしています。 今回、「はじめてのアジャイル」という連載企画に声をかけていただき、僕がアジャイルの道に進むきっかけをこちらに書くことになりました。ただ、執筆の依頼をお引き受けはしたものの、正直なところ、僕の体験が皆さんにとって何かしら参考になるかは分かません。…
免責事項 当記事の内容は教育・学習およびセキュリティの向上目的で執筆されており、サイバー攻撃行為を推奨するものではありません。第三者が所有する資産に管理者の許可なく攻撃行為を行うと各種の法律に抵触する可能性があります。当記事の内容を使用して起こるいかなる損害や損失に対し、当社は一切責任を負いません。※当記事の検証では自社で保有している環境を使用しております。試行する際は自身の所有する環境に対して実施してください。 はじめに デジタルペンテスト部のν(ニュー)です。 先日、以下のような記事が…
ITにおける「アーキテクト」は、ビジネスとITの橋渡しをする重要な役割として知られています。時代の変化とともに、さまざまな役割が橋渡し役を担うようになりました。IPAのデジタルスキル標準では「ビジネスアーキテクト」と「プロダクトマネージャー」に多くの共通点があると定義されています。ITアーキテクトの歴史を振り返りながら、現代におけるビジネスとITの橋渡し役について考えてみました。
この記事では、ドコモグループで実施したイベント “dcc Engineer Day 25” において、Telegramを使ったワークショップを開催した様子を紹介します。 はじめに 注意 dcc Engineer Dayについて ワークショップの様子 Telegramとは何か Telegramの活用・悪用事例 アカウント設定とプライバシー メッセージング(チャット) APIとBot 参加者の声 ワークショップを開催してみて おわりに はじめに みなさんこんにちは、イノベーションセンターの遠藤です。…
自分はメインのエディタとしてZed(https://zed.dev/)を使っています。キビキビ動くところや、Vimのサポートが充実していることなど、Zedの良いところはたくさんあるのですが、自分が一番気に入っているのがMulti Bufferと呼ばれる検索機能です。
こんにちは。飲食店向けモバイルオーダーシステム「食べログオーダー」のエンジニアリングマネージャーを務めています福田です。 今回は、エンジニアリングマネージャーとして、食べログオーダー開発で最もこだわっている「絶対に止めない」という取り組みについてお話しします。 目次 はじめに 飲食店モバイルオーダーシステムを取り巻く状況 外部接続周りの戦略 POSシステムとの連携 iOSアプリとプリンターの連携 食べログオーダーの印刷シーケンス 店内オペレーションのトレーサビリティ 伝えたいこと まとめ はじめ…
はじめに 予約して買って読みました。セキュリティエンジニアの知識地図作者:井上 圭,大塚 淳平,幸田 将司,国分 裕,下川 善久,洲崎 俊,関根 鉄平,坪井 祐一,山本 和也,山本 健太,吉田 聡技術評論社AmazonXでとりとめなくポストしたものをまとめた記事です。Xの方にはここに書いていないことも書いているで興味のある方はこちらをどうぞ。扁桃炎で寝込み中だけど昨日から寝っぱなしでこれ以上眠れなさそうなので、「セキュリティエンジニアの知識地図」を読んだ感想として自分のキャリアを振り返ってみる。…
はじめに こんにちは!今回は、私が最近開発した tfmcp というツールを紹介します。これは Terraform を LLM(大規模言語モデル)から操作できるようにするツールで、Model Context Protocol (MCP) を活用しています。 github.com このブログが良ければ読者になったり、GitHub リポジトリにStarをいただけると開発の励みになります。より良いツール開発のためのフィードバックもお待ちしています! MCP とは何か? 記事を始める前に、まず MCP (…
エンジニアリングチームの末永です。クラウド型電子カルテ・レセコンのエムスリーデジカルを開発しています。 はじめに (1) コードレビュー (2) 実装 (3) 分からないことをまとめる (4) プロダクトのユーザー向けマニュアルを読む (5) ユーザーからいただいた全てのお問い合わせに目を通す (6) チーム外の人も分かるように説明する (7) 資格を取る ドメイン知識を身につけて役立ったこと まとめ We're hiring! この記事では私がドメイン知識を身につけるために行っている取り組みを…
その名も CSS Modules Kit です。去年の11月からずっと作ってました。 github.com www.youtube.com 何故作ったか 実は以前にも happy-css-modules という CSS Modules のための補助ツールを作っていました。これを使うと、.module.css から import したオブジェクト (styles) に TypeScript の型が付き、かつコードジャンプできます。 www.mizdra.net 便利ではあったのですが、不満がなかっ…
研究開発部 システム&セキュリティ担当の松倉です。ネットワークのトラブルシューティングにおいてパケットキャプチャは強力で、弊社のつよつよエンジニアも「困ったらパケットを見ろ」と言うほどです。また、インターネットが当たり前に普及している現代においてはサイバー攻撃もネットワーク経由で来ることが多く、パケット解析は我々セキュリティエンジニアにとって重要なスキルセットの一つと言えます。パケット解析ツールといえば Wireshark が非常に有名でデファクトスタンダードと言えると思いますが、そんな Wir…
平素よりはてなをご利用いただきありがとうございます。はてなが提供するChrome拡張機能、「はてなのお知らせ」につきまして、Chrome 拡張機能プラットフォームの最新バージョンManifest V3未対応であったため現在利用できなくなっております。対応の遅延に加え、事前の案内が不足しておりましたことを深くお詫び申し上げます。現在、より快適にサービスをご利用いただけるよう、拡張機能の改良および新機能の開発を進めております。 拡張機能が完成いたしましたら、こちらのはてなの告知ブログにて改めてお知ら…
「まずは経営の意識改革だ」「まずは内製エンジニアだ」。 確かに経営の理解、SIer依存やレガシーシステムの解決は重要ですが、それは簡単には解けないパズルです。待っていても何も変わりません。DXを前に進めるには、「意識が変わりきらない経営層」「金のかかるレガシーシステム」「足りない人材」の中で、どう動くかを考えるべきです。そのためには現場のリーダーがアジャイルをはじめとすると様々な技術をどう活用し、どう適用するのかを理解し、行動する必要があります。
いつもはてなブックマークをご利用いただき誠にありがとうございます。はてなブックマーク開発チームのid:yone-yamaです。 最新版のGoogle Chrome(バージョン134以降)にて、はてなブックマークが提供する2つのChrome拡張機能のうち、旧バージョンである「はてなブックマーク」がブラウザ上で強制的にオフになる事象が発生しています。 過去当ブログでお知らせした通り、 本事象が発生している旧バージョンのChrome拡張機能は、新バージョン「はてなブックマーク ブックマーク機能」の提供…
AIエージェント 最近、LLMエージェントのイベントにゲストで登壇しましたが、流行りのAIエージェントに私も注目しています。 特に、最近よく使っているのがCline(Roo Code)というAIコーディングツールです。Clineの概要や、環境の構築方法・使い方に関しては以下記事にまとめました。 Clineは、もちろんコーディングに使っているのですが、ClineだとAIがVS Codeのターミナルを通じて、好きにコマンドを実行することができるので、実はコーディングだけじゃなくて、色々なことが出来て…
本稿はJCB Advent Calendar 2024の12月14日の記事です。 3-Dセキュアにおける認証取引の仕組み解説 JCB デジタルソリューション開発部 アプリチームの村井です。 アプリチームではJCBが提供する様々なサービスの開発・運用をしています。 今回は非対面のクレジットカード決済で導入が進んでいる3-Dセキュア(本人認証サービス)について、 各システムの動きにフォーカスして認証取引の主な仕組みを紹介します。 3-Dセキュアの認証取引の仕組みは、提唱元であるEMVCoのサイトから…
こんにちは、LIFULLでシニアエンジニアをしている渡邉です。普段はLIFULL HOME'Sの流通領域のエンジニアチームにて、マネジメントをしています。好きなE2EライブラリはPlaywrightです。 今回は、LIFULLで取り組んでいるリリース承認の仕組みを変更し、自動化を図った取り組みについてお伝えします。 はじめに 皆さんは、普段の開発フローを一度俯瞰してみたことはあるでしょうか? 開発からリリースまでを通して見直してみると、思いがけないフローがボトルネックになっていることはありません…
TUNAGのプロダクト開発チームでiOSアプリを開発しているおしんです。 SwiftUIの標準コンポーネントであるListを使う機会があったのですが、List を使ってデザイン通りに画面を実装することは予想以上に困難でした。 このブログでは、Listのデフォルトの挙動と適切な対処法について紹介します。 List とは UIKitのUITableViewに相当するSwiftUIのコンポーネントで、縦方向のスクロール可能なリストを作成できます。 Listを使用することで、データ配列を自動的にレイアウ…
こんにちは〜 人事評価機能を開発しているプロダクトエンジニアのnekoです。 人事評価機能の開発チームでは、2024年10月頃までモブプログラミングを主体とした手法で開発を行っていました。 チームにモブプログラミングを行うというルールがあり、大半の開発をモブプロで行っていたのですが、モブプロをうまく行えておらず、ソロ開発をメインに切り替えたときに起きた変化と課題についてお話します。 モブプログラミングそのものよりは、チームの課題多めで、モブプロを批判する意図はないので悪しからず。 モブプログラミ…
はじめに カミナシでID管理・認証基盤を開発しているmanaty(@manaty0226)です。 以前の記事にて、RFC 8705 OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens を利用したクライアントと認可サーバー間のAWSアーキテクチャ構成について考察しました。今回の記事では、以前の記事に基づきクライアントが認可サーバーからアクセストークンを取得したのちに、クライアントがどのように安…
「Linuxカーネル2.6解読室」(以降、旧版)出版後、Linuxには多くの機能が追加され、エンタープライズ領域をはじめとする様々な場所で使われるようになりました。 それに伴いコードが肥大かつ複雑化し、多くのエンジニアにとって解読不能なブラックボックスとなっています。 世界中のトップエンジニア達の傑作であるLinuxカーネルにメスを入れ、ブラックボックスをこじ開けて、時に好奇心の赴くままにカーネルの世界を解読する「新Linuxカーネル解読室」プロジェクト。 はじめに 応答性に関わる機能 応答性と…
おそらくTerraformの.tfファイルがイメージしやすいと思いますが、.tfファイルのHCLシンタックス内に別のシンタックス(多くはヒアドキュメントで表現される複数行の文字列)を埋め込むことがあります。 私が真っ先に思い出すのがAWSのPolicyです。 resource "aws_iam_policy" "allow_dynamodb_table_post" { name = "allow_post" policy = <<-EOT { "Version": "2012-10-17", "…
a / b の時点で float になって誤差が出てしまうので、$\floor{a/b}$ になってくれるとは限りません。というのがよくある説明です。 「誤差が出てしまう」と言われると、「では実際にそういうケースを構築してください」「誤差が出ない範囲を教えてください」と言いたくなってしまうのが人情というものです。 なので、それに答えましょう。 導入 上界 証明 所感 おわり 導入 まず、int / int についてですが、「両方のオペランドを float に変換してから除算し、float / f…
「最近、自分の成長を感じられない…」 「部下やメンバーの成長の助けになりたいけれど、うまくいかない…」 そんな状況への対応として、仕事における人の成長に立ち返り、何をする必要があるかを整理します。
この記事は、ソフトウェア工学が専門のMITのDaniel Jackson教授が書いたブログ記事 "How software succeeds"を、本人の許可の元翻訳するものです。 なおこの記事と同じトピックを扱っている、彼のTEDx Talkもあります。 ソフトウェアが成功する仕組み 優れたソフトウェアへの第一歩は「成功のシナリオ」である ソフトウェアの成功を診断する 成功するソフトウェアを作りたいなら、まず成功例を調べることから始めるとよい。この記事では、よく知られた1つの事例を取り上げ、それ…
Go 1.24の新機能で、Go製ツールのバージョンをGo Modulesで管理できるようになったので、その概要と便利なポイントを紹介していきます。 これまでのGo製ツールのバージョン管理について これまで、Go製ツールのバージョンを管理する方法として標準的なものはありませんでした。 そのため、仕方なく直接 go install github.com/XXX/cmd/ツール名@バージョン をコマンドとして打たざるを得ないシーンが多々ありました。(過去の方法については今回あまり深堀りしません) これ…
こんにちは。テクノロジーマネジメント本部でプロダクトセキュリティエンジニアをしているsasakki-です。 2025年1月から、プロダクト全体のセキュリティ向上に責任を持つチームとして、PSIRT(Product Security Incident Response Team)を立ち上げました。 PSIRTの立ち上げ背景、目指している姿、そして具体的な取り組みについて紹介します。 立ち上げたばかりのチームですが、SmartHRのPSIRTについて知っていただけたら幸いです。 PSIRTとは はじ…
cittyを使ってみたところめっちゃ良かったのでメモがてらエントリを書く。 citty unjs.io Nitroとかh3とかいろいろいい感じのライブラリを作ってるUnJSのライブラリの一つ。いい感じにCLIツールを作れる。 準備 npm install citty 公式のサンプルソースを拝借。 import { defineCommand, runMain } from "citty"; const main = defineCommand({ meta: { name: "hello", v…
はじめに robots.txt robots.txt の基本 robots.txt の限界 X-Robots-Tag X-Robots-Tag の仕様 X-Robots-Tag と robots.txt の組み合わせに注意 X-Robots-Tag の限界 さいごに 参照 はじめに こんにちは。SRE マネージャーの izzii です。最近会社でオフィスの引越しがありました。前のオフィスはコワーキングスペースで複数社で空間を分割するようなオフィスだったのですが、フロア丸々テックタッチというのが新…