タグ

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

  • AWSでペタバイト級の大規模データを高速処理するには? フロムスクラッチの開発事例から学ぶ

    急成長中のスタートアップ企業は、多様なAWSサービスをどう選択・活用し、ビジネス課題を解決しているのでしょうか。連載では、スタートアップ企業の中でエンジニアリングをリードしている担当者がそのアーキテクチャをひも解き、AWS活用術を紹介していきます。第1回はAWS SA直伝の技術トレンドをお届けしましたが、第2回からはいよいよ実際のスタートアップ企業による解説です。今回はフロムスクラッチCTOの井戸端洋彰氏が担当、テーマは「大規模データの高速処理」です。記事の最後には、SAによるポイント解説もあります。(編集部) 莫大なコストがかかるデータマーケティングの課題を解決するために みなさん、こんにちは。株式会社フロムスクラッチにてCTOを務めております井戸端洋彰と申します。簡単に経歴をご紹介させていただきますと、新卒で外資系コンサルティング企業に入社し、クライアント企業の基幹システムの設計や開

    AWSでペタバイト級の大規模データを高速処理するには? フロムスクラッチの開発事例から学ぶ
  • SPAの保守開発を効率化――画面遷移理解を支援する

    社会人エンジニア向けの教育プログラム「トップエスイー」から、エンジニアの皆さんに対して有用な情報をお届けするコーナーです。Webブラウザ上で稼働するアプリケーションでは、一度のダウンロードで複数のページ要素を持つ構成をとることができ、こうした実装手法は「SPA(シングルページアプリケーション)」と呼ばれます。ページ遷移が素早く行え、ユーザーにダウンロード待ちをさせることなく利用できることから、UXの改善にも効力があります。しかしながら、実際のページ遷移はコード内に潜み、どんなページ遷移をするかは簡単には判別できません。結果、継続的な開発が困難になることも予測されます。そこで、ページ遷移を抽出し視覚化するツールがあると便利であると考え、実際にそうしたツールを開発しました。ツールの動作原理を交えて解説しましょう。 近年のWebアプリにおけるトレンド 近年Webアプリは、コンバージョンに直結する

    SPAの保守開発を効率化――画面遷移理解を支援する
  • 多様化するJavaのフレームワーク問題を解決する、「Spring Boot」とは?

    Springとは Spring Bootを紹介する前に、Spring Bootの基盤技術でもあるSpring Frameworkについて簡単に紹介します。 Javaを以前から使っているならば、Springという言葉を聞いたことがある方も多いはずです。Strutsなどが全盛期の頃は、Springと言えば現在のSpring Frameworkを指していました。そのため、現在でもSpring Frameworkのことを単にSpringと呼ぶ方もいます。 Spring "Framework"と呼ばれてはいますが、開発者にとってはフレームワークというよりも、DI(依存性注入)やAOP(アスペクト指向プログラミング)といったスタイルを実現するためのライブラリに近い位置づけかと思います。 そのため、Spring Frameworkはどのようなフレームワークを選んでいても、よく一緒に使われてきました。 現

    多様化するJavaのフレームワーク問題を解決する、「Spring Boot」とは?
  • モダンなCI/CDでは欠かせないワークフローを使った高度なビルド管理

    これからCI/CDを導入する方にも、すでに活用されている方にも、CircleCIを通してCI/CDに対する理解を深めるお手伝いができれば幸いです。 前回の記事:「CircleCIで始めるCI/CD導入の基のキ」 対象読者 前回の記事を読んでCI/CDに興味を持たれた方 CI/CDについて学びたい方 CircleCIのワークフローを使ってみたい方 新機能Orbsについて詳しく知りたい方 必要な環境/知識 GitHubのアカウント ソフトウェアのテストについての一般的知識 アジャイル開発についての一般知識 筆者について CircleCIの元開発者で、現在はCircleCI初の海外支社であるCircleCI Japanでさまざまな活動を行っています。 CI/CDパイプライン CircleCIでワークフローと呼ばれる機能は、実は似たような名前で他のCI/CDサービスやツールにも用意されています。

    モダンなCI/CDでは欠かせないワークフローを使った高度なビルド管理
    nabe3dayon
    nabe3dayon 2019/01/15
    [CI/CD][ワークフロー][workflow]
  • これなら分かる!マイクロサービス(活用編)~そのアーキテクチャを実現するデザインパターンを一気に学習

    マイクロサービスについて、前回はそのアーキテクチャの概要から利点、そして課題についてまとめました。第2回の今回は、マイクロサービスを構成する個別の要素(デザインパターン)を一挙に説明します。マイクロサービスを学ぶ上で避けて通れない用語たちを、ひとつひとつ、分かりやすく丁寧に解説しました。さらに、マイクロサービスが持つどの利点に結び付くかをセットで解説することにより、単なる知識の列挙を避けたイメージしやすい構成をとっています。紹介しているものはいずれも特定の製品などに依存しない核となる要素ですので、エンジニアの方、ビジネスサイドの方問わず、長く役立つ知識となるはずです。 前回記事:これなら分かる! マイクロサービス(入門編)~モノリスと比較した特徴、利点と課題 マイクロサービスは「複数のデザインパターンの集合体」 入門編で解説したようなマイクロサービスを構成し、その利点を実現するためには、ひ

    これなら分かる!マイクロサービス(活用編)~そのアーキテクチャを実現するデザインパターンを一気に学習
  • ドメイン駆動設計のメリットと始め方 ~ 1章「DDDへの誘い」

    はじめに ドメイン駆動設計(DDD)とは、2003年にエリック・エヴァンス氏が『Domain-driven design』という書籍にて提唱したソフトウェア開発手法です。DDDを簡単に説明すると「顧客と開発者が業務を戦略的に理解し、共通の言葉を使いながらシステムを発展させる手法」です。具体的には、チームの共通言語である「ユビキタス言語」を用いて「ドメインモデル」を構築し、それをコードとして実装します。また大規模で密結合なシステムにならないように「ドメイン」と「境界づけられたコンテキスト」にてシステムを分割し、「コアドメイン」という最重要領域に集中して開発を行います。 ソフトウェア開発の課題とDDDが解決すること DDDの登場から10年以上が経ち、DDDは着実に普及しつつあります。DDDが普及してきている背景として、システム開発がますます多機能/複雑になり、ビジネス的にも敏速な変更が求められ

    ドメイン駆動設計のメリットと始め方 ~ 1章「DDDへの誘い」
  • CircleCIで始めるCI/CD導入の基本のキ (1/4):CodeZine(コードジン)

    前回はCI/CDに関する一般的な解説をしました。今回と次回でCI/CDの代表サービスの一つであるCircleCIを使って実際にCI/CDを設定する感覚を学んでもらいたいと思います。今回はCircleCIの設定方法の基礎から始めるので、記事の前半は比較的入門者向けの内容ですが、記事の後半では最新機能のVer. 2.1も紹介します。 これからCI/CDを導入する方にも、すでに活用されている方にも、CircleCIを通してCI/CDに対する理解を深めるお手伝いができれば幸いです。 前回の記事:「CI/CDのエキスパートが解説:CI/CDとは何か? なぜ今、必要とされるのか?」 対象読者 前回の記事を読んでCI/CDに興味を持たれた方 CI/CDについて学びたい方 CircleCIを使ってみたい方 CircleCI Ver. 2.1について知りたい方 必要な環境/知識 GitHubのアカウント ソ

    CircleCIで始めるCI/CD導入の基本のキ (1/4):CodeZine(コードジン)
    nabe3dayon
    nabe3dayon 2018/11/29
    [CI/CD][Docker]
  • 軽量PHPフレームワークSlimは何が「軽量」なのか?~特徴と環境構築

    連載では軽量PHPフレームワークであるSlimを紹介していきます。フレームワークと言えば、重厚長大なもの、いわゆるフルスタックフレームワークが多い中で、あえて軽量フレームワークを取り上げます。軽量ゆえのメリットを味わっていただこうと思います。その第1回である今回は、フレームワークとは何か、Slimとは何か、何がどう軽量なのかといった概要解説とSlimを動かすための環境構築を紹介します。 フレームワークとSlim この連載で紹介していくSlimは軽量フレームワークと言われています。Slimの公式サイトでは「a micro framework for PHP」と表現されています。では、何がどう「軽量」なのでしょうか。そもそも、フレームワークとは何なのでしょうか。そこから話を始めたいと思います。 フレームワークとは フレームワークは、和訳すると「枠組み」や「骨組み」となります。非常に幅広い意味

    軽量PHPフレームワークSlimは何が「軽量」なのか?~特徴と環境構築
  • AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ (1/3):CodeZine(コードジン)

    連載では、株式会社ビズリーチのエンジニアが、急成長を続ける事業の中で得られた実践的なノウハウをつづります。第3回となる今回は、6月に始めたエンジニアブログ「BizReach Tech Blog」で反響が大きかった記事を加筆修正して掲載します。テーマは「AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ」です。CloudMapperの紹介と、全自動でネットワーク構成図を作成するための方法をご紹介します。 BizReach Tech Blog はじめに 株式会社ビズリーチで、SREエンジニアとして勤務しているmassです。2017年4月に入社してから、HRMOS(ハーモス)採用管理というサービスのAWSのインフラを管理したり、アーキテクチャの設計・構築をしたりしています。 今回は、入社してから半年経ったら、いつのまにかサービスのネットワーク管理者になってい

    AWSネットワーク構成図の手動更新がつらい? よろしい、ならばCloudMapperだ (1/3):CodeZine(コードジン)
  • CI/CDのエキスパートが解説:CI/CDとは何か? なぜ今、必要とされるのか? (1/3):CodeZine(コードジン)

    最近、CI/CDという単語を見ることが増えてきました。GoogleMicrosoftOracleなどの大きなIT企業が自社のCI/CDツールを発表したり、CI/CDのスタートアップの買収などの話が過去一年にいくつもありました。読者のみなさまも導入はしていなくても、CI/CDについてなんとなく知っている方も多いのではないでしょうか? 実際CI/CDに対する需要は急速に高まっています。その裏には自動化の重要性の高まりやアジャイル開発の浸透・進化があります。2回の連載でこの流れについて見ていきましょう。 はじめに 連載では、CI/CDを始めて学ぶ方にも、すでに知っている方にも、できるだけ新しいことを発見してもらえるように心かげました。 連載の1回目は主にCI/CDの概要と導入のメリットから始めて、CI/CDで加速する最新のアジャイル開発手法を解説します。前半は入門者向けの内容ですが、後半は

    CI/CDのエキスパートが解説:CI/CDとは何か? なぜ今、必要とされるのか? (1/3):CodeZine(コードジン)
    nabe3dayon
    nabe3dayon 2018/09/26
    [CI/CD][DevOps][テスト][ツール][デプロイ]
  • これなら分かる! マイクロサービス(入門編)~モノリスと比較した特徴、利点と課題

    IT用語の解説サイトや書籍は世にたくさんありますが、何だか難しいものばかりだと思いませんか? 知らない単語を検索したけれど、どのサイトを読んでも理解できずブラウザを閉じてしまった、なんて経験を持つ方も多いと思います。連載はそんな事態に苦しむITエンジニアの皆さまに向けて、まわりくどい原典の説明や冗長な周辺情報を取り払い、できるだけシンプルで、ポイントを掴める解説を目指しました。第一回のテーマに選んだのは、「マイクロサービス」です。一時期「バズワード」と言えるほどもてはやされ、昨今ではシステム部門/ユーザー部門を問わず知っておくべき基礎項目にまで格上げされた感のあるこの用語。これから学ぼうとしていた方も、過去に調べて挫折した方も、改めて基を確認したい方も、ぜひこの機会に知識を整理いただければ幸いです。 はじめに:自己紹介 西野大介(@nishino_chekhov)と申します。SOMPO

    これなら分かる! マイクロサービス(入門編)~モノリスと比較した特徴、利点と課題
  • アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】

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

    アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】
  • Seleniumで挑む、SPAのE2Eテスト自動化

    Webアプリケーションのフロントエンドを作る上で話題になりがちなSPA(Single Page Application)ですが、SPAのE2E(End-to-End)テストについて話題になることはあまりないと思います。筆者は、仕事でSPAのSeleniumテストを書いたことがあり、Seleniumで通常のWebアプリとあまり変わらずテストできる一方、気をつけるべき特徴もあると感じました。第6回の今回は、筆者の経験を元に、実際の業務でSPAのSeleniumテストを書く上での知見を紹介します。 illustration by iwasawa SPAの特徴 SPAとは、WebアプリケーションやWebサイトを単一のページのみで構成し、ユーザーが操作したときにブラウザの画面遷移なしで現在のページを動的に書き換えるものです。ユーザーは画面遷移によってUXが途切れることがないので、よりネイティブなアプ

    Seleniumで挑む、SPAのE2Eテスト自動化
  • 1