サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「かわいい」
style.biglobe.co.jp
Googleカレンダーで会議室を管理している組織向けに、自分のカレンダーに会議室を追加するURLの作り方と、空き状況を表示するウェブアプリの公開方法を紹介します。 会議室のIDをスプレッドシートに表示する トラブルシューティング Googleカレンダーに会議室の空き状況を表示する ウェブアプリに会議室の空き状況を表示する Apps Scriptを使った業務改善 開発部門(プロダクト技術本部)の高玉です。 BIGLOBEではオフィスツールにGoogle Workspaceを利用しています。特にGoogleカレンダーは便利に使っていて、Googleカレンダー上で会議室を予約することもできます。予定を作り開始時間と終了時間を指定すれば、空いている会議室を簡単に割り当てられます。 support.google.com ただ「予定を決めてから、空き会議室を選ぶ」というやり方とは逆に、会議室の空き状況
Google Apps Scriptを使えば、Google Workspaceを自動化し業務を効率化できます。フォームへの申請をChatに通知する例でその使い方を学びます。 開発部門(プロダクト技術本部)の高玉です。 BIGLOBEはオフィスツールにGoogle Workspaceを使っています。ローコード開発プラットフォームGoogle Apps Scriptを使えば、プログラミングでGoogle Workspaceを自動化し、業務を効率化することができるのでとても便利です。 この記事は、Apps Scriptを使うと何がどう便利になるのかを体験していただけるように作成しました。具体例として、Googleフォームに申請された内容をGoogle Chatに自動的に通知するまでの手順を説明します。所要時間は30分程度です。Google Apps Scriptを初めて使う方にも分かりやすいよう
プロダクト技術本部の川口です。 3年間、ビッグローブ光といった固定回線のインフラ部門に所属していましたが、今年の4月に BIGLOBE の基幹システムのリニューアルを推進していく部署に異動することになりました。 所属するチームでは、ドメイン駆動設計(DDD)で開発しています。 チームにジョインすると開発チュートリアルをやることになっており、そこで IntelliJ や Spring Boot での開発の仕方を学んだり、チュートリアルを通して DDD を学んだりします。 今回は、DDD のチュートリアルで実際に作成したドメインモデルがどういう風に成長していったかについて紹介します。 勤怠管理アプリ チュートリアル 初期ドメインモデル 中期ドメインモデル 後期ドメインモデル 学んだこと、感想 勤怠管理アプリ チュートリアル お題は GitHub のパブリックリポジトリに公開されています。 ht
こんにちは。開発部門(プロダクト技術本部)の宮下です。 BIGLOBE では GitHub Actions による作業効率化に取り組んでいます。 本記事では、GitHub Actions が得意とする点を踏まえつつ、AWS Lambda と連携して手作業を大幅に減らす実例をソースコード付きで紹介します。 想定読者 GitHub Actions を使うと何がうれしいのか? 代表的なユースケース あまり向かないユースケース 事例紹介 課題 改善後 API コンテナ リグレッションテスト用 Lambda パフォーマンステスト用 Lambda 自動化による効果 Lambda を実行するアクション GitHub Actions で使えるアクション ソースコード ポイント、はまったところ GitHub Actions の制御 / ステップ間での値の受け渡し GitHub Actions の制御 / 複
ユーザーの代わりとして振る舞うGoogle Chatアプリをステップに分けて開発していきます。題材はAPIの新機能を使ったダイレクトメッセージを送信するアプリです。 開発部門(プロダクト技術本部)の高玉です。 BIGLOBEはオフィスツールとしてGoogle Workspaceを使っています。コミュニケーションの中心となるのがGoogle Chatですが、その機能は日々拡張されています。2023年7月からは、Google Chat APIから利用できる機能が大幅に増えました。 前回の記事では、仮想ユーザーとしてのGoogle Chatアプリ(チャットボット)を開発する方法に焦点を当てました。今回はユーザーの代わりに動作するChatアプリを開発し、Google Chat APIの新機能を使った具体的な事例をご紹介します。 前回の記事と合わせて読んでいただくことで、Chatアプリの開発で特に重
Google Chatをより便利に使うChatアプリをGoogle Apps Scriptで作ります。オウム返しからメンバーのシャッフルへと段階的に機能を追加していきます。 Google Apps Scriptを使ってChatアプリを自作する Step0: 始める前の準備 Step1: 公式チュートリアルでオウム返しアプリを作る 作業1. Google Cloudプロジェクトの作成 作業2. Chat APIの有効化 作業3. OAuth同意画面の構成 作業4. Google Apps Script をテンプレートから作成 スクリプトエディターにGoogle Cloudのプロジェクト番号を設定 スクリプトエディターでテスト用デプロイIDを確認 作業5. Google Chat APIの設定 オウム返しするか試してみる Step2: 機能を追加してランダムボットを作る Google Chat
GitHub Actionsで「自分の困りごとを解決」するハッカソン形式の社内研修を開催しました。過去に3度GitHub Actionsの研修を実施しましたが、最も高い評価となりました。 この記事では、研修の内容はもちろん、研修の準備を通じて得た学びについてお話しします。 研修の内容 第一部 事例共有 第二部 アイデア出し 第三部 実装 研修の結果 研修の準備で得た学び まとめ BIGLOBEの網干です。 GitHub Actionsを活用できる人を増やそうとGitHub Japan様とBIGLOBEでミニハッカソン形式の社内研修を開催しました。実はこのイベントの前にも2回の研修を実施してきました。1回目は講義形式、2回目はサンプルプログラムを動かすハンズオンでした。1回目では「知識はついたが実装をイメージしにくい」、2回目では「実装はイメージできたのでなにか作りたいが、実際の業務で何を作
AWS Fargate コンテナの Graviton2 移行について実例を交えてご紹介します。 こん**は。 新型コロナウイルス感染症は5類感染症に移行となりましたが、読者の皆様はお変わりなくお過ごしでしょうか。お久しぶりの投稿となります、プロダクト技術本部の江角です。 前回執筆させていただきましたGitログの記事では「ほぼフルリモート!」とお伝えしていましたが、近況に変化がありましたので少しお話できれば、と思います。 BIGLOBEは4月より組織改編等もあり、「リアルでの会話、議論を重視したい」という流れのもと、今までは疎らだったオフィスに人が戻って来つつあります。 私が今所属しているグループでは「会議が被る曜日はメンバーで出社を揃えよう」という試みも実施していたりします。 『ほぼフルリモートだと聞いていたのに全然違った!😡』ということが無いよう、あくまで直近のご報告とさせていただきま
組織間を直接接続するピアリングは通信品質を向上しコストを低減します。日本・アジア・世界のインターネットをより良くするため、粘り強くピアリング交渉に取り組む様子をお伝えします。 ピアリングとは? 1. インターネットの仕組み 2. トランジット 3. ピアリング ピアリングの目的 コストの削減 通信品質の向上 トラフィックコントロールを容易に ピアリングの交渉の必要性 世界と繋がるBIGLOBEのネットワーク ピアリングコーディネーターの仕事 BIGLOBEのピアリングの目標 戦略立案 新規接続交渉と開通作業 運用と接続の見直し 社外との窓口 Peering Asia とは? 対面で話す意義 Peering Asia 4.0 で具体的にどんな話をしたの? とある組織との帯域増強の話 トランジットを経由するトラフィック問題の解決 調達の交渉 その他 おわりに 〜この仕事の楽しさ〜 基盤本部ネッ
ビジネスはスピードが命!承認だって、内容に問題がなければササッと終わらせたいですよね。そこでGoogleのノーコード開発ツールAppSheetを活用し、Gmail上で承認・却下の操作ができる承認アプリを作ってみました。 開発部門(基盤本部)の高玉です。BIGLOBEは業務にGoogle Workspaceを利用していて、メールはGmailを使っています。Gmailを使っていると分かるのですが、GoogleドライブやGoogleドキュメントから届くメールは動的メール(Dynamic Email)になっています。メールの文面にボタンやテキスト入力欄が埋め込まれていて、そのまま操作できます。 AppSheetを使えば、この動的メールを使った社内システムを作ることができます。この記事では簡易的な承認アプリを題材に、その作り方を丁寧に解説していきます。この記事で基本を押さえれば、AppSheetが提
あいさつ 平澤です。スプラトゥーン大好きエンジニアです。スプラトゥーン3のプレイ時間は500時間です🦑 今回は、『世界初への挑戦!インターネットを快適にするNAT64/DNS64とは?』をやったときに開発した技術をご紹介します。 style.biglobe.co.jp あいさつ NAT64/DNS64とは DNS64をどうやって使ってもらうか 実現したいこと 特許の概要 送信元IPアドレスを見てDNSサーバーを振り分け 実現できた もしもユーザーのDNSサーバーを自由に振り分けできたら BIGLOBEの特許出願事情 おわりに NAT64/DNS64とは BIGLOBEは快適なIPv6でのインターネット接続をおすすめしています。既存技術では、MAP-E機能付きのブロードバンドルーターがユーザーの負担となっていました。 ユーザーの負担が無いIPv6接続「NAT64/DNS64」で多くのユーザ
開発部門(基盤本部)でエンジニアの育成を担当している高玉です。 BIGLOBEではスタッフ部門とエンジニアが協力して、社内業務を改善しています。試行錯誤を繰り返しながら何とか成功させた例として、QRコード、GoogleフォームとApps Scriptを活用して、備品の補充を簡単に依頼できる仕組みをご紹介します。Google Workspaceを利用している会社や学校ならすぐに取り込める仕組みですので、ぜひご活用ください。 新人エンジニアのスキルアップを狙ってはじめたこの取り組みですが、数々の失敗もありました。そこから得られたノウハウや、Apps Scriptを使いこなすための細かいテクニックまでご紹介していきます。 QRコードを使った備品の補充依頼 失敗からの学び 機能を絞ってとりあえずリリース 要求者との会話のキャッチボールを大切に 業務改善で仕事を楽しく Google Workspac
こんにちは、基盤本部マーケティングプラットフォーム部の横山です。 今回は現在私が所属するグループで開発・運用中の自動GUIテストシステムについてご紹介します。 テストコードのメンテナンスコストを下げる画像回帰テスト スクリーンショットを比較し、差異を検出する 向いている使い方 過去のシステム構成 サーバーレス構成への移行 工夫した点 おわりに テストコードのメンテナンスコストを下げる画像回帰テスト ソフトウェア開発における自動テストには、関数やAPIの動作を確認するJUnitによる単体テストから、ユーザーの操作をシミュレートするSeleniumによるエンド・ツー・エンドテストまで、様々な種類があります。そして、どの自動テストでも問題になるのはテストコードのメンテナンスです。 私のグループは画面の開発を担当していますが、画面は改修の頻度が多く、テストコードのメンテナンスに莫大な工数がかかって
ISPの要であるRADIUSシステムのDevOps環境整備とクラウドネイティブ化を3年がかりで実現したことについて、技術検証で頓挫しかけた苦労話から、クラウド化のコツまで詳しくインタビューしました。 技術的負債を一気に返却するはずが存続の危機に 得意なことで補い合いながら課題をクリア フルリモートでも無事故のリプレースを実現したGitOps エンジニアが働く環境としてのBIGLOBEとは ISPの接続認証機能を担うRADIUSシステムを、コンテナやサーバーレス技術を活用して3年がかりでクラウドネイティブ化し、2022年6月から正式にサービスを開始しました。 それにあわせて、開発から運用までをスムーズに連携するDevOps環境を実現し、150台のオンプレミス・サーバーにかけていたシステム運用・保守工数を半減し、インフラ費用を従来の3分の2に圧縮することができました。 DevOps環境の特徴は
JANOGの会場ネットワークはボランティアが構築します。次世代育成の側面もあるこの活動に、学生や新人エンジニアを支援する大人枠として参加しました。 はじめに JANOGとは? 参加のきっかけ 参加の目的 JANOG49 会場ネットワークの構成 実際の活動内容 リモートでの事前準備(〜1/18まで) ホットステージ ホットステージ1日目 ホットステージ2日目 ホットステージ3日目 会場設営(1/25)、会期(1/26〜1/28) おわりに はじめに 基盤本部 ネットワーク技術部 前野です。 2022/1/26〜28に開催されたJANOG49 Meetingで会場ネットワークの構築ボランティアスタッフとして活動した内容をご紹介いたします。 社外の方々にも共有したいと思い立ったのは、先日開催されたJANOG50 Meetingに参加したのがきっかけです。 次回のJANOG51でスタッフに応募され
基盤本部(開発部門)の木下です。前回、Java 17 の新機能を使ってドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介しました。 style.biglobe.co.jp 代数的データ型(Algebraic Data Types)を導入するのがポイントなのですが、馴染みのないメンバーも多かったので、実例を使って詳しく解説してみました。関数型プログラミング由来のとても便利な道具です。ぜひ活用してみてください。 代数的データ型とは 直積型 直和型 直和型の Java での実装 ベタに class で表現してみる 2つのクラスと interface で実現 安全に利用できるメソッドを提供する おわりに 代数的データ型とは 代数的データ型とは、基本となる型を組み合わせて作られる型のことです。 代数的データ型は直和型と直積型の2つからなります
開発部門(基盤本部)でエンジニアの育成を担当している高玉です。 BIGLOBEでは週に1日、集合型の新人エンジニア研修を開催しています。インターネットに公開された教育コンテンツを活用しながら、手を動かして学ぶ(Learn by doing)が特長です。 style.biglobe.co.jp 研修の後に必ずアンケートに回答してもらっているのですが、新人ならではの質問をもらえるのがいつも楽しみです。 さて、テスト駆動開発(Test Driven Development:TDD)について学んだ後にもらったのが、次の質問です。 Q 仕様がコロコロ変わるケースや、コードを触りながらわかっていくような非機能要件などには適用できなさそうだと思いました。どういったケースにTDDが用いられるのでしょうか。逆にどういったケースには向かないのでしょうか? 研修の様子をお伝えするために、この質問にどう回答したの
本番ネットワーク環境を安全に設定するため、BIGLOBE、NTTコミュニケーションズ、TISの3社が合同で取り組んでいる研究のご紹介です。既存環境から自動抽出したモデル上で、設定を事前に検証します。 1. はじめに プロジェクトの背景 プロジェクトのねらい システム構成と動作フロー この記事で紹介する内容 2. 運用対象ネットワークの検証環境構築方法 検証環境のネットワーク構成 vrnetlabによる検証環境の構築 vrnetlabのマルチノード構成 検証環境のまとめと今後の課題 3. NW装置のコンフィグとステータスの自動定期取得 実際のワークフロー 今後の課題 次回:L1-L3トポロジのモデルデータの作成 最後に 1. はじめに 基盤本部ネットワーク技術部の滝口と、同じくネットワーク技術部の川口です。 BIGLOBEは2021年8月から沖縄オープンラボラトリ(Okinawa Open
ドメインモデルを図で理解するのに便利なPlantUML。レイアウト調整のノウハウと合わせてその魅力を紹介します。 はじめに 対象読者 PlantUMLとは メリット デメリット レイアウトを調整するためのテクニック まとめ はじめに 基盤本部(開発部門)の宮下です。 BIGLOBEではドメイン駆動設計(Domain Driven Design:DDD)を実践しています。 DDDではドメインモデルを育てていき、継続的にソフトウェアの価値を高めていくことが重要となります。 ドメインモデルとは、業務的な関心ごと(=ドメイン)の問題を解決するために表現するものです。そんなドメインモデルをみんなで設計するときに、BIGLOBEではPlantUMLというツールを使っています。キーボードだけでサクッと図を描けてしまう優れものです。 この記事では、PlantUMLに詳しくない方はもちろん、PlantUML
BIGLOBEの開発現場の様子や、developブランチにrebaseで綺麗なコミット履歴を作る方法をご紹介します。 はじめまして! GitHubを中心に仕事がまわる開発現場 Git logが綺麗だとバグが起こりにくい? developブランチを綺麗に保つGit操作(マージ編) 1. そのまま気にせずdevelopにマージする。 2. 最新のdevelopをfeature/Bブランチに取り込んでからdevelopにマージする 3. 最新のdevelopにrebaseしてからマージする リベース コワクナイョ 最後に はじめまして! 基盤本部(開発部門)の江角です。 2021年8月にSIerからBIGLOBEに転職し、半年が経過しました。 転職期間中はもちろんコロナ禍で、カジュアル面談も面接も全てオンラインでした(多分今もそうだと思います)。 入社日当日は出社しましたが、入社してから半年の
基盤系システム部の梶田です。 BIGLOBEではAmazon Web Services(AWS)の活用を推進しています。AWSマネージドサービスの活用機会が増えると、イベントハンドラやフィルターとしてLambda Functionを書く機会も増えてきます。 数をこなしているうちに、Lambda Functionのイベントハンドラにはマネージドサービス毎におきまりのパターン化(お作法)があることに気づきました。 何度も現れるパターンを再利用するには、Pythonのデコレータ機能がうってつけです。このBlogではAWS CodeDeployを題材にして、Lambda Functionを簡素化していった過程をご紹介します。 最後のコードは驚くほど読みやすくなりますので、少々お付き合いください。 CodeDeployのイベントハンドラ デコレータを使ってお作法を隠蔽する おわりに CodeDepl
こんにちは。BIGLOBE Style編集部です。 企画したプロダクトの機能や性能を決める要件定義は、サービス開発プロセスの中でも重要な工程の一つです。数多くいるステークホルダーが要件に合意することは、とても難しいことだと知られています。そこで、BIGLOBEでは「RDRA(ラドラ)」というモデルベースの要件定義手法を導入しています。 今回の記事では、「プロダクト全体像を把握」し「社内ステークホルダーとの合意形成」を実現したRDRA導入の効果を、DX推進部サービス戦略グループ主任の勝田 隆弘が紹介します。 ステークホルダーには、もちろん社内のエンジニアも含まれます。基盤系システム部 基盤横断システムグループ グループリーダーの西 秀和も加わり、エンジニア目線での「これまでの課題」「RDRA導入の現場における効果」「さらに良くしていくために取り組むこと」について、対談形式でまとめました。ぜひ
基盤本部(開発部門)の木下です。Java 17 の新機能を使って、ドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介します。 皆さんは「事前条件が OK ならデータベースを更新する」というロジックを、クリーンアーキテクチャのどのレイヤーに実装していますか? 事前条件はドメイン知識なのでドメインサービスに実装したいところですが、リポジトリーを操作するアプリケーションサービスの中に書かれることも多いのではないでしょうか。 クリーンアーキテクチャー。https://style.biglobe.co.jp/entry/2020/02/13/150709 より引用 この記事では、ドメインサービスとアプリケーションサービスをきれいに分離するために、Java 17 で正式導入された interface の sealed と permits を活用
開発部門(基盤本部)でエンジニアの育成を担当している高玉です。 基盤本部ではさまざまな勉強会を開催しています。先日も、BIGLOBE Styleでその様子をご紹介しました。 style.biglobe.co.jp 「クラスを増やすの、怖くないですか?」 オブジェクト指向プログラミング(OOP)を学んでいた時に聞かれたことです。業務ではJavaやドメイン駆動設計を活用しているので、クラスベースのOOPが題材になることが多いのです。OOPに慣れていない人からすると、クラスの数が増えることで全体を把握しづらくなったり、適切なクラスを見つけるのが大変になりそう、と感じるそうです。 「大丈夫!クラスを増やしたほうが楽になることがあるよ!」 と伝えたくて、この記事を書かせていただきました。何が楽になるのでしょう?それは、ソースコードを読むこと、です。「クラスを増やすと、ソースコードを読むのが楽になる?
BIGLOBEのゲーマー平澤です。ファミコン時代から四半世紀ゲームしています。好きなゲームはスプラトゥーンと、ドラゴンポーカーです。 今や社会インフラとなったインターネットですが、BIGLOBEはお客さまが安心してインターネットをご利用いただけるよう、業界を横断してさまざまな課題解決に取り組んでいます。 そんな活動の一つに、インターネットを使ったゲームやエンターテインメント分野の課題に取り組んでいるJAIPA(一般社団法人日本インターネットプロバイダー協会)のゲーム・エンタメワーキンググループ(WG)があります。 このWGで、BIGLOBEが固定回線で世界で初めて商用化したNAT64/DNS64という技術が話題になりました。そこで新卒2年目のホープ、川口さんに声をかけ、WGで技術紹介をしてもらうことになりました。 この記事では、WGでの発表の様子を紹介しながら、BIGLOBEが業界横断で課
Terraformコードの構造化が進み、変更するたびになんどもterraform applyを叩くはめになったことはありませんか。 実行する順番を間違えてトラブルになったことはありませんか。 そんな悩みを抱えているときに見つけたAstroというツールを紹介します。 自己紹介 対象の読者 Terraformコードの構造化と直面した課題 Astroとは Astroを使ってみる Astroをインストールする astro.yamlファイルを用意する 1. モジュールを追加する 2. モジュール間の依存を追加する その他 実行計画を確認してみる 実際に構築してみる 環境を破壊(destroy)する Astroを使うときのTips applyしたら即実行 .astroディレクトリのcacheは定期的に消しましょう 実行時のログ Terraformのローカルモジュールを使うとモジュールパスが変わってしま
基盤本部(開発部門)の小野田です。 私は 2019 年に中途採用で BIGLOBE に入社して以来、主に既存システムのリニューアル案件に関わり、その中で、モデリングの経験を多く積んできました。本記事では業務で得たモデリングの知見を基に 鉄道料金計算問題 を再モデリングした結果と 1 年前のモデリング結果とを比較して、1 年間でどれだけスキルアップしたかを紹介したいと思います。ここで紹介する内容は、同じ名前のオブジェクトでも性質が異なれば別の値オブジェクト ( Value Object: VO ) としてモデリングしたほうが良いことを示す実例となります。 1 年前のモデリング結果は DDD くらいできるようになりたいよねって話 をご覧ください。 style.biglobe.co.jp なお、この記事の内容やプログラムは教育用に作成した架空のものであり、実在のサービスや団体などとは一切関係あり
開発部門(基盤本部)でエンジニアの育成を担当している高玉です。 基盤本部では2020年度から新人エンジニア向けの研修を実施しています。テクニカルスキルについては、インターネットで公開されているコンテンツを活用しているのが特徴です。決して手を抜いているわけではないですよ!ちゃんとした狙いもあります💪どのコンテンツもすぐに試せるものばかりです。ITエンジニアとしてさらにスキルアップしたい方や、リモート環境での研修に困っている教育担当者のお役に立てば幸いです。 新人エンジニアに好評だった研修と利用したコンテンツ テスト駆動開発(Test Driven Development:TDD) GitHub、Markdown UNIXコマンド、UNIX哲学 リーダブルコード インターネットで公開されているコンテンツを使った学習のメリット 新人エンジニアに好評だった研修と利用したコンテンツ テクニカルスキ
こんにちは、南といいます。 BIGLOBEでネットワークエンジニアをやっています。 8月に開催されたJANOG46でCONECTに参加するメンバーとともに「COVID-19インターネット最前線と日本の通信事業者連携」というテーマで講演を行いました。 本日は、この講演の内容とその経緯についてご紹介します。 インターネットの運用をより良くするJANOG 増加し続けるインターネットトラヒックに立ち向かうCONECT 世界中のネットワーク運用者が協力して支えるインターネット COVID-19がネットワーク運用に与えた影響とは? 平日昼間のトラヒックにはっきり現れたCOVID-19の影響 COVID-19によるトラヒック増に耐え抜いたBIGLOBEのネットワーク ゲーム配信トラヒックがインターネットに与えるインパクト 協働を通じて成長と楽しさを実感するネットワーク運用の世界 インターネットの運用をよ
次のページ
このページを最初にブックマークしてみませんか?
『BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く