タグ

ブックマーク / codezine.jp (47)

  • 高速な開発サイクルを実現するフィーチャーフラグ入門一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    高速な開発サイクルを実現するフィーチャーフラグ入門一覧
    kadoppe
    kadoppe 2022/09/12
  • フィーチャーフラグ(Feature Flag)はなぜ必要なのか?

    連載は、最新のソフトウェア開発の課題点を解決する手段であるフィーチャーフラグ(Feature Flag)について、概要や導入方法、ベストプラクティスを紹介します。第1回は、フィーチャーフラグとはなにか、どのようにしてプロダクト開発を変えていくのか、そのメリットと導入の際の懸念点を説明します。 はじめに 連載はフィーチャーフラグについての連載です。最新のソフトウェア開発の課題点を解決する手段であるフィーチャーフラグに焦点をあて、フィーチャーフラグとは何なのか、どういった機能を提供するのか。フィーチャーフラグのメリット・デメリットを、具体例を使って詳細に説明します。また、導入前に考慮すべきことや、フィーチャーフラグの実装、サービスの選定の際の注意点、効率よく、かつ継続的に使用していくためのベストプラクティスも併せて解説します。さらにはサードパーティー製のフィーチャーフラグサービスの比較を行

    フィーチャーフラグ(Feature Flag)はなぜ必要なのか?
    kadoppe
    kadoppe 2022/09/12
  • 実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~

    実践DDD 第9章「モジュール」~高凝集で疎結合にまとめる~ DDDにおける集約 DDDにおける集約(Aggregates)とは、オブジェクトのまとまりを表し、整合性を保ちながらデータを更新する単位となります。通常はオブジェクトの集まりの「境界線」の意味で使われ、オブジェクト群の生成/読み込み/変更/保存といったライフサイクル管理が行われます。 外部から集約を操作できる「集約ルート」 外部から集約を操作する場合、代表オブジェクトである「集約ルート(≒ルートエンティティ)」のみ参照することができます。集約ルートを操作することで集約全体の整合性を保ちながらデータを変更できます。 DDDの「集約」のイメージ 上図の例では、注文に関わるオブジェクト群が集約の「境界線」となっています。操作をしたい場合「注文」という「集約ルート」に変更依頼をすることができます。集約内部にある「注文明細」や「配送先住

    実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~
    kadoppe
    kadoppe 2022/08/08
  • 「楽しく働きたい」と思って環境を変えたらキャリアが広がった――プレイド池上さんが語るエンジニアが楽しく働くためのコツ

    元々は大手SIerのシステムエンジニア、現在は株式会社プレイドでSaaSの開発やテクニカルサポートを行っている池上純平さん。社外活動として、エンジニアのキャリアチェンジについて語ったり、非エンジニアに向けてわかりやすく技術解説を行ったりする活動を続けている。YouTubeはもちろん、書籍やnoteなどにも活動の場を広げ、「Developers Boost 2019」での登壇セッションでも大きな反響を得た。なぜ、池上さんが他人のキャリアチェンジについて語り、「非エンジニア職種の人にエンジニアリングスキルを教える」という少し手の込んだことを行うようになったのか。それまでに至った経歴や、活動に込められた思いなどについて伺った。 「楽しく仕事をしたい!」という思いから、転職・個人活動へ ――まずは現在のお仕事や個人活動についてお聞かせください。 現在は、BtoBのCXプラットフォーム「KARTE」

    「楽しく働きたい」と思って環境を変えたらキャリアが広がった――プレイド池上さんが語るエンジニアが楽しく働くためのコツ
    kadoppe
    kadoppe 2021/05/22
  • デブサミ夏で好評だった「プロダクト作りのトランスフォーメーション」、時間拡大&QA付きで再演

    Developer Summit 2020 Summer(デブサミ夏)のセッションとして好評だった「プロダクト作りのトランスフォーメーション」をもとに、時間を拡大、Q&Aコーナーを設けて上演する。 開催趣旨は以下の通り。 Developer Summit 2020 Summerのセッションとして上演した「プロダクト作りのトランスフォーメーション」。45分という限られた時間で、劇的な情勢変化の中でのプロダクトづくりについて概要的なお話を語っていただきました。 今回、好評だったセッションの時間を拡大&QAコーナーを設けて再演いたします! 昨今の大きな変化の中でどうプロダクト開発をアップデートしたのか。知見豊富な2社と、ProductZineキュレーターの市谷氏に、デブサミ夏では語りきれなかった事例と、これからのプロダクト開発についてお話しいただきます。 参加者の皆さんが今ぶつかっている課題を

    デブサミ夏で好評だった「プロダクト作りのトランスフォーメーション」、時間拡大&QA付きで再演
    kadoppe
    kadoppe 2020/08/09
  • リアルタイムなストリームデータを活用――GCPでデータ基盤を内製し、マイクロモーメントに対応する

    はじめに 連載では、リアルタイムなストリームデータ活用を実現する基盤について紹介します。 連載の1回目は「マイクロモーメント」という言葉に代表されるユーザー行動の変化とそれを取り巻く課題、そしてそれらの課題を解決するために構築した独自のリアルタイムデータ基盤について解説します。 連載の2回目は構築したリアルタイムデータ基盤について、実際の導入事例や、今後の展望をお伝えします。 対象読者 リアルタイムなストリームデータ活用を検討中の方 最新のクラウドサービスの選定について検討中の方 データ基盤構築の取り組みの背景 世の中の流れ――「マイクロモーメント」と呼ばれるユーザー行動の変化 総務省の「平成29年情報通信メディアの利用時間と情報行動に関する調査報告書」によると、国内のスマートフォン普及率は8割を超え、20代では96.8%と非常に高くなっています。また、総務省の別の調査では、インターネッ

    リアルタイムなストリームデータを活用――GCPでデータ基盤を内製し、マイクロモーメントに対応する
    kadoppe
    kadoppe 2020/03/20
  • 「デリゲーションポーカー」で不透明な役割分担をカイゼンする~権限委譲のプラクティス

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「デリゲーションポーカー」で不透明な役割分担をカイゼンする~権限委譲のプラクティス
    kadoppe
    kadoppe 2019/04/20
  • アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】

    世界最大級のアジャイル開発の祭典「Agile 2018」がアメリカのサンディエゴで開催されました。日でもめずらしくなくなってきたアジャイル開発ですが、北米で開催されるこのイベントには、2000人を超える開発者、テスター、プロダクトマネージャ、プロジェクトマネージャなど、ソフトウェア開発に関わる人達が世界から集まってくるカンファレンスです。稿では、「Testing & Quality」トラックのセッションを中心にレポートします。 ebayのアジャイルテスティング UKのebayでHead of Software Testingとして活躍するDan Ashby氏のセッション「Testing in Agile」はその名のとおり、「アジャイル開発におけるテスト」を集約した内容でした。 ソフトウェアテストとは何か? さまざまな解答がでてくる問いですが、一般的な解答は以下のようなものがあるはずです

    アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】
    kadoppe
    kadoppe 2018/09/01
  • 大規模解析サービスを支える監視サービスと監視構成のポイント

    大規模解析サービスであるKARTEでは、できるだけ「データの抜けがないこと」「リアルタイムに解析を行い、それを利用したアクションが提供できること」というシビアな要件が求められます。この要件を満たし続けるためには、素早く問題に気づき対応する仕組みがとても重要になります。KARTEでは複数のサービスを組み合わせて監視の仕組みを構築しており、稿ではその監視構成とポイントについて紹介します。 何を監視するのか? サービスを提供する際にはSLO(Service Level Objective)を設けることが一般的です。 KARTEではサービス利用者に向けたSLO(外部SLO)の他に、よりシビアに設定した内部向けのSLO(内部SLO)も定義しており、後者の内部SLOを基準に監視を行っています。 監視は以下の情報などを利用して、さまざまな角度から行っています。 OSから見えるサーバのメトリクス CPU

    大規模解析サービスを支える監視サービスと監視構成のポイント
    kadoppe
    kadoppe 2018/03/07
  • Pythonは今のうちに習得すべき?『スラスラわかるPython』著者・岩崎さんとPyCon JP理事の寺田さんが語る

    長年Pythonユーザーとして最前線でコミュニティを牽引してきた寺田学さんをして、昨今のPythonの盛り上がりは物で、しかも初めての規模だとのこと。今回、翔泳社のPython入門書『スラスラわかるPython』の監修を務めた寺田さんと、著者の岩崎圭さんに今Pythonを始める理由や勉強の仕方について対談していただきました。 Pythonの得意分野が盛り上がる今こそ学ぶべきタイミング 寺田:岩崎さんはどんな目的でPythonを使い始めたんですか? 岩崎:4年くらい前、僕はWeb系のインフラエンジニアと呼ばれる立場で、サーバーやネットワークの構築作業やアラートが発生した際の障害対応などのオペレーションが中心で、あまりコードを直接書く機会のない仕事をしていました。細かい作業の自動化を手軽にできる手段はないかと探していて、様々な言語をお勧めされたんですが、最終的に辿り着いたのがPythonでし

    Pythonは今のうちに習得すべき?『スラスラわかるPython』著者・岩崎さんとPyCon JP理事の寺田さんが語る
    kadoppe
    kadoppe 2017/08/16
  • JavaScriptフレームワーク「Angular 4.0.0」がリリース

    JavaScriptフレームワークAngularJSの最新メジャーリリースとなる「Angular 4.0.0」が、GoogleをはじめとするAngularJS開発チームによって、3月23日(現地時間)に公開された。同バージョンは、バージョン2.x.xとの後方互換性を備えている。 「Angular 4.0.0」では、AOTコンパイラの改良によって生成されるコードのサイズを60%程度削減するとともに、アニメーション関連機能をコアパッケージから分離したため、アニメーション機能を利用しない場合はさらなるサイズ削減が期待できる。 新機能としては、*ngIfおよび*ngForが改良され、if/else形式の記述とローカル変数の使用が可能になった。さらに、これまではコミュニティベースのプロジェクトだった、サーバサイドでの実行環境であるUniversalとの統合や、TypeScript 2.1/2.2との

    JavaScriptフレームワーク「Angular 4.0.0」がリリース
    kadoppe
    kadoppe 2017/03/24
  • Javaのモックアップフレームワーク「mockito」でリクエスト/セッションを再現する

    しかし、開発推進セクションとしてリーダーを中心に「基的には必須ですが、相談には乗ります」と伝えてきました。もちろん、こちらとしても妥協することはありますが、基は書いてもらうように言い続けたことは良かったと思います。今ではテストケースは2,000ケース以上となり、毎日jenkinsからもallTestの結果が送られてくるようになったのですから。そんなやりとりをしていく中で、こんなFAQも生まれました。 Q:巨大なメソッドで1行だけ修正したのですが、そのメソッド内をすべてテストしないといけないの? A:基はテストしてください。 ただしトラブル対応など、どうしてもすぐにリリースしないといけない場合はその限りではありません。 結果的にこのようなFAQは、開発メンバーにJUnitの導入を受け入れてもらうために必要なことだったと思います。やはり、開発スピードを重視するチームにとって、やることが多

    Javaのモックアップフレームワーク「mockito」でリクエスト/セッションを再現する
  • IPA、「アジャイル型開発プラクティス・リファレンスガイド」を公開

    IPA(情報処理推進機構)技術部のソフトウェア・エンジニアリング・センター(SEC)は、アジャイル型開発で用いられる、組織、プロセス、技術などの実践のための指針「プラクティス」について、先駆的企業を対象とした事例調査を行い、その結果を「アジャイル型開発プラクティス・リファレンスガイド」としてまとめ、19日に公開した。 「アジャイル型開発プラクティス・リファレンスガイド」では、国内でアジャイル型開発の活用が進む先駆的企業の59件のプラクティスの利用状況を調査、分類し、プラクティスのプロジェクト規模やアジャイル型開発の種類などによる適用状況の違い、適用する場合の工夫や留意点などについてまとめている。 59件のプラクティスについて、3つのカテゴリに分けた上で、さらに10のサブカテゴリに分類し、適用分野を明確化した。また、プロジェクトの特性を9つに分け、それぞれに対してどのようなプラクティスを使

    IPA、「アジャイル型開発プラクティス・リファレンスガイド」を公開
  • 開発者とデザイナーのコミュニケーションを劇的に改善したい! UIデザイナー発「プロトタイピング開発」のススメ

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    開発者とデザイナーのコミュニケーションを劇的に改善したい! UIデザイナー発「プロトタイピング開発」のススメ
    kadoppe
    kadoppe 2015/04/02
  • 業務アプリ開発者のための、コンテナ仮想化ツールDockerをつかったインフラ構築ことはじめ

    連載は、SI業界に入ったばかりの新米業務アプリケーション開発者や、SI業界を目指す学生さんを対象とした、インフラ構成管理ツールを使ってコードでインフラを構築するための講座です。また、インフラエンジニア/システムオペレータで、物理環境でのインフラ構築/運用管理は経験があるけど、プログラミングが苦手という方にも読み進めていただけるように、文法などの解説を入れながら説明します。今回は、コンテナ仮想化ツール「Docker」の紹介と、Dockerをつかったインフラ構築について説明します。 はじめに 前回の記事では、インフラのプロビジョニングツールであるChefやVagrantを使ってローカルPCに仮想環境を構築し、Webアプリケーションの開発環境を自動で構築する手順を紹介しました。業務システム開発における開発環境構築は、負荷が大きな作業の1つです。ライブラリのバージョンが違う/依存関係にあるライブ

    業務アプリ開発者のための、コンテナ仮想化ツールDockerをつかったインフラ構築ことはじめ
    kadoppe
    kadoppe 2015/03/28
  • 【DevOpsDays Tokyo 2013】クラウド時代のモニタリングツール、UNIXの思想が息づくsensuチュートリアル ――Heavy Water Operations, LLC

    Nagiosの問題点から生まれたsensu sensuはオープンソースのモニタリングフレームワークである。「Nagios」を知っている人なら、それに近いソフトウェアといえば分かりやすいだろう。サーバーの死活監視や各種イベント監視を自動化してくれるシステムだが、Nagiosにない特徴を備えている。また、クライアントの自動登録やサーバーアップと同時にモニタリングを開始するなど、自動化の機能が強化されている。これは、スタティックな構成だけでなくEC2のようなエラスティックにサーバー構成が変化するような環境でも、面倒なコンフィグレーションが必要ないということだ。 ChefやPuppetといった構成管理・コンフィグレーションのフレームワークとの相性がいいのも特徴だ。他にもネットワークが中断してもモニタリングを続けられること、Nagios Checkを簡単にマイグレートできる(Nagios資産を活かせ

    kadoppe
    kadoppe 2015/03/26
  • PHP 7のパフォーマンスが高い理由

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    PHP 7のパフォーマンスが高い理由
    kadoppe
    kadoppe 2015/03/26
  • いま最も注目のライブラリ「React.js」でシングルページアプリケーションを作ってみよう! 【前編】

    対象読者 JavaScriptフレームワーク・ライブラリの選定に悩んでいる方 格的にJavaScriptを触るのが初めてという方 jQueryでの大規模なフロントエンド開発に限界を感じている方 必要な環境 Node.jsがインストールされていることが推奨です。 React.jsとは何か React.jsは最近注目を浴びているFacebook製のライブラリで、MVCアーキテクチャでいうViewにあたる機能を提供します。 前提として、JavaScriptの世界でMVCのVといえば、紛れもなくDOM(Document Object Model)のことを指します。特に何も意識しないで作った場合、都合の良いDOMからデータを引っ張り出しては別のDOMを書き換えるといった、行き当たりばったりな作りになりがちです。そこで、MVCの考え方を導入することにより、データを画面とは独立した構造体として切り出し

    いま最も注目のライブラリ「React.js」でシングルページアプリケーションを作ってみよう! 【前編】
    kadoppe
    kadoppe 2015/03/04
  • プログラミング言語「Go 1.4」がリリース、Androidを正式にサポート

    今回のリリースは、前回のメジャーリリースから6か月を経たもので、いくつかの仕様変更とともに、対応するOSやCPUアーキテクチャを拡大している。 もっとも重要な変更点は、コアとgolang.org/x/mobileレポジトリにおけるAndroidの正式なサポートで、今回の正式サポートによって、Go言語だけで簡単なAndroidアプリが作れるようになった。現段階では、高レベルな開発に使えるライブラリはほとんどサポートしていないが、Go言語によるAndroidアプリ開発をいち早く楽しめる。 言語仕様については、for-rangeループにおける文法を変更しており、「for range s {」の記述によって値やループインデックス、マップキーなどの定義なしでループできる。また、ソースコードを自動で作成可能なサブコマンドも新たに用意している。 このほか、数多くの機能向上とバグフィックスが行われた。 「

    プログラミング言語「Go 1.4」がリリース、Androidを正式にサポート
    kadoppe
    kadoppe 2015/02/28
  • HTML/CSSコーディング時間を激減させる「Creative Cloud Extract」と、その真価を引きだすための10のポイント

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    HTML/CSSコーディング時間を激減させる「Creative Cloud Extract」と、その真価を引きだすための10のポイント
    kadoppe
    kadoppe 2015/02/27