2021年1月にLINEに入社してから4年1ヶ月勤めてきましたが、2025/2/14をもって卒業しました。この4年を総評すると「最高に楽しく、かけがえのない財産となる4年間」でした。 在職期間については感謝しかなく、この会社はこんなに良い機会に恵まれている(N=1)ということを知ってほしくて初めて退職エントリを書いています。 LINEに入社したきっかけ 元々私はインフラ・バックエンド開発のフリーランスとして活動していましたが、フリーランスを続けていくことにキャリアリスクを感じて会社員に戻ることを…
2月から急に寒くなりましたが、皆様いかがお過ごしでしょうか。 先般、皆様ご存知不朽の名作、Kingdom Come: Deliveranceの続編が遂に発売されましたね。私は今始めると人間性を失ってしまいかねないため、もう少し人生が落ち着いた頃合いに手を付けようと何とか我慢しています。早く無力な凡夫ヘンリーを最強の男にしたいし、ひたすら野に咲く薬草を摘んで錬金術師としての人生も送りたい。 さて、みなさんはこう考えた事はありませんか? 手元の作業ブランチをstagingブランチにマージする前に、検…
ほんと触るとこまでです。 きっかけ。 該当スレ 「さくらのクラウド」の存在は知っていたものの、触ってはいなかった私です。 でmattnさんが「そういえば」から15分で「いいやん」と言っていたので、実にクラウド感(AWSの昔のステッカーに「I built my cluster in 5 minits」とかあった。今もある?)あるなぁと思って、やってみました。 やったこと さくらのクラウドにアクセス アカウント作成 メール認証&電話認証 クレジットカード登録 3Dセキュア 200円の請求がきて、すぐ…
既存のアーキテクチャの問題が見えると、アーキテクチャを変更して解決すると思います。 それ自体は素晴らしいことなのですが、変更が全体に浸透し切らず古いアーキテクチャと新しいアーキテクチャが混在したままになってしまうと、状況はさらに悪化します。そのため、アーキテクチャを変更する時には、「どうやって完遂するか」もセットで考えるべきでしょう。 10Xの現状は? 混在しています。 自然と移行を完遂できる日は来なかったので、完遂する努力をしています。 完遂するための取り組み アーキテクチャの限界を漸進的に押…
並行プログラミングを学ぶ一環で、「Contextを完全に理解する」というテーマでGo Conference 2021 Autumnに登壇しました の記事を見つけ、contextのcancel伝播の実装方法が気になった。そこで自分でcontextのcancel部分だけを自作することで伝播の理解を深めてみた。 実装はこちらで、context.WithCancel的なものとcontext.WithDeadline的なものを実装している。またテストコードも用意している。 実装してみて面白いなと思ったのは…
どうも自分は監視についての知識や技術が乏しい、ということに気付いた。 そもそも何かを監視するという習慣を持っていないのがまず良くないと反省し、まずは自宅の環境を監視する練習から始めてみることにした。 監視とは役割ではなくスキルであり、チーム内の全員がある程度のレベルに至っておくべきです。 入門 監視 ―モダンなモニタリングのためのデザインパターン 環境 Ansible from macOS Ansible Galaxy VictoriaMetricsによる監視 Metricsの取得、収集 Nod…
DevLOVE関西 200回目で紹介した、私の個人指針。迂闊に採用すると大怪我する取扱注意なものだとは思います。 出典はClean Coderで、訳書は2012年。薄い本ですが、今回取り上げるのその中でもさらに一部です。 Clean Coder プロフェッショナルプログラマへの道 (アスキードワンゴ)作者:Robert C.Martin,角 征典ドワンゴAmazon "緊急時の規律"(CleanCoder)にはいろいろ納得した。— irof (@irof) 2012年8月28日 「本番は練習のよ…
あまりよくある話ではないと思うんですが、アナリスト/Analytics Engineerの人にバッチ処理を書いてもらう機会がありました。基本的にはSQLを普段書かれていて*1、場合によってはTerraformを少し書くこともあるというバックグラウンドの方です。これに対して私はレクチャーやサポートする形になったので、メンター的でどういうことを考えていたかをこのエントリでは書こうと思います。 対象のタスク レクチャーしたこと Step by Stepで実装する APIやjqに慣れる Dockerfi…
C言語にはbitfieldという機能がありますが、この機能にはさまざまな落とし穴があり、注意深く利用しても予期せぬバグや移植性の問題を引き起こす可能性があるとよく言われています。 実際、jpcertを確認すると複数の勧告が出ています。 EXP11-C. ビットフィールド構造体のレイアウトについて勝手な想定をしない INT12-C. 式中で使用される単なるintのビットフィールドの型について勝手な想定をしない CON32-C. 複数スレッドによる隣接データへのアクセスが必要な場合データ競合を防止す…
こんにちは。スマートバンクでプロダクトマネージャーをやっているinagakiです。 最近プロダクトマネージャー(PM)のイベントに参加させていただく機会が増えてきているのですが、そのたびにtoCプロダクトのPMの方に出会わないな…と感じます。 どうやらtoCスタートアップへの投資総額が10年で下がり続けている話もあるそうです。個人の感覚的にも、もしやtoCプロダクトスタートアップの数が減っているのでは?と感じています(統計的にどうかは知りません)。 トップVCのC向けスタートアップへの投資額はこ…
物騒な世の中です。皆様お気をつけください。 3行でまとめ 自作の OSS、fujiwara/apprun-cli のマルウェア入り偽物を作られて GitHub で公開されました 偽物には大量の新規アカウントがスターを付けていたため、検索でオリジナルのものより上位に表示される状態でした GitHub に通報したところ、偽物を作ったアカウントはbanされたようです 経緯 2024年末に、さくらのAppRun用デプロイツール apprun-cli という OSS を公開しました。 github.com…
こんにちは。 突然ですが皆さんは、開発をするうえで欠かせないツールやOSSはありますか? キーボードやマウス、マイクといった物理的なツールは机を見ればわかりますが、他のエンジニアがどういったツールを使って効率化しているかは、その人の画面を見ないとわかりません。 そのため、他のエンジニアがどういったツールを使って効率化しているのか、実は意外と知らないということが多いのではないでしょうか? そこで今回は、大変ご好評いただきました【エンジニアの日常】これが私の推しツール!〜日々の開発を豊かにするおすす…
システムと呼ばれるものは、さまざまな要素の関係が複雑で、要素とその関係が変動し、予測が難しく、とらえにくいものである。 システムと呼ばれるものに取り組む時に、自分が意識している5つの視点を簡単にまとめてみた。 ①文脈で考える ②全体と部分で考える ③関係で考える ④ネットワークで考える ⑤プロセスで考える まとめ ①文脈で考える システムを取り巻く環境や、そのシステムがおかれた状況が、そのシステムのさまざまな特徴を生み出しているという、という捉え方。この環境や状況が、システムが存在し持続する文脈…
Promise と Thenable Promise が ECMAScript の言語仕様に追加されたのは ES2015 ですが, Promise ライクなオブジェクトはそれ以前からも広く使われてきました (jQuery の Deferred など). そういった Promise ライクなオブジェクトとの互換性のため, Promise の仕様は本物の Promise と Promise ライクなオブジェクトを混ぜて使えるようになっています. 具体的には, Promise ライクなオブジェクトは一…
前のエントリで、AIで業務システム不要になるんでは?って書きました。 AIが進化すると、そもそも業務システムが不要になりそう - きしだのHatena じゃあそれどうやって導入するんだってなるので、ちょっと考えました。 まず、普通の業務システム開発は、最初にある程度の期間をかけてヒアリングなど業務分析をして、要件を定義します。その後、その数倍の期間で実際の開発を行いますね。 AIでの業務管理の場合、同様に一定期間をかけて業務分析をします。それで終わり。あとは業務を把握したAIが業務を管理してくれ…
ソフトウェア開発の現場では、スクリプトを発射してシステムになんらかの変更を加える、ということがよくある。DBに変更を加えたり、なんかを削除したりといった具合。専用の管理画面をわざわざ実装するまでもない、というときに使われがち。 Dry-run スクリプトによっては破壊的なことをする(i.e. 元に戻すのが不可能/たいへん)ので、勢い良くいきなり発射するのではなく、どういう感じの実行結果になるのかを試走させてから実際に動かしたい。 どうするかというと、破壊的な箇所では、一定の条件でスキップしたりや…
はじめに こんにちは、サポーターズでエンジニアをしている@y_chu5です。 本記事では、当初ESLintのバグと思われていた問題が、実はNode.jsのバグであることが判明し、その修正に至るまでの過程をご紹介します。この体験を通じて得られた知見は、小中規模なプロジェクトのデバッグ手法として参考になるかもしれません。 まず、この問題の発見と初期調査において、VOICEVOXコミュニティのコミュニティサーバーの方々の多大なる貢献があったことを深く感謝申し上げます。彼ら彼女らの綿密な調査と報告がなけ…
2025年1月末に14年間勤務した 面白法人カヤック を退職し、2025年2月から さくらインターネット に入社しました。 転職の経緯 自分はここ数年、クラウドを便利に使う「隙間家具OSS」として主にCLIツールをいっぱい作ってきたわけですが、実はサーバー/デーモンっぽいものを作るのも好きなんですよね。とはいえ昨今の状況で自作のミドルウェアやサーバーをクラウド上にデプロイしても運用が大変なだけですし(自分以外に運用させるのはなおさら)、なかなかできないなと。 そんなこんなで手持ちの運用サービス(…
はじめに プロダクトをつくる私たちエンジニアや組織は 「本当に顧客のために開発できているだろうか?」 と、一度は自問したことがあるのではないでしょうか。 事業成長し、組織が大きくなるにつれ、エンジニアと顧客の距離は遠くなりがちです。 かつては直接届いていた「この機能、助かりました」「ここが使いづらい」といった顧客の生の声も届きづらくなります。 複数チームでの分業や、多くのステークホルダーが関わる場合、このように感じる方もいるのではないでしょうか。 こうした環境下では、 「リリースした機能は、本当…
こんにちは。LayerX AI・LLM事業部のエンジニア、Osukeです。普段は Ai Workforce のプロダクト開発に従事しています。 getaiworkforce.com 当事業部では、開発現場で役立つさまざまなAIツールを取り入れており、今回ご紹介するのはそのひとつ、Devin です。 Devinとは Devinは2024年12月に正式リリースされたエージェント型プロダクトで、GitHubやSlackなど、普段使い慣れたツールと連携して、まるでAIエンジニアがサポートしてくれるかのよ…
ChatGPT O1やDeep Researchなどがすごいパフォーマンスを出してきていますね。もう仕組み上も単にLLMではなくAIとしか言えなくなってきています。 そんなAIが進化して、プログラミングをAIがやってくれるようになると、そのプログラムの確認をどうするんだって話があります。業務システムの開発では、プログラム読めない人がプログラムの生成に携わったりするようになって、できてきたプログラムが読めないってなる。 問題では?と思ったのだけど、そもそも業務システムが不要になりますね。 小さい食…
記事AI要約 アジャイル推進者とプロダクトマネージャー、この2つの立場の間にしばしば生まれる「溝」について、両者の視点から率直な議論を展開。プロダクトの成功という共通のゴールを持ちながらも、時として対立する背景には何があるのか。「理想」と「現実」のバランス、専門性の捉え方、組織変革の視座など、本質的なテーマに切り込んでいく。建設的な対話を通じて、より良いプロダクト開発の実現に向けた具体的なヒントと実践的な示唆を提供する。「溝」を超えて協働するための第一歩となる知見が詰まった往復書簡。 今回は、プ…
OpenTelemetryのzero-code計装として公式に言及されているGo、.NET、Java、Python、PHP、JavaScriptについて、同系統の簡単なWebサーバーを立てながら試してきた。 kmuto.hatenablog.com kmuto.hatenablog.com kmuto.hatenablog.com kmuto.hatenablog.com kmuto.hatenablog.com kmuto.hatenablog.com 「簡単なWebサーバー」の作りがいろいろ…
本当の本当にただの自分向けのメモです。メモだけど、見られて困る内容じゃない。なら、他の人も見れる方がよい。そんな思考でブログにしている。 書くのはSNS界隈では定期的にマウント取りに使われる*1二分探索の計算量について。定期的に忘れてはいちいち理屈から考えるを繰り返している*2ので、もうメモにしておくことにする。ちなみに結論だけ言うと二分探索の計算量はだ。 指数と対数 二分探索の計算量を考えるにあたってこれが必要。いや、それ抜きにしても指数対数は重要なんだがそれはおいておき…なんで指数と対数が出…
はじめに こんにちは!コンテナ基盤グループの楠本です。 今回はマルチテナント運用におけるKubernetesクラスタ内のコスト把握方法についてご紹介します。 見どころは EKSでKubecostを使ってみたがうまくいかなかったこと OpenCostを導入して解消したこと Datadogを使ってマルチクラウドのKubernetesを把握できるようにしたこと の3点です。 はじめに 結果:OpenCost・Datadogを使って出来たもの EKSにKubecostを試験導入してみた スプレッドシート…
こんにちは、グループ経営ソリューション事業部の米久保です。 はじめに リファクタリングとは リファクタリングの定義 振る舞いのサイズ 振る舞いと自動テストとの対応 リファクタリングテクニック リファクタリングサイズ 技術的負債はどうして生まれるのか コードの守備範囲 変更への対応 技術的負債を返済する 早い返済が吉 新規開発時 変更時 開発チームの裁量で返済する 説得方法 大規模なリファクタリング まとめ 参考文献 はじめに 「リファクタリングをする時間がない」「リファクタリングの必要性を関係者…
こんにちは。エムスリーエンジニアリンググループの藤原です。 今回の記事ではパズルのようなプログラミングクイズを出題してみます。 自分で考えたい方は問題部分から記事を読み進めずに考えてみてください。問題の後にヒント、答えと続いています。 問題 では、問題です。 巳年(Python) '25年 なクイズということで作成してみました。 (元日あたりに作ったので [1:-1] 部分も実は"かかって"います!) 難読クイズとは少し違った趣向のクイズで、エンジニアリングとしては何の役にも立たないかもしれない…
はじめに こんにちは、データサイエンス部データサイエンス2ブロックのNishiyamaです。我々のチームでは、AIやデータサイエンスを活用したプロダクトの開発ために、研究開発に取り組んでいます。我々のチームの具体的な業務については、以下の記事を参考にしてください。
ShellCheckはシェルスクリプトの静的解析ツールだ。文法エラー、バッドプラクティス、セキュリティリスクを指摘してくれる。チェック内容はWikiをみてほしい*1。 www.shellcheck.net はじめの一歩 Macの場合はbrew install shellcheckでインストールできる。早速以下のシェルスクリプトに対して解析をかけてみる。 #!/bin/bash echo "Deleting files in $DIR..." rm -rf $DIR 解析はshellcheck v…
2025年1月21日、京都府警は不正な手段を用いてクレジットカード情報を収集していた疑いがあるとして高校生を逮捕したと発表しました。高校生はフィッシングなどの情報を共有するTelegramのグループチャットに参加していました。ここでは関連する情報をまとめます。 有効性確認と偽りカード情報を取得 逮捕された高校生の容疑は不正アクセス禁止法違反と割賦販売法違反。2024年7月26日から8月11日にかけて、クレジットカードの有効性確認ができるとして、自身が作成したプログラムを通じて6件のクレジットカー…
はじめに カミナシでソフトウェアエンジニアとしてサービスの開発をしている Taku (X アカウント) です。 帰国後の体調不良等あり公開が遅くなってしまったのですが、先日ラスベガスで開催された AWS re:Invent に2年振り2回目の参加をしてきた際のレポです。 今回の re:Invent で私は 生成 AI 系のワークショップを中心に受けており、前回の Amazon Bedrock のワークショップに続き Amazon Q Business のワークショップも受けましたので両方受けて思…
お弁当の定番『イシイのおべんとクン ミートボール』などの商品作りを無添加調理で進める石井食品株式会社*1では、まだ40代の石井智康さんが代表取締役を務めています。石井さんは創業家の出身ながら、大学卒業後はIT業界に入り、フリーのスクラムマスターとして活躍するなど、石井食品とは距離を置いていました。 しかし、フリーランスとして働くなかで、改めて社会にどのような貢献ができるかを考えた結果、食の課題に取り組むため家業を継ぐことを決意。2018年に代表取締役社長に就任すると、それまで培ったソフトウェア開…
「なにがしたいか」をベースにコメントをつけておくと、後で読むときのコストが下がりやすい。 実際にプロダクトコードで書いたことがあるコメント↓ (簡略化してます) // 画面内に入った動画を自動再生する+ほかの動画は停止する (すでに再生済みだったら再生しない) useEffect(() => { if (inView && !hasBeenPlayed && canAutoplay) { /* ... */ pauseOtherVideo(); play(); } /* ... */ }); こ…
DeepSeek-R1 に関する論文を Gemini Paper Summarizer で要約しました。 DeepSeek-AI, Guo, D., Yang, D., Zhang, H., Song, J., Zhang, R., … Zhang, Z. (2025). DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. 【注意】AI の説明には誤りが含まれる可能性があり、正確さ…
バクラク事業部 PlatformEngineering 部 DevOps グループマネージャーの @kani_b です。 2024年1月、人生初の転職で LayerX に入社しました。いわゆる「落下傘マネージャー」として、組織変革を期待されている (と考えている) 一方、転職経験がなかったため、試行錯誤をしながらチームの進化に取り組んできました。今回の記事では、 LayerX におけるマネージャーとしてのチーム合流について私の経験についてお話したうえで、 DevOps チームがどのように進化して…
DynamoDBも当初はマネージドとしてシンプルでしたが要求が増えるにつえ複雑になってきました。 *ソフトウェアでは良くあることで、そして新しくシンプルなものが生まれ新しいサイクルが始まる モデリングなどはドキュメントを見ていただきつつ、この記事では間違えやすい抑えていただきたいポイントを解説します on-demandモードを使う 初期設定はprovisionedモードになりがちですが固定料金を取られます。また、トラフィックが読めないとき、増減激しいときもあるでしょう on-demandモードが…
www.youtube.com 昨夜未明、インターネット某所で、プログラミング支援ツール「Cline」と、それを用いたゲーム開発の経験談*1を語り合う会合がありました。 CLINEが持つ、人間の介入を最小限に抑えながら暴走機関車ようにコードを生成する性質を軸に、CopilotやCursorなど既存のAIコーディングツールとの比較や、これまでのコーディングツールのアプローチからの変化、今後の開発における展望も議論されていました。 Clineの性質 ホストの@mizchiさんはClineを「強いパー…
DeepSeek-R1にも採用されたLLMチューニングのための強化学習手法 GRPO(Group Relative Policy Optimization)について考えたことをまとめます。 GRPO: DeepSeek-R1の強化学習ファインチューニング手法 前提手法:TRPO/PPO TRPO: Trust Region Policy Optimization PPO: Proximal Policy Optimization GRPOとPPOの差分:①アドバンテージ算出と②参照モデルからのK…
そうなると人間のやることは何になるかというと……微調整? 迫りくる赤い電子を避けて進もう。電子の間の黄色線を通って得点アップ https://t.co/VDjGACbzZi pic.twitter.com/u7STpP3cJu— ABA (@abagames) 2025年1月25日 このゲームをClaude 3.5 Sonnetや、いくつかの画像・音楽生成AIを使って作ってみた。ここではこれを具体的にどう作ったかを説明したい。生成AIを使ったミニゲーム開発プロセスの参考になれば幸いである。 まず…
前置き tl;dr; 解説 動的にmatrixを生成する JSON文字列からmatrixを生成する 前置き GitHub Actionsではworkflowのyamlファイルに下記のように jobs.<job-id>.strategy.matrix を書くことでmatrix buildを作ることができます。 *1 # .github/workflows/build.yml jobs: test: name: test (Ruby ${{ matrix.ruby }}, Go ${{ matrix…
2人のプログラマーが一体となってプログラミングを行うペアプロプラミング(以下、ペアプロ)は、XP(エクストリームプログラミング)の主要プラクティスの1つです。ユーザベースのスピーダ事業では、開発組織全体でペアプロを実践し、生産性や品質の向上につなげてきました。 2022年にはその効果を最大化するため、社内の有志で「よりよきペアプロのためのガイドライン」という1万文字以上のドキュメントを策定。ペアプロの実践や「ふりかえり」に役立てています。作成自体がアジャイルに進められたこのガイドラインは何をきっ…
タイムラインで流れてきたポストから、Googleが作っているImageFXが作ってくれる画像のクオリティが高いように見えたので、触ってみていた。 ImageFXの作例 これが自分で撮った紅葉の写真で、 こっちが、Image FXに、京都の紅葉、50mm f1.4バブルボケ、とか伝えて作ってもらったもの。 ChatGPTに同じ入力を渡すと、こんな画像なので、仕上がりの違いがわかると思う。 どこか嘘っぽいというかメルヘンな仕上がりになりがち。 ここまでできるなら、手持ちの画像そっくりな画像を作れるの…
しゅーとです。 新婚旅行で沖縄に行ってきたのですが、そこで泊まった高級リゾートホテルの客室にタブレットが置いてありました。 このタブレットを調査したところ、客室内の盗聴・盗撮が可能となる脆弱性や、第三者がネットワーク上から他客室のコントロール、チャットの盗聴が可能となる脆弱性を発見しました。この問題はIPAを通して開発者に報告し、報告から2年の年月を経て影響する全ホテルへの改修が完了し、公表されました。 本記事ではキオスクアプリ開発者がよりセキュアなシステムを構成できるように、発見した脆弱性の原…
1. はじめに こんにちは、株式会社ACESでソフトウェアエンジニアをしている豊森です。 最近、家のエアコンの効きが今ひとつで、リモートだと寒さを感じることが増えました。オフィスは暖房が効いて快適なので、出社のありがたみを実感しています。 さて、多くの開発現場では、プロダクトのリリース作業をユーザーの利用が少ない夜間に行うことが一般的です。私自身も、前職では毎週複数回の夜間リリースを実施している時期もあり、生活リズムが乱れることに悩まされました。次第に開発効率に影響が出てきたため、リリース頻度を…
桐生あんずです。 先日、東京Ruby会議12 という Rubyの地域カンファレンスに参加してきました。 regional.rubykaigi.org イベントについての感想は最近やっているポッドキャストの方でもがっつり話しております。ただ、参加してからまだまだイベントへの熱が高まりがあるのとタイトルにある三浦半島.rb について語りたい気持ちもありブログも書くことにしました。 ラジオ投稿しましたListen to "東京Ruby会議12に参加しました、そして三浦半島.rbの野望" by 桐生あん…
歌いだし いい本だいい本だと言われるのをTLで見て本棚に積んでいた『プログラマーのためのCPU入門』をやっと読んで、想像してたよりもずっと自分に刺さる本だったので感想をまとめる。 プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するかwww.lambdanote.com 経緯 去年の終わりごろから『並行プログラミング』入門を読んでたんだけど、主にメモリオーダーのところがあんまり腑に落ちなかった。具体的には、サンプルプログラムからメモリオーダーに関する命令が全部消され…