AWS SDK for Java(&KCL)でのDynamoDB、Kinesisのリージョン&プロキシ設定
コードだけ。
プロキシの設定は両者ともcom.amazonaws.ClientConfigurationを使う。
リージョン設定はDynamoDBの場合、com.amazonaws.regions.Regionを渡し、Kinesisでは名前の文字列を渡すだけでいい。
DynamoDB
// クレデンシャルプロバイダ AWSCredentialsProvider credentialsProvider = new InstanceProfileCredentialsProvider(); // クライアント(プロキシ)設定 ClientConfiguration clientConfig = new ClientConfiguration(); clientConfig.setProxyHost("unko.proxy.jp"); clientConfig.setProxyPort(8080); // クライアント生成 client = new AmazonDynamoDBClient(credentialsProvider, clientConfig); // リージョン設定 client.setRegion(Region.getRegion(Regions.fromName("us-west-2"))); // 実行 DynamoDB dynamo = new DynamoDB(client); Table table = dynamo.getTable("people");
Kinesis
String applicationName = "hogeApp"; String streamName = "hogeStream"; String workerId = InetAddress.getLocalHost().getCanonicalHostName() + ":" + UUID.randomUUID(); // クレデンシャルプロバイダ AWSCredentialsProvider credentialsProvider = new InstanceProfileCredentialsProvider(); // キネシスクライアント設定生成 KinesisClientLibConfiguration kinesisClientLibConfiguration = new KinesisClientLibConfiguration( applicationName, streamName, credentialsProvider, workerId); // リージョン設定 kinesisClientLibConfiguration.withRegionName("us-west-2"); // クライアント(プロキシ)設定 ClientConfiguration clientConfig = new ClientConfiguration(); clientConfig.setProxyHost("unko.proxy.jp"); clientConfig.setProxyPort(8080); kinesisClientLibConfiguration.withCommonClientConfig(clientConfig); // 実行 IRecordProcessorFactory recordProcessorFactory = new ProcessorFactory(); Worker worker = new Worker(recordProcessorFactory, kinesisClientLibConfiguration); worker.run();
railsで使用するgitignoreメモ
まず前提としてgithubが公開しているものをベースにする。
gitignore/Rails.gitignore at master · github/gitignore · GitHub
secret_token.rbとsecrets.ymlについてはどうしようか。
まぁ案件の規模にもよるだろうけど、どちらにしろプライベートな場所に置くと思うのでとりあえずコメントアウトしておく。
# TODO Comment out these rules if you are OK with secrets being uploaded to the repo # config/initializers/secret_token.rb # config/secrets.yml
あとはエディタ、OSのゴミなど細かいのを追加。
doc/ *.swp *~ .project .DS_Store .idea .secret
で最終的にはできたのはこんな感じ。
*.rbc capybara-*.html .rspec /log /tmp /db/*.sqlite3 /public/system /coverage/ /spec/tmp **.orig rerun.txt pickle-email-*.html # TODO Comment out these rules if you are OK with secrets being uploaded to the repo # config/initializers/secret_token.rb # config/secrets.yml ## Environment normalisation: /.bundle /vendor/bundle # these should all be checked in to normalise the environment: # Gemfile.lock, .ruby-version, .ruby-gemset # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: .rvmrc # if using bower-rails ignore default bower_components path bower.json files /vendor/assets/bower_components *.bowerrc bower.json # Ignore other unneeded files. doc/ *.swp *~ .project .DS_Store .idea .secret
とりあえずこれでやってみる。
なんか不便を感じればその都度改良していこう。
modern.IEの設定方法メモ
よく忘れるのでメモ。
- https://www.modern.ie/ja-jp/virtualization-tools#downloads から実行する側のOSを選択後、目的のバージョンのsfx、rarをダウンロード
- sfxに実行権限を付与(chmod +x 〜)
- sfxを実行してファイルを結合
- カレントディレクトリにovaファイルが出来ているので実行する
- vmware、virtualboxなどが立ち上がるので日本語設定(タイムゾーン、言語パック)を行う
- 言語を変更した後は一旦ログオフしてからIEUser:Passw0rd!でログインしなおす
- hostsファイルにてlocalhostを10.0.2.2に向けてアクセス
以上。
glowshi-ft.vimでストレスフリーな横移動を実現する
皆さんこんばんわ。
そろそろ梅雨も明けたでしょうか。
海開き、山開きの時期を迎え、いよいよ本格的な夏の到来となりました。
熱中症などにはくれぐれもお気をつけて、素敵なvim活をお過ごし下さい。
本日は自作プラギンの紹介をしたいと思います。
本当はmomonga.vim #3の頃にはあらかた出来ていたのですが、中途半端な状態から怒涛の放置が続いてしまいました。
最近ようやく落ち着いてきたので記事にしてみたいと思います。
vimの横移動について
皆さんはvimでどういう横移動をしていますか?
h/l?w/b?
私はやっぱりf/tが好きです。
f{char}と入力することで直近の{char}に移動できるアレです。
ただ一つ気に入らない点があって、同一行に対象の文字が複数あった場合に目的の位置に一発で移動しづらいっていう問題があります。
2faとすれば2個目のaに移動できるものの個数を数えるという作業が入るし、数えた末に間違えてた日にゃあキーボード叩き潰したろか、とか思ってしまうわけです。
最近は横移動のプラグインも出揃ってきているので色々使ったりしていましたが、自分にもいいアイデアが浮かんだので形にしてみることにしました。
glowshi-ft.vimを使う
saihoooooooo/glowshi-ft.vim
https://github.com/saihoooooooo/glowshi-ft.vim
glowshi-ftとはglow shift(光る移動)とftの動きを改善したという意味を込めて名付けました。
gif動画を作ったので、見てもらうと動きがわかりやすいかと思います。
といった特徴を持っています。
其ノ壱.vimmerに優しい操作性
前述の通り、対象文字間の移動にはh/lが使えるのでこれ以上ない直感的な操作が可能です。
気づいたらエクセルがhjklで埋め尽くされているアナタも安心。
ストレスフリーです。
其ノ弐.移動と同時にキー入力
候補を移動中に操作できるキーはh/lのようにいくつか用意されていますが、それ以外の用途が割り当てられていないキーを押すと入力時点での位置に移動を確定しつつ、そのキーを入力した状態に移行します。
たとえばある候補の上でiを押せば移動後に即インサートモードになり、またある候補の上でdを押せば入力待ち状態になるため続けてiwと押すことでテキストオブジェクトでの削除が行えます。
これはストレスフリー。
hubotでLGTM
http://www.lgtm.in/ というLGTM画像を集めたサービスがあります。
LGTMとは"Looks Good To Me"の略でコードレビューして問題がなかった時に、「良さそうに見える」という意思を伝えるための言葉です。
LGTM画像はそれを表現した画像で、サムズアップしてるgif動画なんかが多い印象です。
ただ単に「レビューOKです」と言うよりは画像があったほうが楽しい気持ちになりますよね。
というわけで、これを使ってhubot内で目出鯛気持ちをつたえ鯛と思います。
# Description: # LGTM image from http://www.lgtm.in/. # # Dependencies: # "request": "~2.27.0" # "cheerio": "~0.12.1" # # Commands: # hubot lgtm - Random LGTM image URL. # # Author: # saihoooooooo request = require 'request' cheerio = require 'cheerio' module.exports = (robot) -> robot.respond /LGTM/i, (msg) -> url = 'http://www.lgtm.in/g' request url, (error, response, body) -> if error or response.statusCode != 200 msg.send 'ERROR: 通信に失敗しました' else $ = cheerio.load body msg.send $('#imageUrl').val()
cheerioマジ便利。
使い方は
hubot lgtm
とするだけ。
これで殺伐としたレビュー窓にも華やいだフローラルの香りが!?
それではまた。
良いレビューを!