2014-09-23 (火)

GrowthForecastがsegmentation faultで落ちるのでrelocatable-perlを使い始めた件 [Perl][GrowthForecast]

こちらも前回[2014-09-23-1]に引き続き、さくらのVPS上のUbuntu 14.04の
話です。

今までのUbuntu 12.04 32bitではGrowthForecastは問題なく動いていたの
に、Ubuntu 14.04 64bitにしたらなぜか動かなくなりました。。

Perlはplenvでインストールした5.20.0と5.20.1で確認。GrowthForecastは
最新。

続きを読む

この記事に言及しているこのブログ内の記事

2014-08-31 (日)

YAPC::Asia Tokyo 2014に参加してきた #yapcasia [Perl]

画像

去年[2013-09-29-1]に引き続き、今年も参加してきました。
YAPCはバラエティがあり、Perl以外の情報も多いので好きです。
まさにYet Another Programming Conference

よく考えたらこのブログもPerlで生成しているので[2007-07-01-1]、Perl
との関わりはゼロではなかった。

参加者が過去最大ということもあり座れないことが多々ありました。YAPC
ではおなじみの光景みたいですが、この辺改善されると良いですね。Wifi
とか運営とかは素晴らしかったです。

以下、参加したトークへのメモ。

続きを読む

2014-01-25 (土)

改めてHomebrewをクリーンインストールしたメモ [Homebrew][OSX][Ruby][Perl][PHP]

BoxenからHomebrewに戻ってきたので[2014-01-25-1]、改めてまっさらな状
態からインストール。[2011-07-26-1]以来だね。/usr/localは空っぽにしといた。

http://brew.sh より。

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"


続きを読む

この記事に言及しているこのブログ内の記事

2013-09-29 (日)

YAPC::ASIA 2013 はノベルティに満足 [Perl][勉強会]

画像


最近は仕事とか二日酔いとかで結構忙しくて、もう一週間が経ってしまい
ました。。

今回YAPCというPerl最大のイベントに初参加しました。残念ながら土曜日、
最終日だけの参加でしたが、なかなかに満足度が高かったです。(YAPCって、
怖いイベントじゃなかったんですねw)

最初の @yusukebe さんのトークの分かりやすさが半端なかった(以前聞い
たLTも良かった)。Perlをほぼいじったことない私でも普通に理解出来まし
た。トークがわかりやすいのか、Mojoliciousが分かりやすいのか。
MojoliciousのデフォルトはVCしかないというのは清々しさを感じました。

16:30から始まったLT大会は個人的にはツボのものが多く、他のLLのLTとは
違った雰囲気でした。

以下、当日聞いたトークです。

- Mojoliciousでつくる!Webアプリ入門ブログ記事
- Programming AWS with Perl
- What's new in Carton & cpanm
- GitHubでつくる、たのしい開発現場ブログ記事
- 中規模チャットサービスの運用事例
- PhantomJSによる多岐にわたる広告枠の確実な表示テスト
- フルテストも50msで終わらせたい 〜 FreakOutの取り組み 〜
- Lightning Talks Day 2
- Keynote
- YAPC::Asia Tokyo 2013 クロージング

P.S.
ノベルティが良かったです。中でもmixiプランニングポーカーが一番嬉し
かった。普通に買おうと思ってたので。DeNAのスマホスタンドも使ってま
すし、YAPCタオルは今日ジムで使ってきました。

この記事に言及しているこのブログ内の記事

2013-08-14 (水)

GrowthForecastをインストールする [GrowthForecast][Perl][Chef][Ubuntu]

前回[2013-07-17-1]から間が空いてしまいましたが、GrowthForecastをイ
ンストールしました。

インストールするだけなら、これだけでOKです。

% mkdir ~/growthforecast
% cd ~/growthforecast
% echo "requires 'GrowthForecast';" > cpanfile
% sudo apt-get build-dep rrdtool
% plenv exec carton install


起動方法はこんな感じ。http://example.com:5125とかにアクセスすると確
認出来ると思います。

% cd ~/growthforecast
% carton exec -- perl growthforecast.pl --data-dir . &


--data-dirオプションを指定しないと
~/growthforecast/local/lib/perl5/auto/share/dist/GrowthForecast/data/
以下にsqlite関連のファイルが作られます。~/growthforecast/localは
削除することもあるでしょうから、指定した方が良いと思います。

続きを読む

2013-07-17 (水)

plenv + cpanm + cartonでPerlの環境を構築した(OSX版) [Perl][Homebrew][OSX]

[2013-07-17-1]のOSX(Mountain Lion)版です。こっちはめっちゃ簡単。

brewでplenvとperl-buildをインストール

% brew install plenv
% brew install perl-build


あとはUbuntuと同じようにperl+cpanm+cartonをインストール

% plenv install 5.18.0 -Dusethreads
% plenv global 5.18.0 && plenv rehash && rehash
% plenv install-cpanm
% plenv exec cpanm Carton


P.S.
入れたは良いけど、OSXでPerl使わないなーと思ってたら、chalow(このブ
ログを生成するツール)で使ってた。てか、HTML::Templateがなくて
chalowを実行出来なくなっていた...。早速インストール☆

% plenv exec cpanm HTML::Template

2013-07-17 (水)

plenv + cpanm + cartonでPerlの環境を構築した(Ubuntu版) [Perl][Chef][Ubuntu]

plenv + cpanm + carton でPerlの開発環境を構築する|Act as Professional - hiroki.jp

私もGrowthForecastをインストールするために、Ubuntu 12.04.2 LTS上に
Perlの環境を構築しました。@hirocasterさんと若干違いがあった(下記★
の箇所)ので、私の手順も書き留めておきます。

Perl力はゼロな私ですが、以下の認識でだいたい合っていると思います。

- plenv
Rubyのrbenvに相当。複数バージョンのperlをHOMEにインストールし、切り
替えて使うツール。というよりシステムを汚さないために使う感じ。

- cpanm
Rubyのgemに相当。Perlのライブラリをインストールするために必要なツー
ル。今はcpanじゃなくてこれを使うみたい。

- carton
Rubyのbundlerに相当。アプリごとにライブラリを切り替えることが出来る。

続きを読む

2013-03-24 (日)

better than grepなackを試してみた [Perl][Emacs][OSX]

better than grepなツールackがタイムラインでちょっと話題になっていた
ので、試してみました。find+grepより速くて良いね。

OSXならbrewでインストールするとお手軽なんでしょう。

% brew install ack


デフォルトで再帰検索してくれます。.gitとか.svnディレクトリは勝手に
無視してくれるようです。

% ack hoge
test/test-twittering-mode.el
405: (setcdr (assoc 'in-reply-to-screen-name status) "hoge")
407: (test-assert-string-equal " in reply to hoge"


検索対象の拡張子は"ack --help-types"で確認出来ます。-kオプションを
付けると、すべてのファイルを対象にします。

% ack -k hoge


ファイルやディレクトリも指定可能です。

# ファイル
% ack hoge twittering-mode.el

# ディレクトリ
% ack hoge test
test/test-twittering-mode.el
405: (setcdr (assoc 'in-reply-to-screen-name status) "hoge")
407: (test-assert-string-equal " in reply to hoge"


--nogroupオプションを付けるとgrep -nっぽい出力になります。

% ack --nogroup hoge
test/test-twittering-mode.el:405: (setcdr (assoc 'in-reply-to-screen-name status) "hoge")
test/test-twittering-mode.el:407: (test-assert-string-equal " in reply to hoge"


~/.emacs.d/init.elのgrep-find-command変数をこのように変更しました!

;; 変更前
(setq grep-find-command
      '("find . -type f -name '*' ! -path '*/.git/*' -print0 | xargs -0 grep -nH -e  /dev/null" . 76))

;; 変更後
(setq grep-find-command '("ack --nogroup --nocolor -k " . 28))



追記(2013-04-21):
.ctpファイルを検索してくれないので、~/.ackrcを新規作成して以下を
追加しました。"ack --help-types"で確認出来ます。

--type-add=php=.ctp


デフォルトは登録された拡張子のファイルだけ検索するようですね。php系
のファイルだけ検索したい時は--phpオプション、除外したい時は--nophp
オプションを付ければ良いみたいです。

参考: How to let ack support more filetypes? - Stack Overflow

追記(2013-08-04):
ack version2から検索対象のデフォルトが「全て」から「登録された拡張
子のみ」に変わったので、記事を書き換えました。

2012-09-07 (金)

このブログがインターネット上から消えていました [chalow][OSX][Perl]

http://dlvr.it/ からの通知で気づいたのですが、このブログが1日半ほど
インターネット上から消えていました。

OSXをMountain Lionにバージョンアップしたら、Perlのバージョンが上が
り、HTML::Templateがなくなったことが原因でした。

CPANからインストールして解決しました。
cpanの使い方の整理 « taichino.com

このブログはChangeLogメモという1つのテキストファイルから、chalow
いう変換ツールを使いhtmlに変換しています。

この作業を自動化した自作のmkchalowスクリプトの作りが甘かった。。自
分しか使わないツールと言えども、エラー処理はちゃんとした方が良いで
すね。ブログが生きているかのチェックも。

ちなみにChangeLogメモを始めたのはこの記事がきっかけです。
[2001-12-30]から書き続けていて、23,000行になりました。
横着プログラミング 第1回: Unixのメモ技術

最近はEvernoteに全部まとめる人が多いみたいですが、技術者だったら絶
対ChangeLogメモの方が良いですよ。手に馴染んだエディタが使えるし、整
理する必要がないので。

ただchalowを使うかは微妙なところかも。やはり全てを自分が面倒見るの
で、時間がないとなかなかメンテしきれません。ChangeLogをWordpressと
かTumblrにインポート出来れば良いのですが。それも時間が..w

2012-08-06 (月)

LL Decade は元組み込みプログラマーでも楽しめるイベントだった #lldecade [Perl][PHP][Python][Ruby][勉強会]

この記事で開催を知った LL Decade。LL はおろか、Decade の単語の意味
も知らなかった元組み込みプログラマー、現 Web プログラマーですが、予
想以上に楽しめるイベントでした。

しかし暑かった。予定どおり汗だくで会場に到着。今回は机がなかったの
で MacBookAir は使わず、iPhone に軽くメモりながら純粋に楽しむことに
専念。

基調講演で初めて @miyagawa 氏を拝見。手錠をはめられてプログラミン
グ..の下りが印象に残りました。PHP は知れば知るほど変態言語で、第一
印象よりかなり好きになりましたが、私も手錠をはめられている感じはす
るのですよね...。

意外だったのは今まで Python に全く関わらずに生きてきたのに、
Language Update Decadev で話を聞いて、やってみようかなと思ったこと。
LL イベントは各言語をつまみ食い出来るので、組み込みなど別な分野の人
が参加しても楽しめますね。今回はまつもとさんの mruby の話も熱かった
ですし。

先週の Jenkins ユーザ・カンファレンスの熱が残っているのか、CI の話
もセッションまるまる使われていました。まあでも CI は各言語やフレー
ムワークに共通する内容は薄いので、CakePHP2 と Jenkins みたいにドン
ピシャの話が聞きたいですね。それは個々の勉強会でやることか。。あ、
もちろん各トークは面白かったです。 @yamashiro さんの話は特に。

JsTestDriver いいかもと思ったけど、複数サーバが必要なのは残念でした。

Javascript が機械語という解釈は今回一番面白かった。すなわち永遠に生
き続ける。確かに各ブラウザ対応を考えると素で書くのはしんどい。アセ
ンブラに対する C みたいに、今後はもっとしっくりと上に乗っかるとうれ
しいですね。> jQuery, JSX, CoffeeScript

2007-09-17 (月)

Perl でメールを SMTP 送信する [Perl]

perl から ローカルの sendmail を呼んでメール送信すると、場合によっては相手のメールサーバに
弾かれる場合があるので、今後は SMTP で送信した方が良いかもしれない。
(URL: http://tech.bayashi.net/pdmemo/sendmailbyperl.html)

この記事に言及しているこのブログ内の記事

2006-01-06 (金)

perl の実用的な使い方 [Perl][cvs]

% cat CVS/Root
:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs
% find . -path '.*/CVS/Root' -print0 | xargs -0 \
> perl -i -p -e 's/:ext:anoncvs\@(cvs\.)?s/:pserver:anonymous\@cvs.s/'
% cat CVS/Root
:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/emacs


2006-01-06 (金)

ファイルを直接置換 [Perl]

% cat hoge.txt
aaa aaa
bbb
aaa
% perl -i -p -e 's/aaa/ccc/g' hoge.txt
% cat hoge.txt
ccc ccc
bbb
ccc


2003-11-11 (火)

正規表現メモ [正規表現][Perl]

+ をサポートしているかどうかは、コマンドによります。
grep では使えない、perl 内蔵の grep では使える、などなど。
* は必ずサポートしているので、面倒でも [a-zA-Z0-9]+ を
[a-zA-Z0-9][a-zA-Z0-9]* と書くと普遍的です。
# perl では回数も指定できます。[a-zA-Z0-9]{3} は3回。
ということなので、grep するなら
[a-zA-Z0-9][a-zA-Z0-9]*\.c
perlなら
\w+\.c あるいは \b\.c
でいけると思います。

最終更新時間: 2017-06-29 08:15

検索
最近の話題
- 2017-06-29
  Kubernetes Meetup Tokyo #5 に行ってきた #k8sjp
- 2017-06-26
  『プログラマのためのGoogle Cloud Platform入門』を読んだ
- 2017-06-02
  AWS Summit Tokyo 2017 に行ってきた #AWSSummit
- 2017-05-28
  GitHub Organization をメンテナンスするスクリプトを作った
- 2017-04-29
  Docker ではないコンテナ systemd-nspawn を使ってみた
- 2017-04-16
  CircleCI 2.0 で capistrano デプロイしてみた
- 2017-04-15
  CircleCI 2.0 をローカルで実行できる circleci コマンドとは何者か
最近追記された記事
- 2017-04-29-1 (60日前)
- 2017-04-13-1 (74日前)
- 2017-04-13-1 (76日前)
- 2017-03-02-1 (118日前)
- 2017-02-25-1 (123日前)
- 2017-02-21-1 (127日前)
- 2015-06-07-1 (133日前)
- 2016-10-19-1 (142日前)
- 2016-01-01-1 (154日前)
- 2015-01-04-1 (163日前)
カテゴリ
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (18)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (3)
- Book (86)
- Boxen (2)
- Bugsnag (1)
- C (26)
- capistrano (4)
- chalow (56)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (10)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (3)
- E-mail (8)
- elasticsearch (4)
- Emacs (219)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (1)
- Game (20)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (16)
- Go (5)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (3)
- Heroku (9)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iPhone (15)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (1)
- Langrich (7)
- LDAP (6)
- Life (19)
- Linux (6)
- Mackerel (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (1)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (12)
- Rake (2)
- RaspberryPi (1)
- RedHat (29)
- Redmine (3)
- Rspec (1)
- Ruby (49)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (2)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Twitter (14)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (25)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (15)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
Google+