penguinJr1's Room
勉強会に参加した際の感想ブログです。
2012年7月16日月曜日
さくらVPSにTengをインストールしてみました
前回のエントリの続き。
きっかけはPerl Begginers#3に参加して、MySQLとO/Rマッパーに興味を持ったから。
(Perl今のところ関係ないw)
本家サイトはこちらになります。
http://search.cpan.org/~nekokak/Teng-0.12/lib/Teng.pm
1.さくらVPSにrootユーザでログイン。
2.前提としてDBDモジュールが必要なので、DBDモジュールをインストール
# cpanm DBD::mysql
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.021.tar.gz ... OK
Configuring DBD-mysql-4.021 ... OK
Building and testing DBD-mysql-4.021 ... FAIL
! Installing DBD::mysql failed. See /root/.cpanm/build.log for details.
なんか失敗した・・・?
エラーメッセージでログを見なさい、と言われてるのでログを見てみた。
----ログ抜粋----
gcc -c -I/usr/lib64/perl5/auto/DBI -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -DUNIV_LINUX -DDBD_MYSQL_WITH_SSL -DDBD_MYSQL_INSERT_ID_IS_GOOD -g -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DVERSION=\"4.021\" -DXS_VERSION=\"4.021\" -fPIC "-I/usr/lib64/perl5/CORE" dbdimp.c
In file included from dbdimp.c:20:
dbdimp.h:24:49: error: mysql.h: No such file or directory
:(後略)
と何やらコンパイル関係でわらわらエラーが出ている。
MySQLをインストールしただけではDBDのインストールで失敗するということか・・・
調べてみたら、
yum install mysql-devel
で、Perlモジュールなどのその他のMySQLクライアントをコンパイルする場合に必要なライブラリとインクルードファイルがインストールされるらしいので、実行してみる。
(MySQL-devel.rpmについての詳細は http://dev.mysql.com/doc//refman/4.1/ja/linux-rpm.html に記載あり)
確認すると/usr/include/mysql以下にmysql.hが入っていた。これでうまくいくかな?
再度、cpanm DBD::mysqlを実行するとエラーも出ずにインストールできたのでうまくいったようだ。
# cpanm DBD::mysql
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.021.tar.gz ... OK
Configuring DBD-mysql-4.021 ... OK
Building and testing DBD-mysql-4.021 ... OK
Successfully installed DBD-mysql-4.021 (upgraded from 4.013)
1 distribution installed
3.Tengをインストールしてみる。
# cpanm Teng
:(中略)
Successfully installed Teng-0.14
16 distributions installed
こちらはすんなりうまくいった。
4.テスト用データベース・テーブル・ユーザの作成
テスト用データベースとテーブル、ユーザを作成する。
とりあえず動作確認用なので、テーブルは1カラムだけ設定することに。
mysql> create database testdb;
mysql> use testdb
mysql> create table tengtest(
name text
);
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| tengtest |
+------------------+
1 row in set (0.00 sec)
mysql> grant all privileges on testdb.* to testuser@localhost identified by 'testpassword';
mysql> quit
mysql -u testuser -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| testdb |
+--------------------+
3 rows in set (0.00 sec)
mysql> use testdb
mysql> select * from tengtest;
Empty set (0.00 sec)
mysql> quit
5.Perlスクリプト実行
以下のtest.plを準備、実行して、データをテーブルにInsertしてみる。
(本家サイトを参考に見よう見まね・・・)
------------------------------------------------------------
#!/usr/bin/env perl
package main;
use Teng;
use Teng::Schema::Declare;
{
package TestDB;
use parent 'Teng';
}
{
package TestDB::Schema;
use Teng::Schema::Declare;
table {
name 'tengtest';
columns qw(name);
};
}
my $teng = TestDB->new(connect_info => [
'dbi:mysql:database=testdb',
'testuser',
'testpassword'
]);
$teng->insert('tengtest', {
name => 'penguinjr1',
});
------------------------------------------------------------
スクリプト実行後、MySQLにログインしてデータが登録されたかどうか確認したところ、正しくデータ登録されていた。
mysql -u testuser -p
mysql> use testdb
mysql> select * from tengtest;
+------------+
| name |
+------------+
| penguinjr1 |
+------------+
1 row in set (0.00 sec)
<所感>
Tengは慣れれば非常に使いやすいと思います。とてもシンプルだな、という印象を受けました。スクリプト実行時のエラーメッセージもわかりやすい。
MySQLだけでなく、Oracleとも連携させてみたいです。
また、次回の Perl Begginers#4 は8/24(金)開催、「オブジェクトとパッケージ」がテーマということで今からとても楽しみです。
http://atnd.org/events/30711
2012年7月8日日曜日
さくらVPSにMySQLをインストール
さくらVPSにMySQLをインストールしました。
前回参加した Perl Begginers#3 でPerl→MySQLのO/Rマッパーについてたくさん紹介があったので、その事前準備です。
インストール手順については、既に色んな方がブログでエントリーを書かれているので、こちらの内容は自分用メモです。
1.さくらVPSにrootユーザでログイン
2.MySQLインストール
yum install mysql-server
3.MySQL起動
/etc/init.d/mysqld start
4.MySQLルートパスワード変更
mysql -u root
5.rootパスワードを更新
UPDATE mysql.user SET Password = PASSWORD('設定するパスワード') WHERE User = 'root';
6.グラントテーブルを再読み込み
FLUSH PRIVILEGES;
7.MySQLとの接続を切断
quit
8.MySQLの再起動
/etc/init.d/mysqld restart
------------------------------------------------------------------------------------------------------
1.MySQLにログイン
mysql -u root -p
MySQLのrootパスワード入力
2.データベースの一覧表示
SHOW DATABASES;
2012年6月30日土曜日
Perl Begginers #3に参加してきました。
2012/6/29 19:00~21:00 Perl Begginers #3に参加してきました。
Perl Begginersの参加は前回に続いて2回目となります。
◯ATNDはこちら
http://atnd.org/events/28810
◯Togetter(@xtetsujiさん、ありがとうございます!)
http://togetter.com/li/329315
まず、セッション内容とは全く関係ないのですが、今回はノートPCなしでiPod touch(ATOK Pad装備) + Bluetoothキーボード(8,000円くらいだったと思う)というセットで、勉強会のメモに挑みました。
理由は、ノートPC(とはいってもネットブックだから1kgちょいなんだけど)が重たくて持ち歩きたくなかったから。
これはすばらしく効率がよかったです。いい買い物をしました。
難点は、一緒にTwitterはできません。
わからない言葉が出てきた時にググろうとするのも大変です。
それでも、ハンズオンでない限りPC持って勉強会に行く事はないかなー、と思いました。
では、肝心のセッション内容へ。
◯ビギナーズセッション
@studio3104_com さん
_人人 人人人人_
> 突然のFlentd <
 ̄Y^Y^Y^Y^Y^Y^ ̄
に会場騒然。
6月号のSoftwareDesign読んどいてよかったー。概要くらいならわかる。
ちなみにMySQLもよくわからないけど、頭の中でOracleに置き換えて頑張りました。
MySQLのクエリに対してEXPLAINをかけてFluentdでログを出すPerlモジュールを作ったけれど、始めにuse databaseが実行されていないとどのデータベースに対してEXPLAINをかけたらいいかわからないから、その判別をしたい、という内容でした。(あってるよね・・・?)
シャーディングしていたMySQLのデータベースを一つにした時に、テーブル名が全く一緒になるので判別しようがなく、困るということ。
そしてガチな方々からのまさかのバッドノウハウ連打
・SQLのコメントにデータベース名を書いてしまえば?→結果的にコメントはログに流れなかったので無理でした。
・SQLのWHERE句にそれとなく書いちゃう?
今のSQL文全部作り直しですやん・・・
と、思いつつ、それくらい逃げ道のない難しい話のようです。
このシステムはオンラインのWebアプリケーションということだったので、EXPLAINをかける前にどのデータベースを使っているのか問い合わせる別のWebアプリを間に挟むのはどうか、ということで落ち着きました。
その後、別の部分で「後置if」は何もデータが返らなかったりはまることがあるのでやめたほうがいいですよ、というありがたいお言葉も。
(Javaでいうところのぬるぽですか?)
そもそも「後置if」を使うという発想がなかった。。。
ワンライナーも見てる分には面白いんですが、後でメンテする人のことを考えるとどうしてもネストしたくなっちゃいますね。
それくらいには社畜ってことさ♪
◯LT
※これだと内容が全くわからないので、Slide Shareでリンクできるようになったら後で資料を貼りたいと思います。
@ytnobody さん
PerlではじめてDBを触った時の思い出話。
Class::DBIは難しいので、DBIx::SimpleでさっさとO/Rマッパーに乗り換え。
(Class::DBIは見た感じJDBC接続とあんまり変わらなくて、そんなに難しそうにも見えなかったのだけど・・・歳の差かねえ・・・)
その後、色々乗り換えたけど、今はTengがお気に入り嬢だそうです。
まかまかさん
趣味のPerl同人活動が何よりも重要なのであります!
今年の夏コミでブース出るそうです。みんな行ってあげてね!
どんぞこ楽屋 日曜日 東U-10a
@toku_bass さん
MySQLの検証環境と本番環境の環境を一緒にしてくれる MySQL::Diffの紹介。
確かに検証環境だけ微妙に構成違ってたりして困ることはよくありますね。
Oracleだと面倒くさいのでエクスポート-インポートしちゃいます。
@hirobanex さん
TengがDBIと比較してどれだけ便利か、という詳しいお話。
こちらのLTでTengでSQL直書きできることがわかったので、かなり興味がわきました。
あとは・・・DBがOracleでもうまく動くといいなあ・・・
あと、YAPCにトークを書かれたそうなので、「いいね」してあげてくださいー
http://yapcasia.org/2012/talk/show/2c531ede-c1ac-11e1-860d-28556aeab6a4
◯発表資料
おまけ
今回の個人的名言:
「ぽすぐれはオワコン」 緩いライセンスなのに、なんで流行んないんだろうね
「バインド変数を使わないと、椅子が飛んできます」 ふじわらさん、こんなところまで
「データベース」→「ダースベーダ」 その発想はなかった
2012年6月14日木曜日
INTEROP 2012 に行って来ました
6/13(水)に幕張メッセで開催されていたINTEROPに行って来ました。
ちなみに幕張メッセ、INTEROP共にお初でした。
↓2階から撮ったブースの写真。
残念ながら企業ブースはあまり回れませんでしたが、講演をたくさん聞いて満足して
帰ってきました。
◯基調講演:サイバー攻撃と戦うために理解すべき5つの最重要トレンド
しかし、自身の英語力がないので仕方ない。同時通訳をがんばって聞きとりました。
講演者の方はさすがですね。ほとんどスライドを見ないし、プレゼン資料に書いていないことまで
ほとんど記憶していてお話されている。
話の内容が興味深いこともさることながら、プレゼンテーションの仕方も勉強になりました。
(ろくろの手つきがちょっとありました)
◯NTTコミュニケーションズ:ソーシャルとクラウド化がもたらす日本社会の変化と今後のあり方
まず、自治体がデータやプラットフォームを用意して、後は開発者側で自由にiPhoneや
Androidアプリの開発を行ってもらいます。
自治体はそれらのアプリを公開して、ユーザから情報を自治体へ流してもらうようにします。
例えば、どこそこの道路に穴が空いているといった情報を写真と一緒に添付して報告して
もらえれば、いちいち人手をかけて道路のチェックなどをしなくてもよくなります。
日本ではこれまで実証実験型の開発が行われてきましたが、うまくいっていないという現実が
ちなみに幕張メッセ、INTEROP共にお初でした。
↓2階から撮ったブースの写真。
残念ながら企業ブースはあまり回れませんでしたが、講演をたくさん聞いて満足して
帰ってきました。
◯基調講演:サイバー攻撃と戦うために理解すべき5つの最重要トレンド
サム・カリー氏
講演内容は詳細に書くといけないかもしれないので、3行ですませます。(当たり障りのないところで)
・クラウド化で基盤が見えなくなってきているから、利用者(サービス提供者)は気をつけろ
・モバイル端末が増えたから社用目的の場合、管理者は気をつけろ
・組織だったハッカーはヤバい
<所感>
英語のプレゼンを生で聞きたかった・・・というのが正直な感想。しかし、自身の英語力がないので仕方ない。同時通訳をがんばって聞きとりました。
講演者の方はさすがですね。ほとんどスライドを見ないし、プレゼン資料に書いていないことまで
ほとんど記憶していてお話されている。
話の内容が興味深いこともさることながら、プレゼンテーションの仕方も勉強になりました。
(ろくろの手つきがちょっとありました)
◯NTTコミュニケーションズ:ソーシャルとクラウド化がもたらす日本社会の変化と今後のあり方
クラウドやビッグデータが現実的になってきた今の時代にあわせて、政府がプラットフォームに
なりましょうというお話。
ここでは、Gov2.0という言葉が出てきました。
この言葉を作ったのは、Web2.0を提唱したティム・オライリーとのこと。
アメリカでは既に数年前から実際に導入している事例があるようです。
なりましょうというお話。
ここでは、Gov2.0という言葉が出てきました。
この言葉を作ったのは、Web2.0を提唱したティム・オライリーとのこと。
アメリカでは既に数年前から実際に導入している事例があるようです。
Androidアプリの開発を行ってもらいます。
自治体はそれらのアプリを公開して、ユーザから情報を自治体へ流してもらうようにします。
例えば、どこそこの道路に穴が空いているといった情報を写真と一緒に添付して報告して
もらえれば、いちいち人手をかけて道路のチェックなどをしなくてもよくなります。
日本ではこれまで実証実験型の開発が行われてきましたが、うまくいっていないという現実が
ありました。
(実験だけして、商用サービスに発展しなかった。ITゼネコンという言い方をされていました)
Gov2.0が整備されると、日本の雇用形態も変わっていって、グローバルに活躍できる人、
単純作業をする人、グローカル(グローバルで起こっていることを国内に展開する)の三種類に
分かれるだろうということでした。
Gov2.0という言葉は恥ずかしながら今回初めて聞きました。
◯最新標的型攻撃の実態と効果が見える防御対策
一回300円でバッジが3個入っているらしいのですが、さすがに3個はいらないかなーと思って躊躇してしまいました。今となっては、やっておけばよかった。(ネタ的に)
単純作業をする人、グローカル(グローバルで起こっていることを国内に展開する)の三種類に
分かれるだろうということでした。
<所感>
クラウドとビッグデータは本当によく聞く言葉になったと思います。
特にクラウドに関しては数年前から言葉はありましたが、スマートフォンの普及やクラウドサービス
ベンダーの台頭によって本当に身近になりました。
SNSの発展具合と比較して、クラウドを利用したアイデア家電は個人的にちょっと残念感が
ありますが・・・国内家電メーカーの底力を見せてほしいところです。
日本でも実現出来れば面白いと思いますが、法律を整えるのに時間がかかりそうな気が
します。あと、現状の公務員を減らせない気が・・・
また、今後は終身雇用制度の崩壊と共に、優秀な人材以外はどんどん年収が下がっていくと
はっきり言及され、身が引き締まる思いでした。
もっと自分自身に付加価値をつけていかねば。
(英語か・・・)
通常のウイルス対策ソフトやIDSでは検知できないマルウェア検知する、FireEyeという製品の紹介。
最近の企業情報漏洩は内部犯行はほとんどなくなって、ハッキングの割合が高くなってきている
そうです。しかも、なかなか削除できない厄介なものが増えてきているとか。
FireEyeはシグネチャベースでなく推論型でマルウェアを検知するため、侵入検知が可能だそう
です。
おまけ:
一部で噂になっている、オライリーの缶バッジコンプガチャ・・・一回300円でバッジが3個入っているらしいのですが、さすがに3個はいらないかなーと思って躊躇してしまいました。今となっては、やっておけばよかった。(ネタ的に)
2012年6月9日土曜日
【雑記】会社で技術を得るということ
今まで私は、「会社」というものは「組織が利益を得るために、社員が自身の保有するスキルを
生かして貢献する場所」であり、その「対価として給料を得ている」のだと考えていました。
少なくとも「職場は自分がスキルアップするための場ではない」と思っていました。
会社にいる間は単純作業であろうと何だろうと「仕事」をこなさなければいけないのだから、
与えられた仕事をより速く正確にこなすことが最重要だと思っていました。
(その考えは今でも変わっていませんし、社畜と言われても構いません)
「仕事」をこなすために必要なスキルはプライベートな時間を使った自主学習でやって、
会社でそのスキルを業務に生かすべきだと。
しかし、その考えは少し違っているかもと最近思うようになりました。
ここ2週間ほど、UNIX上で動く業務システムの環境設定(主にミドルウエア)をやっていましたが、
勉強になることの多かったこと。
これまでUNIXはほとんど触ったことがなく、最近ようやくLinuxをさくらVPSで触るようになった
ばかりなので、実際に手を動かしてみると色々とエラーの壁にぶち当たるのです。
そのうちエラー内容に対してもパッと勘が働くようになり、レベルは低いけど「少しは成長した
かな」と実感することもありました。
普通は定時間でも8時間は会社にいるのだから、その時間で仕事をこなしつつ、同時に
新しいことに触れられればそれは成長して当たり前ですよね。
どんな業務に携われるか、どんなプラットフォームのシステムに携われるか、流動的な
人員配置・ローテーションが可能かどうか、
会社から与えられる「環境」は重要なんだと気づかされた件でした。
その上で、今仕事で必要とされているスキルに優先順位をつけて自主学習を進めて
いけたらいいなと思っています。
<補足>
自分で勉強もしなければ、工夫もしない。与えられたことだけを何も考えずに淡々とこなす。
こういう人が増えたような気がします。
複数ファイルのGrep、文字列置換など、知っていれば1分で終わることを永遠と手作業で
1時間もかけてやるのはなんだかなあと思います。
会社の環境も大事ですが、それだけが全てではありません。
生かして貢献する場所」であり、その「対価として給料を得ている」のだと考えていました。
少なくとも「職場は自分がスキルアップするための場ではない」と思っていました。
会社にいる間は単純作業であろうと何だろうと「仕事」をこなさなければいけないのだから、
与えられた仕事をより速く正確にこなすことが最重要だと思っていました。
(その考えは今でも変わっていませんし、社畜と言われても構いません)
「仕事」をこなすために必要なスキルはプライベートな時間を使った自主学習でやって、
会社でそのスキルを業務に生かすべきだと。
しかし、その考えは少し違っているかもと最近思うようになりました。
ここ2週間ほど、UNIX上で動く業務システムの環境設定(主にミドルウエア)をやっていましたが、
勉強になることの多かったこと。
これまでUNIXはほとんど触ったことがなく、最近ようやくLinuxをさくらVPSで触るようになった
ばかりなので、実際に手を動かしてみると色々とエラーの壁にぶち当たるのです。
そのうちエラー内容に対してもパッと勘が働くようになり、レベルは低いけど「少しは成長した
かな」と実感することもありました。
普通は定時間でも8時間は会社にいるのだから、その時間で仕事をこなしつつ、同時に
新しいことに触れられればそれは成長して当たり前ですよね。
どんな業務に携われるか、どんなプラットフォームのシステムに携われるか、流動的な
人員配置・ローテーションが可能かどうか、
会社から与えられる「環境」は重要なんだと気づかされた件でした。
その上で、今仕事で必要とされているスキルに優先順位をつけて自主学習を進めて
いけたらいいなと思っています。
<補足>
自分で勉強もしなければ、工夫もしない。与えられたことだけを何も考えずに淡々とこなす。
こういう人が増えたような気がします。
複数ファイルのGrep、文字列置換など、知っていれば1分で終わることを永遠と手作業で
1時間もかけてやるのはなんだかなあと思います。
会社の環境も大事ですが、それだけが全てではありません。
2012年5月20日日曜日
qpstudy 2012.05 エンジニアのためのハードウェア徹底入門 に参加してきました(途中まで)
約1年前、初めて勉強会に参加するきっかけとなった、とっても思い入れのあるqpstudy。
今回は本当に初めて初心者にやさしいインフラ勉強会でした。(訳:自分でも理解できた)
ひとえにスタッフの皆さんの努力によるものと思います。一参加者としてとても嬉しかったです。
おつかれさまでした!
qpstudy公式ツイッターアカウントによる事前の案内、qpstudyポータルサイトに掲載されているセミナールームへの行き方、入退館の諸注意の案内などなど、全て完璧だったと思います。(だって迷わなかったし!)
受付がバーコードリーダ方式を採用してスタッフ業務が楽になったり、色々新たな試みを工夫されてました。これからもどんどん成長していきそうですね、期待しています。
また、開始15分前に会場入りしたのに、すでに席の8割が埋まっていてビックリしました。いつもは直前まで結構空いているのに。ぬかったぜ・・・
そして顔見知りでない参加者が8割・・・いつもなら顔見知りの人8割なのに。
qpstudyも前回宣言した通り、新しいステージに来たのかなと実感した出来事でありました。
しかし本軸が全くブレないのがqpstudy、ネタは満載。
まずはセッションのネーミングがひどい素晴らしい。
・やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
・卑しいしょっさんのCPU入門(仮)
・いやらしい@hasegawのI/O入門(仮)
・優しいしののめのインタフェース入門(仮)
・・・よくこのタイトルで新人さんが70人近くも集まったなあと思います。
セッションタイトルは、常連さんは「いつもどおり」のイメージで、新人さんは「怖くてツッコメない」状態だったのではないかと勝手に思っています。
また、「一緒に行こうよ!」って口コミで広まったケースがあったみたいです。
勉強会に行ってみたいけど、1人だと恐い・・・という方は、お友達を誘って一緒にくるのもいいですね。
ベテラン・新人問わず世代を超えた交流ができるのが、勉強会の一番いいところだと思っています。
前置きが長くなりました。
では、セッションの内容について。
・やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
コンピュータの五大装置(制御、演算、記憶、入力、出力)についての小芝居がありました。
ダメなコンピュータを擬人化していましたが、面白かったです。
(主記憶の「揮発しちゃったー」はわかったのかな・・・)
このあたりの基本って、私が新人だった頃から全く変わってません。
基本は大事です。復習しなきゃ。(ちょっと忘れてた)
(感想)
新人教育として、今回の寸劇はなかなかいいですね。
というか、クオリティ上げてDVD出してほしい。(コミケで売れば・・・) →冗談です。
セッション内容とは関係ないのですが、新人さんにはちょっとお高いし内容は堅いけどITECの
以下の本をオススメします。
基本情報処理技術者試験の参考書としても使えます。
コンピュータシステムの基礎
http://www.amazon.co.jp/dp/4872687728
・卑しいしょっさんのCPU入門(仮)
CPUがどのように演算処理を行なっているかという真面目なセッションでした。
Fetch→Decode→Execute→Write Back というステージをCPUは順に繰り返しています。
CPUの高速化技法として
・パイプライン
・スーパースカラ
・アウトオブオーダー(Out-of-Order) →これ知らなかった
という方法があります。(詳しくはWikipediaを見てね!)
(省略)CISCとRISCの話 →今あまり気にする必要ないそうです。仕組みをおさえておけばOK。
CPUの動作を知るためには、マシン語を理解する必要があります・・・が、
それはさすがに大変なので今回解説で使用する言語はアセンブラでした。フー。
アセンブラはレジスタの種類と幾つかの命令を知っていればだいたいのことはできます。
まとめ:
アセンブラは重要です。そして命令数も少なくて覚えやすいので Let's try!
英語も重要です。
(感想)
昔、業務でアセンブラをやっていたので、低級言語をやると高級言語のありがたみがよくわかる、
というのはすごく気持ちがわかりました。
あと、プログラミングは 一つの言語を極めると他でも応用が利くので、最初はあれこれやらずに
一つの言語を徹底してやるというのを私はお勧めします。(特にアセンブラはいいね!)
・いやらしい@hasegawのI/O入門(仮)
・優しいしののめのインタフェース入門(仮)
→こちらのセッションは時間切れで聞けなかったので、別途Ust視聴後に感想を(書ければ)書きたいと思います・・・
◯togetter
http://togetter.com/li/306227
◯Zusaarはこちら
http://www.zusaar.com/event/272008?utm_campaign=qpstudy&utm_feed=twitter
今回は本当に初めて初心者にやさしいインフラ勉強会でした。(訳:自分でも理解できた)
ひとえにスタッフの皆さんの努力によるものと思います。一参加者としてとても嬉しかったです。
おつかれさまでした!
qpstudy公式ツイッターアカウントによる事前の案内、qpstudyポータルサイトに掲載されているセミナールームへの行き方、入退館の諸注意の案内などなど、全て完璧だったと思います。(だって迷わなかったし!)
受付がバーコードリーダ方式を採用してスタッフ業務が楽になったり、色々新たな試みを工夫されてました。これからもどんどん成長していきそうですね、期待しています。
また、開始15分前に会場入りしたのに、すでに席の8割が埋まっていてビックリしました。いつもは直前まで結構空いているのに。ぬかったぜ・・・
そして顔見知りでない参加者が8割・・・いつもなら顔見知りの人8割なのに。
qpstudyも前回宣言した通り、新しいステージに来たのかなと実感した出来事でありました。
しかし本軸が全くブレないのがqpstudy、ネタは満載。
まずはセッションのネーミングが
・やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
・卑しいしょっさんのCPU入門(仮)
・いやらしい@hasegawのI/O入門(仮)
・優しいしののめのインタフェース入門(仮)
・・・よくこのタイトルで新人さんが70人近くも集まったなあと思います。
セッションタイトルは、常連さんは「いつもどおり」のイメージで、新人さんは「怖くてツッコメない」状態だったのではないかと勝手に思っています。
また、「一緒に行こうよ!」って口コミで広まったケースがあったみたいです。
勉強会に行ってみたいけど、1人だと恐い・・・という方は、お友達を誘って一緒にくるのもいいですね。
ベテラン・新人問わず世代を超えた交流ができるのが、勉強会の一番いいところだと思っています。
前置きが長くなりました。
では、セッションの内容について。
・やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
コンピュータの五大装置(制御、演算、記憶、入力、出力)についての小芝居がありました。
ダメなコンピュータを擬人化していましたが、面白かったです。
(主記憶の「揮発しちゃったー」はわかったのかな・・・)
このあたりの基本って、私が新人だった頃から全く変わってません。
基本は大事です。復習しなきゃ。(ちょっと忘れてた)
(感想)
新人教育として、今回の寸劇はなかなかいいですね。
というか、クオリティ上げてDVD出してほしい。(コミケで売れば・・・) →冗談です。
セッション内容とは関係ないのですが、新人さんにはちょっとお高いし内容は堅いけどITECの
以下の本をオススメします。
基本情報処理技術者試験の参考書としても使えます。
コンピュータシステムの基礎
http://www.amazon.co.jp/dp/4872687728
・卑しいしょっさんのCPU入門(仮)
CPUがどのように演算処理を行なっているかという真面目なセッションでした。
Fetch→Decode→Execute→Write Back というステージをCPUは順に繰り返しています。
CPUの高速化技法として
・パイプライン
・スーパースカラ
・アウトオブオーダー(Out-of-Order) →これ知らなかった
という方法があります。(詳しくはWikipediaを見てね!)
(省略)CISCとRISCの話 →今あまり気にする必要ないそうです。仕組みをおさえておけばOK。
CPUの動作を知るためには、マシン語を理解する必要があります・・・が、
それはさすがに大変なので今回解説で使用する言語はアセンブラでした。フー。
アセンブラはレジスタの種類と幾つかの命令を知っていればだいたいのことはできます。
まとめ:
アセンブラは重要です。そして命令数も少なくて覚えやすいので Let's try!
英語も重要です。
(感想)
昔、業務でアセンブラをやっていたので、低級言語をやると高級言語のありがたみがよくわかる、
というのはすごく気持ちがわかりました。
あと、プログラミングは 一つの言語を極めると他でも応用が利くので、最初はあれこれやらずに
一つの言語を徹底してやるというのを私はお勧めします。(特にアセンブラはいいね!)
・いやらしい@hasegawのI/O入門(仮)
・優しいしののめのインタフェース入門(仮)
→こちらのセッションは時間切れで聞けなかったので、別途Ust視聴後に感想を(書ければ)書きたいと思います・・・
◯togetter
http://togetter.com/li/306227
◯Zusaarはこちら
http://www.zusaar.com/event/272008?utm_campaign=qpstudy&utm_feed=twitter
2012年5月16日水曜日
【第3回】#SmartHacks - スマートフォンブラウザ技術勉強会 - ~ スマートフォン上で動くhtml5 + CSS3 + Javascriptについてhackathon形式で学びます ~ に参加してきました
スマホアプリ開発の仕事は予定にないのですが、今ホットなソーシャルゲームの実装に興味があったので参加してきました。
HTML+JavaScript+CSSで出来るっていうのがやっぱりすごい。
昔では考えられなかったから、はじめに思いついた人はすごいと思う。納豆みたいなもの?
私も昔はRIAといったらFlashでしょ、みたいな感覚でした。(恥)
◯ATNDはこちら
http://atnd.org/events/27983
◯株式会社フォリフ 大橋氏 実践!HTML5で作るスマホブラウザゲーム 資料
◯togetterまとめ
http://togetter.com/li/303969
1. 実践!HTML5で作るスマホブラウザゲーム
Corollin' PlanetというアプリをHTML5+JavaScript+CSSで実装したそうです。
セッションで使用されたCorollin' Planetのゲーム本体はこちら
http://apps.facebook.com/corollin/
Corollin' Planetにはfacebook 連携機能があります。
画面右上に他の人がクリアした結果を見ることができるボタンが配置してあり、
他人がどうやってクリアしたか、プレイ記録を見ることができます。
面白いですね。
ちなみに技術的な実装方法は・・・
slideshareを見たほうがよく理解できると思います。全部書いてあるし。
(さすがに手抜きなので、後で追記します・・・)
アニメーションは複雑な動きができるcanvasと実装が簡単なCSS3という2通りがあって、ゲームのメインはcanvas、メニューやストーリー部分はCSS3を組み合わせて使っているということです。
パフォーマンスについては登壇者の方がかなり気にされていて、
・Retinaディスプレイ対応(ただし、iOS4だと逆に遅いことがある)
・描画範囲を最小限にする
・GPUアクセラレーション(ただしiOS限定)
canvasのレイヤーを2枚(キャラクターと背景)にして、キャラクター部分のみ描画させることで描画範囲を最小限にしてパフォーマンスを改善するという工夫をしているそうです。
ちなみに、開発者として一番参考になったのが、最後のまとめでした。^^;
1 .とにかく、Android端末のチェックを万全に。
端末、メーカー別の詳細チェック。特にAndroid2.1でのバグつぶしが大変だったようです。
当時で10端末ほどテストしたとのこと。
(特に苦労した端末はIS03と最初のXperiaだそう。昔あった、IEとそれ以外のブラウザで動作が違うというトラウマを思い出す・・・)
iOSで動いているものをAndroidで動かそうとすると大変だけど、
逆はそうでもないとのこと。Androidで開発してからiOSに移植するのをオススメしていました。
2.安定した機能を使う。
実際に他社で使用されているものなどを積極的に取り入れる。
俗に言う「枯れた技術を使う」なんていう感じでしょうか。
3.ライブラリを使用する。
ここ一年ほどでJavaScriptのライブラリはかなり充実してきていて、
enchant.js、arctic.js、easal.js などを使うと安定したものを提供できるそうです。
などなど、プラットフォームは変われど、開発の基本は変わらないという印象でした。
※ライブコーディングについてのセッションは、色々あったので割愛・・・
◯おまけの感想
・めったに行かないから怖かったよ、渋谷。
でも、ハチ公口じゃなくてよかった・・・
・女性が多めでしたよ!独身男性の皆さんチャンスです!
・飲み物が無料で、バリスタさんがカフェオレ入れてくれました。
上級者(?)の方はホイップクリームが乗るやつオーダーしてた。ムリムリ。
懇親会もビールや軽食が出て無料なんて初めてでした。参加できなかったけど。
HTML+JavaScript+CSSで出来るっていうのがやっぱりすごい。
昔では考えられなかったから、はじめに思いついた人はすごいと思う。納豆みたいなもの?
私も昔はRIAといったらFlashでしょ、みたいな感覚でした。(恥)
◯ATNDはこちら
http://atnd.org/events/27983
◯株式会社フォリフ 大橋氏 実践!HTML5で作るスマホブラウザゲーム 資料
◯togetterまとめ
http://togetter.com/li/303969
1. 実践!HTML5で作るスマホブラウザゲーム
Corollin' PlanetというアプリをHTML5+JavaScript+CSSで実装したそうです。
セッションで使用されたCorollin' Planetのゲーム本体はこちら
http://apps.facebook.com/corollin/
Corollin' Planetにはfacebook 連携機能があります。
画面右上に他の人がクリアした結果を見ることができるボタンが配置してあり、
他人がどうやってクリアしたか、プレイ記録を見ることができます。
面白いですね。
ちなみに技術的な実装方法は・・・
slideshareを見たほうがよく理解できると思います。全部書いてあるし。
アニメーションは複雑な動きができるcanvasと実装が簡単なCSS3という2通りがあって、ゲームのメインはcanvas、メニューやストーリー部分はCSS3を組み合わせて使っているということです。
パフォーマンスについては登壇者の方がかなり気にされていて、
・Retinaディスプレイ対応(ただし、iOS4だと逆に遅いことがある)
・描画範囲を最小限にする
・GPUアクセラレーション(ただしiOS限定)
canvasのレイヤーを2枚(キャラクターと背景)にして、キャラクター部分のみ描画させることで描画範囲を最小限にしてパフォーマンスを改善するという工夫をしているそうです。
ちなみに、開発者として一番参考になったのが、最後のまとめでした。^^;
1 .とにかく、Android端末のチェックを万全に。
端末、メーカー別の詳細チェック。特にAndroid2.1でのバグつぶしが大変だったようです。
当時で10端末ほどテストしたとのこと。
(特に苦労した端末はIS03と最初のXperiaだそう。昔あった、IEとそれ以外のブラウザで動作が違うというトラウマを思い出す・・・)
iOSで動いているものをAndroidで動かそうとすると大変だけど、
逆はそうでもないとのこと。Androidで開発してからiOSに移植するのをオススメしていました。
2.安定した機能を使う。
実際に他社で使用されているものなどを積極的に取り入れる。
俗に言う「枯れた技術を使う」なんていう感じでしょうか。
3.ライブラリを使用する。
ここ一年ほどでJavaScriptのライブラリはかなり充実してきていて、
enchant.js、arctic.js、easal.js などを使うと安定したものを提供できるそうです。
などなど、プラットフォームは変われど、開発の基本は変わらないという印象でした。
※ライブコーディングについてのセッションは、色々あったので割愛・・・
◯おまけの感想
・めったに行かないから怖かったよ、渋谷。
でも、ハチ公口じゃなくてよかった・・・
・女性が多めでしたよ!独身男性の皆さんチャンスです!
・飲み物が無料で、バリスタさんがカフェオレ入れてくれました。
上級者(?)の方はホイップクリームが乗るやつオーダーしてた。ムリムリ。
懇親会もビールや軽食が出て無料なんて初めてでした。参加できなかったけど。
登録:
投稿 (Atom)