7月の頭から Make It Real で働き始めました。 オフィスは鎌倉にありますが、基本リモートで働いています。(たまに鎌倉に行ってます) 人数は typester と自分しかいないので、働き方が大分変わりました。 リモートワークの本 に リモートワークリモートワークをしていると、気づかないうちに孤独に陥っていることが多い。表面的には、たくさんの人と一緒にいるような気がするからだ。 メールはどんどんやってくるし、同僚とはチャットチャットで雑談ができる。ネット上上ではさまざまな議論が白熱している。でも、それらはやはり、バーチャルだ。本当に人とふれあうことの代わりにはならない。 のようなことが書かれていて一週間口頭で喋ることがない時もあったりしてリモートで働くのもなかなか難しいなと改めて思いました。 通勤時間の変わりに朝、家事(掃除・洗濯とか)をゆっくりこなしたり、話しかけられないので集中
昔に github の irc hook で issue も hook してもらう - @soh335 memo というのを書いた。 songmu さんにはわかりづらかったらしい。 気が向いたので golang で https://github.com/soh335/ghh というのを書いた。 cui で操作して、create/edit の際は editor を立ち上げる。 editor の内容は toml で書かれた設定ファイルになっていて、反映されていない設定はコメントアウトされているので、必用があればコメントアウトを解除すると反映される。 ( github とのやりとりは json で行われるが、コメントアウトで制御したかったのでエディタ上では toml を使ってみることにした)
insert した際に unique key とか primary key で duplicate な場合に error が起きるのを防ぐために(無視して良いとうい仕様の場合に) insert ignore ... すると良いみたいな記事があったりするけれども、実際どうなのかなぁと思って調べた。 If you use the IGNORE keyword, errors that occur while executing the INSERT statement are ignored. For example, without IGNORE, a row that duplicates an existing UNIQUE index or PRIMARY KEY value in the table causes a duplicate-key error and the state
DBD::mysql で insert on duplicate をした際に $sth->rows の返す結果が insert されなかった場合: 1 insert された場合: 1 update された場合: 2 となっていて mysql に繋いで直接コマンドを打った場合の affected rows と違って困るなぁと思っていたのですが How to obtain the number of rows affected by a statement in MySQL - O'Reilly Answers こういうことらしく matched rows を返すとのこと。 mysql_client_found_rows=0とすることで、 insert されなかった場合: 0 insert された場合: 1 update された場合: 2 となってしたいことの要件を満たしてくれました。
途中で出たスコアは 7000 ぐらい。最終的には fail でスコアは 0 でした。 予選は三人でしたが、本戦は @hisaichi5518 が北海道に旅に出たので、 @kenjiskywalker と二人でした。 ヒカリエの line にも初めて入りました。広くて綺麗でいいですね。 #isucon ところで、北海道と言えば鬼伝説ビール! 序盤 ( 11 ~ 13 ) 全体を把握するのにまず結構時間がかかりました。あとそれを二人でちゃんと共有出来なかったのがよくなかったかなぁと思います。見ただけでやる事多いなぁと焦ってしまった。 とりあえず全台に入れたり、nginx に入れ替えてもらったり。 git でレポジトリ管理出来るようにしたり、 deploy で撒いてもらえるようにしたり。 中盤 ( 14 ~ 17 ) お互い別のことを。 僕は、画像返す専門のサーバが必用かなと思って作ろうとしてた
告白されたいと思って、 告白しやすくしたりしたが、男からしか告白が来ない。 http://hisaichi5518.hatenablog.jp/entry/2012/11/10/003301 よく考えたら、大人になって、社会人になって、エンジニアになって、 おじさんと話すことは多くなったが、女の子と話すことがない。 告白なんて夢のまた夢だと気づいた。 でも、やっぱり女の子に告白されると嬉しい。 とくに可愛い女の子に告白されたら嬉しい。 可愛い女の子といえば、宮崎あおいだと思う。 宮崎あおいに「会いたい早く帰ってきて」とか言われたい。早く帰りたくなる。 宮崎あおいに「おかえりなさい」とか言われたい。早く帰って良かった。 なので、コミットしたら宮崎あおいに告白されるgit hookを作った。 コードを書いてコミットをする、たったそれだけで宮崎あおいに「会いたい早く帰ってきて」とか言われる。最高
のは結構簡単で、もともと prove -lv -j5 --harness TAP::Harness::JUnit t をした時に、 TAP::Harness::JUnit が出力する xml ファイルは -j しててもちゃんと出力される。 具体的には <?xml version='1.0' encoding='utf-8'?> <testsuites> <testsuite> .... </testsuite> </testsuites> こんな感じ。 例えば複数環境とかで prove して jenkins で一つにまとめて結果を出したい時は、こんな感じの wrapper を書けば良さそう # t/**/* を投げる環境分に split する # 複数環境に prove を投げる # ( JUNIT_OUTPUT_FILE を指定するとその名前で作れる ) # 出力した xml を受け取る
オンライン予選 二日目の結果 & 暫定版の本選出場チーム発表 : ISUCON公式Blog 運営の皆様ありがとうございました。 @kenjiskywalker さん , @hisaichi5518 と参加しました。 結果的には暫定的に2日合わせて 20 位以内に入れたというところでしょうか。メモ代わりに何をやったかとか。 開始前 案の定 hisaichi5518 から反応がなく遅刻確定。kenjiskywalker さんは腹痛をしてました。 開始直後 kenjiskywalker さんに aws 回りはお願いし、出来上がった所でとりあえず関係ありそうな所を git 化し push, clone 出来るようにしました。 共有レポジトリを 0 から作るのは毎回どこかでハマるのでそろそろどうにかしたいなーと思う所。 レギュレーションを読み、フムンとなりながら、スコアを出す負荷ツールの workl
Time::Piece が古いと localtime 事件みたいのがあるから cpanfile に requires 'Time::Piece', '>= 1.20'; このように新目の version を指定しておくことがあるかもしれない。ただ、これが requires 'Time::Piece', '== 1.20'; になっていて、かつ carton ではない時に ( carton の場合は調べてない ) 何かの拍子に 1.21 移行のものが入ってしまっていて嵌った。 説明 1.21 移行は Makefile.PL が変わっていて 'INSTALLDIRS' => ( ($] >= 5.009005 and $] < 5.011) ? 'perl' : 'site'), となっている。つまり新し目の perl だと site 以下に入る。しかし 1.20 以下では 'INSTALLD
最近つらまることが多い。 そんなとき、 chrome の空タブで宮崎あおいを見ているが、家で一人で肉じゃが作って一人で食べてる時は、両手が使えないし小さなパソコンと向き合うのはつらいし不便だ。 なので目の前にあるテレビで綺麗に見たかった。 appletv を持っているが、スクリーンセーバの機能では、手元にフォルダを作らないといけないし、気軽に切り替えることが出来ない。 だから手軽に、 appletv のスライドショーで綺麗に見られるものを作った。 あーもうやってらんねーって時はちょろっとコマンドを打てば pc より大きいテレビで、すぐ会える。最高。結婚したい。 airshow sample from soh335 on Vimeo. soh335/airshow · GitHub すぐに宮崎あおいを見れるGoogle Chromeの拡張作った。 - @soh335 memo aoi miy
soh335/Test-Deep-PairBag · GitHub test::deep::bag では cmp_deeply( [1,2,3,4,1], bag(3,2,1,4,1) ); みたいな事が出来て、並びは関係ないけど、要素は全てあるというテストが書ける。 ところで perl では、url query parameter とか header は [ foo => 1, bar => 2, foo => 2 ] のように書くことが多いのでこれの foo => 1 を一要素にして bag な match が出来るといいなって思ったので作った。 cmp_deeply( [ foo => 1, bar => 2, foo => 3 ], pair_bag(foo => 1, foo => 3, bar => 2) ); こんな感じで書ける。中では [ foo => 1, bar =>
環境を作るにはまず、 minil new -p XS Cocoa-Hogeをしたのち builder/MyBuilder.pm で build するようにします package builder::MyBuilder; use strict; use warnings; use parent qw(Module::Build); use File::Copy; sub new { my ($self, %args) = @_; $self->SUPER::new( %args, extra_compiler_flags => ['-Wall'], extra_linker_flags => ['-framework', 'Foundation'], ); } sub compile_c { my ($self, $file, %args) = @_; (my $m_file = $file)
plackup app.psgiみたいな感じでアプリをたちあげる時 query を見たかったら DBIC_TRACE=1 plackup app.psgiとか plackup -MDBIx::QueryLog app.psgiとかやる. 例えば ark の plugin で soh335 memo とかやろうとすると ark の設定とかを書いたりする lib/MyApp.pm みたいなところに package MyApp; use Ark; use_plugins qw(...); __PACKAGE__->meta->make_immutable; みたいな感じで書くけど一時的に挙動変えるだけだけならコマンドラインでやりたい。でも ark の plugin として動作させないとみたいな時、とてもめんどくさい感じするのでコマンドラインからも plugin のロードとか出来ると便利かなーと考
生きていればつらいことがある。 しかし、つらいからと言って簡単に投げ出す事は出来ないということも多い。 みなさんもつらまってる時、よく宮崎あおいを見ると思う。 当然のごとく僕もそうである。 最近つらい事がよくある。 そんな時のために、宮崎あおいを素早く表示する必要があった。 なので、宮崎あおいをすぐ見れるGoogle Chromeの拡張を作った。 「だめだ。もうやってらねー」って時は、空の tab を表示すればすぐ宮崎あおいに会える。最高。結婚したい。 chrome-tumblr-tile from soh335 on Vimeo. soh335/chrome-tumblr-tile · GitHub option で apiKey と 表示したい tumblr の hostname を設定すれば色々見られます。 本当はからっぽ を表示するのも良いと思います。 合わせて読みたい すぐに吉高
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く