sironekotoroの日記

Perl と Mac の初心者の備忘録

Mouseのコンストラクタで1時間ちょっとハマったところ

出オチ感がるんですが、こんなコードです。 Mouse を使った Perl のオブジェクト指向のコードです。 意図したことは、$obj = UserID->new() でコンストラクタを呼ぶも、 required => 1 つまりオブジェクト生成時にプロパティを必須にしているのでエラーが出…

マザーテレサの(ものとして流布されている)言葉をPerlで

うちのTLに流れてきたツイート puts %w[思考 言葉 行動 習慣 性格 運命].each_cons(2).map { |a, b| "#{a}に気をつけなさい。それはいつか#{b}になるから。" }— Jun OHWADA at (@june29) 2020年9月7日 これはマザーテレサの言葉とされる文字列を表示する ru…

Perlモジュール作成実況中継 一気通貫 テストを添えて

Perl でモジュール作るなら minilla がおすすめ(というかそれしか知らない) Perl でモジュールを作るときは Minilla を使っています。 きっかけは Web+DB Press に掲載されて記事でした。 gihyo.jp 体系だった記事があると大変助かります。 $ cpanm Minill…

Perl から Slack の incoming-webhook 宛にメッセージを飛ばす

あっさりできてしまった。 #!/usr/bin/env perl use strict; use warnings; use URI; use HTTP::Tiny; use JSON qw/encode_json/; my $url = URI->new('slackのincoming-webhookのURL'); my $ht = HTTP::Tiny->new; # リクエストに必要なHTTPヘッダーを組み…

自作CLIアプリでもターミナルっぽいカーソル操作を行いたい!

自作CLIアプリでもターミナルっぽいカーソル操作を行いたい! 例えば、こんな感じの入力〜出力の簡単なスクリプトがあります。 #!/usr/bin/env perl use strict; use warnings; while (1) { print "input>"; my $input = <STDIN>; chomp $input; print $input . "\n</stdin>…

DDDをちょっとかじってみる

技術書を出版している翔泳社さんという出版社があり、たまに電子書籍のセールをやっています。 そこで、前から気になってはいたけどよく知らない、Webでさらっと見たけどとっつきにくそう、最近耳にした、ということでDDDの本を買ってみました。 www.shoeish…

GASでジャパンネット銀行の振込み手数料判定カスタム関数を作った

ネタがどんどん経理に傾いてきてますが、そういう時期なんですね。 さて、ジャパンネット銀行という銀行があります。2000年に開業した日本初のネット専業銀行です。 法人口座の手数料は以下となっています。 www.japannetbank.co.jp ジャパンネット銀行の口…

久々の @xtetsuji さんからの出題をやってみる

毎週火曜日のペアプロ講習用に作成した問題を昨晩の #Perl入学式 オンラインミーティングで紹介したので Twitter でも紹介。情勢が収束したらまた懇親会でピザを食べつつお題に興じたい。 pic.twitter.com/n68luVPNEg— OGATA Tetsuji (@xtetsuji) 2020年7月2…

Google スプレッドシートの情報を GAS で WebAPI にしてXML で取得できるようにして、それを Excel の PowerQuery で取得する

悩み 経理ネタです。Perl 出てきません(往年の YAPC みたいになってきた) 請求書ベースの振込先の管理に Excel シートを利用している 自社サービスの一部の振込先の管理に Google スプレッドシートを使っている これをどっちかにまとめたい。というか、マ…

nodejs を macOS Catalina にインストールした

前は何かで nodejs を入れたのだけど、macOS Catalina をクリーンインストールした時に消えたままだった。 昨日土曜日に挑戦して、2時間かかってインストールできず、本日再チャレンジしたらすんなりインストールできた。 メモっておけばよかったけど、パス…

ある月の最後の平日を求める

「その君の勘から発した、 君の怒りと苛立ちは理由になる!」というカミーユの言葉に背を押されて、経理のスクリプト作ってる。— sironekotoro (@sironekotoro) 2020年7月4日 ってことでこんにちは。休日になると仕事のスクリプト作成が捗りますね。 なぜか…

定型のフォルダ構造を作る

先週はブログも書かずに何をしてたんだっけか こんな感じで繋がっちゃったわけ。家で物理本読むの久しぶりだわ。だいたい通勤電車の中で電子書籍で読んでるからなぁ。 pic.twitter.com/VjLkdHgURN— sironekotoro (@sironekotoro) 2020年6月12日 あぁ、部屋片…

Perl から Selenium を使う

色々あって Twitter がデザイン変更して、スクレイピングが失敗するようになり、またDOM解析して修正かー・・・とか思ったら、SPA 化かなんかで全然 DOM の把握ができず、スクレイピングどころではないってなって、あー!! ってことで、以前から気になって…

Mojolicious::Lite でヘルパー関数を使う & サブルーチンリファレンス

近況 30% : sshでサーバの中に入って改修とか Linux, Vim, Perl 70% : 経理業務のお手伝い 弥生会計, 弥生販売, Excel, Google Spread Sheet こんな感じの会社生活やってます。 なんで経理のお手伝いやってるかっていうと、経理の人員が足りないってところ簿…

Mojolicious::Lite でファイルをアップロード

いつもの Mojolicious::Lite です。 プロトタイピング 今回は、自分が欲しいなーと思っているもの、作りたいなーと漠然と思っているものを雑に作ってみます。 雑なので大穴がそこかしこに。 同名のファイルは問答無用で上書き アプリを再起動すると、アップ…

Docker上でPerlを動かして、ホストにあるファイルを実行する

Perl インストールしないで Perl 実行するにはどうするんがいいのかなー?的に思って作った環境。 Perl 公式の Docker イメージ使ってみたけど、結構サイズが大きかった。 初回だけDockerイメージのダウンロードに時間がかかります。 hub.docker.com $ docke…

Perlでディレクトリの中のファイルにアクセスする

早速やっていきます。 いつも通り、コードと対象のディレクトリは同じところに置きます。ディレクトリとファイルの位置はこんな感じ。 . ├── read_dir.pl これから書くスクリプト └── test_dir ディレクトリ ├── test_file1.txt ディレクトリの中のファイル …

Mac に Parallels で Windows10 を入れ、その上で VPN 接続して弥生会計を使いたい!

Mac に Parallels で Windows10 を入れ、その上で VPN 接続して弥生会計を使いたい! そういう人も日本に3人くらいいるかもしれない、という感じで書いてみます。中身は薄いです。 弥生会計とは・・・? シェア6割を誇ると言われる企業用の会計ソフトです。 …

Perlでファイルの文字コードを指定して読み込み&書き込み

一昨日の金曜日、ムキー!ってなったことを、落ち着いて週末に解決するべく色々やった記録です。 まず、このGoogle Spread Sheet 開いてください。普通に開けると思います。 docs.google.com はい。タイトルで察していただけると思うんですが、そういうこと…

Perlでcsvファイルを読み込んで 配列|ハッシュ にする

先週からの続きです 先週でテキストファイルの読み書きができるようになりました。 ということで、今回は代表的なテキストファイルのデータとしてCSVの処理方法をやっていきます。 CSVファイル Comma Separated Values の頭文字を取った名前の通り、カンマ区…

Perlでテキストファイルの中身を表示する

色々書いたけど省略 CSVファイルを処理する方法について書いておきたい そもそも、ファイルの入出力についてPerl入学式の現行カリキュラムでやってない しかもいい感じのCSVファイルのサンプル、Shift-JISフォーマットじゃん ・・・一歩ずつ、ファイル入出力…

Perl入学式 2019 in東京 秋開講 第5回 は中止となります

Perl入学式 2019 in東京 秋開講 第5回は中止となります 第1回〜第4回まで講師をやったジャージの人です。 Perl入学式 2019 in東京 秋開講 第5回は延期ではなく中止となります。 #Perl入学式 in東京 2019 秋開講 第5回は延期としていましたが、新型コロナウイ…

printfと私

コロナウイルス禍の昨今 Perl入学式はもとより、Perl のお祭り YAPC::Kyoto 2020 や他の技術系カンファレンスも延期になってしまい、なんとも寂しい限りです。 特にYAPC::Kyoto 2020 は前々日から京都入りして、鞍馬寺や比叡山、福知山など、ちょっと遠いと…

Perl入学式の小ネタ:正規表現の文字境界

前振り あなたはあるブログプラットフォームの開発者です。 昨今流行している新型コロナウイルス「COVID-19」について投稿される記事も多くなってきました。 掲載される情報は正しいものもありますが、アクセス数狙いの過激な文言を含む記事もあります。 そ…

Perl入学式 2019 in東京 秋開講 第4回 お疲れ様でした

Perl入学式 2019 in東京 秋開講 第4回 受講された方、サポーターの方、お疲れ様でした。 講師をやったジャージの人です。 講義に利用したスライドはMarkdown形式で公開しています。復習に使ってください。 www.perl-entrance.org また、復習問題を用意してい…

Perl入学式 第3回までの範囲(+α)でROT13

というわけで、前回からの続きです。 sironekotoro.hateblo.jp Perl入学式 第3回ではハッシュと正規表現を扱いました。 ハッシュを使ってROT13を解く ROT13はハッシュと正規表現の文字クラスを利用することで簡単に解くことが可能です。 まずはハッシュで解…

Perl入学式 2019 in東京 秋開講 第3回 お疲れ様でした

Perl入学式 2019 in東京 秋開講 第3回 受講された方、サポーターの方、お疲れ様でした。 講師をやったジャージの人です。 講義に利用したスライドはMarkdown形式で公開しています。復習に使ってください。 www.perl-entrance.org また、復習問題を用意してい…

Perl入学式 第2回までの範囲(+α)でROT13

ROT13 というのは、簡単な暗号の一つです。 暗号化した文字列 uryyb jbeyq を以下の表をもとに置換すると、hello world という文字列になります。 変換前 a b c d e f g h i j k l m 変換後 n o p q r s t u v w x y z 変換前 n o p q r s t u v w x y z 変…

Perl入学式 in 東京 秋開講 第2回 ピザ会でのお題「コラッツの問題」

Perl入学式 in 東京では各回の講義終了後にピザ会(ピザ&ジュース代は参加者負担)を開催しており、そこでサポーター・受講者さんと雑談などをしております。 サポーター含め参加者が抱えているプログラムの問題や、詰まってしまったところを相談したり、エ…

Perl入学式 2019 in東京 秋開講 第2回 お疲れ様でした

Perl入学式 2019 in東京 秋開講 第2回 受講された方、サポーターの方、お疲れ様でした。 講師をやったジャージの人です。 講義に利用したスライドはMarkdown形式で公開しています。復習に使ってください。 www.perl-entrance.org また、復習問題を用意してい…