2017-01-01から1年間の記事一覧
TL;DR DynamoDB LocalはDynamoDB Streamsをサポートしている. 本物のDynamoDB Streamsのように,一定期間以上古いレコードについてはトリミングされる (具体的なトリミング期間については未調査). ドキュメントが少ない (見つけられなかった……) のに加え,…
bitly/oauth2_proxyを用いて,ウェブアプリケーションに手っ取り早くOAuth2認証を導入するという話です. oauth2_proxyは良い感じでOAuth2による認証を肩代わりしてくれる君で,何らかのリバースプロキシの認証機構と組み合わせて利用すると簡単にOAuth2ログ…
AWS Elastic Beanstalkは摩訶不思議な理由でhealth checkが通らなくなることがあります. たとえばEBの環境を新規に構築する際に,とりあえず動作するかどうか確認するためにAWSが用意してくれているサンプルアプリをデプロイしようとするでしょう.しかしこ…
例えば踏み台サーバに個人のアカウントで入ってから,或るuserにsuで切り替わって色々する,みたいなシチュエーションがあると思います. そんな時に,或るuserにsuする際にあらかじめ任意のコマンドを実行しておいてほしいという時がある.あるのです.とい…
tcpdumpの提供する-Wオプションと-Gオプション,ならびにcrontabを併用するといける.tcpdumpの-Wオプションはログローテーションを行う回数で,-Gはそのローテーション期間を秒数で指定できる. 例えば $ tcpdump -w ./%Y%m%d%H%M%S.pcap -W1 -G60などとや…
plenvやperlbrew等できれいなperl環境を利用している際に,Perl::Critic (例えばエディッタのsyntax checkingに引っ掛けているようなシチュエーション) やLなどの自分の環境でだけ動かすようなモジュールを環境グローバルに入れたくないという場合が生きてい…
ElasticsearchのX-Packはマジ便利なんですが,有償なので (だたしmonitor機能なんかは無償のBasicライセンスで使えて最高) 使わない人も多いでしょう. そんな場合,Elasticsearch/KibanaをDockerで動かすという時にX-Packを取り除きたくなるというのが人情…
やり方についてはドキュメントを読むと良い.docs.aws.amazon.com option_settings: aws:elasticbeanstalk:command: DeploymentPolicy: Immutable HealthCheckSuccessThreshold: Ok IgnoreHealthCheck: false Timeout: "600" 設定ファイルでやるならばこうい…
例えばCIでテストのためのストレージのコンテナを上げる際,そのストレージが上がりきるまで待たなければテストには使えないわけですが「上がりきるまで何秒待てばよいのか」というのは一概に決められるものではありません. そうした際,実際にストレージに…
インスタンスにメソッドを生やす class EmptyCat {} def cat = new EmptyCat() cat.metaClass.nyan = { return 'meow' } cat.nyan() // => 'meow' インスタンスの metaClass からMetaClass (HandleMetaClass) を引っ張ってきて,それ経由で生やしたいメソッ…
例えばElasticsearchを使ったプロジェクトがあったとして,それをCircleCIで継続的にテストしたいとする.CircleCI 2.0はコンテナベースのCI環境なので,そのプロジェクトが採用している言語のコンテナの上でElasticsearchを動かす必要がある.どうするか.c…
表題のような状況のトラブルシュートについて記します.moznion.hatenablog.comというかこれの続きです.怪奇現象など存在しない. 背景 ブラウザとかcurlとかからはリクエストが通るのにJavaからは通らない Let's encryptの証明書を使っている Let's encryp…
Multiple projectなgradle projectだと, apply plugin: "checkstyle" と書いてもそれだけではcheckstyle pluginがうまく動かない.おそらく Unable to create Root Module: config ... などというエラーとともに死ぬであろう. というのも,gradle checksty…
[追記] コメントで指摘がありましたが,Karabiner-ElementsのGUI上で complex modifications → Add rule → import more rules from the Internet → Exchange semicolon and colon を選択することで所望の動作の実現が可能なようです.従って本記事はcolonとs…
DDD (Domain Driven Design/ドメイン駆動設計) についての学習気運があり,その勉強会を社内でやったのでその経過を記すものです. DDDに関する詳細な内容には触れません (良い本や資料が巷には溢れています).読書会自体をどうやったか的な話です. 前提 de…
私信ですが転職いたします.以下の通りです.From: LINE To: Soracom関係各位に感謝を申し上げます.ありがとうございました. 以上です.よろしくお願いします.なお本記事は以下のレギュレーションに従いました.タイトルで煽らない、かしこまった見出しも…
kyoto-nanka.connpass.com「そして物語は更に何度目かのアプリ内通知再実装を迎える」というタイトルで話してきました.スライドは以下です.speakerdeck.com前回開催のKyoto.なんか #2では「そして物語は何度目かのアプリ内通知再実装を迎える」というタイ…
builderscon.io参加してきました. 見た中で印象に残ったトークについて感想を少し.詳細な内容を何も書けないんですがはちゃめちゃに面白かったブラウザ拡張のクロスブラウザ対応についての話.いろいろな便利ツールを自作して利用していて格好良かった.と…
表題のとおりです.話しました. これは僕が普段の開発中にエラーメッセージと触れあう時に気にしていたり,考えていることを上手いこと言語化したいという試みから始まったものです.speakerdeck.com発表中にdan kogaiさんから「『間違えたことを言っている…
*nixのexit statusのセマンティクスについてかつて質問して,答えていてもらっていたことを思い出したので記します. moznion [5:46 PM] signal受け取ってexitする時,そのsignalの値をそのままexit codeに使う,みたいなお作法みたいなのってあるんでしたっ…
Perl5の話題です. JSON::XSを用いて,JSON StringをPerlのHashRefにデシリアライズする時にtrueとfalseの扱いを変えたいという話です.デフォルト状態でJSON::XSを用いてデシリアライズすると, true は Types::Serialiser::true すなわち JSON::PP::Boolea…
Perl5の話題です.List::Haystackというものを書きました.CPANにもアップロードしています. 経緯としては以下.Perl,immutableな感じで,List (Array) 中から要素をfindしたり,出現回数を取るモジュールって存在しているんでしたっけ— パブリックイメー…
sub func { return 100; } みたいなサブルーチンがあった時に, say(func - 99); みたいな感じで呼び出すと,パッと見 1 が出力されそうに見えるが,実際は 100 が出力される. これは - 99 が func の引数として解釈されて食われるためである. B::Deparse …
yapcjapan.org出しました.最近YAPCでしか喋ってない感じがしますね.果たしてそうなのです.というわけでプロポーザル内容は以下のとおりです. Web application good error messages and bad error messages Webアプリケーションを作り,運用していると例…
メモ. Ansibleを利用するという文脈におけるbareなOpenWrtの環境の特徴としては以下のようなものがある; sftpが有効ではない Pythonランタイムが入っていない これらを解決すれば,あとはいつものように普通にAnsibleを使える (はず). というわけでそれぞ…
OpenWrtでうっかりLANのInterfaceの設定をしくじってしまったりすると,Web UIに入れなくなってしまい (もちろんsshもできない) その後の設定が一切不能になって詰む事があります.そういう時に工場出荷時 (という表現が正しいのかどうかはわかりませんが) …
BUFFALOの無線LANルータであるところのWZR-HP-AG300HにOpenWrtを焼いて利用する際のメモです.なおマシンのOSはmacOSです.Windows等だとちょっと違うかもしれないが概ね問題ないはず.buffalo.jp AG300HとマシンをLANケーブルで繋ぐ 適切なケーブルで繋ぐ …
MyBatisのMapperをGroovyのannotationを使って書くと何かと便利 (主に「XMLを書かなくても良い」という点で便利) なわけですが,そんな中で「WHERE IN」を利用したSELECTを @Select annotationベースでどうやって書くのかという件です.要は SELECT * FROM u…
前提 OpenSSLがbrewで入っている. 結論 こうすれば良い (brew環境下あるある); $ ./configure --with-ssl=$(brew --prefix openssl)Ref. Erlang -- Building and Installing Erlang/OTP 所感 わざわざソースコードからビルドしなくても,brew使ってるんだっ…
例えば `logout` みたいなユーザ名を取得されてしまうと,ユーザ側からすると不気味に見えるし,URL設計が終了している時などに脆弱性になり得る (とは言うものの,そもそもそういった脆弱性は根本的に防ぐべきだし,URL設計を終了させてはならない). ので…