Perlクラブスタッフブログ 💪

Perlクラブで活動するスタッフの日記

2022/09/04

正規表現モジュールのコードリーディング

どうも、Perlクラブの村上です!

夏休みおわっちゃいましたね 🎐

今月は SPVM のコードリーディングを行いました!

木本さんが手掛けている正規表現モジュール(SPVM::Regex) のSPVMコードを読んでいきました!!

正規表現の実装を見るのははじめてて、なかなか複雑なロジックがSPVM、C++を使って書かれておりました。

前方一致、正規表現のコンパイル、置換などの処理をみていきました。

これは非常によい勉強になりました! 🖊

Perlの正規表現は、非常に協力でよくテキスト処理などをするときにお世話になっております。

文字クラスなどが豊富でシンプルに記述ができるのもよいところです。

次回はコードを実際に書き換えたりしていきたいと思います!!!! 💪💪💪

2022/07/29

SPVMでFizzBuzzしてみました!!!

どうも、Perlクラブの村上です!

夏真っ盛りですね 🏖

今月は SPVM の理解を助けるために実際に手を動かして、簡単なコード書いてみました。

"FizzBuzz"というテキスト処理やシェル芸なんかでよくみる問題に挑戦しました!

問題の内容は、「1から100までの整数のうち、3の倍数を"Fizz"、5の倍数を"Buzz"で、15の倍数の時は"FizzBuzz"に置換していく」というものです。

SPVMはPerlの文法がわかれば記述も容易で、Perlから呼び出して使うことが可能です。

一番シンプルな、if文3つでそれぞれ条件分岐させるやり方で難なく解けました!!

モジュール化には spvmdist が便利です。

興味がある方には 記述したコード を公開していますので参考にされてください!

ではでは〜 🌊

2022/06/25

SPVNの勉強中です 🏃

どうも、Perlクラブの村上です♪

だんだんと暑くなってきましたね 🍵

今月は SPVN の言語仕様、サンプルコードのリーディングを行ってました!

SPVN は木本さんがメインで開発されている、Perlライクなプログラミング言語です。

プログラミング言語の言語の開発ってすごく難しそうなイメージがしますね 🤔

Perlの感覚で柔軟な記述ができて、型指定などの厳格性をもたせることなどができるようです。

引き続きサンプルコード、ドキュメントなどを読み進めて勉強していきます! ✍

2022/05/25

Perl モジュールを公開する前準備

お久しぶりです、Perlクラブの村上です!

ゴールデンウィークが明け、五月病も抜けてきた今日この頃です 🍵

今月は CPAN に Perl モジュールを登録する準備を進めていきました!

CPAN は、有志の方々が作ったPerl の自作モジュールなんかを登録・公開するサーバーのことですね。

日々、無料で使わせていただいており、大感謝です 🙇 🙇

今回準備をしたといっても、アカウントを作成しただけです 😎

でも大きな一歩です!

やり方を簡単にまとめると、

  1. PAUSE にアクセスする
  2. "Request PAUSE account" からアカウント登録申請を送る
  3. 管理者から承認されるのを待つ

のような感じでした!

申請理由を英語で書く欄があって、そこが手間取りました。

「知人の開発を手伝ってモジュールを登録するため」という内容で短く書いて送ったら次の日には承認されておりました!

皆さんも、CPAN につくったモジュールを公開することを考えてみてもよいかと思います!!

2022/04/04

「Perl検定」がリリースされました〜!

お久しぶりです、Perlクラブの村上です! 西日本ではもう至るところで桜が満開になってきました♪

今週ついに 「Perlクラブ」にて「Perl検定」がリリースされました〜!!

以前ご紹介したように、「Perl検定」では Perlに関する様々な問題が掲載されており、4択クイズ形式の問題に挑戦することができます。

Perl に関して本やネットの記事などで断片的に得た知識はなかなか定着しづらいですが、クイズを通して振り返ることで記憶として残りやすくなるはずです!

Perl のようなプログラミング言語の学習は自分で何かを創作していく過程で徐々に身につけていくものではありますが、クイズのような、いつでもどこでも簡単にとりくめるものもオススメです〜!

僕も移動時間なんかに開いたりしています♪

よかったら「Perl検定」覗いてみてくださいね〜!

2022/01/26

Giblogにデプロイ機能が追加されました!

こんにちは、Perlクラブの村上です!

そして明けましておめでとうございます 🎉 今年もPerlクラブをよろしくお願いします 🙇

今回は、Giblogのバージョンアップの報告です!

まもなくGiblogはバージョン3.0 がリリースされます!

デプロイが機能が追加されるとのことで、早速試させていただきました!

現時点ではまだリリースされていませんが、こちらの開発用バージョン(2.01_02)からご確認いただけます!

以下、使い方です!

0. お手元のGiblogのバージョンをアップデートする

(3.0がリリース後に、正式に利用可能になります!)
 cpanm update Giblog 

1. deploy.pl というファイルをプロジェクトルートに用意し、デプロイ処理を記述します

2. 以下、手順よりコミット&プッシュを行う

  giblog build
  
  giblog save -m "コミットメッセージ"
  
  giblog publish origin master
  

3. deploy コマンドを実行して、deploy.pl に記述した処理を実行します

 giblog deploy 

※ また上記 2、3の手順を、以下のコマンドで一気に実行することも可能です

 giblog all -m "コミットメッセージ" origin master 

デプロイ処理も機能に加わり、より簡単にページを公開できるようになりました〜!!

みなさんもよければ3.0の機能について確認してみてください 💪💪💪

2021/11/21

デザイン変更しました!

こんにちは、Perlクラブの村上です!

今回は、Giblogの機能を用いてサイトのデザインの変更を行いました。

index 自動生成

今回は主に、トップページの更新を行いました。

Giblog には、ブログサイトを作成するための機能として、 new_blog というものがあります。

この機能を使うと、ブログサイトのプロトタイプが生成されます。

# ブログサイトのテンプレートを 'my_blog_site' という名前で作成
% giblog new_blog my_blog_site
% cd my_blog_site ; ls
README       giblog.conf  lib/         public/      serve.pl     templates/
# ウェブサイトの立ち上げ
% giblog serve

サイトの見出しになるトップページ (index.html) 更新の度に自動でつくられるようになります。

記事をエントリーに追加する度に、自動で過去7日分のエントリーが一覧表示されるようになります。

(この機能を知らなくて、手動でつくっていました... 笑)

ビルド処理は、"lib/Giblog/Command/build.pm" に定義されており、用途に応じてカスタマイズして使うこともできます。

ブログサイトを簡単につくる上で便利な機能が集まっているかと思います!

みなさんもよければ試してみてください!

コンテンツ