ブックマーク / qiita.com/mackee_w (5)

  • 正規表現で静的解析するPPR.pmでunused varを実装してみる - Qiita

    ハローこんにちは、メリークリスマス、まこぴーです。 今回はPPR.pmの紹介をします。 その前に宣伝 来年のYAPC::Tokyo 2019でこういう話をします!!! 「Perl5の静的解析入門 機械と人間双方の歩み寄りによる平和編」っていう題名です。 チケットはこちら: https://passmarket.yahoo.co.jp/event/show/detail/015qs4zxqp35.html 僕のトークプロポーザルはこちら https://yapcjapan.org/2019tokyo/timetable.html#/detail/2 「あ、なんかPerlじゃなくてもいいけれど静的解析楽しそう」とか「他の言語どうやるんだろう」っていう人も来てください。Goの静的解析のことも少し喋れます。あとめっちゃ長くなったので気になるけれど時間がない人は、会場に来て僕の話を聞いたら1時間で済

    正規表現で静的解析するPPR.pmでunused varを実装してみる - Qiita
  • DBスキーマのMigrationを行うのに便利なGitDDLのご紹介 - Qiita

    どうもこんばんわ、日々お世話になったり、便利だと感じたOSSを紹介していく、OSS紹介 Advent Calenderの21日目の記事です。 GitDDLとは あるDBスキーマから別のDBスキーマに変更を行う際(=migration)を行う時に使うCPANモジュール Railsなどのmigrationとは違ったアプローチで行う 中に使われている魔法のようなモジュールSQL::Translator::Diffの紹介もします DB migrationとは MySQLなどのRDBMSを用いたアプリケーションを運用していくと、「新しくテーブルを追加したい」「カラムを増やしたい」「インデックスを足したい」などの場面に遭遇することがあります。テーブルを追加するだけであれば、新しくCREATE文を発行するだけで良いのですが、カラムを増やしたいだとかインデックスを足したいとなると、ALTER文を打たなけれ

    DBスキーマのMigrationを行うのに便利なGitDDLのご紹介 - Qiita
  • マスタデータを宣言的かつ高速にテストするTest::MasterData::DeclareとTest2の構造について - Qiita

    この記事はPerl Advent Calendar 2017の8日目の記事です。 昨日は @masakyst さんでCarmelとcpmでした。cpm使っております! Carmelも今度使ってみよっと。 はい、どうも、Perlは古臭いなんて言わせないの会の会員のマコピーです。 宣伝 12月末に発売されるWEB+DB Press vol.102のPerl Hackers Hubを担当させていただきました。内容はゲーム開発の話なんですが、その過程で生まれたモジュールであるTest::MasterData::Declareについてここで紹介させていただきます。 Test::MasterData::Declareとは Test::MasteData::Declare - metacpan Test::MasterData::DeclareはRDBMSや表計算ソフトのような行指向データ構造(と言いつ

    マスタデータを宣言的かつ高速にテストするTest::MasterData::DeclareとTest2の構造について - Qiita
  • cpanとperldocの歩き方 - Qiita

    この記事はPerl入学式 Advent Calendar 2016の16日目の記事です。 どうも、こんにちはトーカナイザの守護霊ことマコピーです。Perl入学式には2013年からサポーターとして参加しています。最近はサポーターとしてはあまり出ていませんが、東京の懇親会にただ飲みに来るおっさんとして活躍しています。 CPANとは Perlで実用的なアプリケーションを書く上で避けては通れないCPANの話をします。Rubyで言うrubygems、Pythonで言うpypi、Node.jsで言うnpmです。 例えば「なーんか適当なサイトの内容を取ってきたいなー」と思ったときにPerlだと標準でHTTPクライアントが同梱されていないので(追記: と思ったんですが、5.14からHTTP::Tinyがコアモジュールに同梱されていました。なので「HTTPとは・・・」みたいにはならないですね)、自分で「HT

    cpanとperldocの歩き方 - Qiita
  • Perl 5版のELVMバックエンドを実装する - Qiita

    こんにちは。みなさまよいPerlライフをお過ごしでしょうか。 この記事はPerl 5 Advent Calendar 2016 6日目の記事です。 昨日はskajiさんによるPerl+Mojoでイベント駆動プログラミングでした。 ELVMとは ELVM Compiler Infrastructure EsoLang Virtual Machineの略で、C言語で書かれたプログラムをELVM IRという中間形式に変換した後に、それを元に多言語にトランスパイルするものです。EsoLang(難解プログラミング言語)というのがついているとおり、、BrainfuckやUnlambdaなどの難解プログラミング言語でのバックエンド実装があります。特にこの記事で書かれているCコンパイラ(8cc)をpietという画像がソースコードになるプログラミング言語に変換するの図は圧巻ですね。 また、C++のconst

    Perl 5版のELVMバックエンドを実装する - Qiita
  • 1