タグ

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

  • SREって何? これまでのシステム運用やDevOpsとは何が違うの?

    近年、何かと話題に上がるSRE(Site Reliability Engineering)。しかし、「自分たちのチーム・組織に関係する話なのかよく分からない」「具体的に何をやればいいの?」といった感想を持つ方は多いのではないでしょうか。連載では、そういった方に向けて、自社でSREチームの立ち上げを行った筆者が、SREの考え方 をご紹介します。また、連載の後半では、SREをいち早く取り入れた企業に導入背景などもインタビュー形式でお伝えする予定です。第一回となる記事では、「SREって何?」「SREをやりたいが、どこからはじめればよいのか分からない」 方に向けて、SREの概観をご紹介します。 はじめに はじめまして。株式会社スタディスト SREチームの@katsuhisa__です。 スタディストでは、システム運用に関わる全般的な業務にはじまり、モニタリングやログ収集基盤の整備などを担当してい

    SREって何? これまでのシステム運用やDevOpsとは何が違うの?
  • 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(コードジン)
  • Flutterとは何か? 使うメリットや特徴を理解する

    2018年12月、Googleは「Flutter」というモバイルアプリ用のフレームワークをリリースしました。さまざまなモバイルフレームワークがある中で、改めてGoogleがリリースしたFlutterとはどのようなもので、どういった利点や特徴があるのでしょうか。まだ知らないという方や聞いたことはあるがよく分からないという方も多いと思います。今回は、筆者の経験や感想などを踏まえて、Flutterについて紹介していきます。 はじめに Flutterは、「モバイルアプリフレームワーク」という位置付けで紹介されることが多くなっています。「モバイルアプリフレームワーク」とは、「モバイル」つまり、AndroidとiOSを同じソースを共有して、同時に作成することができるもの。もちろん、厳密には100%同じソースとは言い切れない場合もあります。そこで、もう少し広義の意味では同じ言語でiOS/Android

    Flutterとは何か? 使うメリットや特徴を理解する
  • 実用的なDockerイメージを使って便利さを体験しよう

    最近Dockerという⾔葉を聞くけれども、よくわからない。新しい技術なので、そう思う⼈も多いでしょう。それは体験が⾜りないからです。ひとまず体験すれば、Dockerの便利さがすぐにわかると思います。この連載では、Dockerの利点を⽣かし、業務に必要となりそうなさまざまなサーバーを⼿早く簡単に作っていくことを⽬指します。第3回からは、実用的なDockerイメージを使って、Dockerの便利さを体験していきます。今回は、OneDriveやGoogleドライブのようなWebストレージや連絡先、カレンダーなどのグループウェア機能を自分で作れる「NextCloud」を使ってみます。 対象読者 Linuxの基礎コマンドを少し知っている方 簡単にサーバーを構築したいインフラ技術者、開発者 Dockerイメージを使うポイント Docker Hubには、たくさんのDockerイメージが登録されており、do

    実用的なDockerイメージを使って便利さを体験しよう
  • Docker入門~Apacheコンテナを起動しよう

    対象読者 Linuxの基礎コマンドを少し知っている方 簡単にサーバーを構築したいインフラ技術者、開発者 httpdイメージを使ったWebサーバーを立てる 今回は、実際にApacheが入ったコンテナであるhttpdイメージを使って、Webサーバーを立てていきながら、Dockerの基を習得しましょう。 コンテナの設計 ここでは下記の内容のコンテナを作ります。 1. イメージ名 Apache入りのイメージの名前は「httpd」です。ここではタグは省略し、最新版を扱うことにします。 2. ポートのマッピング httpdコンテナは実行時にポート80で待ち受けるように構成されています(これはDocker Hubにあるドキュメントに記載されています)。そこでこのポートをマッピングする指定をします。 3. バインドマウント httpdコンテナは/usr/local/apache2/htdocs/がドキュ

    Docker入門~Apacheコンテナを起動しよう
  • 最短で使うDocker入門~Dockerを体験しよう

    最近Dockerという言葉を聞くけれども、よくわからない。新しい技術なので、そう思う人も多いでしょう。それは体験が足りないからです。ひとまず体験すれば、Dockerの便利さがすぐにわかると思います。この連載では、Dockerの利点を生かし、業務に必要となりそうなさまざまなサーバーを手早く簡単に作っていくことを目指します。第1回は、Dockerの仕組みと基礎知識を簡単に説明します。 対象読者 Linuxの基礎コマンドを少し知っている方 簡単にサーバーを構築したいインフラ技術者、開発者 Dockerとは Dockerの便利さは、システムを稼働するのに必要なサーバーを短時間で作れることにあります。サーバーに必要なソフトウェアがインストールされた出来合いのDockerイメージ(ダウンロードしてすぐに実行できるパッケージのこと)が多数公開されているので、こうしたものを使えば早ければ5分、複雑なもので

    最短で使うDocker入門~Dockerを体験しよう
  • 超高速WordPress仮想マシン「KUSANAGI」に学ぶ、PHP+MySQLアプリチューニングの秘訣

    連載について WordPressは、W3Techsの統計情報によると世界中のおよそ26%のWebサイトで利用されているオープンソースCMSソフトウェアであり、CMSソフトウェアに限定するとおよそ59%と過半数以上のシェアを有しています。WordPressは当初、GPLライセンスで誰もが無償で利用できることもあり、ブログソフトウェアとして広く利用されてきましたが、最近では、その開発生産性の高さや圧倒的なマーケットシェアを背景に、CMSソフトウェアとしてまたWebアプリケーションフレームワークとしても利用されており、エンタープライズ領域での採用も加速しています。 一方で、WordPressPHPMySQLベースの動的なCMSソフトウェアであり、Webシステムそのものとして活用できるというメリットがある反面、エンタープライズ領域での利用が増えるに従って、動作速度としてのパフォーマンス、セキ

    超高速WordPress仮想マシン「KUSANAGI」に学ぶ、PHP+MySQLアプリチューニングの秘訣
  • Herokuでスタート! はじめてのPaaSアプリケーション開発一覧

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

    Herokuでスタート! はじめてのPaaSアプリケーション開発一覧
  • フロントエンド開発が捗るHTTP通信モニタリングツール「Charles」を使いこなす

    はじめに 「Charles」はHTTPのプロキシ・モニタを行えるGUIのツールです。似たようなツールとしてはFidllerが代表的ですが、CharlesはUIや操作性がシンプルです(その分機能は限定的です)。「HTTPをモニタする」というとなんだか取っ付きにくそうに感じるかもしれませんが、Charlesを使うことでその認識は大きく変わります。今回はこのツールのさまざまな使い方をWebフロントエンドの開発視点から紹介していきたいと思います。その便利さから弊社のWebフロントエンド開発チームにはなくてはならないツールとなっています。 Charlesとは Charlesは公式サイトの説明にもある通り、HTTPプロキシ/HTTPモニタを行うツールです。機能を大きく分類するとできることはその2点だけですが、かゆいところに手が届く細かな機能を多く持っています。公式サイトから引用すると、機能としては以下

    フロントエンド開発が捗るHTTP通信モニタリングツール「Charles」を使いこなす
  • 構成管理ツール「Chef」の一歩進んだ使い方 ―独自のResourceを定義する―

    Chefを使っていると、Recipeのコード量が膨大になってしまったり、Recipeを使い回したりすることがあるかと思います。稿では、そのような場合にコードの見通しを良くしたり、コードの再利用性を向上したりできる独自のResourceを定義する方法について、独自Resource導入前後のコードを紹介しつつ、解説したいと思います。 構成管理ツール「Chef」とは 有名なツールなのでご存じの方も多いかもしれませんが、ChefはChef社(旧Opscode社)が提供しているインフラ環境の構築や構成管理の自動化ツールです。Chefを使えばOS環境の設定やパッケージのインストール、ミドルウェアの設定など、インフラエンジニアが今まで人手で行ってきたような作業を自動化することができます。また、ChefはApache License,Version 2.0でOSSとして公開されているため、誰でも利用が可

    構成管理ツール「Chef」の一歩進んだ使い方 ―独自のResourceを定義する―
  • Node.jsのWebフレームワーク「Sails」を使ってpub/subアプリを作ってみる

    Sailsとは Sailsは米国オースティンにあるBalderdash社のMike McNeilさんを中心として作成されているMVCフレームワークです。スタイルとしてはRailsに近い形を取りつつ、最近のWebアプリ開発に向けたいくつかの特徴を持っています。 主な特徴としては Web APIを簡単に作成し、公開できる リアルタイムWebなアプリケーションが簡単に作成できる Single Page SiteやMobileなどの多様なフロントエンドに対応できる といったようなものが挙げられます。 Web APIについてはJSONベースのRESTfulなAPIが簡単に作れるようになっています(Sails API blueprints)。特にAPIを作るという意識をせずとも、generatorによって単純なCRUDならすぐにAPIとして公開することができます。ルーティングについても、この手のフレー

  • デブサミ2014、講演関連資料まとめ

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

    デブサミ2014、講演関連資料まとめ
  • 【DevOpsDays Tokyo 2013】開発と運用の風通しを良くし継続的なデプロイを実現するにはどうすればいいか? ――IPONWEB Japan

    開発と運用の問題点は「見えていない」こと ガルブレス氏は、まず、「DevOps」とは何だろうかと問いかける。GitHub、Chef、継続的なデプロイなど技術的な話題は事欠かないが、つまるところ、それは「コミュニケーション」だという。曰く、マシンどうし、メンバーどうし、そして開発側と運用側、それぞれのコミュニケーションであり、同時にそれは多くの企業にとっての問題でもあるという。 開発者は「それは運用の問題でコードのせいではない」というだろう。運用側は「なぜ何度もソフトウェアのリリースが必要なんだ」と思っているだろう。経営・管理部門は「なぜレポートを月末まで待たなければならない。開発はバグの影響理解しているか?」という不満を双方に持っている。あげくには、多くの社員が「いったいこの会社は何をやっているんだ?」と思ってしまう。 これはコミュニケーションの問題であり、原因はお互いが相手を「見えていな

  • マルチデバイス対応のモバイルアプリ開発環境「PhoneGap」「PhoneGap Build」をおさらいする

    PhoneGapとは PhoneGapは、アドビシステムズ社により公開されている、デバイス向け「ハイブリッドアプリケーション」制作のためのフレームワークです。PhoneGapのソースコードは、Apache財団に寄贈されており、Apache Cordovaのプロジェクト名で管理されています。PhoneGapは、アドビシステムズ社が提供するCordovaディストリビューションです。 複数のデバイスに対応するアプリケーションを開発する場合、デバイスのOSごとに特定の開発環境を用意して、特定の言語で開発を行うことになります。そういったケースでは、PhoneGapを用いることで、HTML5+CSSJavaScriptのみで複数のデバイスに対応するネイティブアプリケーションの実装が可能になります。このようにして作られたアプリケーションを一般的に「ハイブリッドアプリケーション」と呼びます。 Phone

  • Web APIで楽々Androidアプリ一覧

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

    Web APIで楽々Androidアプリ一覧
  • WebアプリにSNSアカウントでのログインを実装する

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

    WebアプリにSNSアカウントでのログインを実装する
  • YOLPで挑戦~Android向け簡易道のり測定アプリを30分で作る!

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

    YOLPで挑戦~Android向け簡易道のり測定アプリを30分で作る!
  • AndroidアプリにおけるDBファイルの正しい使い方

    はじめに Androidアプリケーションを作成する上でSQLiteを使用してデータベースを扱うことは多々あります。データの永続化や検索といった処理を容易に実装することができるので、多くのアプリケーションで使用されています。しかし、AndroidにはSQLiteを使用するための方法が以下のようにいくつか用意され、それぞれファイル作成時のパーミッションの挙動が異なっています。 SQLiteDatabase#openOrCreateDatabaseを使用して作成する Context#openOrCreateDatabaseを使用して作成する SQLiteOpenHelperクラスを使用して作成する もし、開発者がこれら方法の挙動を十分に理解していない場合、知らずのうちに脆弱性を作り込んでしまいます。 実際に、いくつかのアプリケーションではSQLiteDatabase#openOrCreateDa

    AndroidアプリにおけるDBファイルの正しい使い方
  • 【デブサミ2012】16-C-2 レポート ピグライフのスケ―ラビリティを支える2つのインフラ「MongoDB」「Chef」

    大規模環境でもスケーラビリティや冗長性を確保するMongoDB ピグライフはアメーバピグのサービス内ゲームであるが、まったく別のシステムで動作しており、アーキテクチャもまったく異なる。アメーバピグがJavaMySQLという従来型のWebアプリケーションであるのに対し、ピグライフはアプリケーションサーバがNode.js、データベースサーバにはMongoDBを採用している。 MongoDBは、オープンソースのドキュメント指向データベースで、米10gen社によって開発・提供されている。いわゆるNoSQLの一種だが、KVSほど単純ではなく、JSONをベースとした「BSON(バイナリJSON)」によるスキーマレスで柔軟なデータモデルであることが特長だ。 セッションの前半では、ビグライフでMongoDBを採用した理由とその運用成果について桑野章弘氏が発表した。その理由としては、次のようなアーキテク

    【デブサミ2012】16-C-2 レポート ピグライフのスケ―ラビリティを支える2つのインフラ「MongoDB」「Chef」
  • コンパイルするとJavaScriptに! Rubyライクに記述できる「CoffeeScript」とは?

    JavaScriptプログラマーの間で「CoffeeScript」を使う人が増えています。CoffeeScriptとは一体どんな言語なのか、そして実際の現場で使うにはどうしたらいいのか、この連載を通して解説していきます。Webブラウザ向けのフロントエンド開発にも、そしてサーバサイド開発にも使える内容となっています。 CoffeeScriptが登場する前 JavaScriptは広く普及している言語ですが、ソースコードは見苦しいものになりがちです。小さなプログラム程度なら構いませんが、大規模なプログラムを作るのはかなり骨が折れる作業です。冗長な記号や面倒な決まり文句などが積み重なると、読みづらくメンテナンスしづらいソースコードができてしまいます。 JavaScriptを使ってある程度の規模の開発を経験したプログラマーの多くはそのような不満を感じ、もう一度JavaScriptで大きな開発をしたい

    コンパイルするとJavaScriptに! Rubyライクに記述できる「CoffeeScript」とは?