2008-05-01から1ヶ月間の記事一覧

RSSを読み込み、パースさせて、ファイルに保存する

サンプルを模倣。 read_rss.pl #!/usr/bin/perl use strict; use warnings; use LWP::Simple 'get'; use XML::RSS; my $rss = new XML::RSS; eval { $rss->parse(LWP::Simple::get('http://weather.livedoor.com/forecast/rss/index.xml')); }; # $@ は eval…

Perl の文字コード変換について

Perl は文字コードの取り扱いに難儀した印象が強かったけれども、再度 Perl に触れてみることにした。 2008-05-08 perl - Encode-2.25 Released! 2008-04-09 perl - Encode 入門 2008-05-08 perl - Encode 中級 2008-05-11 perl - 文字参照を(en|de)codeする…

Ruby で自家製スクリプトを書く 12

クラス化して、SQL 分を書き出す箇所をメソッドにすれば、いろいろと応用ができそう。

Ruby で自家製スクリプトを書く 11

SQL 文に接尾辞を追加した場合に対応させる まずは、接尾辞がない場合の出力結果を確認する。 config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number…

Ruby で自家製スクリプトを書く 10

CSV から特定のフィールドを抜き出し、SQL 文を生成する config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number: 2 # CSV のフィールドの番号 name: …

Ruby で自家製スクリプトを書く 09

CSV から特定のフィールドのみを出力する config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number: 2 # CSV のフィールドの番号 - number: 3 - number…

Ruby で自家製スクリプトを書く 08

読み込んだ CSV を保存する SQL ファイル名でそのまま保存する csv2sql.rb #!/bin/env ruby $KCODE='utf8' require 'yaml' require 'kconv' require 'rubygems' require 'fastercsv' config_file = 'config.yaml' configs = YAML.load_file(config_file) def…

Ruby で自家製スクリプトを書く 08

openfile.rb と read_yaml.rb の機能を合わせる 読み込み元の CSV と出力先の SQL の設定を追加する。 config.yaml filename: # 保存する CSV のファイル名 csv: sample.csv # 保存する SQL ファイル sql: sample.sql encoding: output: UTF-8 input: Shift-…

Ruby で自家製スクリプトを書く 07

YAML を読み込んだ実行結果を表示させる。 config.yaml encoding: output: UTF-8 input: Shift-JIS csv: path: sample.csv # 「,」の後ろに半角空白が入力されている。 # シングルクォーテーションで囲まないとエラーが出るため、 # シングルクォーテーショ…

Ruby で自家製スクリプトを書く 06

FasterCSV に初期設定を行うように修正を行う #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文…

Ruby で自家製スクリプトを書く 05

FasterCSV の初期設定 DEFAULT_OPTIONS = { :col_sep => ",", :row_sep => :auto, :quote_char => '"', :converters => nil, :unconverted_fields => nil, :headers => false, :return_headers => false, :header_converters => nil, :skip_blanks => false,…

Ruby で自家製スクリプトを書く 04

FasterCSV を配列に格納する #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文字コード output_c…

Ruby で自家製スクリプトを書く 03

CSV 解析に fastercsv を使う。 理由は下記の通り。 FasterCSV のベンチマーク Rubyの標準添付CSVパーサーが遅い Ruby標準csv遅い インストールは gem で行う。 # gem install fastercsv FasterCSV のドキュメントは下記のリンクから参照できる。 FasterCSV …

Ruby で自家製スクリプトを書く 02

文字コードを変換させる 読み込みもとの CSV ファイルと出力先の SQL ファイルの文字コードが一致しない場合、文字コードを変換させる処理を行う。 fileopen.rb #!/bin/env ruby $KCODE='utf8' require 'kconv' csv = 'sample.csv' # CSV ファイルの文字コー…

Ruby で自家製スクリプトを書く 01

CSVを読み込んでみる sample.csv "1", "myname", "myaddress", "123-4567" "2", "yourname", "youraddress", "890-1234" "3", "hisname", "hisaddress", "" "4", "hername", "heraddress", "A56-7890" fileopen.rb #!/bin/env ruby $KCODE='utf8' csv = 'sam…

Ruby で自家製スクリプトを書く

目的 CSV ファイルから目的のデータを抽出し、SQL を作成する。 欲しい機能 設定ファイルの見通しを良くする CSV を読み込む CSV ファイルをパースする CSV から特定のデータだけを抜き出す 特定のデータの型を確認する CSV ファイルからSQLを生成する CSV …

SSLSessionCache について

[warn] Init: Session Cache is not configured [hint: SSLSessionCache] というエラーが出た場合、 NameVirtualHost *:443 Listen 443 <VirtualHost *:443> を、けちるとだめで、NameVirtualHostのうしろとVirtualHostのうしろを一致させねばあかん。 #SSLSessionCache shm:/va</virtualhost>…

Apache を稼動する

Apache をインストールする 今回は、Apache 2.2 系をインストールする。 # cd /usr/ports/www/apache22 # make fetch-recursive # make install clean サーバーの設定を確認する # サーバーのホスト名を確認する # hostname www.example.com # 設定されてい…

FQDNとは

Fully Qualified Domain Name インターネットやイントラネットなどのTCP/IPネットワーク上で、ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式のこと。例えば、「www.example.com」は FQDN だが、「example.com」はホスト名が省略…

Ports を最新版に保ち続ける日常作業

# Ports Tree を最新にする # portsnap fetch update # バージョンが古くなっているパッケージを表示する # portversion -vL= [Updating the portsdb <format:bdb_btree> in /usr/ports ... - 18486 port entries found .........1000.........2000.........3000.........4000.</format:bdb_btree>…

make.conf について

よくみかける make.conf の記述内容は下記の通り。 CPUTYPE=i686 CFLAGS= -O2 -pipe fno-strict-aliasing COPTFLAGS= -O -pipe NOPROFILE=trueCPUTYPE は利用している CPU に適宜変更。 CPUTYPE 生成コードが対象とするプロセッサを制御します。 CFLAGS C の…

portsnap を cron で定期的に実行する場合

portsnap のマニュアルに cron で実行する場合は、現地時間の午前3時に実施するように記載されている。 If your clock is set to local time, adding the line 0 3 * * * root /usr/sbin/portsnap cron to /etc/crontab is a good way to make sure you alwa…

portsnap をインストールする

# cd /usr/ports/ # whereis portsnap portsnap: /usr/ports/ports-mgmt/portsnap # cd ports-mgmt/portsnap # make fetch-recursive # make install clean 初めて portsnap を利用するときは portsnap は最初だけ全ての ports tree 全体を portsnap.conf フ…

Ports Tree を最新に保つ

昔は cvsup を利用していたが、今は portsnap を利用するようだ。 portsnap と cvsupについて CVSup の短所は CVSup is insecure. The protocol uses no encryption or signing, and any attacker who can intercept the connection can insert arbitrary da…

Pragger のプラグインの argv.rb の挙動について

例えば、 ./pragger abcd 1234 efgh 5678 と実行した場合、 p ARGV #=> ["abcd", 1234, "efgh", 5678] 独自の YAML を利用した場合だと ./pragger -c myconfig.yaml abcd 1234 efgh 5678 ARGV は p ARGV #=> ["abcd", 1234, "efgh", 5678] となる。

Java をインストールする

必要なパッケージ jpackage-utils JDK (今回は JDK 6 Update 6 の Linux RPM in self-extracting file) jpackagehttp://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm jpackage とは Sun が提供する…

インストールしている CPAN モジュールを調べる

bash の場合 # すべてを表示する % find `perl -e 'print join("\n", @INC);'` -name *.pm # 行数を付加してすべてを表示する % find `perl -e 'print join("\n", @INC);'` -name *.pm | cat -n # 先頭 10行のみを表示する % find `perl -e 'print join("\n"…

CPAN の設定について

日本の CPAN サイト(CPAN/SITES 2008-05-12現在) ftp接続 ftp://ftp.u-aizu.ac.jp/pub/CPAN ftp://ftp.kddilabs.jp/CPAN/ ftp://ftp.nara.wide.ad.jp/pub/CPAN/ ftp://ftp.jaist.ac.jp/pub/CPAN/ ftp://ftp.dti.ad.jp/pub/lang/CPAN/ ftp://ftp.ring.gr.jp/p…

View を実装する

参考にしたドキュメント Kohana View Kohana Controllers CodeIgniter View(英語が苦手な人向け) CodeIgniter Controller(英語が苦手な人向け) hello クラス用の view を作成する application/views/hello.php として保存する。 <h1></h1> <p>こんにちは! さん。</p> hello …

変数を渡してみる

http://localhost/yourproject/hello/greeting/littlebuddha/f…