タグ

ブックマーク / likk.hatenablog.com (38)

  • 21万6000個のサイコロを簡単に振る方法 - NeverBlog::Likk::Unexistable;

    news.denfaminicogamer.jp はてブコメントで 216000D6とか一度でいいから振ってみたい 悲しいことにGoogle先生は99個までしか振ってくれない。 と有りました。気持ちはわかる。 さすがに現実に振ること叶わなくても簡単に多数のダイスを振る方法を一つ思い出した。 Perl のモジュールには 「Games」という名前が付けられていてモジュールがが数多く有り、その名の通りゲームに関連したモジュールが登録されています。 そのうちの一つに、その名の通り Games::Dice というモジュールがあります。これを使って 216000個のダイスを降ってみましょう。 cpanm が入ってれば cpanm Games::Dice で簡単に入ります $ cpanm Games::Dice --> Working on Games::Dice Fetching http://www

    21万6000個のサイコロを簡単に振る方法 - NeverBlog::Likk::Unexistable;
    likk
    likk 2019/09/20
  • YAPC::Fukuoka 参加してきた(当日編) - NeverBlog::Likk::Unexistable;

    YAPC::Fukuoka 参加者側としての記事。当日分です。 先日分:http://likk.hatenablog.com/entry/2017/07/04/170842 発表者分:http://likk.hatenablog.com/entry/2017/07/02/092721 オープニングの途中から参加。過去の参加では昼から参加したり、オープニング後から参加したりが多かった。 会場での禁止事項・諸注意などがあるので実は結構重要なんだなと認識しました。でも途中参加。 以下、聞いて印象に残ったトークと感想。 レガシーperl と今 https://speakerdeck.com/pyama86/regasiperlto-jin-wozu-mihe-wase-kai-fa-woji-sok-sisok-kerufang-fa 諸事情で perl.5.8 のまま頑張ってる。 セキュリティ

    YAPC::Fukuoka 参加してきた(当日編) - NeverBlog::Likk::Unexistable;
    likk
    likk 2017/07/06
    YAPC福岡 感想ブログ(2/2) 書いた。 #yapcjapan
  • YAPC::Fukuoka で食べたもの - NeverBlog::Likk::Unexistable;

    幾つかYAPC関係なく福岡でべただけだろ!!っていうのも有るけど気にしない。 ごちそうさまでした。 前夜祭 プリン以外全て美味しくいただきました。 (プリン気づいたときにはなく無くなってた。油断しすぎ。最初に取るべき) 前夜祭二次会 らーそーめんごちそうさまでした。 編の弁当 ランチスポンサー有難うございます。 Okinawa.pm 組と行った屋台 中洲の屋台 翌日 (yapc関係ない) 場の明太子ごちそうさまでした。 翌日も別の店の屋台行った 翌々日 (yapc関係ない) 鯛茶漬けごちそうさまでした。

    YAPC::Fukuoka で食べたもの - NeverBlog::Likk::Unexistable;
    likk
    likk 2017/07/05
    YAPC::Fukuoka で色々食べてきた。YAPC関係内のあるけど気にしない。 #飯テロ #yapcjapan
  • YAPC::Fukuoka 参加してきた(前夜編) - NeverBlog::Likk::Unexistable;

    YAPC::Fukuoka 参加者側としての記事 当日と合わせると無駄にながくなりそうなので分けた。当日の話は明日書く。 前々夜祭 (非公式) 前々日のイベントかとおもいきや、「当日の、前の時間帯」のイベント。 とはいえ、編が始まる前にワイワイできて非常に温まったと思う。 会場の提供とイベントの実施ありがとうございます。ビールごちそうさまでした。 トークの中で印象に残った箇所は以下。 @linyows Linux認証 octopass の話 https://speakerdeck.com/linyows/the-octopass-is-linux-user-mangement-tool-for-cloud-or-github-generation githubAPI を使って Organization/Team で名前を解決し、githubの公開鍵を用い、github の Token

    YAPC::Fukuoka 参加してきた(前夜編) - NeverBlog::Likk::Unexistable;
    likk
    likk 2017/07/04
    ブログ書いた。 #yapcjapan
  • YAPC::Fukuoka 前夜祭で「夏の夜を涼しくするPerlの話」というタイトルでLTしてきた - NeverBlog::Likk::Unexistable;

    言いたいこと。 1. YAPC::Fukuoka 前夜祭でLTしてきた 2. Acme::Undead について 3. 場が温まってたのもあってそれなりに笑ってもらえた 4. 参加できなかった人にも伝えたいこと 5. トーク内容の感想とか全体の感想は別途書くよ 以下詳細という名のgdgdな何か YAPC::Fukuoka お疲れ様でした。ブログに書くまでが YAPC::Fukuoka だそうです。 前述の通り、前夜祭で「夏の夜を涼しくするPerlの話」というタイトルでLTしてきました。 aizen.likk.jp もともとは、某slack のチャンネルでゾンビとアンデッドの違いは何かという話をしていたときに、なんとなく思いついて、Acme::Undead を書いた感じです。 github.com git log の initial commit を見るとわかりますが、今年始めのころ大体の挙

    YAPC::Fukuoka 前夜祭で「夏の夜を涼しくするPerlの話」というタイトルでLTしてきた - NeverBlog::Likk::Unexistable;
    likk
    likk 2017/07/02
    #yapcjapan
  • Salck::RTM::Bot を使ったら error message too long が出たのでパッチを用意してもらった - NeverBlog::Likk::Unexistable;

    言いたいこと。 1. WebService::Slack::WebApi から Salck::RTM::Bot に乗り換えたら error message too long が出た 2. 原因が Protocol::WebSocket::Message の max_message_size を超える受信量だった 3. Twitter で呟いたらパッチ当ててもらった 4. WebService::Slack::WebApi と同様に コマンドラインから slack見るだけの gist 書いた 以下経緯と言う名のgdgdな何か 2年ぐらい前 http://likk.hatenablog.com/entry/2015/05/08/194754 に書きましたが slack の内容を拾ってくるのに `WebService::Slack::WebApi` github.com をずっと使ってました。

    Salck::RTM::Bot を使ったら error message too long が出たのでパッチを用意してもらった - NeverBlog::Likk::Unexistable;
    likk
    likk 2017/03/24
  • YAPC::Kansai 2017 行ってきた2 - NeverBlog::Likk::Unexistable;

    先日開催された YAPC::Kansai 2017 OSAKA 行ってきました。 前回の記事ではトークに触れなかったので、印象に残ってたのを幾つか書きます。 基的に記憶の揮発性が高いので旅行中にある程度まとめておけば良かったなと若干悔やんでます。 前夜祭 @__papix__ さん alias 作りまくって大変なことになるのは昔やったこと有るので、ある有るーと思いながら見てたけど自分の数倍 alias 作ってたので真顔になった。 「このエイリアスの中身なんだったっけ」ってなりますよね。 あと「下のレイヤでできることは任せる」は vim のプラグインが太っていかないので良さそう。 @charsbar さん 左手だけで完結するの凄い、真似したいけど右手でペンで何か書きながら左手でエディタ操作は多分自分の脳の処理を越えてます。WZ Editor という名前が懐かしすぎて涙出た。 @sago35

    YAPC::Kansai 2017 行ってきた2 - NeverBlog::Likk::Unexistable;
    likk
    likk 2017/03/11
    トークについてのブログも書いた
  • YAPC::Kansai 2017 に行ってきた - NeverBlog::Likk::Unexistable;

    先日開催された YAPC::Kansai 2017 OSAKA に行ってきました。 今回の記事ではトークについては触れません。別途書くかもしれないけど未定。 懇親会で飲みながら会場について思うことを2・3話していたら 「@karupanerura 氏 に言えば良いんじゃね 」とか 「ブログに書けばいいんじゃね」みたいなことを言われたので記事にしました。 思ったことを思い出しながらつらつら書いてるので非常に読みにくいかもしれないので先に謝っておく。 あと、単に感想であって要望では無いので「そういう意見もあるのかー」ぐらいに捉えてくれると嬉しい。 会場について 会場はこちら MOTEXホール 前夜祭の場所とYAPC当日の建物(入り口)が一緒というのは非常にありがたかった。覚えることが少なくて済む 前夜祭が10F, YAPC当日が1-4F。 前夜祭が事付き。たこやきと、肉まんごちそうさまでした

    YAPC::Kansai 2017 に行ってきた - NeverBlog::Likk::Unexistable;
    likk
    likk 2017/03/10
    #yapcjapan 会場の感想について書きました。
  • Perlで 'use strict;' をしない状態で 'return nil' をした時の挙動 - NeverBlog::Likk::Unexistable;

    こんばんわ、忘年会シーズンというにはもう遅いタイミングですね。 先日 gotanda-pm 忘年会の酒の席の話で "Perlで 'use strict;' をしない状態で 'return nil' をした時どうなるか?" といった話が上がり 酒の席のせいか妙にテンションが上りツボに入ってしまい以下のようなツイートをしました。 Perlで、'use strict;' をしなければ 、'return nil' で undef が返るという話が今年聞いたperlの一番面白い話になってしまった。— ╹) っ < (@likk) December 27, 2016 ruby を普段書いてる人が perl を書くと起き得る事故ですね。 通常 `use strict;` をした状態だと `nil` ベア(裸の)ワードの最適化を制限してくれてコンパイルエラーを出してくれます。 ですが `use stric

    Perlで 'use strict;' をしない状態で 'return nil' をした時の挙動 - NeverBlog::Likk::Unexistable;
    likk
    likk 2016/12/29
  • Acme::Kiyoshi でっちあげた - NeverBlog::Likk::Unexistable;

    元ネタ Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから 「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた— てくも (@kumiromilk) 2016年3月9日 だいぶ出遅れてる感じがあるけど Perlで書いたのでgithubに上げた。 github.com インストールしたら perl -MAcme::Kiyoshi -E 'kiyoshi' で実行できます。今のところ最短タイプ数であなたもZUN DOKO KIYOSHI!ができます。 以下、実行結果。 $ cpanm https://github.com/Likk/Acme-Kiyoshi.git Cloning https://github.com/Likk/Acme-Kiyoshi.

    Acme::Kiyoshi でっちあげた - NeverBlog::Likk::Unexistable;
    likk
    likk 2016/03/14
    perl -MAcme::Kiyoshi -E 'kiyoshi' で「ZUN DOKO KIYOSHI!」できるようにした。
  • Gotanda.pm #6 で飛び込みLTしてきた。 - NeverBlog::Likk::Unexistable;

    Gotanda.pm #6 2015/09/17 (木) からかなり時間が経ってからのブログ書き込みだけど気にしない。 テーマは「障碍」でしたので何かやろうかなと思っていたけどスライド用意している時間がなくて、LTするつもりは無かった。 全てのプログラムが終わり、同会場内で懇親会を始めるタイミングだったのですが、 懇親会側の準備が終わってなく時間が余ったので肉が焼けるいい匂いの中スライドもなしにTLしてきました。 障碍というテーマにそって「リアルで障碍が起きたとき通知をするbotを以前作ってましたよー、リアルな障碍とは何か、例えば電車遅延だったり、地震だったり、台風だったり、あるいはYAPCでLTした雨雲通知だったり、そういうの。」とい内容で話してきた。 情報を取得するライブラリはgithubに全部上がっるので自分のgithubリポジトリを紹介するだけのLTになった。スライド無いしね。以下

    Gotanda.pm #6 で飛び込みLTしてきた。 - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/10/07
  • YAPC::Asia 2015 でLTしてきた - NeverBlog::Likk::Unexistable;

    一日目のライトニングトークにて『YAPC?雨事情』というタイトルで発表させていただきました。 スライド中で紹介したライブラリは以下です。git log たどると実は2012年ぐらいからありましたgithub.com YAPC初LTでしたし、1000人超の前で話すことも初めてでしたので、めちゃめちゃ緊張しましたが結果的よかったと思います。 YPACには2007年から参加してましたが、毎年視聴者側で今年もLTで出る予定はありませんでした。基的に引っ込み思案なのです。 開催一週前にたまたまGaiaXさんとモバイルファクトリー合同勉強会があり、 そこでLTする機会があったので、大体同じ内容で発表し、その勢いで応募しました。 五反田界隈のみなさまありがとうございました。 実際のLTの最中は緊張していて反応が良く分からなかったですが、 twitterや懇親会で質問や、コメントや、ツッコミを頂いたりし

    YAPC::Asia 2015 でLTしてきた - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/08/24
    YAPC::Asia Tokyo 2015 LTしてきた感想ブログ書いた。ブログに書くまでがYAPCです。 #yapcasia
  • String::Slack でっちあげた - NeverBlog::Likk::Unexistable;

    github.com 使い方は簡単で say String::Slack->new("message")->bold->italics->stringify; #_*message*_ となる。 きっちりとslack.com に投げるところまで書く場合のsampleコードもつけた。 use strict; use warnings; use Furl; use JSON::XS qw/encode_json/; use HTTP::Request::Common qw/POST/; use String::Slack; my $message = 'hoge'; my $url = 'https://slack.com/api/chat.postMessage'; my $token = 'xxxxx-XXXX-XXXX'; my $channel = 'XXXXXXX'; my $dat

    String::Slack でっちあげた - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/05/29
    簡単にslackに投げる文字に装飾をつけるライブラリ書いた。問題は装飾を普通に入力したほうが早いって所。
  • コマンドラインからslackチャット - NeverBlog::Likk::Unexistable;

    slackを使い始めたのでコマンドラインからslackの閲覧と発言が出きるツール書いたのでgistに上げた。 これは下記エントリ id:mihyaeru21 が作ってくれたライブラリWebService::Slack::WebApiを使ってるので、APIとの疎通周りをほとんど気にせず書くことができた。mihyaeru21.hatenablog.com 煩わしいチャンネル移動も不要だし、$SAVE_FILE_PATHを有効にすればログを手元に保存するのでログ上限とかも気にしなくて済む。 ただslackの便利なコマンド補完ができないので普通にwebかクライアント使うほうがどう考えても楽なので、お気楽にログを眺めていたい程度の時に立ち上げておくといい感じになるかもしれない。 実行は簡単で単にコマンドを叩いて初回に聞かれるAPI-TOKENを入力するだけ。Config::Pit を使ってるので二回

    コマンドラインからslackチャット - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/05/08
    ターミナルだけでslackできるようにしたかったので書いた。
  • Perl で undef を含むものをsortについて考えてみた。 - NeverBlog::Likk::Unexistable;

    blog.likk.jp で切り捨てた undefについて考えてみた。undef sortした時に最大値ととるか最小値ととるかによって違うけど、最小値として考えるなら以下のとおりにの書き方になる。 use strict; use warnings; use Clone qw/clone/; use YAML; my $list = [ { name => 'aaa', hoge => 10, fuga => 1 }, { name => 'bbb', hoge => 11, fuga => 2 }, { name => 'ccc', hoge => 11, fuga => 1 }, { name => 'ddd', hoge => 12, fuga => 1 }, { name => 'eee', hoge => undef, fuga => undef }, { name => 'fff

    Perl で undef を含むものをsortについて考えてみた。 - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/03/31
    ところで、同じことしてくれるCPANモジュールあると思うんですが、誰か知りませんか。
  • Perl で複数条件sort - NeverBlog::Likk::Unexistable;

    業務で10年近くperl触ってるのに、普通にやる機会がなかった。 大体DBのorder by で済ましてる気がする。 ちなみに、ソート対象がundefのものが表にでては具合がわるい仕様なので出さないようにしている。order by のように昇順ではundefのものを最初に、降順では最後にもってくるにはもう一工夫が必要。(mysqlの話です。oracleは昇順だと最後に、降順だと最初だと記憶してます。) use strict; use warnings; use YAML; my $list = [ { name => 'aaa', hoge => 10, fuga => 1 }, { name => 'bbb', hoge => 11, fuga => 2 }, { name => 'ccc', hoge => 11, fuga => 1 }, { name => 'ddd', hoge

    Perl で複数条件sort - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/03/30
  • Perl から任意のログインシェルでsystemや``を実行する方法 - NeverBlog::Likk::Unexistable;

    perl から シェルを実行したいときは system か `` (qx//) で代替済むのですが、それらから呼び出すのが素のsh でどうしても実行環境のzshrc を読み込んだ上でzsh を実行したいことが出てきた。 でも `zsh hoge`; とか system("zsh && hoge"); やってもダメなんですよね。 んで、良い方法も特に思い浮かばなくてローカルに鍵通して `ssh localhost -t "hoge"` にした。 ログインシェルがzsh なので zsh で実行されるし、source .zshrc や source .zprofile すればパスとかも通る。 やったこと、まとめ `qq{ssh localhost -t "source .zprofile; source .zshrc; cd ~/path/to/;hoge --option"}` え?最初から

    Perl から任意のログインシェルでsystemや``を実行する方法 - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/03/25
  • 普段は宣言できないサブルーチン名の作り方 - NeverBlog::Likk::Unexistable;

    perl のサブルーチン名は数字で始まったり、アンダスコア以外の記号を使ったサブルーチンは宣言できない。 use strict; use warnings; sub 0 { print '0' } &0; 実行すると下記の様に怒られる。 $ perl ./hoge.pl Illegal declaration of subroutine main::a at ./hoge.pl line 4. しかし下記のようにパッケージのシンボルテーブルをcoderef上書きすると実行できる。 use strict; use warnings; { no strict 'refs'; *{__PACKAGE__ . '::0';} = sub { print 0; }; &0; use strict; } $ perl ./hoge.pl 0もう何でもありである。というムダ知識を得たんだ。 use st

    普段は宣言できないサブルーチン名の作り方 - NeverBlog::Likk::Unexistable;
    likk
    likk 2015/03/13
  • スマホで撮影した写真のファイル名が被る場合の整理方法 - NeverBlog::Likk::Unexistable;

    とある事情で写真の整理をしています。 大ざっぱだけどこんなディレクトリ状態。規則性あるようにも見えるけど実際の所規則性なんてのはない。 hoge/ hoge/2013/aaa.jpg hoge/2013/bbb.jpg hoge/2013/ccc.jpg hoge/2014/05/aaa.jpg hoge/2014/05/bbb.jpg hoge/201405-2014-07/aaa.JPG hoge/201405/マルチバイト文字列/aaa.JPG大量にかつ複雑なディレクトリの中にあるファイルを一個ずつ見て回ると、どのディレクトリまでみたのか分からなくなって混乱してきた。 一覧でみたいんじゃあああと、直下に集約しようとすると今度はファイル名が被ってるので上書きしてしますか?とか聞いてきたので、ついカッとなって撮影日付で置換して直下に置くスクリプト書いた。 過去に書いた二つの記事の合わせ技

    スマホで撮影した写真のファイル名が被る場合の整理方法 - NeverBlog::Likk::Unexistable;
    likk
    likk 2014/12/27
  • LOAD DATA INFILE を使った MySQLのデータインポート - NeverBlog::Likk::Unexistable;

    一年に一回やるかやらないかぐらいの頻度で、毎回ググって回ってるので備忘録。 mysqldump -u user -p --default-character-set=utf8 --lock-tables --single-transaction database table > table.sql gzip table.sql scp table.sql.gz new-server:/tmp/ ssh new-server cd /tmp zcat table.sql.gz | mysql -u user -p databaseこの流れで問題ないんだけど、千万件辺りからいつまでたっても終わらなくなる感じになるので、LOAD DATA INFILE を使うようにする。 SELECT * INTO OUTFILE '/tmp/table.tsv' FROM table で書き出して LO

    LOAD DATA INFILE を使った MySQLのデータインポート - NeverBlog::Likk::Unexistable;
    likk
    likk 2014/11/11