タグ

ブックマーク / dev.classmethod.jp (25)

  • Wowza on EC2とCloudFrontを使ってHLSライブ配信してみた | DevelopersIO

    はじめに 清水です。先日以下のエントリでストリーミングサーバにWowzaを使ってライブ配信を行ってみました。 AWSのWowzaでライブ動画配信してみた 先日のエントリの構成は、ライブエンコーダから受けた映像をストリーミングサーバ(Wowza on EC2)から直接クライアントに配信するというものでした。この構成でもライブ動画配信はできており、例えば少数のクライアントのみを想定している場合などでしたら問題はありません。 ただある程度の規模になってくるとEC2側が動画配信の負荷(主にネットワーク帯域)に耐えられず、配信が不安定になるという問題が発生します。対策の一つとしてCDNをユーザの前段に入れることが考えられます。AWSならAmazon CloudFrontを導入することでこの構成が構築できますね。またCloudFrontを使用することでTCPコネクションをオフロードさせ配信サーバ側の負

    Wowza on EC2とCloudFrontを使ってHLSライブ配信してみた | DevelopersIO
  • SpotInstanceとJMeterを使って400万req/minの負荷試験を行う | DevelopersIO

    Apache JMeterのMaster/Slave構成 シナリオを用いた負荷試験といえばJMeterということで、使ったことがある方も多いかと思います。しかし、ほとんどの方は自分のPCを使ってやっている程度ではないでしょうか。最近は、スマホ連動のシステムが多くなってきていますので、1台のPCから負荷を掛けたとしても大した負荷試験になりません。そこで、今回はJMeterをMaster/Slaveのクラスター構成にしてドカーンと同時アクセスを行いたいと思います。 クラスメソッドの負荷試験の歴史 創業時から業務系のシステム開発が多かったことから、レスポンスは3秒以内でOKとか、ピーク時の同時ユーザは100名といった、緩い条件をクリアすれば良かったことが懐かしく思います。今は、ユーザ数・データ量・トランザクション数・トラフィック等が爆発的に増える可能性のあるプロジェクトも多く、負荷試験は必須項目

    SpotInstanceとJMeterを使って400万req/minの負荷試験を行う | DevelopersIO
  • Global Acceleratorを使ってALBを固定IP化する #reinvent | DevelopersIO

    コンニチハ、千葉です。 Global Acceleratorは、固定IPアドレスを持つグローバルなロードバランサーで、特徴は以下です。 参考:https://aws.amazon.com/jp/global-accelerator/ エニーキャストな固定IP持かつ、地理的に一番近いロケーションにルーティングされる。これは、IPを複数持つのではなく2つの固定IPが、各エッジローケションにアナウンスされ、ユーザーは意識せずに一番近いロケーションにルーティングされる(すごい) 固定IPのため、ALBやDNSのラウンドロビンで受けるDNSキャッシュの影響を受けなくなる、つまりフェイルオーバーに強くなる(サイコー) 2つの固定IPが割り当てられ、1つのIPネットワークが中断した場合は、別のネットワークゾーンから固定IPが復活する(ゾンビ的な?) ダイヤル機能により、0 - 100を指定し、例えば徐々

    Global Acceleratorを使ってALBを固定IP化する #reinvent | DevelopersIO
  • Amazon ECS入門 〜公式のDockerイメージを使って10分で構築してみる〜 | DevelopersIO

    はじめに Amazon ECS(Amazon Elastic Container Service)を案件で使うことになったので勉強中です。触り始めた時に入門系の記事が少ないなと思ったので、できるだけ簡単に構築できる手順をまとめました。Dockerは触ったことあるけど、ECSは触ったことがない方が対象です。 構築してみる タスク定義の登録 まずはManagement ConsoleでECSの画面を開いて、左のタスク定義から新しいタスク定義を作成します。複数のコンテナをグループにしたものをタスクとして定義します。タスク単位でCPUやメモリの割り当てを行います。 タスク定義名を入力したら、コンテナを設定します。 赤枠の部分を入力します。イメージは公式のhttpdイメージを使っています。これは docker run するとフォアグラウンドでhttpdを実行するDockerイメージです。メモリ制限は

    Amazon ECS入門 〜公式のDockerイメージを使って10分で構築してみる〜 | DevelopersIO
  • 【docker buildのマニアックすぎる狂宴】Container Build Meetup #1に参加してきた #container_build | DevelopersIO

    「あぁ、この人たち、すっごい楽しそうにマニアックな話するなぁ」 このイベントに参加しながら、ハマコーずっとそんなことを考えてました。 Container Build Meetup #1 - connpass Docker Buildだけがテーマという、すげぇフォーカスを絞りまくった勉強会だったんですが、絞り方が絶妙だったのか、参加者の熱もアツく質疑応答も盛況だったので、そのレポートをお届けいたします。技術的にも、旬のDocker界隈の話がてんこ盛りで参考になりました。 container buildきたか…!! ( ゚д゚) ガタッ /   ヾ __L| / ̄ ̄ ̄/_ \/   / 登壇者一覧 タイトル スピーカー Better Docker Image 登壇者はおりさの(@orisano)さん。 良いDockerイメージを作るには2つのアプローチがある。 どのように速くするか どのよう

    【docker buildのマニアックすぎる狂宴】Container Build Meetup #1に参加してきた #container_build | DevelopersIO
  • 【新機能】AWS ELBのApplication Load Balancer(ALB)の認証機能でWebアプリにGoogle認証を追加する | DevelopersIO

    【新機能】AWS ELBのApplication Load Balancer(ALB)の認証機能でWebアプリにGoogle認証を追加する Application Load Balancer(ALB)の認証機能のひとつ、OpenID Connectの例としてWebアプリにGoogle認証をかける様子をご紹介します。 ども、大瀧です。 日、AWS ELBのApplication Load Balancer(ALB)に認証機能が追加されました。 Simplify Login with Application Load Balancer Built-in Authentication | AWS News Blog ALBの認証機能では様々なことができるのですが独自IdPとの連携は既に他のメンバーが記事を書いているので、記事ではOpenID Connectの例としてGoogle Identi

    【新機能】AWS ELBのApplication Load Balancer(ALB)の認証機能でWebアプリにGoogle認証を追加する | DevelopersIO
  • [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO

    Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド

    [Ruby on Rails] Sidekiq で非同期処理を実装する | DevelopersIO
  • [小ネタ][git] 日本語ファイルの文字化けを回避する | DevelopersIO

    gitで日語ファイルが文字化けする こんばんは。小室です。gitを使っていて日語のファイル名を入れるとファイル名の表示が崩壊するという経験をしました。 割と今までは放置していたのですが、きちんと日語ファイル名を表示するコマンドを教えてもらったため、備忘録として記録しておきます。 若干人を小馬鹿にしたようなファイル名のファイルを配置したディレクトリをサンプルとして用意しました。 $ ls -la total 8 drwxr-xr-x 4 komurohiraku staff 136 Mar 25 19:09 . drwxr-xr-x 22 komurohiraku staff 748 Mar 25 19:08 .. drwxr-xr-x 10 komurohiraku staff 340 Mar 25 19:08 .git -rw-r--r-- 1 komurohiraku staff

    [小ネタ][git] 日本語ファイルの文字化けを回避する | DevelopersIO
  • Googleカレンダーの予定が始まる直前にChatWorkに通知する | DevelopersIO

    Googleカレンダーでスケジュールの管理をしています。 予定が近づくとポップアップで通知されるのですが、Googleカレンダーを開いていないと通知が来ません。 通知が来なくて悲しい思いをしたので、確実に開いているChatWorkに通知が飛んだらいいなと思い試してみました。 今回はGoogle Apps ScriptとチャットワークAPIを使って通知します。 Google Apps Script ざっくり言えばGoogleのいろんなアプリ(Gmail、Googleカレンダー、Googleドキュメント、Googleマップ、その他色々)をJavaScriptから簡単に操作できるやつです。 今回はGoogleカレンダーとGoogleドキュメント(スプレッドシート)の機能を使います。 Apps Script | Google Developers チャットワークAPI ざっくり言えばHTTPS経由

    Googleカレンダーの予定が始まる直前にChatWorkに通知する | DevelopersIO
  • AWS事業部の採用方針について | DevelopersIO

    主にクラスメソッドメンバーズにおけるサポートサービスとフートシリーズ(運用保守オプション)を担当するグループです。運用保守、システム監視、セキュリティ監視、継続的コンサルティングと、システム稼動後のお客様インフラを24時間365日体制で安定した状態に保つために日々お客様とやりとりしています。 このように、一つの部の中に担当業務が違う複数のグループがありますが、部全体のビジョンはただ一つ、「AWSに関する圧倒的な量のノウハウを用いて、AWSインフラを安く早く構築し、AWSのことをまるっとお任せしてもらうことで、お客様のビジネスに貢献する」です。そして同じビジョンを掲げたチームとして、採用方針もグループ毎に分けず、部として統一しています。 今回はAWS事業部の採用方針をご紹介します。 AWS事業部の採用方針 AWS事業部の採用方針は以下の3つです。 技術が好きな人を採る クラスメソッドはエンジ

    AWS事業部の採用方針について | DevelopersIO
  • 【登壇資料】エンジニアのチーム開発入門 – 心技体を磨いて自身とチームをより良くしよう #cm_osaka | DevelopersIO

    2017年4月14日(金)、クラスメソッド株式会社 大阪オフィス にて モバイルアプリのチーム開発実践入門 in 大阪が開催されました。 スピーカーとして参加しましたので、レポートします。 勉強会は大阪にて全7回開催予定です。概要については以下を参照してください。 【 大阪オフィス開設1周年!! 】クラスメソッドの開発を知る!全7回勉強会開催 いち エンジニア がチーム開発を行うには? ここ最近はコラボレーションツールが充実し、チーム開発の参入障壁は大幅に下がったと思います。そこからさらに、DevOps、スクラム、レビュー技法、ペアプログラミング等、様々な粒度で、チーム開発をより効率的に、より精度高く行う方法論や考え方がどんどん出てきています。 とはいうものの、やはりチームというのは「個」の集まりです。今回の発表は「とあるエンジニアがチーム開発に参加する」という視点です。チーム力は、「力を

    【登壇資料】エンジニアのチーム開発入門 – 心技体を磨いて自身とチームをより良くしよう #cm_osaka | DevelopersIO
  • 開発環境で使うDocker入門 | DevelopersIO

    モバイルアプリサービス部の五十嵐です。 Dockerは軽量でポータビリティに優れ、環境を汚さないので開発環境には無くてはならない存在ですよね!今回はまだDockerを使っていない人向けに、私が自分が辿ってきた経験を元に、『こういうシーンでDockerを使うと便利』というのをステップ・バイ・ステップで説明していきます。 対象読者 Dockerはなんとなく知っていて興味はあるけど、使い所や導入するメリットが分からないという人を対象にしています。 環境 Docker for MacDocker 1.12.3) Dockerについて Dockerは複数のコンポーネントからなるプラットフォームですが、記事では主にDocker EngineのことをDockerと呼びます。 Dockerはコンテナと呼ばれる仮想化技術を用いています。従来の仮想化技術と異なる点は、ホストのカーネルをコンテナと共有し、ホ

    開発環境で使うDocker入門 | DevelopersIO
  • Alpine LinuxでDockerコンテナ開発を加速する | DevelopersIO

    ども、大瀧です。 Docker公式のベースイメージをAlpine LinuxにするPRによって、にわかにAlpine Linuxへの注目が集まっていますね。 いつか来るかも知れない(笑)Alpine Linux必須の時代に備えるべく、DockerでAlpine Linuxをどう扱っていくのかまとめてみました。 Alpine Linux概要 Alpine Linuxは、軽量なLinuxディストリビューションの一つです。最新バージョンは、3.3(2016/02/12現在)です。特にDocker向けというわけではないのですが、ベースイメージのフットプリントのサイズが非常に小さいことと、独自のパッケージ管理システムAPKがDockerfileの記法とマッチすることからDocker界隈で注目されているようです。 ベースDockerイメージはDocker公式版とGliderLabs版の2種類 現在利用

    Alpine LinuxでDockerコンテナ開発を加速する | DevelopersIO
  • 【社内資料公開】運用手順書を作る時のポイントについて書いてみた | DevelopersIO

    はじめに こんにちは植木和樹@上越妙高オフィスです。日は私がここ10年くらい意識している運用手順書を書くときのポイントについてまとめてみました。 対象読者 開発・構築したシステムを別の人に引き継ぐ予定のある人 他の人が作ったシステムを引き継ぐ担当の人 半年後の自分でも分かる手順書の書き方に困っている人 (この記事を読むのにかかる時間の目安:5分) 1. ドキュメントの冒頭に書くこと まず個々の詳細手順の前に、ドキュメント自体について記載してもらいたいことです。 1.1. ドキュメントに書かれていることを3行で書く ドキュメントの最初には、このドキュメントに何が書かれているのかを100文字くらいで書いておくと良いでしょう。 システムが増えれば増えるほど手順書も増えていくものです。見つけたドキュメントに自分の期待するものが書かれているのか、冒頭数行でわかるようになっているとうれしいです。 1

    【社内資料公開】運用手順書を作る時のポイントについて書いてみた | DevelopersIO
    yutaka_kinjyo
    yutaka_kinjyo 2016/06/30
    良い
  • Public BetaになったDocker for Macを使ってみる | DevelopersIO

    はじめに Dockercon 16、盛り上がってますね!行きたかったなー。たくさんの発表がある中、今日はこちらの注目。 Announcing the Docker for Mac and Windows Public Beta これまでPrivate Beta扱いだったDocker for MacDocker for WindowsがPublic Betaになりました。これからは誰でも触って試すことができます。 ということで、早速触ってみました! やってみた インストール Docker for Macのシステム要件は以下の通りです。特にVirtualBoxのバージョンには注意で、4.3.30以下だとインストール時にエラーが出ます。 Mac must be a 2010 or newer model, with Intel’s hardware support for memory man

    Public BetaになったDocker for Macを使ってみる | DevelopersIO
  • [Ruby on Rails]sorceryによる認証 – (3)メールによるアクティベーション | DevelopersIO

    はじめに 以前の記事に引き続きsorceryによる認証についてです。今回はアカウントの作成時にメールを送信し、リンクをクリックしたらアカウントを有効化する、アクティベーションを実装してみました。 なお今回はsorceryで認証ができるアプリに、機能を追加する形で実装していきます。予め以下などを参考にemail、passwordでアカウントを登録できるアプリを作成しておいてください。 公式チュートリアル 以前の記事 アクティベーションの画面フロー 今回作成する機能のイメージを掴みやすくするため、画面のスクリーンショットを遷移順に貼っておきます。 1.アカウントの作成 「New User」をクリックし、アカウント作成画面を表示します。 2.アカウント作成 「Email」「Password」を入力して登録します。 3.アカウント登録完了 登録されたアカウントが一覧に表示されます。ここまではアクテ

    [Ruby on Rails]sorceryによる認証 – (3)メールによるアクティベーション | DevelopersIO
  • Scalaで関数型プログラミングをする#3 圏論を学ぶ(前) | DevelopersIO

    ※この記事はこれの再構成版です Ⅰ.はじめに 圏論を知りましょう さて、だいぶ前になってしまいましたが、前回の記事で、「関数型プログラミングを知るにはまず圏論から!」といいました。 ※あくまでも私の考えです 私自身圏論についての知識がほぼないのですが、幸いにも圏論に関する初心者向け記事がWEB上にいっぱいあります。 その中でも、「Scalaで圏論入門」という記事は、初心者向けにわかりやすく記述されているので、 これを元に圏論について基的な理解を深めていければと思います。 記事は、この「Scalaで圏論入門」を読んだことがある人を対象にします。(理解できてもできなくても)一度読んでおいてください。 なんで圏論を知るべき? なんで関数型プログラミングを知るのに圏論なんてわけわからんものを知らなければいけないのでしょうか。 この連載の目標(というか自分の目標)の1つとして、「scalazを使

    Scalaで関数型プログラミングをする#3 圏論を学ぶ(前) | DevelopersIO
  • システムのバグと欠陥の哲学 | DevelopersIO

    よく訓練されたアップル信者、都元です。うわータイトル大きく出たなオイ感がありますが。日は珍しく、なんか抽象的なポエムを撒き散らしたいと思います。 残念ながら、稿は普遍的なものの考え方を示すものではなく、筆者の中で「こう考えると良いのではないか」という提案に過ぎません。中で独自に言葉を定義したりしていますし。 だいぶ色んな人の心を ざわ… ざわ… とさせそうなネタですが。勇気を持って行きます。 誰もいない森で木が倒れたら音はするのか? 私は哲学に詳しいわけでも何でもないので深い話はまったくよくわからないのですが、哲学の問いかけでよくあるものらしいです。 素朴に考えると「いや、倒れたらさすがに音するでしょ」ということで 音がする が回答になると思います。 一方で「音」は「物が動き、こすれ、また、ぶつかって出る空気の震え(=疎密波)が耳に届いて聞こえるもの。」という説明がありました(by G

    システムのバグと欠陥の哲学 | DevelopersIO
  • 【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO

    渡辺です。 DevelopersIOでの100目のエントリーがJUnitネタとなりました。 自分がJUnit実践入門を執筆したのは2011年から2012年にかけてです(出版が2012年11月)。 それからJava8がリリースされていますが、JUnit4自体は大きな進化はしていませんでした。 昨日、JUnit Lambda Prototypeが公開されました。 まだプロトタイプということで、今後の変更は大きいかと思いますが、いよいよ次世代のJUnitの足音が聞こえてきた感じがします。 今回は、このドキュメントからJUnit Lambdaの概要と方針について速報をお送りしたいと思います。 なお、現在JUnitチームでは、このプロトタイプに対するフィードバックを募集しています。 ここはこうじゃないとかはてブコメントする前にTwitterGitHubでフィードバックを! JUnit Lambd

    【速報】JUnit5 はこうなる!?【プロトタイプ】 | DevelopersIO
    yutaka_kinjyo
    yutaka_kinjyo 2015/11/21
    ほほう
  • ハッカーズチャンプルー2015でIoTの話をしてきた #hcmpl | DevelopersIO

    清野さんのデモ再演! #hcmpl A video posted by Koichiro Nishijima (@k_nishijima) on Jun 26, 2015 at 7:49pm PDT 伝えたかったこと 今回のお話で私が伝えたかったことは IoTはそんなに難しいものじゃない センサーでデータ取ってクラウドに上げるだけがIoTじゃない 電子工作とプログラミングを組み合わせると面白いことが沢山できる もっと面白いアイデアが日から出せるはずだ だからみんなIoTやりましょ! ということでした。伝わってるとうれしいですね。 準備 準備はいつもの通りギリギリでした。当初はiRobot社のデバイスやBEBOP DRONEを会場に持ち込んで派手にやろうか、と思っていたのですが諸事情により断念。やはりやるなら2日前に沖縄に入るくらいの事をしないといけないな、と思いました(東京のイベント時に

    ハッカーズチャンプルー2015でIoTの話をしてきた #hcmpl | DevelopersIO