タグ

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

  • DevelopersIOブログ基盤を北米に移設して, AWSコストを33%削減してみた | DevelopersIO

    今回、現地でのブログ執筆環境の改善をコストパフォーマンスよく実現するため、 ブログ基盤で利用する AWSのリージョンを 東京(ap-northeast-1)から オレゴン(us-west-2) へ 移転する機会がありましたので、紹介させていただきます。 構成図 改善効果 東京リージョンからオレゴンへの移設により、AWS利用費は月額750ドル、約33%の削減を見込んでいます。 東京、オレゴンコスト比較一覧 サービス Type 消費量(月間) 東京単価($) オレゴン単価($) 東京月額($) オレゴン月額($) 削減率

    DevelopersIOブログ基盤を北米に移設して, AWSコストを33%削減してみた | DevelopersIO
    terazzo
    terazzo 2022/11/25
    そもそもなんであっちのが安いんだろう。電気代とか?
  • 【速報】機械学習にもCI/CDの波が。Amazon SageMaker Pipelines 登場! #reinvent | DevelopersIO

    せーのでございます。 現在AWS re:InventではAndy Jassyのキーノートが行われています。 [随時更新] AWS re:Invent 2020 Keynote で発表された新サービスまとめ #reinvent | Developers.IO ご機嫌いかがでしょうか、豊崎です。 今年もre:Invent 2020 キーノートではたくさんの新サービス/新機能が発表されるものと思います。 投稿では、AWS re:Invent 2020のキーノートで発表された新サービスの記事をまとめます。 AWS re:Invent 2020では以下5つのキーノートが計画されています。 12/2: Andy Jassy Keynote 12/4: AWS Partner Keynote 12/9: Machine Learning Keynote 12/11: Infrastructure Ke

    【速報】機械学習にもCI/CDの波が。Amazon SageMaker Pipelines 登場! #reinvent | DevelopersIO
    terazzo
    terazzo 2020/12/02
  • AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO

    こんにちは。 ご機嫌いかがでしょうか。 "No human labor is no human error" が大好きなネクストモード株式会社の吉井 亮です。 日国内においても多くのシステムがクラウド上で稼働していることと思います。 俊敏性、拡張性、従量課金、IaS、セキュリティなどクラウドのメリットを享受しやすい所謂 SoE で多くの実績があるように感じます。 ここ1~2年は、社内基幹システム・情報システム、SoR 系のシステムのクラウド移行が格化してきたというのが肌感覚であります。 クラウドでのシステムインフラ構築は従来のようにゼロから非機能要件定義を行っていくものではなく、ベストプラクティスをまず実装して少しずつ微調整を行っていくものと考えています。とはいえ、システムごとの要件は予め明らかにしておくことがインフラ構築においても重要になります。 クラウド上では出来ること出来ないこと

    AWS システム構築 非機能要件ヒアリングシートを公開してみた | DevelopersIO
    terazzo
    terazzo 2020/07/28
  • 複数条件の組み合わせによるテストケース数爆発と戦うPairwise(ペアワイズ)法とそれを支えるツール「PICT」 | DevelopersIO

    ペアワイズ法を使うことで、効率的にテストケースを絞り込めることがわかったかと思います。 --- 2019/10/31 追記 --- どうしてテストケースを絞り込んでも大丈夫なのか?という意見がSNSやはてブのコメントで見受けられたので、フォローアップエントリを書きました。こちらも合わせてご覧ください。 ペアワイズ法は当に有効なのか?組み合わせテスト技法と上手に付き合う方法 | DevelopersIO ペアワイズ法を支えるツール「PICT」 ペアワイズ法が有効なことはわかりましたが、この組み合わせをどうやって作れば良いでしょうか?条件の数が少なければ前述のように手作業でもやれないことはありませんが、現実の問題はもっと複雑ですので、到底無理でしょう。 そこで役に立つのが、ペアワイズ法のテストケースを生成してくれるツール「PICT」です。 microsoft/pict: Pairwise I

    複数条件の組み合わせによるテストケース数爆発と戦うPairwise(ペアワイズ)法とそれを支えるツール「PICT」 | DevelopersIO
    terazzo
    terazzo 2019/10/19
  • ゼロから学ぶメディアプレイヤーの実装 | DevelopersIO

    はじめに メディアプレイヤー作っていますか? 実際に作ろうとすると色々な対応が必要になることに気付かされます。 例えば、 アプリを落としても再生し続ける 電話が掛かってきたら止める イヤホンが抜けたらスピーカーで鳴らないように止める ループ・シャッフル ヘッドホンのボタンを押した時に曲を操作する などなど。 今回はこれらに対応できる、一般的な音楽プレイヤーを作っていきます。 MediaSessionとは 実装していく前に、MediaSessionに関して知っておく必要があります。 と言っても、仕組みを完全に理解する必要はありません。まずは再生できるまでを学習し、必要になったらより詳しい解説を都度見れば良いと思います。 なので詳しい解説は公式ドキュメントにお任せしますが、要するに 色々な所から送られてくるプレイヤーの操作・情報をMediaSessionを使って処理しよう ということです。 例

    ゼロから学ぶメディアプレイヤーの実装 | DevelopersIO
  • 書評「入門 監視」雰囲気で監視をやっているすべての人にオススメ | DevelopersIO

    監視という一種マニアックな領域を真正面から解説した貴重なです。監視で悩む人のみならずシステム開発に携わるすべての人にオススメ。 「全然わからない。俺たちは雰囲気で監視をやっている」 自分はAWS事業コンサルティング部所属ということもあって、いろんなお客様にAWSインフラのコンサルティングしてます。最初のインフラ構成設計時に監視の話をすることも非常に多いんですが、 「どうしましょう。CloudWatchでいけますかね?」 「MackerelとかDatadogとかもありますが、どうしましょ。マネージドとの違いは〜」 「とりあえず、ディスク使用率80%でしきい値設定しておきましょうか。みんなそうしてますよ」 とか言っていた昔の自分に見せつけたい、それが今回紹介する「入門 監視」。 監視設計の原則がよくわかんない メトリクスのしきい値決めるところから監視を考えてしまいがち よく考えずに、い

    書評「入門 監視」雰囲気で監視をやっているすべての人にオススメ | DevelopersIO
    terazzo
    terazzo 2019/01/23
  • Xamarinの仕組み ( 超簡単バージョン ) | DevelopersIO

    1 はじめに 下記のページでは、Xamarinが異常に早いことをレポートしています。 Mobile App Performance Redux テストの内容によって色々あるとは思いますが、Xamarin.iOSが、Objective-Cより早く、Xamarin.AndroidJava Androidとほぼ互角と言うのは、正直すごいグラフだと思いました。 少なくとも、XamarinがObjective-CやJavaのコードを吐いているわけでは無いことだけは直ぐに分かります。 今回は、Xamarinが、どういう仕組みでiOSやAndroid上で動作しているかを可能な限り簡単に紹介したいと思います。 っと、偉そーに言ってますが、実は、これちゃんとした公式の資料を基づくものでなく、私が勝手に解釈している内容ですので、専門家からのツッコミを得て完成するエントリーと意味で投稿させて下さい。 [201

    Xamarinの仕組み ( 超簡単バージョン ) | DevelopersIO
    terazzo
    terazzo 2016/04/13
  • JupyterでScheme処理系を動かしてSICPを勉強する | DevelopersIO

    はじめに 最近社内でSICPの勉強会を行っています。 SICPでは、教材としてLISP処理系の一つであるschemeを採用しており、勉強する時にはschemeを動かしながら例題の動作確認や課題を行っていきます。 Emacs + Gaucheを用いて学習を進めていくパターンが多い印象ですが、Emacsに慣れていない人にとっては、まずEmacsの操作を満足にできるようになるまでに高いハードルがあります。 今回は、Emacsの代わりにJupyterを用いてScheme処理系を動かし、その動作を確認する方法を紹介します。 Jupyterについて Jupyterとは、簡単にいってしまうとブラウザ上で動作するREPL環境 + メモ帳です。 以下の画面のように、コードをその場で実行し、その結果をその場で見ることができます。 また、コードの他にmarkdown形式で文章を追加することもできるので、コードと

    JupyterでScheme処理系を動かしてSICPを勉強する | DevelopersIO
  • 初めてのLambda | DevelopersIO

    言語はnode.jsを使います。 今回の目標 EC2を1台用意し、webサーバーとして起動する Lambdaでhttpポートを監視する(5分に1回チェック) 監視で異常があった場合SNSへ通知する SNSは携帯電話へメールを送信する では早速構築していきます。 webサーバーを用意する AmazonLinuxのインスタンスを作成する インスタンスタイプはt2.nano、EBSはマグネティックというケチケチ構成で 開けるポートはsshとhttpの二つのみ。 起動したらsshでログインしてapacheをインストールする sudo yum install httpd24 viで監視用のファイルを作ります。内容は「OK」だけでOK sudo vi /var/www/html/check.html apacheを起動してブラウザで確認する sudo service httpd start

    初めてのLambda | DevelopersIO
    terazzo
    terazzo 2016/03/28
  • AWS IoTのMQTT over WebSocketにHTMLから接続してみた | DevelopersIO

    はじめに 先日のアップデートAWS IoT Device GatewayがWebSocketに対応しました。 このアップデートにより、JavaScriptで動作するMQTTクライアントを用いてWebページ上からAWS IoT Device GatewayにPub/Subすることが可能になりました。(MQTT over WebSockets) 今回はローカルのHTMLをIoT Device Gatewayと連携させる方法をご紹介します。 使ってみる Pub/Sub可能なIAMユーザーの作成 ブラウザからMQTT over WebSocketsを使うには、今のところPub/Sub権限を持ったIAMユーザーのクレデンシャル(アクセスキーとシークレットキー)が必要です。 公開したときに悪用されないために、最低限の権限を持ったIAMユーザーを作成しましょう。 今回はweb-chat-iotというユ

    AWS IoTのMQTT over WebSocketにHTMLから接続してみた | DevelopersIO
    terazzo
    terazzo 2016/02/16
  • システムのバグと欠陥の哲学 | DevelopersIO

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

    システムのバグと欠陥の哲学 | DevelopersIO
    terazzo
    terazzo 2016/02/02
  • 【新機能】AWS LambdaにSlack連携のBluePrintが登場。ChatOpsがより手軽に | DevelopersIO

    こんにちは、せーのです。今日は普段Slackをお使いの皆様にオススメの新機能をご紹介します。今日ご紹介する機能を使うとSlackを使ってAWSを操作する、所謂「ChatOps」が手軽にできるようになります。 LambdaからSlackLambdaのFunctionを選ぶとまず「BluePrint」と呼ばれるナビゲートが出てきます。これはその名の通りLambdaを使って何を書きたいのか、という青写真が書かれているのですが、今回のアップデートでこのBluePrintに「Slack」の連携が登場しました。 Slackとは2014年に正式リリースされたコミュニケーションツールです。数ある社内チャットツールの中でも使い勝手の良さで人気が高いソフトですのでご存じの方も多いかと思います。 今回用意されたBluePirntを使うことでSlackAWSの連携がより簡単になり、チャットをトリガーに開発や

    【新機能】AWS LambdaにSlack連携のBluePrintが登場。ChatOpsがより手軽に | DevelopersIO
    terazzo
    terazzo 2016/01/18
  • AWSのオンラインセミナーの始め方 | DevelopersIO

    はじめに AWSの公式Webサイトでは膨大な情報が公開されており、サービスの概要からAPIの仕様まで、あらゆる情報を参照することが出来ます。 そして、AWSの中のエンジニアが解説してくれるオンラインセミナーが用意されています。このオンラインセミナーは無料で、インターネット環境があれば誰でも参加することが出来ます。素晴らしい取り組みですね! オンラインセミナーは大きく2つの種類があります。 Black Belt Tech Webinar ... 毎週テーマを決めて、各サービスの詳細情報が解説されます。最近追加された新機能から活用方法、APIの制限まで、とても濃い話が聞けるオンラインセミナーです。原則毎週水曜日18:00-19:00に開催されます。 AWS初心者向け Webinar ... AWSのユースケースと、ユースケースに合わせたAWSの各サービスの紹介、そして実際に使われている事例の紹

    AWSのオンラインセミナーの始め方 | DevelopersIO
    terazzo
    terazzo 2015/12/10
  • JUnit5はどこに向かうのか? | DevelopersIO

    この表から解るように、一部の機能を除けばJUnit4の機能は継承されています。 したがって、JUnit4を理解していれば継承された機能をJUnit5に移行することは難しくないでしょう。 最初は多少の混乱はあるかと思いますが、すぐに慣れるレベルかと思います。 逆に、新しくJUnit5からJavaのユニットテストに入るのであれば、JUnit4の制約がないことは良い材料です。 特に、構造化テスト(ネストクラス)の時、JUnit4ではネストクラスをstaticクラスにすることを強いられていました。 これは、テストクラスをテスト毎に作成するという制約があったためです。 この制約がある以上、テストクラスからアウタークラスのインスタンス変数にアクセスできませんでした。 ユニットテストではテスト毎にテストインスタンスを作成することが原則なので、この制約は仕方ないと考えても良いでしょう。 しかし、テストがネ

    JUnit5はどこに向かうのか? | DevelopersIO
    terazzo
    terazzo 2015/11/24
  • Ansibleのテスト事情 | DevelopersIO

    テストしてますか? 渡辺です。「進捗どうですか?」のダメージは計り知れないことはご存じかと思いますが、「テストしてますか?」のダメージも侮れません。 前者はほぼ全てのエンジニアに有効なアタックですが、後者はそれなりの経験を積んだエンジニアにしか有効でない点は異なりますね...。 さて、Ansibleを運用してくるとなれば、どうしても「どうやってテストをすべきか?」という問題にぶち当たります。 そこで、Ansibleを運用する中でのテストの考え方についてまとめておきます。 Ansibleの考え方とテスト Ansibleのような宣言型の構成管理ツールが登場するまで、サーバ構築の自動化といえばセットアップスクリプトの実行でした(自動化されていない場合は、ひとつひとつコマンドを打ち込んでいたでしょう)。 例えば、CloudFormationのcfn-initのUserDataでは次のようなセットア

    Ansibleのテスト事情 | DevelopersIO
    terazzo
    terazzo 2015/11/18
  • RDS for PostgreSQLのログ設定まとめ | DevelopersIO

    こんにちは、虎塚です。 前回は、RDSでのDBアクセスログの管理方法をご紹介しました。今回はもう少し踏み込んで、RDS for PostgreSQLを対象に具体的なログ関連の設定項目についてまとめました。 DBログの取得/運用についての設計をするにあたり、大切なのは「ログの利用目的」です。一方、どんなことを決めてDBの設定に落とす必要があるかを、設定項目からボトムアップで見てみるのも、DBMSを理解する上ではよいかと思います。 DBログ設定の項目を検討する前の前提知識 RDSでは、DBの設定項目をパラメータグループで設定します。ひとつひとつの項目を確認する前に、知っておいたほうがよいことを紹介します。 engine-default値の意味 パタメータグループには、engine-defaultと表示されている設定項目があります。 値が「engine-default」になっている設定項目には、

    RDS for PostgreSQLのログ設定まとめ | DevelopersIO
    terazzo
    terazzo 2015/10/05
    pg_stat_statements使えないのかなと思ったら使えるらしい→http://aws.amazon.com/jp/rds/postgresql/
  • [新機能]Amazon Elasticsearch Serviceがリリースされました! | DevelopersIO

    はじめに AWS re:Invent 2015前にすごい新サービスが飛び出てきました! New – Amazon Elasticsearch Service Amazon Elasticsearch Service なんと、フルマネージドなElasticsearchです。AWSでの全文検索サービスはCloudSearchがありますが、やはり全文検索システムとしてElasticsearchの人気が高い、ということでしょうね。「ElasticsearchはAWSのサービスではありません」と長年言われ続けていましたが、ついにサービスとして提供されました。 なお、Amazon Elasticsearch Serviceの略称はAmazon ESとのこと。若干ECSと紛らわしい感じもありますが、まぁそのままだと長いですからね。公式に略称が決まっているのは良いことです。 ということで、早速やってみまし

    [新機能]Amazon Elasticsearch Serviceがリリースされました! | DevelopersIO
    terazzo
    terazzo 2015/10/02
  • 【Scala】foldとfoldLeftの違いを知る | DevelopersIO

    はじめに こんばんは! 突然ですが、 Scala における fold と foldLeft はほとんど同じものだ!と思っていませんか? また、Scala の Option#fold メソッドを使って、何か不自然に思ったことはありませんか? 先に結論を述べますと、 fold メソッドと foldLeft メソッドは異なります(もちろん foldRight とも違いますよ!)。 「ちょっとだけ挙動に差が…」的な違いではなく、根的に違います。 たまたま、 List#fold と List#foldLeft が(例外的に)似たような定義で、かつ(例外的に)似たような挙動をするため、誤った通説(全てのfold≒foldLeft)があったりなかったりするようです。少なくとも僕は、Scala を書くようになってからある一定の期間、全ての fold と foldLeft は同じものだと考えていました。

    【Scala】foldとfoldLeftの違いを知る | DevelopersIO
  • Lambda Function が Java で書けるようになりました! | DevelopersIO

    Lambda Function が Java で書けるようになりました AWS Lambda にアップデートがあり、Java で書けるようになりました!以前からアナウンスされていましたが、日からついに使えるようになりました。 AWS Lambda Update – Run Java Code in Response to Events | AWS Official Blog ということで、早速 Lambda Function を作ってみました。 AWS Toolkit for Eclipse のインストール Lambda Function は AWS Toolkit for Eclipse を利用すると簡単に実装できます。今回は現時点の最新バージョンである Eclipse IDE for Java Developers Luna Service Release 2 (4.4.2)

    Lambda Function が Java で書けるようになりました! | DevelopersIO
  • WWDC 2015 で Swift 2 が発表されました。 | DevelopersIO

    Swift 2が発表されました 2015/6/8 アメリカはサンフランシスコで開催された WWDC2015 にてプログラミング言語Swiftの新バージョンであるSwift 2が発表されました。 私もTwitterのタイムラインを尻目に生中継を視聴していましたが、その中でとりわけ注目を集めていたのはなんといってもSwiftがオープンソース化し、将来的にはLinuxの上でも動くようになるという発表でした。 Appleの公式ブログによればSwiftは標準ライブラリ、コンパイラも合わせて今年の遅くにオープンソース化されるとのことです。OSSコミュニティからのコントリビューションも積極的に取り入れられるとのことで、バグの原因もOSSコミュニティの寄与によってパッチ等があてられて、目に見える形で言語開発が進むことが期待されます。 ドキュメント Pre-release版としてドキュメントがWWDC201

    WWDC 2015 で Swift 2 が発表されました。 | DevelopersIO