たつをの ChangeLog

3 件 見つかりました。

Academed!A | 第九回アカデメディア 『デジタルスタイル会議』へのお誘い
http://blog.academedia.jp/?eid=499341

「テクノロジーは生活をどう変えるか」をテーマに交流型会議イベントを
開催します。そして今回ご協力いただくのはソニーさんです。

というわけで、参加予定です。5月16日19:30から。
場所は丸の内の三菱ビルのコンファレンススクエア エムプラス。
(東京都千代田区丸の内2-5-2 三菱ビル 10F)


いつものことですが参加者は事前課題を提出する必要があります。
提出内容は後日、イベントのレポート記事にて。

ときは2007年。新しいカフェが始まり、大流行しました。モバイルユー
ザーに大人気のこのカフェにはデジタル生活を支援するための3つの仕掛
けがありました。(1) 電源使い放題、(2) ネットつなぎ放題、に続く、
三つめの仕掛けと、そのカフェの名前を教えてください。

Q1. モバイルユーザーに人気の三番目の特徴を教えてください。

Q2. そのカフェの名前を自由に考えてください。

(via http://blog.academedia.jp/?eid=499887)

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

Perl の Storable モジュールでちょっとだけ複雑なデータを扱うときの
自分用 SYNOPSIS。参考「続・初めての Perl[2006-05-09-1]

#!/usr/bin/perl
use strict;
use warnings;
use Storable qw(nstore retrieve);

my ($first, $second);

$first->{uhyo} = {
   'abc' => 123,
   'xyz' => 9,
};
$first->{hogera} = {
   'AAAAA' => [1, 2, 3],
   'ABCDEF' => [60,1],
   'W002' => [9, 1, 2],
};

test_print($first);

nstore [ $first->{uhyo}, $first->{hogera} ], "a.dat";

($second->{uhyo}, $second->{hogera}) = @{retrieve "a.dat"};

test_print($second);

sub test_print {
   my ($ref) = @_;
   while (my ($key, $value) = each %{$ref->{uhyo}}) {
       print "1: $key => $value\n";
   }
   while (my ($key, $value) = each %{$ref->{hogera}}) {
       print "2: $key => @$value\n";
   }
}


Storable で保存したデータって、作成したスクリプトがないと復元方法
が分からなくて後から困るんだろうなあ、と思っていたけど、
もちろんそんなことはなく、普通に読み込んで Data::Dumper で出力すれ
ば良いだけだった (p.65)。

perl -MStorable -MData::Dumper -e 'print Dumper(retrieve shift)' a.dat



追記060511:
404 Blog Not Found:perl - 勝手に添削 - Storable
http://blog.livedoor.jp/dankogai/archives/50490051.html

Always use nstore and nfreeze instead of store and freeze.
常にnstoreとnfreezeを使う事。storeとfreezeではなく。

おお、なるほど! これでエンディアンで悩まされなくて済むわけですね。
ありがとうございます。これに基づき上のソースを変更しました。
変更した箇所のもとの記述は以下でした:

use Storable;

store [ $first->{uhyo}, $first->{hogera} ], "a.dat";

続・初めてのPerl」のどこで何が説明されているかの自分用メモ。

続・初めてのPerl - Perlオブジェクト、リファレンス、モジュール



§2. 大規模なプログラムの作成

do → require → package
perl -V
perl -I/home/yto/...

§3. リファレンスの基礎

\@skipper
@{$items} _ @$items
$$items[1] _ $$items->[1]
$root->[2]->[1]->[0] _ $root->[2][1][0]
\%hash
$crew[0]->{'name'} _ $crew[0]{'name'}
@hash{qw(name position)}
@$hash_ref{qw(name position)} ハッシュスライス

§4. リファレンスとスコープ

リファレンスカウント
$reference_to_skipper = undef;
($ref->[-1])
my $array_ref = [ qw(a b c d e) ];
my $hash_ref = {a=>1, b=>2, c=>3};

§5. 複雑なデータ構造の操作

perl -d  ("s", "x \%hash")
Data::Dumper
$Data::Dumper::Purity = 1;
Storable
grep
map
map %hash = map {$_, 3 * $_} @input_numbers;

§6. サブルーチンのリファレンス

my $ref_to_greeter = \&skipper_greets;
&{$ref_to_greeter}("Gilligan")
&$ref_to_greeter("Gilligan")
$ref_to_greeter->("Gilligan")
$sub_ref = sub { ... }
File::Find でコールバック、クロージャの説明
sub create {my $count; return sub {print ++$count}}
{my $count; sub count_one {++$count}} count_one();

§7. リファレンスの実用的な使用方法

sort {$a <=> $b} @array
シュワルツ変換(Schwartzian Transform)
再帰的に定義されたデータ

§8. オブジェクトの基礎

Class->method(@args) _ Class::method("Class", @args)
@ISA
SUPER

§9. オブジェクトとデータ

(あとで)

§10. オブジェクトの破棄

(あとで)

§11. オブジェクトの高度な使用方法

(あとで)

§12. モジュールの使用方法

File::Basename
use File::Basename (); my $base = File::Basename::basename($path);
File::Spac
Math::BigInt
use lib "/home/yto/lib";
Exporter
@EXPORT, @EXPORT_OK
use CGI qw(param); my $f = param("foo");

§13. ディストリビューションの作成

h2xs -XAn Island::Plotting::Maps

§14. テスト

リグレッションテスト
Test::Harness
Test::Simple
Test::More
ok, cmp_ok, like, isa_ok, can_ok, TODO: { }

§15. CPANへの登録

Comprehensive Perl Archive Network
PAUSE (Perl Authors Upload Server) ID


追記:修正メモ。

$hash_ref{qw(name position)} → @$hash_ref{qw(name position)}

たつをの ChangeLog

Powered by chalow