ブックマーク / anatofuz.hatenablog.com (8)

  • YAPC::Tokyo 2019に「レガシーPerlビルド 〜現代に蘇るPerl[1..5].0とPerl6〜」 で登壇します - Acme::AnaTofuZ->new;

    皆様こんにちは.最近はMoarVMと格闘している id:anatofuzです. YAPC::Tokyoに応募していたトークが通り,登壇することになりました. yapcjapan.org タイトルは「レガシーPerlビルド 〜現代に蘇るPerl[1..5].0とPerl6〜」です. このトークでは以前Roppongi.pmでお話させていただいた内容をベースに次のような内容で喋ります. みなさんが今使用しているPerlのバージョンはいくつですか?5.24?5.28?はたまたPerl6...? 互換性を大事にするPerlと言っても,みなさんが今動かしているPerlPerl5以降のものかと思います.一部Perl4のプロジェクトがあるかもしれませんが.... でも待ってみて下さい,なにか忘れていませんか...? そうです.Perl"5"と言うことは,Perl1からPerl4がかつて存在していたとい

    YAPC::Tokyo 2019に「レガシーPerlビルド 〜現代に蘇るPerl[1..5].0とPerl6〜」 で登壇します - Acme::AnaTofuZ->new;
  • ドキドキPerl1.0探検隊 - Acme::AnaTofuZ->new;

    はじめに こんにちはid:anatofuzです. これはPerl Advent Calendar 2018 1日目の記事です. なぜ僕が初日を担当しているかというと以下のような経緯です. Perlアドベントカレンダーday 2,3,4,5が空いているのでそれぞれPerl2,Perl3,Perl4,Perl5.0を動かす話を乗せれば良いんですか— 八雲アナグラ (@AnaTofuZ) 2018年11月2日 day 1 お譲りしますよ!?— kobaken (@kfly8) 2018年11月3日 空けてしまいました(悪人)— kobaken (@kfly8) 2018年11月3日 ...というわけで id:kfly8 さんの思惑で(?)トップバッターになりました. よろしくお願いします. さて,初日なのですが, 当初の予定通りPerl1.0を動かす話にしようかな...とは思ったのですが 実際の

    ドキドキPerl1.0探検隊 - Acme::AnaTofuZ->new;
  • 182124

    追記(2018/07/19) 処理速度ではなくてプログラムの起動時間というご指摘を受けたのでタイトルを修正しました🙏🙏 純粋な処理時間の測定は別途行おうと思います.後半の感想の部分は読み流して頂けると 🙇 🙇 目的 今回は以前のエントリで書いたようなPerl6の正規表現などを使い同じ処理をするプログラムが,各言語でどういったパフォーマンスの差が出るかの検証を行います. 題材 題材としてはmac os Xの /var/log/system.logのデーモンの回数を数え上げるというプログラムです. 処理の流れとしてはまずコマンドライン引数を確認し,それに応じてファイルを開きます. 開くことが想定されている/var/log/system.logファイルは次のような形式になっています. Jul 18 01:31:55 anatofuzMBP Dropbox[96084]: [0718/01

    182124
    perlcodesample
    perlcodesample 2018/10/24
    起動時間比較 Perl6 Perl5 Ruby Python Java
  • Perl入学式で出来るXXなこと - Acme::AnaTofuZ->new;

    これはPerl入学式春のブログリレー3日目のエントリです。 昨日はPerl入学式校長のid:papixさんのエントリでした。 Perl入学式の基スタンスである「プログラミング未経験者の方がプログラミングを好きになってもらえる/良いエンジニアとなる」という事を改めて考え直せました。 さて僕からはPerl入学式に参加してみようかなと思う皆さんに向けて,Perl入学式を完走するとできるようになることについて書いていこうかなと思います。 出来ること 母国語が持てる ここで言う母国語とは、我々が普段会話に使っている日語ではなくて、プログラミング言語の母国語です。 母国語、つまりbaseとなる考えをPerlで持つことによって多言語の習得がしやすくなります。例えばrubypythonGoなど…多種多様な言語も「あぁPerlのアレね…」という感じで理解していく事ができます。 これは僕が1番Perl

    Perl入学式で出来るXXなこと - Acme::AnaTofuZ->new;
  • LINE変態コンシェルジュのPerl実装を作った - Acme::AnaTofuZ->new;

    今すぐ登録 元ネタ review-of-my-life.blogspot.jp 構成 という訳で作ったコードはこちらとなっております。 当初Dockerで動かそうとしていたのでレポジトリ名に名残があります。 github.com 今回はPlack + LINE::Bot::API + Werbservice::YDMMの大まかに3つのモジュールを利用して書いています。まさか自分で作ったモジュールを使うことになるとは思ってなかった。 PerlからLINEBotを叩くにはyappoさんが書かれたPerl HackersHubの記事を読めば大体分かる世界観です。 第44回 LINE Messaging APIで作るchatbot―LINE::Bot::APIとngrokでお手軽に! 実際今回作ったwebアプリも、ほぼサンプルコードの助けを得ながらPlackアプリとして書いた感じです。 ちなみにデ

    LINE変態コンシェルジュのPerl実装を作った - Acme::AnaTofuZ->new;
  • cpmでinstallしたCPANモジュールの個人的パス通し法 - Acme::AnaTofuZ->new;

    cpmでinstallしたPerlモジュールを使おうという時の個人的な技です 追記 追記:cpmの作者のid:shoichikaji さんから 2か3がおすすめ との情報を頂きました。ありがとうございます。 1 carton exec わかりやすく無難な方法だと思っています。 carton exec -- perl hoge.pl  的な感じでの実行です。 2 perl -I$PWD/local/lib/perl5 主にbin以下に落としたcuiアプリを起動する際に使っています。 例えばmorboを起動する時は perl -I$PWD/local/lib/perl5/ local/bin/morbo みたいに実行します。 3 env PERL5LIB 環境変数PERL5LIB にパスを通すやり方です。 direnvを使う時に使っています。 4 FindBin+lib スクリプトを書く時に使

    cpmでinstallしたCPANモジュールの個人的パス通し法 - Acme::AnaTofuZ->new;
  • Perlと入学式とAnaTofuZ - Acme::AnaTofuZ->new;

    これは Perl入学式アドベントカレンダー3日目の記事です。 こんにちは id:anatofuz です。ようやく寒くなってきた沖縄から失礼します。 そういえば去年もアドベントカレンダーに参加していて,あれから1年経ったのか…と思っています. あれから1年か…と思っているので,去年のアドベントカレンダーからの僕とPerl入学式について書いていこうと思います。その為後半になるに連れてエモさが加速していきます。色々とすいません。 Perl入学式in沖縄でメインスタッフした 昨年はin沖縄の受講生だったのですが,今年はin沖縄のメインスタッフとして講師したりしていました。(そういえば最後の入学式で id:papixさんから「次は運営だね(ニッコリ」的ななリプを貰ったような気がする…) 一部資料改正などにも携わることが出来て,初めてGithubでpull-requestを出すという経験をしたりしまし

    Perlと入学式とAnaTofuZ - Acme::AnaTofuZ->new;
  • Acme::AnaTofuZ->new;

    株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記 ということでYAPC::Hiroshimaで登壇してきました。 speakerdeck.com 内容としてはRakulangの入門とおもしろRubyVM実装でした。いかがでしたか? 今回RubyVMは文字列をパースしようとしてたんですが、これは偉大な先人のめもりーさんのアプローチと意図的に違うアプローチを取ってみたためです。 実際Rakulangではバイナリ操作が可能なので、同じようにバイトコードを読むVMも作れると思うのですが、やはり文字列操作が得意なPerlなので(???)、こういった感じにしてみました。あんまり自信はなかったですが、当日結構よかったと言っていただいたのでほっとしています。 心残りとしてはGrammarとActionを使ったコードを書いてみようと思ったんですが、エラーが微妙すぎて完

    Acme::AnaTofuZ->new;
  • 1