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

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

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" に定義されており、用途に応じてカスタマイズして使うこともできます。

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

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

2021/10/24

「Perl検定」の紹介!

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


今回は、Perlの知識を測定する目的で作られている「Perl検定」の紹介についてです。


「Perl検定」とはその名のとおり、Perlの言語仕様に関する知識(構文、文法など)を測定するための検定サイトです!


現在はまだサービスを開始しておらず、準備中になります。


自分のPerlに関する知識レベルがどんなものであるかを知る尺度としてや、勉強した内容の復習なんかに活用できそうですね〜!


プログラミングの言語の勉強として、公式のリファレンス読んだり、それをわかりやすく解説してくれている記事や本を手にすることがあるかと思います。


そうしたときになんとなく理解できたつもりになるんですが、なかなか復習するまでに至らないんですよねー。(私はw)


4択形式になっており、気軽に取り組めるのもよいですね!


いかに、いくつか問題を紹介させてもらいます!



【問】ハッシュ変数を宣言しているものはどれでしょうか?

【選択肢】

1. my $foo

2. my @bar

3. my %baz

4. my hoge

【解答】3

【解説】

「Perl基礎文法最速マスター」の「変数の宣言」 を確認してください。

ハッシュ変数は%で始めることで宣言できます。


【問】以下を実行すると何が表示されるでしょうか?

  print int(1.52)

【選択肢】

1. 1

2. 1.5

3. 1.6

4. 2

【解答】1

【解説】

int関数 - 小数から整数部を取り出すを確認してください。


【問】以下のプログラムを実行すると何が出力されますか?

  my $num = 1;
  my $result = 0;
  
  if ($num > 0 && $num < 10) {
    $result = 100;
  } else {
    $result = 200;
  }
  
  print($result);

【選択肢】

1. 0

2. 1

3. 100

4. 200

【解答】3

【解説】

「if文による条件分岐」 を確認してください。

数値の比較および、論理演算子がポイントになります。


【問】以下のプログラムを実行すると何が出力されますか?

  @str = qw/kyou mo genki da perl de genki!/;
  print $str[$#str] . "\n";

【選択肢】

1. "kyou"

2. "kyou mo genki da perl de genki!"

3. "" (何も表示されない)

4. "genki!"

【解答】4

【解説】'#$' は配列の最後の要素のインデクスを示す。


【問】以下のプログラムを実行すると何が出力されますか?

  @str = qw/kyou mo genki da perl de genki!/;
  $out .= shift @str;
  $out .= pop @str;
  print $out . "\n";

【選択肢】

1. "kyougenki!"

2. "kyoumo"

3. "genkide"

4. "genki!kyou"

【解答】1

【解説】shift は配列の最後の要素を取り出す。pop は配列の最初の要素を取り出す。


いかがでしたでしょうか!


ソースコードをみて、頭の中で動作を想像するときになって初めて「あれ?これってどうだっけ。。。」ってなることがあるんじゃないかなーと思います。


皆さんのPerl習得の助けになれば幸いです!


2021/09/26

はじめまして!

みなさん、はじめまして!

私は 村上龍之介(むらかみ りゅうのすけ) といいます。博多でひっそりとプログラマーをさせていただいております!

今日からスタッフブログを書かせていただきます。拙い文章ですが、活動の記録をさせていただきます!

初回なので自己紹介記事になりますが、お付き合いいただければです。

本業では、機械学習をさせていただいております。

しかし、データ分析などは全然得意ではないので、いわゆるなんちゃって機械学習エンジニア(笑)です!

基礎理論もろくにわかっていない状態で、日々実験をしております(汗)

機械学習をしていると、学習データの準備なんかで 「テキスト処理」 なるものをする必要に迫られます。

そうしたときに処理の自動化を考えるわけですが、ここで 「Perl/Python/Awk/Sed」 などの心強い武器を手に取ることになるかと思います。

実際、僕が日頃使っている実験スクリプトなんかにもこれらを多分に組み合わせた処理が盛り込まれております。

これらのなかでも、(個人的に) 特に実用的で奥が深いと注目しているものが Perl になります!

ただ、Python で育ってきた自分には、いくらか馴染めない記法なんかがありました。。

人の書いた Perl スクリプトを読むのが嫌で嫌でたまらず、逃げだしたくなることも何度か。。w

その都度、ネットでググっていた私ですが、その度によく目にしていたのが Perl クラブの Perl 解説記事でした。

かわいいカエルのロゴと、木本さん自らされる解説動画が特徴のあのサイトです!

僕は本題とはあまり関係のないようなところでも、細かい部分が気になってしまう性格なのですが、木本さんの本や解説記事はこうした細かい部分にもきちんと気を配られて解説されておりました。

そんな日々を送っているうちに、Perl を本格的に学びたいという気持ちと、 日頃訪問していたことから生まれた親しみから、「僕も Perl クラブで活動してみたい」とぼんやり思うようになりました。

それから人手募集のページを見つけて、応募をしてみたのが、つい数日前です。

まずはと、木本さんと実際にやりとりをしながら 開発サーバーマシンにPerl の開発環境の構築をさせていただきました。

Perlbrew での Perl のインストールが意外とすんなりいかなかったり(自分だけ?)、Giblog をつかってのウェブページの構築が使いやすくて感動したりしておりました。

そういうわけで今に至ります。

Perl に関しては、本を1、2冊斜め読みした程度の初心者ですが、これからの活動を通してしっかり学んで行こうと思います!

これからも Perl クラブの活動を報告させていただきますが、あたたかい目で見守っていただければです〜!

コンテンツ