hirapi's blog

ちゃんとしたふりをする

こまごまとしたちょこちょこ(2018年4月)

まとまったことを書く必要は別に無いんじゃないかと思い直して、最近ちょこちょこ見たものを書いてみる。
色々あって最近はがっつりした開発は担当していなくて、こまかいバグ対応とかちょっとした調査をやっているので、そのあたり。

redash

相変わらず。 作ってって言われた表に複数のデータソース(MySQLとTreasureData)に持っている情報が混在していて最初うげってなったけど、Pythonであっさり作れた。
execute_query(data_source_name_or_id, query) の第一引数をMySQLだったりTreasureDataだったりにするだけ、あとは結果をよしなに紐付けて表示させればOK。
噂では直接JOINできるらしいけど、クエリ結果をデータソースとして扱う感じか?

Re:dashで異なるData Sourceのクエリ結果をJOINできるようになったので試してみた - Query Results (Alpha) - Gunosyデータ分析ブログ
(2016年……)

負荷テストツール

初めて見た。 といってもちゃんとシナリオ組んだ負荷テストをやったわけではなく、ただ攻撃したかった()
tsungとJMeterを入れてみたけどどっちもhomebrewで入るし(JMeterは別途JDKを入れる必要がある)設定も楽だし、負荷ってこんなにあっさりかけられるんだと。
tsungのテスト設定はXMLで、JMeterGUIで作る。ただしJMeterで実際の負荷テストをやるときはGUIからではなくコマンドラインから実行せよとのことらしい。
tsungをOS Xから動かすときはこれをひな形にするとよいそうな、tsungのバージョンがXMLに直書きされてるのだけ直せば動いた。
GitHub - kurebio/mac-tsung

クローリング

社内の勉強会でRuby + nokogiriを一瞬やったことあるけど、ちゃんとしたのは初。 casprejsとphantomjsなるものを触った。
といってもスクレイピングしたかったわけではなく、埋め込んだjsタグから別のプログラムがちゃんと呼ばれてるかを確認したくて、jsタグだけ貼ったページにばこばこアクセスして結果取ってきた感じ。
curlだと返されたjsが実行されなくて困った → ここを見てphantomjsで。どっちもまたhomebrewで入って便利。
各種スクレイピングのために、レンダリング後(JavaScript実行後)のHTMLを出力するAPIを作る - Qiita

PHP + smarty

自社開発の管理画面で使ってるけどあんまりさわる機会無くてド初心者。 なんだか文字が表示されないところがある、とのことで調べた。
直接の原因は先輩に教えてもらったけど、 htmlspecialchars() の引数が正しく設定されていなかったらしい。

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = TRUE ]]] )

PHP: htmlspecialchars - Manual

ここの第三引数が実際のプログラムでは省略されていて、デフォルト(のUTF-8)として扱われていた。
ファイル見るとEUC-JPだったので第三引数を追加してあげて解決。

[PHP]htmlspecialchars()を使うと文字が消える? | PHP Archive

Paiza Cloud

ちょっと話はそれるけど便利だった!
jupyterで配布されてた資料を見たかったんだけど手元に環境なくてめんどくせーとか思ってたら、ここで最初からjupyter整備されてるサーバー借りられた。
よく見たら有料プランだと公開もできるらしい。
無料プランだと途中で接続切れたりするけどまあストレスたまったら手元に立てることにする。

PaizaCloud Cloud IDE - Browser-based web development environment for Ruby on Rails, PHP, Java, Django, Node.js...

なんか器用貧乏感が増してるしそろそろちゃんとひとつの言語勉強してまともなエンジニアになりたい、と思い始めてPyQでもやろうかしらんというのが最近のあれ。
あと『[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識』を読み終えた。通勤読書でぜんぜん試してないおかげで半分くらいの理解だけど、とっかかりとしてはちょうどよかったんではないかと! 今すぐ何かに使えるというよりは次にもうちょっと詳しい本を読んでみる土台が出来た感じかな。

https://www.amazon.co.jp/dp/B079YJS1J1/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1