さわだのノート

書籍のお仕事に役立つかもしれない思いつきを記録しています。

RSS: 記事の更新情報 Rss Feed

NeoBundleでVimのプラグインを管理する

vim

もうすでにいろんなところで書かれているけど、一応自分用のメモとして記録しておきます。 下記手順はMac OS Xの場合です。 NeoBundleをダウンロードする NeoBundleをgithubからダウンロードします。 ターミナルを起動して、下記コマンドを入力。 $ cd ~/.vi…

Perlで日付計算する

Calendarモジュールを使うと、月またぎの日にちの引き算や、足し算で日にちを求めることができます。商品の発売日を取得して、今日から30以内に発売されていれば新商品と判定、なんて処理も簡単です。 #!/usr/bin/perl use strict; use warnings; use featur…

Perlで配列の重複要素を削除する&変数内のメタ文字無効化について

配列の重複要素を削除する方法は、ハッシュのキーに代入する方法が一般的みたいですが、それだと要素の順番がばらばらになってしまいます。 grepを使うとこんな感じでも重複要素の削除ができることに気づきました。 #!/usr/bin/perl use strict; use warning…

料理下手におすすめしたい皮むき器。

今日初めて知ったのですが、皮むき器って実は2種類あるらしいです。家庭科の授業とか家でよく見かけるのは、T型ピーラー(ピューラーだと思ってた)というようです。 貝印 SELECT 100 T型ピーラー DH-3000出版社/メーカー: 貝印メディア: ホーム&キッチン購…

Perlで非同期処理を行う

書籍を作るときに、Webページのスクレイピングしたりアイコン画像をダウンロードしたりといった感じでPerlスクリプトを使うことがしばしばあります。Perlを使う前は一つ一つコピペしていたのですから、大きな進化です。ただ、取得するデータの件数が多くなる…

CSVファイルの重複を削除する

CSVファイルやExcelのファイルを編集しているとき、特定の列の要素が重複している行を取り除きたくなることがあります。例が微妙ですが、下記のような名前の一覧があったとします。 スティーブ,ジョブズ ビル,ゲイツ スティーブ,ウォズニアック スティーブ,…

カウンタ変数を使ったforループについて

同じ要素数を持った2つのリストを順々に処理したいときなどに使う、カウンタ変数付きのforループ。今までこんな感じで書いていました。 my @list1 = 1..100; my @list2 = 101..200; for (my $i = 0; $i < scalar @list1; $i++) { say "$list1[$i] + 100 => $…

Perlスクリプトにコマンド置換のリストを投げ込む

たいした話ではないのですが、Perlのスクリプトの引数に、コマンド置換の結果を投げ込めるということに今気づきました。こんな感じのスクリプトがあったとしたら、 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode::Locale; use open IO =>…

Perlでクリップボードを利用する

Perlで適当に処理した文字列を、テキストファイルやターミナルに出力させてからコピペすることがよくあるのですが、なんかこれって二度手間で面倒です。「Clipboard」というモジュールを使うとPerlで直接クリップボードに書き込めるようなので、さっそく利用…

iPhoneのスクリーンショットを選別する

原稿を書いていると、まれに画像の一覧からiPhoneのスクリーンショットを選別してピックアップしたいと思うことがあります。今までに一回しかありませんでしたが……。まあ、そのとき一回だけだったんで、手作業で探したほうが早かったかもしれませんが、遊び…

アイコン画像をまとめて角丸変換

ここで紹介されているImageMagickを利用したアイコン画像の角丸処理がすごい便利。ImageMagickでAndroidアプリ用にiPhone風の角丸アイコン画像を生成する Kawanet Tech Blog/ウェブリブログインストールに四苦八苦しながら変換を試してみた。 案外うまくいき…

縦書きフォーマット変更スクリプト修正版

追記:もうちょい改良しました => 原稿の縦書き整形スクリプトを修正 - takepierrot Editor Note 先日、縦書きフォーマットように半角英数字を変換するvimスクリプトを書きました。選択範囲の文字を縦書き用にフォーマット - takepierrotのメモ このスクリプ…

正規表現使用時に利用できる特殊変数

Perlで正規表現を使用する際、以下の4つの特殊変数が利用できます。 メタ文字 説明 $& 文字列の中でパターン全体がマッチした部分を参照 $` 文字列の中でマッチに先行する部分を参照 $' 文字列の中でマッチに続く部分を参照 $+ 最後にマッチした文字列を返す…

選択範囲の文字を縦書き用にフォーマット

ライターとして原稿を書くとき、縦が器用に原稿を求められるときと横が器用に原稿を求められるときがあります。 実は、縦書きと横書きでは微妙に文章の表記やフォーマットが異なります(発注者により変わったりもしますが)。 横書きの場合、英数字は基本半…

iftttを使ってみた

無事投稿されるだろうか……。

Pentadactylrcの設定

久しぶりにFirefoxを使いました。Pentadactylrcの設定を見直したのでそのメモ。 " j/k でのスクロール幅を 1行 から 5行 に変更 nnoremap j 5j nnoremap k 5k " コマンドラインモードで履歴の探索を簡単に cnoremap <C-n> <Down> cnoremap <C-p> <Up> " 挿入モードも<C-m>で改行コード</c-m></up></c-p></down></c-n>…

はてなブログが利用できるようになった。

ダイアリーの記事をインポートすることはできないのだろうか? さすがに手打ちで移動するのは面倒くさい。

さらばMS ゴシック/MS Pゴシック! Windows版Google Chromeできれいなフォント表示を実現する

Windowsではいまだに使用されているMS ゴシックとMS Pゴシック。メイリオやConsolasといったClearTypeのフォントがリリースされて長らくたっても、いまだに標準フォントとして設定しているWebサイトが少なくありません(IT mediaとか)。Firefoxの場合は、標…

Google Chromeの等幅フォントのデフォルトサイズを設定する

等幅フォントのサイズがおかしい? 最近、Google Chromeでコードの書き方などを紹介しているサイトをよく見るのですが、等幅フォントのサイズが不自然に小さいところがあります。たとえば下記のサイトの場合だと、こんな具合になります。 Google JavaScript …

Unicodeブロックを利用する

実家はいまだに携帯電話がまともに通じず、インターネットもないという情報鎖国状態でした。眼は休まったけど、やっぱりネットがないと落ち着きません。さて、前回PerlのUnicode文字列に対する正規表現検索がなにやらちょっと変わった動作をするというお話を…

Unicodeで正規表現検索

use utf8で挙動が変わるPerlの正規表現 言うまでもないかもしれませんが、Perlでは正規表現が利用できます。「\d」では半角数字が、「\w」で半角英数字が検索できるという便利な検索の仕組みのことです。 詳しいことは下記のサイトをご参照あれ。Perlの正規…

スクリプトの実行手順をおさらい

PythonやPerl、シェルスクリプトなどのスクリプトファイルは、シェバング行を書いておくとスクリプトファイルを直接実行することができるそうです。シェバング行というのは、 #!/usr/bin/perl みたいなのを書いている行のことですね。スクリプトファイルの1…

Web::Queryに任意のUserAgentを設定する

Web::ScraperとWeb::Query これまで、PerlでのスクレイピングにはWeb::Scraperを使ってきましたが、Web::Queryというモジュールもあるようです。Web::Query - jQuery風にスクレイピング - ”><xmp>TokuLog 改メ tokuhirom’s blog Webスクレイピング入門 - Perl Adv</xmp>…

Vimで選択範囲の文字数をカウントする

ライター/編集に必須の文字数チェック 原稿やブログの記事を書くときは、いつもVim(GVim)を使っています。 原稿をちょこちょこっと直したり、正規表現で文字列を修正したりといったことがスムーズにできるのがいいですね。しかし、ライティングになくては…

原稿を適当にXML化

原稿の整理・編集にはいつもVimを使っていますが、複数のテキストファイルに複雑な処理をかませたいときはPerlを使っています。 今週末はクリスマスなので、適当なフォーマットの原稿をXML化するためのスクリプトを書いてみました。 マジで暇だ。 #!/usr/bin…

Perlで日本語を扱うときの設定

PerlのスクリプトはいつもUTF-8で書いています。 Mac&Linux環境 MacやLinuxみたいな、ターミナルのデフォルトエンコーディングがUTF-8の環境ならこれでOK。 PerlのIOレイヤーと標準入出力(エラー出力含む)がUTF-8でエンコード/デコードされるようになり…