FC2ブログ

    自分イノベーション - 気まぐれ勉強メモ

    これまで勉強らしいことをしてこなかったオッサンが、これはイカンと一念発起して、様々な勉強会などに参加し、勉強に取り組む記録。いつまで続くかわからないけど、トップに広告が出ないようにがんばるぜ。

    SaCSS vol.42 行ってきた

    2013年3月16日の土曜日に、SaCSS vol.42「デザイナー・プログラマーの連携のベストプラクティス 2013」というセミナーに行ってきました。

    もちろん専門外(仕方なくHTMLやCSSやJSを書くことがあるけど、いつも不本意)ですが、@koji_magiさんが面白そうなことを言ってたもので、参加してみました。

    2009年に@ketaiorgさんと@h2hamさんが、「WEBコンソーシアム」で「デザイナー・プログラマーの連携のベストプラクティス」というテーマで行ったディスカッションを前提に、4年たった今、再度同じメンバーで振り返る、という主題でしたが、非常に興味深い内容でした。

    この4年で変わったところや変わらないところがそれぞれあったようですが、総じて、デザイナー側に若干イノベーションが多かったし、仕事の範囲が増えてきたかも知れない、という点で一致していたようです。

    いずれにしても、共同作業が発生するということは、近接領域だということですし、お互いに歩みよる必要がありますし、境界やギャップもどんどん狭くなってくるはずで、そのうちWebのフロントエンド側はデザイナー(あるいはマークアップエンジニア)の領域になることは間違いないと感じました。

    逆に、プログラマとデザイナーの両方にとっての敵は「あいまいさ」ではないか、という話になり、それは確かにそうですし、それはプログラマとデザイナーの間に限らないことです。

    以下、その部分の私のメモです。

    ■「敵」は何か。
    ・あいまいにしていることじゃないのかな?
     ・暗黙のルール、
     ・非明示的なポリシー、
     ・暗黙の技術的水準、 →社内で底上げしようよ。
     ・なぜそうするのか?を聞いているか、
    ・ギャップ(谷間)がだいたいトラブルの元。
     ・責任範囲、
     ・担当範囲、
     ・担当ファイル、
     ・担当業務、
     →そこを埋めるPJマネージメントの仕事って必ずある。
     →プログラマとデザイナーだけがソフトウエア開発に携わっているわけではない。
    ・トラブルをもとに関係を強化できるか、という考え方もある。
     ・終わったら反省会的なものをやるべき。

    という感じで、結論としては「コミュニケーション大事ですね」という感じでした。
    「コミュニケーションが大事!さ、飲みにいこう!」といった勇ましい意見も出る和気藹々とした雰囲気で面白かったです。

    これは、参加者のほとんどがプログラマかデザイナー、という感じでしたし、フリーランスの方も多いようでしたので、間違った結論ではないですね。

    しかし、私のようにミーティングの多い残念な組織に所属しているものとしては、コミュニケーションの時間はコストであり、その時間、作業が進まないことに気をつけなければなりません。
    いかに効率的にコミュニケーションを深め、コミュニケーションの時間を減らすか、それが生産性の向上には欠かせないことなので、そのためにドキュメントや連絡フォーマットなどを整備しないとならない、といった感じの話をできたかも、って思いました。

    それにしても、今までの勉強会とは雰囲気も違いましたし、面白い話も聞けて良かったと思いました。

    @koji_magiさん++;

    スポンサーサイト



    テーマ:プログラミング - ジャンル:コンピュータ

    1. 2013/03/23(土) 14:33:32|
    2. 勉強会
    3. | トラックバック:0
    4. | コメント:0

    PDF::API2::Liteで使える画像、使えない画像

    3月20日のhokkaido.pm Casual #11に参加しました。
    用事があって、反省会には参加できませんでしたが、反省会は結構盛り上がったみたいですね。

    さて、hokkaido.pm Casual #11で、私はPDF::API2関連の話をしたのですが、掘り下げ方が甘かったので、再度詳細を確認しないといけないなと反省しておりました。

    PNG、JPEGといった画像は、内部的に、色深度やカラーモード、などいろいろな設定があります。
    PDF::API2はそれらすべてに対応しているわけではないようなんですが、その詳細を確認してみようと思います。

    PDF::API2::Liteをつかって実際にコードを書いて動かしてみました。
    (必要ないと思いますけど、https://github.com/shinotra/pdf_and_image

    PDF::API2だと、imageを扱う以下のメソッドがあります。

     $jpeg = $pdf->image_jpeg($file)
     $tiff = $pdf->image_tiff($file)
     $pnm = $pdf->image_pnm($file)
     $png = $pdf->image_png($file)
     $gif = $pdf->image_gif($file)
     $gdf = $pdf->image_gd($gd_object, %options)

    これが、PDF::API2::Lite になると、ちょっと減ってしまいます。

     $img = $pdf->image_jpeg $file
     $img = $pdf->image_png $file
     $img = $pdf->image_tiff $file
     $img = $pdf->image_pnm $file

    LiteはGIFをサポートしていないんですね。まあ、あまり使わないですけど。
    それとpnm形式はほとんど使わないので、JPEG、PNG、TIFFで調べてみましょう。

    【実行結果】
    以下のとおりです。(PDFをキャプチャしたもの)
    pdf_result.png

    【要点】
    (1)16bit/channelのPNGはサポートしていない。
    (2)interlaceのPNGはサポートしていない。
    (3)CMYKのJPEGはエラーにはならないが、色がおかしくなる。

    というかんじで、PDFを描画しようとしたら注意が必要ですね。

    ※DIBやBMPは、PDF::API2がサポートしていないので、確認できませんでした。




    テーマ:プログラミング - ジャンル:コンピュータ

    1. 2013/03/23(土) 12:59:35|
    2. perl
    3. | トラックバック:0
    4. | コメント:0

    Imagerのwrite_multiのgif_loopではまった件

    以下のスクリプトで書き出したGIFアニメーションがどうしても2回再生されてました。

    $img->write_multi({
    	file      => 'current.gif',
    	gif_delay => 50,
    	gif_loop  => 1,
    }, @imgs) or die $img->errstr;
    
    まあ、gif_loop => 1なので、「1回繰り返す」で、間違いではないのですが。
    ちなみにgif_loop => 0にすると無限ループになります。

    しかし、アニメーションは1回だけの再生としたい。
    どうしたものか。

    と、Twitterに投げてみたところ、
    hokkaido.pmでお世話になっている @aloelightさんから助け舟が。

    すてきです。
    ありがとうございます。
    $img->write_multi({
    	file      => 'current.gif',
    	gif_delay => 50,
    	gif_loop  => undef,
    }, @imgs) or die $img->errstr;
    
    最終的には、undefと明示的に未指定にしましたが、
    metacpanの説明は以下のとおりで、

    gif_loop
    - the number of loops from the Netscape Loop extension. This may be zero to loop forever.

    これだとちょっと気付かないなあ。

    というお話しでした。



    テーマ:プログラミング - ジャンル:コンピュータ

    1. 2013/03/16(土) 00:50:23|
    2. perl
    3. | トラックバック:0
    4. | コメント:0

    Hokkaido.pm #9に参加しました(主に懇親会画像)

    Hokkaido.pm #9に参加しました。

    @techno_nekoさんが主催する「Hokkaido.pm Casual」には何度か参加していますが、Casualじゃないほうの本編に出るのは今回がはじめて。
    しかも発表の機会をいただき、ありがとうございました。

    発表者のスライドは、Hokkaido.pmの公式ページにまとめられています。
    Hokkaido.pm#9 開催報告

    私のスライドは@yusukebeさんに見ていただけたらしく、いろいろとアドバイスなどをいただきました。
    大変光栄なことです。

    並列処理とか、ちょっとハードルが高いのですが、追々調べて行こうと思っています。
    とは言え、大変励みになります。
    不具合のご指摘は先ほど直し終わりました。


    さて、懇親会のスナップを。
    C360_2013-03-09-17-59-23.jpg
    「ホッケどーん!」

    C360_2013-03-09-17-59-35.jpg
    「ケガニの刺身」

    C360_2013-03-09-20-24-51.jpg
    hokkaido.pm名物「活イカ」が泳いでます。

    C360_2013-03-09-20-36-19.jpg
    hokkaido.pm名物「活イカ」が刺身で。

    C360_2013-03-09-23-29-50.jpg
    シメのラーメンは「信玄」で。初めて行きましたがうまかった。

    以上です。


    テーマ:プログラミング - ジャンル:コンピュータ

    1. 2013/03/10(日) 18:01:47|
    2. 勉強会
    3. | トラックバック:0
    4. | コメント:0

    Webアプリ「What events your twitter friends ATND?」のAPIを作りました

    Webアプリ「What events your twitter friends ATND?」ですが、
    結構使いでがありそうなので、JSONを返すAPIを用意しました。

    最近見かけたWebService::Simpleを使った呼び出し例を以下に記述します。
    use utf8;
    use strict;
    use warnings;
    use WebService::Simple;
    use Data::Dumper;
    
    my $atndmyfriend = WebService::Simple->new(
    	base_url        => "http://telegnosis.orz.hm/twitter/api/request.cgi",
    	response_parser => 'JSON',
    );
    
    my $response = $atndmyfriend->get( { screen_name => "screen_name" } );
    print Dumper $response->parse_response;
    
    引数はscreen_nameだけを指定してGETするイメージです。

    戻り値の例は以下のとおり。
    {
    	"event_data":[
    		{
    		"event_id":36133,
    		"started_at":"2013-03-09T13:30:00+09:00",
    		"event_url":"http://atnd.org/events/36133",
    		"title":"Hokkaido.pm #9"
    		},
    	],
    	"status_code":1
    }
    
    status_codeは1が取得成功、-1が取得失敗を示します。
    event_dataは、イベントのIDと、開始日時、URL、タイトルといったイベントデータの配列です。



    テーマ:プログラミング - ジャンル:コンピュータ

    1. 2013/03/02(土) 20:43:37|
    2. perl
    3. | トラックバック:0
    4. | コメント:0

    プロフィール

    shinotra

    Author:shinotra
    @shinotra

    最新記事

    最新コメント

    最新トラックバック

    月別アーカイブ

    カテゴリ

    未分類 (1)
    perl (24)
    smartphone (4)
    勉強会 (3)
    server (2)
    wallpaper (1)
    linux (1)
    CSS (1)

    検索フォーム

    RSSリンクの表示

    リンク

    このブログをリンクに追加する

    ブロとも申請フォーム

    この人とブロともになる

    QRコード

    QR