タグ

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

  • sbtのコンパイル時間やテスト時間を短くする方法について調べてみた | DevelopersIO

    モバイルアプリサービス部の五十嵐です。 最近scalaプロジェクトにアサインされたのですが、scalaのコンパイルにマシンパワーを使うため周囲からMBPのファンの音がうるさいとクレームをもらうようになりました。また、コンパイルやテストの度に数十秒〜数分かかると集中力が切れて、ついついポケモンGoをさわってしまうのでよろしくありません。 そこで、sbtのコンパイル時間やテスト時間を短くする方法について調べてみました。 なお、この記事で対象としているプロジェクトの構成は以下のとおりです。 sbt 1.0.3 scala 2.11.7 コンパイル時に不要なArtifactを作成しない build.sbt ファイルにArtifactの生成に関する設定をすることができます。 // disable publishing the main jar produced by `package` publi

    sbtのコンパイル時間やテスト時間を短くする方法について調べてみた | DevelopersIO
  • インスタンスが起動できない。容量不足のエラーについて | DevelopersIO

    はじめに オペレーションチームでは運用作業やお問い合わせで様々なエラーに遭遇します。 ごく稀にキャパシティの不足が原因でインスタンスを起動できない場合がありますが、 あまり見慣れないエラーだと思いますのでエラーや回避策についてご紹介します。 エラー内容 全てのログを取れていないのですが以下のようなログがあります。 EC2 A server error (InsufficientInstanceCapacity) occurred when calling the StartInstances operation: We currently do not have sufficient t2.small capacity in the Availability Zone you requested (ap-northeast-1c). Our system will be working o

    インスタンスが起動できない。容量不足のエラーについて | DevelopersIO
  • Amazon Elasticsearch Serviceをログの収集・参照に使うために最低限必要なこと | DevelopersIO

    モバイルアプリサービス部@モバイルバックエンドチームの五十嵐です。 ログデータの収集・参照のためにAmazon Elasticsearch Service + Kibanaを利用しました。 実際にやってみて分かった設計上のポイントをまとめてみます。 データ量 ストレージが利用するデータ量は、登録するJSONのデータ量だけでなくIndexによるメタ情報が付加されます。データ量を求めるには、実際のデータを登録してみて1件あたりのデータ量を測定するのが確実です。 Amazon Elasticsearch Serviceの場合は、ストレージ(EBSボリューム)のサイズを後から変更できるため、シビアに考えなくても良いと思います。 データ量を抑えるには、不要なIndexを作らないようにする方法もあります。例えば、検索するFieldが限られているのであれば、メタフィールドの _all (全てのフィールド

    Amazon Elasticsearch Serviceをログの収集・参照に使うために最低限必要なこと | DevelopersIO
  • AWS CLIでクレデンシャルファイルパスを環境変数から設定できるようになりました | DevelopersIO

    AWS CLIには 出力形式などのCLIの設定(以下configファイル。Unix系は~/.aws/config,Windows系はC:\Users\USERNAME\.aws\config) AWSクレデンシャル情報の設定(以下credentialsファイル。Unix系は~/.aws/credentials,Windows系はC:\Users\USERNAME\.aws\credentials) の2種類の設定ファイルがあります。 これまではconfigファイルは環境変数AWS_CONFIG_FILEでファイルパスを変更できましたが、credentialsファイルには該当するものが存在しませんでした。 AWS CLI 1.7.45のリリースからは環境変数AWS_SHARED_CREDENTIALS_FILEが追加され、credentialsファイルもパスを変更できるようになりました。 使

    AWS CLIでクレデンシャルファイルパスを環境変数から設定できるようになりました | DevelopersIO
  • 【新機能】Amazon RekognitionにImage Moderationが追加されました! | DevelopersIO

    ご機嫌いかがでしょうか、豊崎です。 AWSから大量のアップデートがありましたね。 ここでは日4月20日(現地時間19日)に発表されたAmazon RekognitionのImage moderationを触っていきたいと思います。 Image moderationとは Amazon Rekognitionの追加機能で、moderation(「節度」とAWS公式サイトでは表現しています)を判定する機能です。 具体的には、不適切な画像(例えばヌードや、露骨ないやらしさなど)を判定することができる機能です。 判定には詳細なサブカテゴリがあり、どこまで許容するかサイトによってチューニングすることができます。 AWSマネジメントコンソールからテストができますので、触りながら確認していきましょう。 Image moderationを触ってみる Amazon RekognitionダッシュボードにIm

    【新機能】Amazon RekognitionにImage Moderationが追加されました! | DevelopersIO
  • 画面上の任意のポイントにカーソル移動するパッケージ avy.el のご紹介 | DevelopersIO

    カーソルのダイレクト移動 Emacs のパッケージ avy.el を利用すれば、画面内の任意のポイントへダイレクトにカーソルを移動することができます。 実行例 以下は avy 実行時の様子です。 49 行目にカーソルがある状態で、53 行目の self の前にジャンプしています。 私は以下のように avy-goto-char-timer というコマンドを Control + Meta + ; に割り当てています。 (global-set-key (kbd "C-M-;") 'avy-goto-char-timer) これを実行すると avy は一定時間(デフォルトで 0.5 秒)文字の入力を受け付け、タイムアウトとなるまで入力された文字列でバッファ内を検索します。 文字列がマッチした箇所には ヒント が表示され、そのヒント文字列を入力すると、その場所にカーソルが移動します。 上の例では入力

    画面上の任意のポイントにカーソル移動するパッケージ avy.el のご紹介 | DevelopersIO
    nacika_inscatolare
    nacika_inscatolare 2017/04/11
    [xcode][マルチキャレット]
  • CloudWatchの通知を簡単にSlack,Spark,SMSに送る方法 | DevelopersIO

    こんにちは。大阪の市田です。 今回は、CloudWatchのアラーム通知をSlack等に簡単に送る方法をご紹介したいと思います。 背景 CloudWatchでアラーム通知を行う場合、「Amazon SNSでメール送信」という形での利用が結構多いのかなと思います。最近だと、SNSからLambda経由でSlackにPostする、という形も見られるようになりました。 しかし、通知先に応じてLambda関数を作成する必要があるので、もっと簡単にする為に「IFTTT」を使って色んなサービスに通知を送ってみます。 概要 今回は、IFTTT Maker channelの「web request」機能を使います。これは、IFTTTでWebhookが利用できるものです。Webhookを利用してLambdaからSlackなどのサービスと連携させてみます。 手順の項目 IFTTTのアカウントの作成 Slack,

    CloudWatchの通知を簡単にSlack,Spark,SMSに送る方法 | DevelopersIO
    nacika_inscatolare
    nacika_inscatolare 2017/03/16
    障害検知にIFFTT使いたくない
  • S3の特定パスのみに対して全ての操作が可能なIAMポリシー | DevelopersIO

    このうち、後ろの2種類は、バケットに対するアクションです。つまり、前述のポリシーでは、s3:*という全アクション指定をしているものの、arn:aws:s3:::access-control-on-specific-path/dir_a/*という形式でバケットではなくオブジェクトでリソース指定をしている為に、実質的には後ろの2種類のバケット操作系の権限は付与されていないということになります。 ListObjectsするにはs3:ListBucketが必要 今回エラーとなって実行できていないListObjectsをする為には、s3:ListBucket権限が必要なことがわかりました。s3:ListBucketはバケットオペレーションとなる為、バケットをリソースとして権限を付与する必要があります。 オブジェクトオペレーション s3:GetObject s3:GetObjectVersion s3

    S3の特定パスのみに対して全ての操作が可能なIAMポリシー | DevelopersIO
    nacika_inscatolare
    nacika_inscatolare 2017/03/09
    ちょっとしたレンタルサーバーだよね
  • Amazon Elastic Transcoderでサムネイル画像を作成してみた | DevelopersIO

    はじめに 清水です。Amazon Elastic Transcoderではトランスコード時にサムネイル画像も出力することができます。今回はこの機能を触ってみたのでまとめたいと思います。 特別な設定をしないでサムネイル画像を出力してみる まず基的な使い方として、特段設定をせずに(=既存のSystem presetを使用して)サムネイル画像の出力をしてみたいと思います。 Elastic Transcoderのジョブ作成時に指定するPresetですが、System Presetで準備されているもののうちすべてを確認したわけではありませんが、Video変換が含まれているものにはサムネイル画像出力設定についても含まれているようでした。 今回はサムネイル画像出力設定が確認できたものの1つである「System preset: Generic 1080p」のプリセットを使用してみます。入力動画はBig

    Amazon Elastic Transcoderでサムネイル画像を作成してみた | DevelopersIO
  • 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO

    jq Manual jqで簡単JSON加工 | Developers.IO jqコマンドが実は高性能すぎてビビッた話 - beatsync.net JSONを超絶に読みやすくする jq コマンド - WebAPIバリバリ使うor開発する人必須 CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記 JSON形式の情報を様々な条件や書式として成形、フィルタリングツール『jq』。上記関連エントリで私もこのツールの存在を知る事になったのですが、ツールの簡易さ・便利さに感動しながら私もちょくちょく利用させてもらっています。 そこでこのエントリでは、jq公式ページに展開されている利用ガイド・リファレンス的な位置付けの『jq Manual』を写経がてらざっくり日語訳してみました。ざっくり訳なのでこの部分の訳おかしい・間違ってる等ありましたら御指摘頂けると幸いです。例示されているサンプルコードも

    軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO
  • date コマンドで日時に関する情報を出力する | DevelopersIO

    フォーマット内にスペースが存在する場合はフォーマット全体をダブルクォーテーションで囲みます。 tanakakeisuke:<~> date "+%Y-%m-%d %H:%M:%S" 2017-01-20 15:15:21 応用 コマンド実行時に、現在時刻がファイル名となるテキストファイルを作成します。 ~/.bashrc に以下のエイリアスを登録します。 alias testfile='touch ~/Desktop/`date +%Y-%m-%d_%H.%M.%S`.txt' これで testfile というコマンドを実行すれば デスクトップに 年-月-日_時.分.秒.txt という空ファイルが生成されます。 バッククォートで囲んだ部分 date +%Y-%m-%d_%H.%M.%S で date コマンドを実行し、その出力結果をファイル名のプレフィックスとしています。 コマンド実行時の

    date コマンドで日時に関する情報を出力する | DevelopersIO
    nacika_inscatolare
    nacika_inscatolare 2017/01/20
    いきなりファルコンでてきた
  • Deeplearning4J on Spark | Hadoop Advent Calendar 2016 #20 | DevelopersIO

    こんにちは、小澤です。 この記事はHadoop Advent Calendar 20日目のものとなります。 1人でHadoopの話をする Advent Calendar 2016 - Qiita Hadoop Advent Calendar 2016 | シリーズ | Developers.IO 前回はZeppelinについて書かせていただきました。 今回はJavaで実装されたDeep LearningのライブラリであるDeeplearning4JをSparkから利用してみたいと思います。 Deep Learningとは Deep Learningについてはその名前を聞いたことがあるという方も多いかもしれません。 現在の人工知能AIのブームを代表する技術であるため、「どんなものか詳しくは知らないけどすごいことができる」と認識してる方も多かと思います。 そのため、まずはDeep Learn

    Deeplearning4J on Spark | Hadoop Advent Calendar 2016 #20 | DevelopersIO
  • Amazon AthenaでELBログをSQLで解析する #reinvent | DevelopersIO

    西澤です。目新しさの無いエントリーですが、溜め込んだELBログを解析する必要があったので試してみることにしました。Amazon Athenaは東京リージョンでは使えないので、OregonリージョンのAthenaから、東京リージョンのS3バケットをデータソースとして検証しました。 と言ってもほぼ下記ページにやり方は詳しく載っていますので、公式ページを見ていただく形でも構いません。 Analyzing Data in S3 using Amazon Athena | AWS Big Data Blog Athenaでデータベースを作成する データベースエンジニアで無い担当者からすると、専用のSQLクライアントを用意すること無く、AWS Management Console上で全ての操作が完結するというのは大変嬉しいです。GUIで操作することもできますが、テーブルを作成するデータベースを先に別に

    Amazon AthenaでELBログをSQLで解析する #reinvent | DevelopersIO
  • Amazon AthenaでいろいろなSELECTを実行してみる | DevelopersIO

    はじめに re:Invent 2016で発表されたAthenaについては弊社でも既に様々な記事が出ております。公式サイトによるといろいろなSQLを使う事ができるようなのですが、今回はデータのSELECTを実際に試してみました。 SELECTの実行 Athenaの実行方法については弊社の記事などを参考にしてください。今回はデフォルトで用意されているsampledb.elb_logsテーブルに対してSELECTを実行してみました。 以下、今回試したSELECTの種類です。 with distinct join where group by having union order by limit tablesample unnest with 以下のSQLを実行しました。 with elb_logs_with as ( select requestip, backendport from elb

    Amazon AthenaでいろいろなSELECTを実行してみる | DevelopersIO
  • デザイン提案時に使えるいくつかのコツ | DevelopersIO

    デザイン提案時には様々な苦労をすることがあります。 そんな中で色々と試してみて、結果的に使えると感じたいくつかのコツをご紹介したいと思います。 ※この記事で扱う「提案」はデザインコンペ等のデザイン提案ではなく、受注した案件の開発フェーズにおけるデザイン提案を主に扱います。 提案は始めから複数の案を作ると効率的 提案は始めから複数案で 複数案はリスク回避と効率化につながる デザインコンセプトが明確に異なる複数の案を用意する ブラッシュアップするのは、ある程度の方向性の合意を得てからでも遅くはない 複数案の提出が求められていなくとも、複数の案を提出することのメリットは大きいです。 渾身の一案を作り上げても、方向性がずれていた場合、そこに費やした時間は無駄になってしまいます。 最小のコストで素早く合意形成に達するためには、一つの案を作りこむよりも複数の案で当たりをつけ、その中で認識のあっているも

    デザイン提案時に使えるいくつかのコツ | DevelopersIO
  • クラスメソッド2次元社員めそ子のコーナー | DevelopersIO

    こんにちは、めそ子です。いつもは広報兼人事担当として、クラスメソッドをアピールするための活動をしていますが、今回は僭越ながら、少しだけ、私のことについてお話しさせてください。 クラスメソッドの二次元社員・めそ子のプロフィール

    クラスメソッド2次元社員めそ子のコーナー | DevelopersIO
    nacika_inscatolare
    nacika_inscatolare 2016/09/29
    エレン先生と負けてない
  • [Docker]HEALTHCHECKオプションを試す | DevelopersIO

    コンニチハ、千葉です。小ネタです。 Docker1.12.0-rc3がリリースされてました。 今回は、その中から「HEALTHCHECK」オプションを試してみました。HEALTHCHECKオプションはdockerバージョンが1.12以降で利用できます。 オプション 指定可能なオプションは以下となります。 --health-cmd string # ヘルスチェック用のコマンドを指定 --health-interval duration # ヘルスチェック間隔を指定(秒) --health-timeout duration # ヘルスチェック時のタイムアウトを指定(秒) --health-retries int # ヘルスチェック失敗時のリトライ回数を指定 やってみた まず、dockerのバージョンを確認します。 1.12より古い場合は、バージョンアップを行ってください。私はMac環境なので、

    [Docker]HEALTHCHECKオプションを試す | DevelopersIO
  • AWS CLIを使ったIAMユーザ一括登録 | DevelopersIO

    AWS CLIを利用したbashスクリプトでIAMユーザを一括登録する方法をご紹介します。 概要 AWSの操作をするためにはAWSへとアクセスする権限が必要です。AWSへとアクセスする人に対して権限を付与するためにはIAM Userを利用するのが一般的な方法です。 IAM Userを作成するにはManagement Consoleから操作することもできますが、その数が5人とか10人とかになってくるとなかなか面倒大変な作業になります。 そこでbashスクリプトを書いて登録を出来る限り登録を自動化してみました。動作確認は私の手元のMac OS X 10.11で行っています。 処理概要 ユーザ名を列挙したテキストファイルを保存しておく 作成したIAM Userは、ひとつのIAM Groupに所属させる コマンドラインオプションで、アクセスキーとManagement Consoleへのパスワードを

    AWS CLIを使ったIAMユーザ一括登録 | DevelopersIO
  • [iOS9] 超手抜きATS対応(最後の砦) | DevelopersIO

    1 はじめに いよいよ、ATSが審査の対象となるようですが、皆様のアプリのATS対応は、進んでいるでしょうか。 今回は、https以外のURL遷移で、Safariに制御を渡してしまう、最も手抜きなATS対応を試してみました。 2 テストプログラム 当初、UIWebViewを指定したURLに遷移させる簡単なサンプルアプリを作成します。 #pragma Action - (IBAction)tapGoButton:(id)sender { // GOボタンをタップすれうと、入力したURLに遷移する NSURL *url = [NSURL URLWithString:self.urlTextField.text]; NSURLRequest *req = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:req]; } #p

    [iOS9] 超手抜きATS対応(最後の砦) | DevelopersIO
  • 【小ネタ】EBS最適化インスタンスをCLIツールでスペックダウンするときの注意点 | DevelopersIO

    こんにちは。半瀬です。 今回も運用備忘ネタです。コツコツ書きます。 マネジメントコンソールを使用せずに、aws cliやaws tools(windows) などからインスタンスのスペック変更を実行するとき、 EBS最適化インスタンスを、EBS最適化の有効化ができないインスタンスタイプへスペックダウンをした場合、EBS最適化を「無効」とする処理を入れないと起動に失敗します。というお話です(おわり)。 簡単に確認 今回はお問い合わせ頂いた環境がwindowsインスタンスでしたので、「aws tools for windows powershell」 を使用した確認となっています。 以下の2インスタンスを用意します。 ・powershell実行元インスタンス(t2.micro) ・操作対象インスタンス(c4.large+EBS最適化を「有効」として起動) ※ regionはus-west-2(

    【小ネタ】EBS最適化インスタンスをCLIツールでスペックダウンするときの注意点 | DevelopersIO