サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
qiita.com/ryo0403
記事を読んでいただきありがとうございます。 普段はPM業務をしている駆け出しエンジニアです。 ある時先輩に、Pull Request(以下PR)レビューのコツについて聞いてみると、その先輩はレビューをする時はいつもgit pullをしてlocalで動作の確認をしているそうです。その話を聞いて面白いなと思ったので、記事にまとめてみました。 PRとは、開発の内容(マージ先との差分)を確認してもらうために提出する、Githubの機能の1つです。 チーム開発をした方であれば、誰もが使ったことがあると思いますが、割とGithubの画面上だけの確認になってしまいがちです。よくよく考えてみれば、「(git) pull依頼」という意味なので、元はgit pullをする前提だったのかなと思います(常識だったらすみません)。 エディタの静的エラーが出る 今回その先輩と一緒に入っている案件は、PHP/Larav
qiita.com/ryo0301
S3のJSONを気軽にAthenaで集計したいと思い、安く済ます方法を調べた。 事前の印象では結構なお値段かかってしまうものだと思っていたが、小さいデータを最低コストで集計する分にはかなり安く済みそうだった。 ということで、ここでやりたいのは、 S3の小さいデータを 気軽に 安く SQLで集計する ということで、RDSなど立てるのはもってのほかである。 前提知識 パーティション データをパーティション分割することで、各クエリでスキャンするデータの量を制限し、パフォーマンスの向上とコストの削減を達成できます。Athena では、データのパーティション分割に Hive を使用します。すべてのキーでデータをパーティション化できます。一般的な方法では、時間に基づいてデータをパーティション分割します。これにより、通常、複数レベルのパーティション構成となります。たとえば、1 時間ごとに配信されるデータ
きっかけ Slack botの開発を始めたところ非常にやりにくかった。 手元のPCにSlackアプリがあり、自作のSlack botも起動している状態で、それがお互いに通信するにはSlackのサーバーを経由する必要があるからだ。 そうすると、Slackサーバーから手元のSlack botにアクセスできるようにしなければならない。 ということで、色々調べてみるとリバースプロキシサービスを使って開発している人が多いようだった。 例えば、ngrok, servo, localhost.runなどを使っている人がいた。 ただ、外部のサービスに社内のチャット内容とかトークンとか流したくない・・・と思ったので自分の管理下のAWS VPC内にリバースプロキシを立てることにした。 最終的にこんな感じで起動できるようになった。 出来ること リバースプロキシで出来るようにしたこと。 実際はCaddyがやってく
注意点 ここに書かれている設計では、各AWSアカウントのLambdaがログ集約先のElasticsearch Serviceに直接書き込んでいる。 ログの出力量は調整できないのでElasticsearchの書き込み負荷を制御できない。 Elasticsearch Serviceの前段にFirehoseを挟むなどすれば負荷を監視・制御できる(試してない)。 クッションを入れることでElasticsearch Serviceをスケールさせる余裕が生まれるはず。 また、Firehoseを挟むことでLambdaでの変換処理や変換済みデータのS3へのバックアップなど柔軟に対応できる(試してない)。 (参考) Amazon Kinesis Data Firehose で Amazon Elasticsearch Service 7.x クラスターへのデータストリーム配信をサポート 概要 いくつかのAW
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? プログラムでよく使われる下記の3種類の括弧について調べた。 () [] {} 日本での扱い そもそも、個人的な経験では ()=小括弧、{}=中括弧、[]=大括弧 と聞いていたし、そう信じていた。 Wikipedia Wikipediaの 注釈 を引用するとこういうことになってるらしい。 日本などの一部の国では、数式における括弧の入れ子は [{()}] の順で用いられてきた。しかし、世界的には {[()]} の順で用いられる方式が多数派である。 JIS Z 8201-1981 においても「小括弧」・「中括弧」・「大括弧」という名称は廃止さ
S3のバケットにアクセスするには2つの形式のURLがある。 仮想ホスト形式(virtual-hosted-style)とパス形式(path-style)である。 仮想ホスト形式 バケットがどのリージョンにあっても下記の形式でアクセスできる。 http://bucket.s3.amazonaws.com リージョンごとのエンドポイントでもアクセスできる。 下記は東京リージョンの場合。 http://bucket.s3-ap-northeast-1.amazonaws.com パス形式 パス形式の場合は仮想ホスト形式と違ってリージョンの指定が必須。 US Standard endpointの場合。 http://s3.amazonaws.com/bucket 東京リージョンの場合。 http://s3-ap-northeast-1.amazonaws.com/bucket 注意点 ホスト名とア
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ImportInstance ではなく ImportImage でVMインポートを行う。 S3にVMイメージが置いてある前提で、S3のイメージから直接AMIとEBSスナップショットを作成する。 ローカルPCに最新の awscli をインストールしておくこと。 VMイメージのエクスポート手順は ImportInstance と同じ。 以下、気をつけたこと。前提条件については VM Import/Export Prerequisites も参照。 CentOS4.5 → 5.1~5.11、6.1~6.6、7.0、7.1どれかへのアップグレード Grubブートローダー(レガシーバージョンもしくは新しいGrub 2)および、ストックカーネルを使う DHCPを有効にする iptablesを無効にする ルートファイルシステムはext2、ext3、ext4、Btrfs、JFS、XFSのいずれか /boo
発端 ローカルPCからAWSのAPIを呼び出す場合、アクセスキーをローカルに保存しておく必要がある。 ディスクは暗号化してるしパスワードでロックもされてるけど、大きい権限を持ったユーザのアクセスキーをベタ書きにしておくのは気がひける。 かといって何も出来ないユーザを作っても意味が無い。 ということで、権限の少ないユーザから大きな権限を持つロールを一時的に拝借する形にした。 aws-cliの自動AssumeRoleとの使い分け aws-cli には 自動的にAssumeRoleを行ってくれる機能 がある。cliだけ使うならこちらを使ったほうがいいと思う。 mfa_serial を指定すればワンタイムトークンも使えるし、クレデンシャルの有効期限が切れたら再入力を促してくれる。 ただ、AWS SDK for Ruby では自動的にAssumeRoleしてくれないようだった。 SDKでもクレデンシ
概要 S3 に JavaScript のモジュールを置き、そのバケット名とオブジェクトキーを Kinesis ストリームに流すことで Lambda から動的に JS を呼び出し実行してみる。 何に使うんでしょうね。 サンプルコード ローカルに書き出したファイル名に context.invokeid を使うことで require にキャッシュされることはなくなった。 つまり遅い。 つまりステートレスと言っているけど require の結果はキャッシュされているみたい。 Lambda function var fs = require('fs'); var aws = require('aws-sdk'); var s3 = new aws.S3({apiVersion: '2006-03-01'}); exports.handler = function(event, context) {
"Resources": { "ClientSecurityGroup": { "Type" : "AWS::EC2::SecurityGroup", "Properties" : { "GroupDescription" : "for consul-client", "VpcId" : {"Ref" : "VpcId"}, "Tags" : [ {"Key" : "Name", "Value" : "consul-client"} ] } }, "ClientSecurityGroupIngressSerfLanTcpFromServer": { "Type": "AWS::EC2::SecurityGroupIngress", "Properties": { "IpProtocol" : "tcp", "FromPort" : "8301", "ToPort" : "8301", "S
公式ドキュメントでは gm でサムネイルを作っているが node-imagemagick が入っているのでそのまま貼れば一応動く。 node-imagemagick はメンテされてないので gm を使ったほうがいいとは思う。 元画像用のバケットと、そのバケット名に -thumbnail のサフィックスを付けたサムネイル用バケットが必要。 S3 バケットを作る バケットとファンクションは同じリージョンに作る必要がある。 今回は US Standard に作った。 Lambda ファンクションを作る Lambda function code var fs = require('fs'); var im = require('imagemagick'); var aws = require('aws-sdk'); var s3 = new aws.S3({apiVersion: '2006-03
# ! /bin/sh ### BEGIN INIT INFO # Provides: myapp # Required-Start: $local_fs $network $remote_fs # Should-Start: $time # Required-Stop: $local_fs $network $remote_fs # Should-Stop: # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: start and stop MyApp # Description: MyApp is a very fast and reliable application # used for illustrating init scripts ### END INIT INFO . /etc/rc.d/i
AWS SDK for Ruby V2 が2014/09/26にリリースされた。 と思ったら2015/02/05にはResourcesインターフェイスを含めた最初の安定版がリリースされた。もうpreじゃない。 主にV1との違いについて気になったことを書き連ねてみた。 リポジトリはここ。 https://github.com/aws/aws-sdk-core-ruby APIドキュメントはここ。 http://docs.aws.amazon.com/sdkforruby/api/frames.html インストール こちらの公式ブログにバージョンの差異についてまとめられているので一読することをお勧めする。 あと、V1前提のライブラリ作者向けにV1の使用を明示することを推奨(強)している。 Upcoming Stable Release of AWS SDK for Ruby - Versio
MacBook AirにAndroid Studioを入れ、Google Play Services SDKをプロジェクトに組み込んだ時のお話。 Androidアプリの開発経験はない。 Android Studioのインストール ここからダウンロードして、インストールするだけ。 http://developer.android.com/sdk/installing/studio.html Mac版のAndroid StudioはJRE6がないと起動しない模様。 MacStoreがJRE6をインストールするか聞いてくるが、インストールしてはいけない。 何回インストールしても「インストールしますか?」と聞かれることになる。 JDKをインストールした時の話はこちら↓。 MacにJDKをインストール Google Play Services SDKのセットアップ 新規プロジェクトを作成した状態。
{ "Statement":[ // S3ホームディレクトリでバケット一覧を表示するために必要 { "Effect":"Allow", "Action":[ "s3:ListAllMyBuckets" ], "Resource":"arn:aws:s3:::*" }, // バケットに対する操作を許可 { "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource":"arn:aws:s3:::bucket" }, // オブジェクトに対する操作を許可 { "Effect":"Allow", "Action":[ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource":"arn:aws:s3:::bucket/*"
2012年頃に買ったMacBook Air。 Android Studioをインストールしようと思ったら、Javaがインストールされていない。 そこでJDKをインストールしたわけだが意外に面倒、というか複雑だったのでメモ。 OpenJDKについては調べてもいない。 現状の確認 Javaのバージョン /Applications/Utilities/Java Preferences.app を探したけど、Mac OSX10.8以降では存在しないらしい。 OSをアップデートした人は残ってるかも。 なので、コンソールからjava -versionで確認。 「インストールしますか?」と聞かれたら、まだインストールしない。 Android StudioなどJava製のアプリを起動してもAppStoreが「インストールしますか?」と聞いてくる。 そこでインストールしたとしても、何回でも聞いてくるのでイン
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く