タグ

ブックマーク / oretachino.hatenablog.com (16)

  • ncコマンドでTCP/UDPポートの疎通確認をする - 俺たちのブログ

    3号です。 このシノギをしていると謎の力によって通信が遮断されてとても困ることがあります。 私の現場ではfluentdを運用しているのですが、つい先ほど転送元ホストから転送先ホストにログが転送できなくなってしまいました。 fluentdはログの受け口として24224番ポートをTCP、UDP双方でリスンするのでこのポートを調査します。 まずTCP24224ポートの調査です。telnetを用いるのが定番ですが掲題のncコマンドでもできるので今回はncコマンドでやってみます。 次のようにして転送先ホストで24224番をTCPでリスンします。 nc -l -p 24224 そして転送元から次のようにhello tcpというメッセージを送ります。 echo "hello tcp" | nc TARGET_HOST 24224 疎通ができれば転送先にhello tcpというメッセージが表示されます。

    ncコマンドでTCP/UDPポートの疎通確認をする - 俺たちのブログ
    studio3104
    studio3104 2015/02/24
    “このシノギ”
  • CloudFront+S3の画像配信にリサイズ機能を追加する - 俺たちのブログ

    CloudFront+S3の画像配信システムに、サムネイルとかに使う画像のリサイズ機能を追加してみる。 要するにオリジナル画像がこのURLだとすると、 http://xxx.cloudfront.net/sample.jpg こういうURLで100×100にリサイズできるようにする。 http://xxx.cloudfront.net/resize/100x100/sample.jpg システム構成 元の構成はこういうのを想定。 画像はS3に保存され、アクセスは全てCloudFront経由。 これをパスが/resize/で始まる場合は、画像変換サーバを通してリサイズするようにする。 画像変換サーバはEC2で、ちゃんとELBを使って冗長化もする。 既にELB+EC2でAPPサーバを運用しているなら、流用して追加コスト0で実現できるかも。 画像変換サーバの設定 今回はnginxのimage_f

    CloudFront+S3の画像配信にリサイズ機能を追加する - 俺たちのブログ
  • mysqldumpで欲しいレコードだけ抽出する - 俺たちのブログ

    DATABASE.TABLEの特定のレコードだけをdumpで抜きたいとき。 mysqldump -uroot --where="id=100" DATABASE TABLE とか mysqldump -uroot --where="id in (100, 101, 102)" DATABASE TABLE とか。--whereが使える。

    mysqldumpで欲しいレコードだけ抽出する - 俺たちのブログ
  • Macでお手軽にリモートマシンからのコマンド終了通知 - 俺たちのブログ

    実行時間の長いコマンドの終了を通知できるようにGrowlや通知センターを使って工夫している人はそれなりにいらっしゃると思います。 実行時間の長いコマンドの終了をGrowlやメール通知するRubyスクリプト Macで時間のかかるコマンドが終わったら、自動で通知するzsh設定 - Qiita zshでエラーや時間のかかる処理後に通知センターで通知するようにする - 僕の車輪の再発明 ただ、これを ssh でログインしたリモートサーバでやろうと思うとけっこうめんどい。 リモートマシンからGrowl通知をできるようにしようとして挫折した話 - すぎゃーんメモ ということで、自分がやっているお手軽な方法の紹介 必要なもの iTerm2 設定方法 iTerm > Preferences > Profilers > Advanced > Triggers Edit ボタンを押して Trigger を作る

    Macでお手軽にリモートマシンからのコマンド終了通知 - 俺たちのブログ
    studio3104
    studio3104 2014/12/19
    これは手軽で良いな
  • Ruby の Object Data Dumper - 俺たちのブログ

    プリントデバッグが大好きだ!!!何はなくともとりあえず標準出力に吐いてデバグ!!!!!!!!!っていうようなことはみなさんにおかれましても少なからずあるのではないでしょうか。 プリントデバッグを行う場合、単純に変数に何が入っているかというよりも、オブジェクトの状態とかを見たいことが多いかと思う。 そういうときのためのライブラリとして、Ruby だと、p, pp は組み込み、ap はもう定番化しててみんな使ってると思う。 で、ddp ってのもある。http://hisaichi5518.hatenablog.jp/entry/2014/11/05/154949 適当なクラスをでっち上げてそれぞれにわせてみる こんなクラスがあったとする。 インスタンスを作って、インスタンス自体、インスタンス変数、インスタンスメソッドをそれぞれのライブラリにわせてみて、どんな感じに表示されるか見てみませう。

    Ruby の Object Data Dumper - 俺たちのブログ
  • Vagrantのshell provisionerはシェルスクリプト以外も指定出来る - 俺たちのブログ

    1号による以下の「記事数/はてブ数の可視化」によりビリとして肩身が狭い2号です。 Vagrantのprovisionerは各種あり、大体はChef, Ansible, Puppet等の構成管理ツールが使われることが多いためそれほど登場の機会の無いshell provisioner、名前の通りシェルスクリプトに記載した内容に沿ってVMをprovisioningしていきますが、実はこの実行はshebangを見ているため、シェルスクリプト以外を指定することが出来ます。 「男なら黙ってオールPythonでprovisioningだ!」という硬派な方は、例えば以下のようなyumのAPIを直接叩くスクリプトを書き #!/usr/bin/python import yum yb=yum.YumBase() searchlist=['name'] arg=['vim-enhanced'] matches

    Vagrantのshell provisionerはシェルスクリプト以外も指定出来る - 俺たちのブログ
    studio3104
    studio3104 2014/12/15
    yum の API を python からぶっ叩く男らしさ...
  • test-unitさえあればご飯大盛り三杯はイケる - 俺たちのブログ

    rspec3 に疲弊している皆さんこんにちは。今日は rspec3 に疲れた皆さんへ憩いの場として test-unit gem のお話を提供したいと思います。 test-unit gem について 「Rubyのテスティングフレームワークの歴史(2014年版)」の記事に詳しく書いてありますが、test-unit gem は古来にあった test/unit とも minitest とも違う第3の(第4?5?よくわかりません)の単体テストライブラリです。 Ruby コミッタでもある @kou 氏が精力的にメンテナンスを続けてくれており、 Ruby 2.2 に標準で bundle される今をときめくテスティングライブラリです。 古来の test/unit に比べて多くの機能が入っており、大変便利になっています。 テストの書き方 来ならばここで、テストの記法について語るのでしょうが、@repeat

    test-unitさえあればご飯大盛り三杯はイケる - 俺たちのブログ
  • Sinatraライクなgin-gonicで手軽にGolangを試す。 - 俺たちのブログ

    こんにちわ。5号です。Sinatraライクと書いておきながらあんまりSinatra触ったことが無いので全然違ったらすみません。 Golangを試す際にWebAppサーバ作ってみようとする時に軽量なフレームワークで試せるgin-gonicは良いと思います。 gin-gonic/gin · GitHub こちらのqiitaで導入方法は詳細に説明されているのと、 Go - Gin Web Frameworkを試してみたよ - Qiita READMEさえ見たら簡単なサーバはすぐ作れるのですが、せっかくなので今回はGETした時のURIパラメータをそのまま返すWebAppを作ってみます。 main.go package main import "github.com/gin-gonic/gin" func main() { router := gin.Default() router.GET("/:

    Sinatraライクなgin-gonicで手軽にGolangを試す。 - 俺たちのブログ
  • scpとrsyncでパスのケツスラッシュのありなしの挙動を毎回迷うのでメモ - 俺たちのブログ

    scprsync、ケツにスラッシュがあるかないか毎回確認するのでメモしておく。 個人的にはscp使わないで rsync option from/ dest/で 両方共ケツスラッシュ付けてやってる。 例 from/files_dirをdest/files_dirに持って行きたい % tree . . ├── dest └── from └── files_dir └── file 3 directories, 1 file % まとめ PATH scp rsync from/files_dir/ dest/ NG NG from/files_dir dest/ NG OK from/files_dir/ dest/files_dir/ OK OK from/files_dir dest/files_dir OK NG from/files_dir/ dest/files_dir OK OK

    scpとrsyncでパスのケツスラッシュのありなしの挙動を毎回迷うのでメモ - 俺たちのブログ
  • ELBのIPアドレス個数でサービス規模は推定できるのか - 俺たちのブログ

    友達と飲んでる時に『ELBのIPアドレス数は動的に変動するから、個数調べるとだいたいのサイト規模がわかる』みたいな話をしたので、実際のところどうなんだろうといくつかのサービスを調べてみました。 こんな感じになりました。 サービス 調査ドメイン IPアドレス個数 Cookpad cookpad.com 8 ランサーズ www.lancers.jp 2 Chatwork chatwork.com 8 日経新聞(モバイル版) mw.nikkei.com 2 東急ハンズ ネットストア hands.net 2 SmartNews www.smartnews.be 6 グノシー platform.gunosy.com 2 パズドラ api-ios.padsv.gungho.jp 8 ドラゴンクエストモンスターズ SL monsters-superlight.dragonquest.jp 4 個数は2~

    ELBのIPアドレス個数でサービス規模は推定できるのか - 俺たちのブログ
    studio3104
    studio3104 2014/12/10
    へー
  • 俺とおまえとperlワンライナー - 俺たちのブログ

    ※7号の『俺とおまえとawk』にはてブがいっぱいついて羨ましかったので、丸パクしたのっかりエントリです。 「EFK (Elasticsearch + Fluentd + Kibana) なんて甘えですよ、漢は黙って perl | sort | uniq -c ですよ」と誰かが言ってたような言ってなかったような気がするのでログさらう時に自分がよく使う perl 芸について書きます。 想定データサンプル こんなフォーマットで出る TSV 形式の Web アプリケーションログがあったとします。[TAB] はタブ文字です。 時間[TAB]ステータス[TAB]HTTPメソッド[TAB]URI[TAB]リクエストタイム 例えばこんな感じです。このログを perl 芸で処理していきます。 access.log 2014-12-05 12:00:00[TAB]200[TAB]GET[TAB]/api/v1

    俺とおまえとperlワンライナー - 俺たちのブログ
  • 俺とおまえとawk - 俺たちのブログ

    「EFK (Elasticsearch + Fluentd + Kibana) なんて甘えですよ、漢は黙って awk | sort | uniq -c ですよ」と誰かが言ってたような言ってなかったような気がするのでログさらう時に自分がよく使う awk 芸について書きます。 想定データサンプル こんなフォーマットで出る TSV 形式の Web アプリケーションログがあったとします。[TAB] はタブ文字です。 時間[TAB]ステータス[TAB]HTTPメソッド[TAB]URI[TAB]リクエストタイム 例えばこんな感じです。このログを awk 芸で処理していきます。 access.log 2014-12-05 12:00:00[TAB]200[TAB]GET[TAB]/api/v1/ping[TAB]0.017832 2014-12-05 12:00:01[TAB]200[TAB]POST[

    俺とおまえとawk - 俺たちのブログ
  • GoConveyでerror型をテストする時に気をつける事 - 俺たちのブログ

    こんにちは。何号だっけ・・・。 Goでアプリを書いている時にテストでGoConvey smartystreets/goconvey · GitHub Go用テストツールGoConveyの紹介 - Qiita を使っているんですが、error型の比較時に軽くハマったのでメモです。 単純な文字列比較であれば So(hogehoge, ShouldEqual, "fugafuga") の様に比較出来るのですが、error型でエラーメッセージが入っているからそれを比較しようと So(errorObject, ShouldEqual, "error message") とやると、実際にerrorObjectの中に"error message"が入っていて文字列として等価でもgo test実行するとこんな感じの Failures: * /tmp/test.go Line 4: Expected: 'e

    GoConveyでerror型をテストする時に気をつける事 - 俺たちのブログ
  • Sinatra の configure で書く必要がないかも知れない項目 - 俺たちのブログ

    小さい規模で WEB Application を書く場合において、Sinatra はサイコーに便利です。 ビューのあるアプリの場合はだいたいこういうディレクトリ構成にしますよね。 $ tree ore_tachi_no ore_tachi_no ├── config.ru ├── lib │   └── ore_tachi_no │   └── application.rb ├── public │   ├── css │   │   └── application.min.css │   └── js │   └── application.min.js └── views ├── index.slim └── layout.slim 6 directories, 6 files application.rb の内容 / へのアクセスで index.slim を表示させるだけのカンタンな

    Sinatra の configure で書く必要がないかも知れない項目 - 俺たちのブログ
  • Pingdomで外形監視 - 俺たちのブログ

    3号です。3番目に書くので3号になってしまいました。外形監視についてゆるく書きます。 私の会社では外形監視にPingdom - Website Monitoringを利用しています。Pingdomは世界中の拠点から対象のエンドポイント(http(s), smtp, DNSなど)の死活監視をしてくれるサービスで、比較的簡単な設定でエンドポイントの監視が実現できます。SaaS/PaaS/IaaSをうまく活用するのが最近のトレンドであることもあり、Slackなど他サービスとのインテグレーションにも優れています。 主に以下のようなものを監視しています。 HTTP(S):自社サービスのエンドポイント HTTP(S):他社の連携先のAPIエンドポイント HTTP(S):社内システムのエンドポイント SMTP:AWS SES Name Resolve:AWS Route 53 自社のサービスはもちろん、

    Pingdomで外形監視 - 俺たちのブログ
    studio3104
    studio3104 2014/12/01
    へー
  • rpmのconfigfilesクエリ - 俺たちのブログ

    2号です。1号挨拶しか書いてないやんけ…! 飲み会であった話でtd-agentのインストール云々があったのでそこから派生してrpmの話。 パッケージの同梱される設定ファイルのみをリストする術。既にインストールされているものなら rpm -qc {パッケージ名} これからインストールされる中身が知りたいなら rpm -qp --configfiles {rpmパッケージ} な感じです。オプションがショートが-cでロングが--configfiles。 えーと何だったけかなあの話。具体的には td-agent2から/opt/以下にまるっと環境を放り込むようになっている のだけれど、その兼ね合いで RPMで管理する%filesセクションも変更になっていて同一のファイルとみなされず、パッケージreplaceの際に設定ファイルがtd-agentのアンインストール処理で消えてしまう という話だった多分。

    rpmのconfigfilesクエリ - 俺たちのブログ
  • 1