蛇使いの日常

コーンスネークを飼っているPythonエンジニアの日常や技術のことなど

1週間たった琥珀(コーンスネーク)の成長

琥珀が家に来て、1週間が立ちました。

毎日仕事から帰ってきたら部屋で離しているのですが、とても元気にうろうろしています。

 

食事

餌も食べ慣れたのか、与えるとすぐ食べるようになりました。

そして食べた後は、

f:id:hebilist:20170721234107j:plain

ずっと水の中に浸かっています。2時間は浸かっていたのを確認しています。

なかなか出ないのでほっといて就寝しました。

 

便

う○こもよくします。ケージから出してうろうろさせているからでしょうか?所かまわず垂れ流してくれます(笑)1日2回はしていますね。まだピンクマウスSだからなのか、匂いは全くありません。

 

ハンドリング

ハンドリングはベビーの割には長くし過ぎと言われるかもせんが、一日30分ぐらいはしています。だいぶ慣れてきて、なかなか離れなくなりました。

 

感想

まさか蛇がこんなに可愛いとは思ってもいませんでした。本当に可愛いです。

毎日とても癒やされます。ストレスが溜まっている人はぜひコーンスネークを飼ってみてください。

もう蛇なしじゃ、生きられない♪

PHPのSplFileObjectは微妙かもしれない

はじめに

蛇使いといいながら、現在仕事ではPHPで開発をしています。

ガッツリPythonで仕事していたり、いくつもシステムを作ていましたが、今回はPHPネタです。

 

SplFileObject

PHPにはSplというStandard PHP Libraryというものがあります。標準PHPライブラリですね。昔ネームスペースあり版のオートロードをやる時に、SPLを使ったことがあります。それにファイル系の処理をオブジェクトで扱えるSplFileObjectというものができていました。知らなかった~。

 

しかし、仕事でこれを使おうとしていたのですが、一つ問題がありました。

やりたかったことは、CSVファイルを出力することです。

CSV出力では面倒なので、fputcsv関数、SplFileObjectではfputcsvメソッドですね。こちらを使う前提です。

fputcsvを使う場合にやらないといけないこと、文字コード変換以外にも改行コードをLFからCRLFにしないといけません。

 

どうやるか?

改行コードをLFからCRLFに変換しないといけないわけですが、クラスを作ってstream_filter_registerに登録し、stream_filter_appendでファイルのストリームにCRLFを設定しなければなりません。

 

何が問題か?

fopenの返り値はファイルのストリームです。stream_filter_appendでは、ストリームを指定する必要があります。しかしSplFileObjectが返すものは、オブジェクトであり、ストリームではありません。そしてストリームにアクセスする方法がありません。そんなわけで、SplFileObjectからstream_filter_appendを使うことはできないのです。

 

本当はfputcsvが悪い?

fputcsvがLF固定ではなく、引数でCRLFを指定できるようになっていたら問題はありませんでした。fputcsvを使うのではなく、fputsでやる場合はSqlFileObjectで問題ありませんね。

 

最後に

久しぶりにPHPをやっていますが、いつもベストプラクティスを確率するには手が届かないことが多いです。妥協するという気持ちを忘れずやっていくしかありません。

 

初ブログ、コーンスネーク絶対絶命からの救出!

初ブログ!

プチ紹介

Webエンジニアをしている蛇使いです。

メイン言語はPython、しかし仕事で使うのはPHPが多いです。

 Pythonエンジニアなら誰もが飼っているというコーンスネークPython歴5年目にしてようやく7/15に飼い始めました。

 

琥珀が脱走

蛇を飼うのは初めてで、ケージの蓋をロックしていませんでした。

すると翌朝、「いないっ!」

なんとシェルターを取り出してみると、その下にいる琥珀がいませんでした。

あっ、蛇には琥珀という名前を付けています(笑)

黄色と飴色のバターという色に分類されるらしいので、琥珀です。

 

いなくなった琥珀を部屋中探し回って1時間、相方が見つけました。

しかし・・・なんとっ!無残な姿になっている琥珀

相方が取り出したのはコロコロ!絨毯などのゴミを取るあのコロコロです。

それにへばり付いて苦しもがいている琥珀・・・。

 

粘着物から救出

生命の危険を感じ写真を撮るほど余裕はなかったですが、下あごはべったりくっついて口を開けとても苦しそうでした。全身がべったりくっついており、2ヶ月のベビーということもあって、肌が柔らかい・・・。

コロコロの紙から剥がそうとすると、身が引きちぎれてしまう・・・。

相方は「この子はもうダメかもしれない・・・」と少しあきらめていました。

買った翌日に死なせてしまっては可哀相すぎる・・・。

まず何よりどうしたら良いのか知識が南無でした。

 

そこでまずはググってどうすれば良いかを調べました。

するとすぐに粘着物には油が良いというのを見つけ、普段使っているサラダ油を琥珀の身体に塗りたくりました。

そして尻尾から徐々に指を優しく当て、くっ付いているところを剥がしていきました。

油を塗ったからといって、人間の力で無理やり剥がそうとするのは危なそうです。

あくまで蛇のペースで行うのが安全です。

蛇は体の下の方が自由になれば力を発揮できるような感じでした。しかし上半分がなかなか剥がれず。

根気良く油を浸透させ、べったりくっ付いてた下あごからも紙が取れ、無事救うことができました。

めでたしめでたし!

 

冷凍マウスを食す

コロコロからめでたく救い出せたものの、琥珀はサラダ油まみれになってしまいました。水で少しは洗ったものの、まだ少しヌルヌルしています。

その日の夜、凄く体力を消耗しただろうと、初めての餌やりをしました。

餌をあげようと試みて10分ぐらい掛かりましたが、ちゃんと食べてくれました。

冷凍マウスはゴム人形のようで、それほどグロくはありませんでした。

驚いたのは、琥珀は目が赤目なのですが、冷凍マウスを食べている時は目が黒くなっていました。

f:id:hebilist:20170717130749j:plain

 

食後から半日

昨日の夜餌をやってから半日たった写真です。まだお腹は膨らんでいますね。食後丸一日はそっとしておかないといけないようなので、夜まではシェルターを被せて放置です。

f:id:hebilist:20170717130900j:plain

 

飼って早々ドラマティックなことが起きたりと大変でしたが、これからコーンスネークの成長が毎日楽しみです!