CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
アプリケーション開発でマイクロサービスが用いられる際、APIで接続・統合する場合がほとんどですが、APIだけで成り立つようなマイクロサービスにおけるAPI設計の方法はあまり深掘りされてきませんでした。 本書では堅牢で運用・保守に適したマイクロサービスAPIを設計・実装するためのテクニックを解説しており、REST APIとGraphQL APIの両方を取り上げてどのように設計すればよいのかを説明しています。 例はPythonが使われていますが、どの言語でも機能する原則とパターンに従っているので、Python以外の言語を利用している方でも心配ありません。マイクロサービスAPIの構築手法に自信がない方や、どうすればよりよい構築ができるのかを知りたい方におすすめです。 目次 Part 1 マイクロサービスAPIの概要 第1章:マイクロサービスAPIとは何か 第2章:基本的なAPIの実装 第3章:マ
開発者の生産性を多面的に評価する指標として注目されている「SPACEフレームワーク」。本連載では、SPACEフレームワークとは何か、そして筆者の事例を通じて、組織へ実際に導入・運用するためのヒントを紹介します。今回はSPACEフレームワークの概要と使い方について紹介します。 SPACEフレームワークとは SPACEフレームワークは、開発者の生産性を多面的に評価するためのフレームワークです。 このフレームワークは、GitHub、ビクトリア大学、Microsoft Researchのメンバーによって提唱され、『LeanとDevOpsの科学』の著者でもあるNicole Forsgren氏によって「The SPACE of Developer Productivity」という論文の形で発表されました。 論文では、開発者の生産性についての神話と誤解を明らかにし、「重要な1つの指標」で把握することはで
対象読者 これからGitやGitHubを使い始めようと思っている方 Gitの使い方は知っているが、チーム開発の経験がない方 Gitによるチーム開発のいろは 第1回ではGitの基本的な使い方を解説しました。第2回では、実務・チーム開発の現場でGit、およびGitHubを活用するためのノウハウを紹介します。とはいえあくまで一例なので、自分たちの開発チームに合わせたやり方に適宜カスタマイズしてみてください。 GitHubは、Gitリポジトリのリモートホスティングサービスの1つであり、Gitでチーム開発を行う上で欠かせないものです。GitHubについても後半の節で解説します。 Gitの誕生秘話 まず余談ですが、Gitの誕生秘話について少し触れておきます。そもそもGitはLinuxを開発するために生まれました。つまり、Linuxほど大規模なプロジェクトを、大人数で進められることが要件としてありました
Mercari US Microservices Platform TeamのYuya Yaguchi氏は、同社の4月8日のブログにて、プルリクエストの作成時にKubernetes上にテスト環境を簡単に作成できるツール「KubeTempura」をOSSで公開したことを発表した。 KubeTempuraは、GitHubでのプルリクエスト(PR)をトリガーとしてKubernetesのリソースを作成できるツール。PRの作成だけでなく、PRへのコミットのプッシュもトリガーとして機能する。 同氏によると、「PRごとに環境をつくるというアイデアはHeroku Review Appsなど広く知られているもの」で、社内でもKubernetes向けに似たアイデアのツールがあり、利用されていたという。 しかし、以前のプログラムでは同社内の典型的な設計のマイクロサービスにはうまく対応できるものの、Service
本連載では、JavaScriptフレームワーク「Vue.js」を、型定義が利用できるようJavaScriptを拡張した言語「TypeScript」で活用する方法を、順を追って説明していきます。前回はVue.jsでコーディングするための基本的な記法を説明しました。今回はVue.jsの公式ブログから発信された「Vue 3をデフォルトバージョンにする」発表と、それに伴って、これまでと変わっていくVue.js開発の新常識を紹介していきます。 はじめに 本連載では、JavaScriptを利用して動的なWebページを構築できるフレームワークVue.jsを、データの型指定ができるように拡張されたAltJS(コンパイルしてJavaScriptにする言語)であるTypeScriptで活用する方法を、順を追って説明しています。 本連載ではVue.jsの最新バージョンとなる「Vue 3」を用いてきましたが、実は
開発と運用の理想的な関係とはどんな姿か。すでに「DevOps」という言葉は浸透しているものの、理想的な形で実践できているかとなると、話は別だ。現場ではどんな障壁があり、DevとOpsが分断されているのか。打開していくにはどうしたらいいのか。DevOpsという言葉が生まれる前から、その本質を実践してきたAmazonのカルチャーにヒントがありそうだ。AWSジャパン 塚田朗弘氏に聞いた。 今回お話を伺った、アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 塚田朗弘氏 ペアで語られてしまいがちな「マイクロサービス」と「コンテナ」 Amazonには「DevOps」や「マイクロサービス」という言葉が生まれる前から、DevとOpsを統合し、システムはAPIでやりとりするという原則がある。それを長年追求するなかで、開発カルチャーを育んできた。そんなAmazonから開発と運用の理想の
本連載は、最新のソフトウェア開発の課題点を解決する手段であるフィーチャーフラグ(Feature Flag)について、概要や導入方法、ベストプラクティスを紹介します。第1回は、フィーチャーフラグとはなにか、どのようにしてプロダクト開発を変えていくのか、そのメリットと導入の際の懸念点を説明します。 はじめに 本連載はフィーチャーフラグについての連載です。最新のソフトウェア開発の課題点を解決する手段であるフィーチャーフラグに焦点をあて、フィーチャーフラグとは何なのか、どういった機能を提供するのか。フィーチャーフラグのメリット・デメリットを、具体例を使って詳細に説明します。また、導入前に考慮すべきことや、フィーチャーフラグの実装、サービスの選定の際の注意点、効率よく、かつ継続的に使用していくためのベストプラクティスも併せて解説します。さらにはサードパーティー製のフィーチャーフラグサービスの比較を行
プロダクト作りにはさまざまな「罠」がある。機能の開発とリリースに集中してしまい、顧客の本当の課題、プロダクトの本当の価値がおざなりになってしまう状況のことを「ビルドトラップ」と言い、プロダクトを開発する組織において陥りやすい「罠」の一つだ。なぜこの問題が起こるのか。どうすれば、本質的なプロダクト作りに立ち戻れるのか。『プロダクトマネジメント――ビルドトラップを避け顧客に価値を届ける』の訳者であり、アジャイル開発や組織改革のトレーニングなどを行う専門家、吉羽龍太郎氏が語った。 大事なのはアウトプットではなく、アウトカムとインパクト 吉羽氏はアジャイル開発やDevOps、クラウドコンピューティング、インフラ構築自動化、組織改革を中心にオンサイトでのコンサルティングやトレーニングを提供する専門家。吉羽氏がCTOを務めるアトラクタも同様のサービスを提供している。また吉羽氏は青山大学では非常勤講師と
エンジニアとして異なる経歴を辿ったものの、ものづくりにおいて同じような考えを持つに至ったというエムスリー山崎聡氏とレッドジャーニー市谷聡啓氏のお二人に、「プロダクト開発で起こりがちな問題の本質と、その解決策」というテーマで語っていただきました。前後編にわたってお届けします。前編は、なぜプロダクトを作るのか、なぜアジャイルがアジャイルもどきになってしまいがちなのかについて。(編集部) はじめに 近年、ネットベンチャーのみならず、多くの企業がアジャイルな手法を取り入れた「プロダクト思考」での製品開発、サービス開発に取り組んでいる。不確実性が高く、変化のスピードが加速し続ける市場で、より高い競争力を持ったプロダクトを生みだすための手段として期待されているためだ。その一方で、そうした新しい形でのものづくりになかなか取りかかれない、取りかかっていたとしても思ったような成果を生み出せないといった声も聞
「アジャイル」という開発手法が登場して久しい。日本の開発現場にもアジャイルという言葉自体は徐々に浸透してはいるが、一方で「アジャイルとは何か」という定義の曖昧さや、実際の事例の少なさなど課題は多い。そんな中、アジャイル開発支援ツールのベンダーである豪Atlassian社は、「アジャイルの振り返り」のキャンペーン活動を行っている。同社のJason Wong氏は活動の中で世界中のアジャイル開発者から集めた声を紹介した。また、アジャイルソフトウェア開発宣言に立ち戻り、よりよいアジャイル開発を実現するためにはどうすればよいか、提言が行われた。 講演資料:アジャイルを「ふりかえる」 アジャイル開発そのものについて振り返りを行う「#RetroOnAgile」 Atlassian Pty Ltd. Principal Product Manager Jason Wong氏 オーストラリアのシドニーに本社
「Microsoft Application Inspector」は、ソースコードにおける暗号化やリモートのエンティティへの接続、実行されるプラットフォームといった挙動を見つけられるツールで、複雑なプログラミング手法の検出や、人間では見つけにくいプログラムの挙動を特定できる。 大規模なプログラムの解析も可能で、複数の異なるプログラミング言語によって構成された、数百万行にも及ぶソースコードの解析にも対応している。 「Microsoft Application Inspector」を使用すれば、コンポーネントのバージョン間での機能変更も識別できるため、バックドアの検出に役立つ。さらに、リスクの高いコンポーネントや、追加の精査が必要なコンポーネントの特定にも使える。 検査結果は、JSONやインタラクティブHTMLを含む複数の形式でレポートを生成可能で、ソースコードから特定された機能が一覧表示され
世界最大級のアジャイル開発の祭典「Agile 2018」がアメリカのサンディエゴで開催されました。日本でもめずらしくなくなってきたアジャイル開発ですが、北米で開催されるこのイベントには、2000人を超える開発者、テスター、プロダクトマネージャ、プロジェクトマネージャなど、ソフトウェア開発に関わる人達が世界から集まってくるカンファレンスです。本稿では、「Testing & Quality」トラックのセッションを中心にレポートします。 ebayのアジャイルテスティング UKのebayでHead of Software Testingとして活躍するDan Ashby氏のセッション「Testing in Agile」はその名のとおり、「アジャイル開発におけるテスト」を集約した内容でした。 ソフトウェアテストとは何か? さまざまな解答がでてくる問いですが、一般的な解答は以下のようなものがあるはずです
別の観点から比較の話をしてみましょう。テストケースの実行後、実行結果と期待結果を比較しますと、比較が失敗(NG)することがあります。 「しめた、バグを見つけた!」と判断するのは少し待ってください。このとき、以下のようなことが想定されます。 テスト対象のバグにより、実行結果が期待結果と違った(バグを見つけた!) テストケースにバグがある(テスト設計にバグがある) テストスクリプトにバグがある(テストスクリプトの論理的な誤りやシンタックスの誤り) 比較対象である期待結果が間違っていた(比較するものが間違っていた) 比較の誤差、判定の誤りなどの、比較そのものが間違っていた(比較の仕組み、アルゴリズム、精度の問題、判定方法、判定基準の問題) 実行結果が用意できていないのに比較をした(比較するタイミングが外れている) このように、比較が失敗したとき、それがテスト対象プログラムのバグである確率は6分の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く