プログラミング

金融営業から内製開発エンジニアへ ― 小さな行動で築いたキャリアの自律

はじめに ビジネスdアプリ開発チームの徳原です。 私は地元の金融機関で12年間営業職として勤務した後、IT業界へキャリア転換しました。 本記事では、これまで私が転職で経験したことやキャリアの自律に向けた取り組みについて紹介します。 目次 はじめに こ…

テンソル次元の整合性を静的検査するmypyプラグインを実装しようとした話

この記事は、NTT docomo Business Advent Calendar 2025 7日目の記事です。 こんにちは。イノベーションセンターの加藤です。普段はコンピュータビジョンの技術開発やAI/機械学習(ML)システムの検証に取り組んでいます。 ディープラーニングの実装をしてい…

「生成AI × 数理最適化」が変える、次世代の業務デザイン

本記事では、現在進行中で取り組んでいるテーマ「生成AI×数理最適化」に関する試みとして、生成AIを活用して数理最適化技術の実務適用を支援するアプローチを紹介します。例として、スーパーマーケットにおける在庫管理の効率化を取り上げ、その具体的な応用…

生成 AI からセキュリティまで!数年ぶりのオフライン開催 Tech-Night イベントレポート

NTT ドコモビジネスではエンジニアコミュニティイベント、 Tech-Night/Tech-Midnight を定期的に開催しています。 普段はオンラインで実施していましたが、今回は数年ぶりにオフライン会場を用意し、オフラインとオンラインのハイブリッド形式で実施しました…

生成AI と Model Context Protocol サーバーによる 5G コア オペレーション自動化の取り組み紹介 〜Interop Tokyo 2025〜

こんにちは、イノベーションセンターの福田です。 NTT コミュニケーションズ株式会社は、日本最大級のネットワーク展示会である 「Interop Tokyo 2025(会場:幕張メッセ、会期:2025年6月11日〜13日)」 において構築される ShowNet に対し、生成 AI と Mod…

Timestamping を使ってネットワークレイテンシを分析することで、ゲスト VM の Disk 性能低下問題を解決した

OpenStack の Compute Node を更新する際にゲスト VM の Disk 性能が低下する問題を、 Linux の Timestamping という機能を使ってネットワークレイテンシを分析することで解決できた事例をご紹介します。 本事例は fukabori.fm #127 でもご紹介しています。 …

突然のデータ不整合!原因は Realtime Database の更新処理かも? 更新失敗を防ぐ TypeScript の解決策

TypeScript で Firebase の Realtime Database を利用すると、使い方次第でエラーが生じてしまう可能性があります。これは TypeScript の型チェックでは検知が難しいような undefined なプロパティを格納しようとしてしまうことがあるためです。この問題が起…

超一流を目指す新入社員の学習理論 ~個性を持つことの大切さ~

はじめに 開発部署へのOJTとしての挑戦 実際の開発業務でぶつかった壁 開発規模が大きい レビュアーにとって分かりやすいコードを書けない WebUIの開発において自分の想定と違う挙動になることがある 勉強方法の確立の難しさ 学習方法を確立する必要性 学習…

自前のMedia over QUICの実装をIETF 121のハッカソンへ持ち込んだ話

この記事は、 NTT Communications Advent Calendar 2024 10日目の記事です。 先日、自前のMedia over QUICの実装をIETF 121のハッカソンへ持ち込んで相互接続試験に参加してきました。 その結果、他の参加者の実装との相互接続に成功し、Working Groupのリス…

SkyWayを使ったアプリ開発が爆速になるCLIツールを作った話

この記事は、 NTT Communications Advent Calendar 2024 9日目の記事です。 この記事では、SkyWayを使ったアプリ開発が爆速になるCLIツールを作った話を紹介します。 CLIツールにどのような機能を実装したのか、機能を実装する際にどのようなことを考えたの…

perf の Python インタプリタを利用して KVM Exit/Entry のレイテンシを分析する

この記事は、 NTT Communications Advent Calendar 2024 2 日目の記事です。 perf の Python インタプリタを使って KVM Exit/Entry のレイテンシを計測してみます。 はじめに KVM の仕組み CPU トレースを取得する perf をビルドする Python コードを書く 独…

NetBox のオンプレから Amazon ECS 移植を CDK で実現する

チームの管理情報を溜めていたオンプレ基盤で動く NetBox を Amazon Elastic Container Service へ AWS Cloud Development Kit を用いて移植しました。 今まで NetBox をオンプレで動かしていた際には以下のような運用の難しさがありました。 DB も Docker …

DeltaLake Universal Formatを使ったクロスプラットフォーム分析

本記事では6月に開催されたDATA+AI Summit 2024でGeneral Availabilityが発表されたDatabricksのDeltaLake Universal Formatの機能を使ってクロスプラットフォームでの分析を実現する方法について紹介します。 DeltaLake Universal FormatはDeltaLakeに保存…

リリースプロセス改善のために工夫して自動化を推し進めたらチームの底力が爆上がりした話

こんにちは、クラウド&ネットワークサービス部の福岡です。 SDPF(Smart Data Platform) クラウドの IaaS である、ベアメタルサーバー・ハイパーバイザーサービス開発のソフトウェアエンジニアとして働いています。 本記事では、リリースプロセスの改善を目…

Ruby のクラス拡張を利用して監視の実装をうまく軽量化した話(現場での実装方式検討の例つき)

この記事では、Ruby の非同期処理ライブラリである Sidekiq を使って定期実行処理を行う Sidekiq-Cron の監視方法について、チームでの方式検討の様子を交えながらご紹介します。 目次 目次 はじめに Sidekiq-Cron について Sidekiq-Cron の cron job の sta…

SDPFクラウド/サーバ ファイアウォールサービスのテストを高速化した話

この記事では、SDPFクラウド/サーバで提供しているファイアウォールサービスについて、数週間かかっていたコントローラのテストを一新し、開発効率/品質向上に繋がった事例を紹介します。 目次 目次 はじめに ファイアウォール サービスとは テストにおける…

Databricks Container ServiceでTensorRT-LLMを動かしてみた

本記事ではDatabricksのDatabricks Container Serviceを用いてNVIDIA社の推論ライブラリであるTensorRT-LLMを実行可能なNotebook環境を構築する方法を紹介します。 目次 目次 はじめに Databricks Container Service NVIDIA TensorRT-LLM 解決したいこと Ten…

SRv6/SR-MPLS相互接続を実現するための機能をFRRに実装してみた(インターンシップ体験記)

こんにちは、インターン生の横尾です。 2024年2月に2週間実施されたNTTコミュニケーションズの現場受け入れ型インターンシップに参加させていただきました。普段は、大学院でユーザサイトにおけるIPv6マルチホーミングなどの研究に取り組んでいます。 今回の…

フロントエンドを Vue.js から React にリプレイスしたお話 (前編)

はじめての方、はじめまして。久しぶりの方、お久しぶりです。 イノベーションセンターの何縫ねの。(@nenoMake)です。 普段の業務ではソフトウェアエンジニアとして Node-AI という WEB アプリケーションの開発をしています。 パブリックな活動としては、好…

decoratorを使ってログ出力コードの削減し可読性を上げた話

この記事では TypeScript ver4.x にて実験的な機能である decorator を使い、ログ出力コードを削減・コードの可読性を上げた経験を紹介します。 はじめに 背景 decorator とは decorator を使ったログ出力方法の検討 decorator を使ったログ出力の実装 実装…

サーバレスにおけるRustについて

この記事は、 NTT Communications Advent Calendar 2023 22日目の記事です。 はじめに こんにちは、イノベーションセンターの鈴ヶ嶺です。普段は、クラウド・ハイブリッドクラウド・エッジデバイスなどを利用したAI/MLシステムに関する業務に従事しています…

TypeScript未経験でもスムーズに業務に取り組める、最強の学習用コンテンツを作った話

この記事は、 NTT Communications Advent Calendar 2023 19日目の記事です。 この記事では、TypeScript未経験のインターン生にすぐにSkyWayの開発に取り組んでもらうために、TypeScriptの学習用コンテンツを作成した話を紹介します。 学習用コンテンツでどの…

Azure OpenAI Service と LangChain を用いて、会話をしながら自社サービスに API を実行してくれるチャットボットを作った

この記事は、 NTT Communications Advent Calendar 2023 16日目の記事です。 こんにちは! クラウド & ネットワークサービス部の外村です。 普段は VxF 基盤 という 社内サービス用クラウドの開発・運用をしつつ、ソフトウェアエンジニア育成研修である twada…

複数サービス間でのデータの整合性維持に向けたSagaの実装

マイクロサービスアーキテクチャにおいては、個々が独立に選定したデータベースを持つ複数のサービスにまたがって、データの整合性を維持する必要があります。 そのための方法として、Sagaパターンと呼ばれる設計方法がありますが、Sagaでは分離性が欠如して…

高専かるたを作ってみた

この記事は、 NTT Communications Advent Calendar 2023 及び 高専キャリア Advent Calendar 2023 の7日目の記事です。 皆さんこんにちは、SDPFクラウド/サーバー 仮想サーバーチームの宮岸(@daiking1756)です。 昨日の6日目の記事を書いた@Kumassy_と同じく…

おうち電力の Observability: parser combinator をガリガリ書いてスマートメーターとおしゃべりする

この記事は、 NTT Communications Advent Calendar 2023 6日目の記事です。 こんにちは。 SDPF クラウド・仮想サーバーチームの杉浦 (@Kumassy_) です。 普段は OpenStack の開発・運用をしており、最近は Observability まわりを取り組んでいます。 この記…

ブラウザ間で統一された挙動がWeb標準どおりとは限らない話(WebRTCの例)

この記事は、 NTT Communications Advent Calendar 2023 4日目の記事です。 この記事では、Web標準の仕様と実際のブラウザの挙動についての体験談を紹介します。 W3C(World Wide Web Consortium)はWeb StandardsというWebの標準仕様を制定しています。 この…

データプレーンに起きたバグにパッチを当ててみた(インターンシップ体験記)

はじめに こんにちは、SDPFクラウドでSDN開発を担当している梶浦(@ykajiaaaaa)です。 今回の記事は今夏のインターンシップで私のチームに来ていただいた伊藤さんによるものです。 このインターンシップでは我々が実際に昔出会った問題をベースにトラブルシュ…

TypeScript未経験の学生がSkyWayの開発に取り組んでみた(インターンシップ体験記)

この記事では、2023年度現場受け入れ型インターンシップの活動内容をご紹介します。現場受け入れ型インターンシップを通して得られた学びを参考情報として共有します。 目次 目次 はじめに 参加に至った経緯 受け入れ先について インターンシップで取り組ん…

ノーコードで独自のIoT処理ロジックを構築できる - Things Cloud の「Analytics Builder」とは

わかること IoTプラットフォームにおける独自のイベント処理ロジックの構築について Things Cloudのノーコードツール「Analytics Builder」でできること ※本記事は、Things Cloud バージョン10.14(8月以降リリース予定)の利用を想定しています。 はじめに …

インターンシップ体験記 〜SRv6 機能を Pola PCE に実装してみた〜

はじめに こんにちは、インターン生の 魏心宇 と申します。 2023 年 2 月 6 日から 2 週間にわたって、NTT Com の現場受け入れ型インターンシップに参加させていただきました。 普段は大学で SR (セグメントルーティング) を用いたトラフィックエンジニアリ…

みんなの夢を叶える「走るコタツ」を作ってみた

はじめに こんにちは!イノベーションセンター テレプレゼンスPJの渋谷です。 最近は日に日に暖かくなり,人々も花粉も舞い踊る気候になってきました。 ついこの間までの寒さが嘘のようです。 寒さといえば,そう,コタツ。 皆さんも「リモコンを取りたいの…

RFC 準拠のコントローラー&プロトコルライブラリ開発の進め方

イノベーションセンターの三島です。 本記事では、RFC や Internet-Draft に準拠したコントローラーやプロトコルライブラリの開発について、 NTT Com が公開中の Segment Routing (SR) 用のコントローラー、Pola PCE の開発経験を基にご紹介します。 商用機…

第63回ビッグハンドタウンシェル芸勉強会の問題と解説

はじめに シェル芸勉強会について 問題と解説 Q1(@butackle66さんから) 解答例1 解答例2 Q2(@butackle66さんから) 解答例1 解答例2 Q3 解答例1 解答例2 Q4 解答例1 解答例2 Q5 解答例 Q6 解答例 LT LT1 curlでTelegram botを操作 (やべえ @yabeenico) LT…

NTTコミュニケーションズでの私のリスキリング体験

1.はじめに このブログを読んで下さっている皆様、こんにちは。 プラットフォームサービス本部 クラウド&ネットワークサービス部 開発オペレーション部門の丹野(入社10年目)です。 この記事では、NTTコミュニケーションズに入社してから業務内容の変化に適…

JANOG51 にて発表&議論しました

JANOG51参加報告 イノベーションセンターの田島です。サービスプロバイダーネットワーク網の技術検証から検証用 AS の設計・構築・運用まで担当しています。 2023/01/25 ~ 27 の日程で富士吉田市にて開催されました JANOG51 に登壇し、参加された方々と議論…

NTT Comのエンジニアコミュニティイベント【Tech-Night/Tech-Midnight】

はじめに こんにちは。Smart Data Platform (SDPF)クラウド/サーバー SDNチームの田島(@UdonYuya)です。 普段はSDPFクラウド/サーバーのSDN(Software Defined Network)基盤の開発をしています。 この記事では、2022年12月9日に開催されたTech-Nightと、202…

1年目研修で出会った2人がTwilioハッカソンに参加して優勝した話とそこから得た学び

この記事はSDPFクラウド/サーバー 仮想サーバーチームの宮岸(@daiking1756)とCOTOHA Call Center開発チームの立木の共同執筆です。 二人共エンジニアではあるのですが、普段は全く違うチームで開発をしています。 この記事では、普通に働いていたら交わるこ…

プライベートパッケージリポジトリのススメ

この記事は、 NTT Communications Advent Calendar 2022 23 日目の記事です。 はじめに こんにちは、デジタル改革推進部の組橋です。普段は社内データの整備や分析をしています。 この記事では、社内ツールなどの自作ツールを管理する方法や関連するサービス…

Rustで実装する乱数生成のベクトル化

この記事は、 NTT Communications Advent Calendar 2022 22日目の記事です。 はじめに こんにちは、イノベーションセンターの鈴ヶ嶺(@suzu_3_14159265)です。普段は、クラウド・ハイブリッドクラウド・エッジデバイスなどを利用したAI/MLシステムに関する業…

IoTデバイス接続の難しさを解決するNTT Comのお手軽IoT

この記事は、 NTT Communications Advent Calendar 2022 9日目の記事です。 対象読者 / わかること 対象読者 IoT デバイス接続の難しさに頭を抱えている 「クラウドにデータを送信する」までの要所をざっくり理解したい とにかく IoT を道具として使ってみた…

uefi-rsを使わずにRustでMikanOSをやっていく話

この記事は、 NTT Communications Advent Calendar 2022 6日目の記事です。 はじめに こんにちは、SDPF クラウド・仮想サーバチームの松下です。 普段は OpenStack の開発・運用をしているエンジニアで、今年から新入社員としてJOINしました。 今回は、細々…

シェル・ワンライナー 160 本ノックを完走した

この記事は、 NTT Communications Advent Calendar 2022 4 日目の記事です。 こんにちは。 SDPF クラウド・仮想サーバーチームの杉浦です。 普段は OpenStack の開発・運用をしています。 みなさんはシェル芸と聞いてどのようなコマンドを想像しますか? 私…

【社内サークル】ロボット部の極秘活動レポート ~ROSで始めるラジコン製作~

イントロダクション こんにちは、NTTコミュニケーションズ デジタル改革推進部 データドリブンマネジメント部門の有賀唯貴です! 現在、社内の同じ部署の浅野秀平さんと「でじかいロボット部」を立ち上げて同好会として非公式に活動しています! 今回は活動…

「業務で ISUCON することになった話」について Tech Night で発表しました

はじめに こんにちは、クラウド&ネットワークサービス部の福岡(@tkygtr6)です。 普段は SDPF クラウドの IaaS である、ベアメタルサーバー・ハイパーバイザーサービス開発のソフトウェアエンジニアとして働いています。 先日 Tech Night で「業務で ISUCON …

GitHub Actions on AWS with CDK

はじめに こんにちは、イノベーションセンターの福田です。 今回、開発環境改善の取り組みとして GitHub Actions の self-hosted runners を AWS 上に構築しました。 この構築で得られた知見について共有します。 概要 GitHub Actions は GitHub で CI/CD を…

【続】ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜

はじめに 本記事は前回の記事である「ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜 - NTT Communications Engineers' Blog」の続編です。 前回の記事の内容がベースとなっていますので、「APoSD っ…

ソフトウェア設計についてtwada技術顧問と話してみた 〜 A Philosophy of Software Design をベースに 〜

はじめに スタンフォード大学の John Ousterhout 教授が執筆された “A Philosophy of Software Design”(以下 APoSD と略す) という書籍をご存じでしょうか? 書籍のタイトルを直訳すると、「ソフトウェア設計の哲学」となります。書籍の内容はまさに、ソフト…

インターンシップ体験記 〜BGP-LSの機能をFRRに実装してみた〜

はじめに こんにちは、インターンシップ生の金谷です。 2022年2月に2週間ほどNTTコミュニケーションズのインターンシップに参加させていただきました。 普段は大学院やWIDEプロジェクト、アルバイトなどで SRv6 BGP-EPEなどオーバレイネットワーク技術の研究…

初心者向け Git / GitHub 研修を開催しました

みなさんこんにちは、社内のエンジニアが働きやすくすることを目標にする Engineer Empowerment プロジェクトの @Mahito です。 先日 NTT グループのソフトウェアエンジニアを対象とした Git / GitHub の研修を NTT グループのエンジニア有志で行ったので、…