Category Archives: 未分類

YAPC::Asia Tokyo 2013に行ってきた

13
Filed under perl, 未分類
Tagged as , ,

前夜祭 : 2013-09-19


今年は前夜祭から行ってきました。

個人的などうでもいい話

まず、チェックイン時、後にLTで発表のあったアプリのバグでQRコードがでなくて
四苦八苦するという苦行を経験して、早くも致命傷状態
twitterアカウント名を伝えてどうにかチェックイン。

LT-thon

仕切り直して、今年の前夜祭は、LT-thonという事でした。
で、とりあえず前夜祭で一番hitしたのは、同僚であるdameninngenn先生のLTにあった
HTML::Validate::Structure::Simpleですね。

某サービス関連でhtmlの閉じタグ忘れる事があるから、合間にタグ忘れチェックつけてと
ディレクターさんに言われてた訳ですが、優先度低いから心の奥底にしまってたわけです。

そんな時に、この話聞いて、タスクを思い出したし、これ通せば、サクサクや!と言う事で、
LT-Thon聞きながら試してみて、昨日手元の開発環境で導入してみた。
欲しいものズバリすぎて、楽できすぎた。 dameninngenn++すぎる。

他にも色々有用な話が沢山ありました。
しかも、アルコールがタダで飲めちゃうなんて、なんてすばらしいんでしょう。

Day1 : 2013-09-20


個人的などうでもいい話

いつも11時近くに出社するような人間にとって、10時開始という事で、
かなり気張っていたのですが、なんだかんだで遅くなってしまったと家を出ました。

で、現地についたのが、9時15分くらいだったかな。
ここで自分の頭の中では、9時開始だと脳内変換が勝手に行われて
@941さんのオープニングみれなかったな。。と悲しい思いになりながら、
メインホールに移動しようとしたら、@lestrratさんに止められて、
まだ開場前ですよ!と言われて、やっと時間が脳内変換されてる事に気づいた
超恥ずかしかった。。。
という、どうでもいい話もありつつ、オープニングを無事に見れました。

PSGI/Plack・Monocerosで学ぶハイパフォーマンスWebアプリケーションサーバの作り方

まずは、同僚のkazeburo先生の
「PSGI/Plack・Monocerosで学ぶハイパフォーマンスWebアプリケーションサーバの作り方」

パッと思い出せる範囲で、
・Monocerosを作ろうと考えた背景や実際にどういった差別化をしたのか、どうやって使うのかがわかりやすかった。
・Starlet, Starman, Twiggy等と比較してMonocerosがどうなのかあたりもまとまってて、何を選んだらいいか悩んでる人には参考になると思った。

あとは、
・システムコールを減らそう
・ボトルネック調査には、Devel::NYProfとか、straceを使ったらいいですよ

などなど、色々と為になる事が沢山出てきた。
色々忘れてるから、あとでslide shareで振り返ろう。
(もっといいこと沢山言ってるのにそれだけしか書けないのかと椅子が飛んでくるかもしれない。。)

Perl and Riak – 分散データストア Riak を Perl から “爆速” で使うために -

FreakOutのmyfinderさんによるRiakをperlで使う方法のお話。
・[Tokyo|Kyoto][Tyrant|Tycoon]をPerlかつCache::Memcached::Fastから利用しているがスケーラビリティが課題。
・色々と試したけどdicornだとmemcached protocolでRiakとやり取りできるのでCache::Memcached::Fastがそのまま使える
ちょっと端折りすぎたけど、そんな感じなのかな

スポンサー企業ランチセッション A,B

で、お待ちかねのランチタイムです。
今回は、スポンサー企業によるランチセッションが行われ、それに参加すると、
1,200円相当のお弁当がもらえるというではありませんか。ばっちり参加ですね。
お肉メインで、以下の感じ。
YAPC::Asia 2013 Day1 ランチセッション

ランチセッションは、MTで有名なSixApartさんとMicrosoftさんでした。
SixApartさんのセッションでは同僚(一応名前は伏せておこう)が、
仕様変更により、exportデータに変更がありますかって聞いてて
仕事に直結する内容聞いてたので、さすがだなと思った。

Windows Azureは、twitterでも書いたけど、AWSでも同じだけど
公式でPerlだけ対象外にされてるあたりが、かなり悲しい感じだし、
Perlの祭典でLLでperlだけ?ってくらいの除外状態でのセッションは
かなり強いハートが求められる仕事だなって思った。

その後も何個か見たけど、Day1だけで終わりそうだから、この辺にしとく。

Day2 : 2013-09-21


はてなのイマドキの開発フロー

今のはてなブログの開発フローについてのセッション。
・GitHub Enterpriseを利用して、Pull RequestとIssueで進めていく
・属人化を防ぐために、おみくじで担当きめてる。
・ランチ後はレビュータイムを設けている。
・テスト(casperJS)、CI(jenkins)
・リリースタイミングを計画リリース(外部案件等の固定日)、定期リリース(毎週水曜日)とする事でリズムができる。
mysqldiffで本番、開発環境等のスキーマ差分をチェックする
mysqldiffみたいのはやろうと思った事あったけど、やってなかったから、必要そうならこれ使うのはありそう。

スポンサー企業ランチセッションC,D

二日目は、魚を中心としたお弁当でした。こちらも美味しかったです。
YAPC::Asia Day2お弁当

で、今回は、LINEさんと2回目の登場のSix Apartさんでした。
LINEさんは、福利厚生のマッサージが戻ってくるらしいとtweetしたら、数人釣れた。
LINE株式会社では、一緒に働いてくれる方を募集しております! よろしければ、こちらまで。
知り合いの方は、私まで連絡頂いてもいいですよ! コネ入社できる権力は持ち合わせておりませんが!

YAPC::Asia Tokyo 2013 特別座談会 「Rubyの良いところ語ってください 〜そんなPerlで大丈夫か?〜

RubyとPerlの戦いかと思ったら、全然大人な感じで、進んでいて、とりあえずtDiaryのパワーを感じた

関連する組織とは関係ない個人的見解としては、
結局、どちらの言語がっていう話をしたところで、ある一定レベルを超えたエンジニアであれば、
言語問わず使える人多そうだし、単純に用途に適したものであったり、使い慣れてるものを使うベースで、
他の言語からいいところを取り入れる事をかねて、たまに使ってない言語も使うっていう感じなのかなと思った

本当にあったレガシーな話

・livedoorBlogをmod_perlからpsgiに変更した際のお話
・psgi,cpanfile,cartonとどんどん近代化
・mount()は多用すると遅くなります。多用してはいけません!というお話
・svc -h でLAが大幅にあがったので、0.5秒おきに1プロセス毎あげさげされるようにして回避
他にも色々 livedoorBlogが近代化していくにあたって苦労、工夫、変更した内容が盛りだくさん
物理的(席)にも、担当サービス的にも近い場所で見てきた事だけど、あそこまで急速な近代化できるとか@lestrratさん凄い

フルテストも50msで終わらせたい 〜 FreakOutの取り組み 〜

かなり端折ってメモしとくと、
・テストの実行順番は、シャッフルするようにしましょう。順番に依存したテストがあると本当のテストにならない。
・テストを分散実行させる。
1日目の話も含めると今回のmyfinderさんの内容は、「スケール」にスポットがあたってる感じがした

Keynote

ikebeさんが話されていた内容で
1個思い当たる事があったので、記憶が少し違うかもしれないけど、メモ。

「perlが使えないとしても、他の何かの言語を使ってる人だったら、perlも使えるようになると思うので、
 その事で、採用面接をしないということはありません。」

というようなお話をされていたと思うのですが、まさに自分がそうだなと思って聞いてました
そもそも入社時は、perlは、ほんの少しだけ数行のコード書くだけだったくらいでしたが、
結果、採用してもらえました。かといって、今perl書けます!とは言いがたい実力で恐縮ですが。。

ということで、LINE株式会社では、一緒に働いてくれる方を募集しております!
知り合いの方は、私まで連絡頂いてもいいですよ! コネ入社できる権力は持ち合わせておりませんが!

クロージング

なんといっても、YAPC::Asiaを企画・運営されていた @lestrratさん @941さんの卒業ですね。
本当におつかれさまでした。

若い人に託すというメッセージ、世代交代の波から察するに、
@lestrratさんも@941さんもお子さんが生まれたというところで、
たぶんお二人のお子さんが来年から企画・運営するという流れかもしれませんね!
乞うご期待ってやつですね たぶん

あとがき

とりあえずいえるのは、かなり端折って書いたつもりだし、見たけど書いてないセッションもあるわけだけど
久しぶりのブログ投稿なのに、凄く長い文章になってしまった。

そして、かなり同僚にスポットを当てすぎた構成になってしまった気がする。

といっても、たぶん 最初から最後まで読む人は、いても1人とか2人とかだろう。むしろ誰もいないかもしれない。
もっというと、閲覧数0かもしれないから、気にしないでおこう。
単純な自己満足なメモということにしておこう。

2011まとめ感想文 〜退職、そしてライブドアへ〜

0
Filed under 未分類

#!/usr/bin/env perl

use strict;
use warnings;

print ”

みなさんこんにちわ hattaraです。↑のようにperlをメインで使い始めました。

2011年がもう今日で終わりです。今年は特に長いようで短いような一年でした。
今年はあまりアウトプットができてないなというところではありますが、
書こう書こうとおもって書けてなかったものをザバっと書いてみたいと思います。

※技術者なのに技術的な内容がほとんどないです・・・
 来年は絶対技術的な内容で振り返りたい!

先にいっておきますが、長いです。本当に。感想文みたいなもんです。

—-
1月〜4月
  「下準備フェーズ」
  自分がメインで担当(と書かれていた)サービスの終了に伴い、
  移行先のサービスの機能拡張に没頭する日々
  ただただコードを書いてたけど、特筆すべき内容が特にない気がする。。

  個人的には2009年の終わりから進めていた個人サービス、個人サイトの移転作業で、
  自宅サーバーからSakuraのVPSへの移設をしてました。
  Apache2系から勉強のためにnginxにのせかえてる様子がブログからわかります

  nginxでZend Framework(rewrite)を利用する

  とはいいつつ、ほとんどプライベート作業はできてないですね
  しかも作業が中途半端でnginxの良さを殺してます!

5月〜6月
  「祝!プライベートフェーズ」
  おもいっきりプライベートですが、第二子が誕生しました!!
  これに伴い、変動勤務などを認めてもらい、長男の面倒をみながら仕事ができました。
  (上司の計らいで勤務時間をずらしてもらえました。本当に感謝しています。)
  (部署によるかもしれないけどpaperboy&co.は柔軟に対応してくれます。最高です)

7月〜8月
  「気合い!仕事仕事仕事フェーズ」
  ひたすら担当サービスを別のレンタルサーバサービスへ移行していきました。
  個人的には満足できる出来ではなかったのが悔やまれますし、
  利用してくれていたお客様に色々とご迷惑をお掛けして、こちらも悔やまれます。
  ご迷惑をお掛けしたユーザーの皆さん 本当にご迷惑をおかけしました。

  そして、何よりも連勤や徹夜を一緒にがんばってくれた
  プログラマ、インフラエンジニアの仲間に申し訳ないという気持ちとともに、
  感謝の気持ちを伝えたいです。ありがとうございました。
  この時のことは、一生忘れないと思います。

9月
  「決断!退職フェーズ」
  2004年7月から7年勤務してきた株式会社paperboy&co.を退職しようと決断しました。

  福岡支社にいたので、東京も一緒かどうかはわかりませんが、
  まずpaperboy&co.は、人間的に「いい人」ばかりです。
  そして、毎日笑いが絶えないし、イベントも多く楽しい日々を過ごせました。
  新しく入った人も、比較的早く打ち解ける事ができるというのも
  ポイントかなと思います。

  じゃあ、なんでやめる必要があるのかという話だけど
  理由は沢山ありすぎて説明しきれないのですが、
  一部で言われていたような特定の人物との不和ではありません!

  まずは個人的な理由だけど、関東に戻りたかったんですよね
  祖父の容態が悪いのもあり、比較的早急に戻りたかった。

  仕事面でいえば、会社側の変化と自分が思い描く方向性がズレていってるという事を
  少なからず感じていて、移設の忙しい作業と平行して、大きな分岐点が何個も訪れ、
  今後自分がどうしていくべきかを考える機会が増えました。

  また、長い間同じサービスに関わっていた事もあり、全体像を把握していて、
  調整能力だけで案件がまわり、自分に甘えが生まれている事も
  このままでは、自分自身が駄目になっていくような気もしていました。

  この辺が理由の一部です。他にもあるけど長くなるので割愛。

  7年前に少ししかサーバのことを知らなかった自分が、
  インフラエンジニア、プログラマを経験させて頂いて
  自分自身大きく育つ事ができました(体のことではありません!)

  上司、同僚、そして既に他社に旅立っていった人々にも、本当に感謝しています。
  これからも、別の会社ですが仲良くしてやって下さい。どうぞよろしくお願いします。  

10月〜11月
  「転職活動フェーズ!」
  転職というイベントが、そうそう訪れるものではないということもあって、
  沢山の人とお会いして、自分が成長していけるところを選びたいという事で、
  10社以上の会社の方にお話をお聞きしました。

  前回の転職では、リクナビと毎ナビを利用していたのですが、
  今回は、IT系企業が多数登録されているFind Job!と、
  気になっていた会社のコーポレートページでの直接応募で探す事にしました。

  色々な会社にいって、twitterでフォローして勉強させてもらっていた著名人の人や
  自社のことを熱く語ってくれる人、今後の業界の動向についてや
  自分に足りてないところを指摘して頂いたりと、とても貴重な体験をさせて頂きました。
  技術的な質問に全然答えられずに場違い感満載でご迷惑をお掛けしたりもしました。

  お忙しい中、お時間を割いてくださった方、私に期待して良いお話を頂いた会社の方
  本当にありがとうございました。
  この業界、広いようで狭いのでちょくちょくお会いするかもしれませんが、
  どうぞよろしくお願いします。

  そして、paperboy&co.の前社長の家入さんにも気にかけて頂いて、凄く心強かったです。
  これからもよろしくお願いします。

  
  この転職活動が一段落し、福岡から関東への引越準備中に、
  転職理由の一つであった祖父が他界しました。
  凄くお世話になってたのに、何も恩返しできなかった悔いが残ってる

12月
  「入社フェーズ」
  そして、このブログを見てる人なら大半の人が知ってるだろうけど、
  転職先は「株式会社ライブドア」に決め、お世話になる事にしました。

  決め手としては、技術力を高めたいという一言につきます。
  今回の転職活動で自分の非力さを痛感し、これから挽回しないといけないと思いました。
  結局のところ、どこの会社にいても、できる人はできる できない人はできないだけど、
  転職するなら、尊敬する凄い人たちがいるところで、コードを参考にさせてもらい、
  色々勉強できる環境に身を置きたいと考えたのが最終的な結論です

  この会社で、技術者として成長して、より多くのユーザーに喜んでもらえるサービスを
  提供していきたいと思ってます

  そして、イベントで登壇して発表できるくらいの技術力とネタとプレゼン力をつけたい。

  ## 凄い人 = 怖い人、冷たい人ってイメージがありましたが、
  ## ライブドアの人は、perlが書けずに入社した私にも凄く優しく接してくれます。
  ## 凄い人ばかりなのに、いい人ばかり。

  さあ、皆さんもライブドアで、自分の次のステージへのドアを開きましょう!!
  (ライブドアは、来年1月1日よりNHN Japanに統合されます!)

技術ブログのはずが、ただの感想ブログになってしまいましたが、
来年(もう明日ですが)は、もっと技術的なことをアウトプットしていきたいと思います。
来年もどうぞよろしくお願いします!
“;

CentOSからdotcloudを利用してみる

3
Filed under 未分類

まずは、pythonの2.6がいるみたいなんで、ぶちこむ。

yum install python26
mv -i /usr/bin/python /usr/bin/python_old
ln -s /usr/bin/python2.6 /usr/bin/python

easy_installのコマンドが必要なので、pythonでぶちこむ。

wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py

easy_installでdotcloudをインストール!

/usr/bin/easy_install dotcloud

dotcloudの初期セットアップ。http://www.dotcloud.com/account.settingsのAPI KEYを確認して打ち込んでエンター押すだけ。

/usr/bin/dotcloud
Enter your api key (You can find it at http://www.dotcloud.com/account/settings): ←のページにあるAPI KEYを書く

クラウド用のアカウント設定(例はhattara.dotcloud.comを作成する場合。hattaraのところを自分のすきなものに。)

/usr/bin/dotcloud create hattara

とりあえずphpのインスタンスを作成して起動する

/usr/bin/dotcloud deploy -t php hattara.php

## 状態確認

/usr/bin/dotcloud info hattara.php

phpのテストファイルを作成する

vi index.php

〈?php
phpinfo();
?〉

ファイルのデプロイ

/usr/bin/dotcloud push hattara.php index.php

ログの確認

/usr/bin/dotcloud logs –build hattara.php

## 表示確認
http://php.hattara.dotcloud.com/

とりあえずこれで普通にphpは動くようになりましたと。

nginxでZend Framework(rewrite)を利用する

0
Filed under nginx, php, WebServer, Zend Framework, 未分類

nginx + php-fpm + pecl-apcで構築されたサーバでZend Frameworkを利用する際に、
.htaccessが使えないことで以下のような記述ができませんでした。

## リライトエンジンを有効に。
RewriteEngine On

## リライトの対象パスを指定
RewriteBase /

## リライトルールを宣言(画像、CSS、Javascript)以外をindex.phpに転送する。
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

通常の Apache の場合などには、.htaccessで上記のように表現できますが、
nginxでは、現状各ユーザ毎のフォルダに設置して対応する方法がないようです。

具体的にいうと、nginx.confでincludeをサポートしているので、
各ユーザ領域に設定ファイルの断片をおいて、includeさせることまではできると思われますが、
そこを修正しても、読み込み直さないと反映されないので、意味がないという事になります。

よって、対策としては、容易に設定修正できないという難点は致し方ないとして、
/etc/nginx/nginx.conf(ファイルパスは環境により異なります。)、
または、includeしている /etc/nginx/conf.d/***.confの中の該当のドメイン設定部分に
以下のように追記します。

server {
listen 80;
server_name test.example.com ;
location / {
root /home/Web;
index index.php index.cgi index.html index.htm;
rewrite ([^(js|ico|gif|jpg|png|css)])$ index.php;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/Webdir/hattara.info/main/web/$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}

これでとりあえず動くようになります。
現状だと、逆にいえばこれしかできないような気もする。。

.htaccessみたいに外部で設定できるようにできたり、rewriteの設定がもう少しわかりやすいといいなぁと思うけど、
これが速度とのトレードオフなのかもしれないですね。

ということで、rewriteとかの設定で、超はまりまくったけど、今日はこの辺で。

Nginx Http Server

新品価格
¥3,964から
(2010/12/20 19:36時点)

nginxをyumで簡単構築(インストール,VirtualHostの設定)

0
Filed under nginx, WebServer, 未分類

nginxのyumパッケージがfadoraのサイトに転がってるようなので、
リポジトリを追加する。(サンプルは64bit版)

wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

nginxをyumで簡単インストール。

yum install nginx

とりあえずnginxを起動してみる。apacheでいうところのhttpd start

/etc/rc.d/init.d/nginx start

再起動後もちゃんと起動してくるように起動ファイルを配置する。

ln -s /etc/rc.d/init.d/nginx /etc/rc.d/rc3.d/S88nginx

VirtualHostの設定をする。
Apacheでいうところの の部分。

※Apacheだと、完結にはしょって書くとに以下みたいにかくやつです。


ServerName hoge.com
DocumentRoot /home/hoge/web

これをnginx用に書いてみる。

vi /etc/nginx/conf.d/hoge.conf

server {
listen 80;
server_name hoge.com;

location / {
root /home/hoge.com/web;
index index.php index.pl index.cgi index.html index.htm;
}
}

これで、一応うごく設定にはなってるはずです。
といっても、特殊な場合以外は、VirtualHostの設定はVirtualDocumentRootで済ましたいので、
以下のようにする。

※Apacheの場合のVirtualDocumentRoot。


ServerName local
VirtualDocumentRoot /home/%2+/sub/%1/web

※これの場合、moge.hoge.comだと、/home/hoge.com/sub/moge/webがDocumentRootになる。

これをnginx用にかきなおす。ファイルは、さっきと同じファイルのまま。

server {
listen 80;
server_name ~^(.*)\.hoge.com$;
if (!-d /home/hoge.com/sub/$1) {
rewrite . http://hoge.com/ redirect;
}

# Sets the correct root
root /home/hoge.comf/sub/$1;
}

ついでにアクセスログをvirtualhostに対応したものに変更する。
以下のlog_format形式を追加して、access_logのところで、mainからvhostに切り替える
以下は、変更する個所、追加する個所の抜粋

vi /etc/nginx/nginx.conf

  ※以下を追加。
log_format vhost ‘$host $remote_addr – $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” ‘
‘”$http_user_agent” “$http_x_forwarded_for”‘;

  ※以下のように追記と修正する。
#access_log /var/log/nginx/access.log main;
access_log /var/log/nginx/access.log vhost;

これで、以下のようにaccess_logに変化が出る。

※変更前

192.168.0.100 – - [30/Nov/2010:20:18:02 +0900] “GET / HTTP/1.1″ 200 25 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)” “-”

※変更後

hoge.com 192.168.0.100 – - [30/Nov/2010:20:18:02 +0900] “GET / HTTP/1.1″ 200 25 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)” “-”
test.hoge.com 192.168.0.100 – - [30/Nov/2010:20:18:02 +0900] “GET / HTTP/1.1″ 200 25 “-” “Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)” “-”

IRCサーバ(ircd-hybrid)をyumを使って簡単に構築する。

1
Filed under Cent, Linux, Network, ルーター, 未分類

時代は、チャットからメッセンジャーそしてIRCにきたようです。
ということで、私もIRCサーバを構築してみようと思うわけです。
なんといっても、手抜きが大好きなので、yumパッケージを探します。

wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm

上記のリポジトリにIRCサーバ用のソフトが眠ってるようなので、登録します。
release-5-4になってますが、バージョンアップしたら、ここの数字はかわるので、
fedoraのサイトで随時確認してください。

yum install ircd-hybrid

上記のように本丸であるIRCサーバ用パッケージのircd-hybridを
yumで楽々ぶちこみます。
これでインストールされちゃうわけですよ。

cp -irp /usr/share/doc/ircd-hybrid-7.2.3/simple.conf /etc/ircd/ircd.conf

上記で設定ファイルをコピーするわけですが、cpコマンドにiオプションをつけてるので、
すでに該当ファイルがあるとアラートがでます。上書きしてください。
というか、yumでいれたときに長いファイルができてるんで、絶対アラートでます。

vi /etc/ircd/ircd.conf

name = “irc.aaaaa”;
sid = AAAA;
password = “abcde”;

上記のように設定ファイルをいじくります。
IRCのサーバ名をnameに書き込みます。
次にsidのところに、任意の大文字英数字をぶちこみます。
最後にpasswordはつけてもつけなくてもいいけど、適当に。

/etc/rc.d/init.d/ircd start

上記でIRCサーバが起動するので、めでたしめでたしです。

※デフォルトだと、6667ポートをあけるので、ルータなどで制限してる場合には、あけましょう。

あとは、このままだと、自動起動しないので、以下のようなのもやっとくといいでしょう。

ln -s /etc/rc.d/init.d/ircd /etc/rc.d/rc3.d/S99ircd

S99にしてますが、これは起動順なので、必要な機能があがった後ならいつでもいいです。
Snnでやってください。

SQLで○○以外(<>)の時のNULLには気をつけろ!

2
Filed under MySQL, SQL, 未分類

今日実際にこんな現象を見たので、メモ的に残しておきます。
SQLで何かするときに、以下のようなパターンがあると思う。

| id | val1 |
| 1 | 5 |
| 2 | 10 |
| 3 | 1 |
| 4 | 100 |
| 5 | NULL |
| 6 | 20 |

この場合に、NULLをひっぱったりするときに IS を利用するのは知ってました。

SELECT id, val1 FROM test WHERE val1 is NULL;

ここで今回のメモは、

SELECT id, val1 FROM test WHERE val1 <> 100;

このようにした場合に、NULLはHITしないということです。
型が違うためかどうかわかりませんが、そういうことです。
対策としては、NULLについても別途条件を追加することです。

SELECT id, val1 FROM test WHERE (val1 is NULL or val1 <> 100);

これで、あなたにも明るい未来が見えることでしょう。

「共創を求めるチームワーカー」

0
Filed under 未分類

ペパボで実施する2012年卒の新卒採用に向けて、
総務の方から頼まれたのでリクナビさんの
「先輩の仕事タイプ診断(仕事に対する指向・価値観のタイプ診断)」をやってみました。

ということで、他の人と一緒に物づくりをするほうが好きなようです。
人間関係をじっくりねっとりと仕上げていきますよ~!!
そして、理想を追い求めて、どこまでもいっちゃいますよ~!!
そしてそして、みんなで決めて進んでいきますよ~!!
政権公約みたいになってきた。。。

具体的な内容でいうと、こうなってくるようですな。
場の雰囲気については、すごく重要だと思うんだよなぁ。
喜怒哀楽が激しい方なんで、壊しちゃうこともあるけども。
仕事してるときに、一体感が生まれたら、いいものできるし、楽しいし、最高だよね。

そして、新しい事への関心だけど、ちょっと前まではそこまでじゃなかった気がするけど、
ここ最近は、すごく新しい事への関心が強くなってきたと自負してる。

ガンガン新しいものを吸収して、それを形にしていかないと、
時代遅れになっちゃうし、沢山の人に喜んでもらえるようないいものはできないよね。

と、技術職の人間の一例を技術ブログにあげてみました。

オライリーのAndroid書籍について

0
Filed under 未分類

ちょっと前ですが、Androidアプリの勉強のために書籍を2冊購入したわけですが、
どうせ買うならと思って、オライリーから出てるAndroid系書籍2冊を購入しました。

初めてのAndroid

新品価格
¥2,310から
(2010/10/26 18:01時点)

という初心者にうってつけの名前のものと、

Android Hacks ―プロが教えるテクニック & ツール

新品価格
¥3,990から
(2010/10/26 18:10時点)

というHack系の書籍です。

まあ、初心者なわけなんで、「はじめてのAndroid」を利用しながら、まず模写したわけですよ。
で、ある程度のところまでは、順調に追加してはテストしてを繰り返していたのですが、
全体像ができてきて、グラフィックのところだったか、ゲーム作成の部分だったかで、
いきなり動かなくなりました。

それらしいエラーも見当たらず。。。

結局色々確認した感じだと、書籍が古すぎたというオチのようで、
深く突っ込んで確認はしてませんが、AndroidのVersion1.6前後から
色々と変わってるみたいなんですが、あの書籍がAndroid1.0とかのときに書かれているためらしい。

オライリーか何かのサイトで最新版のサンプルデータが置かれていて、
そちらは問題なく動きました。

ちなみに「Android Hacks」は最新の2.2にも対応していますと書いてあるので、
そういう問題はおきないと思います。
こっちは、完璧に部分読みしかしてないので、アレですが。。

まあ、ある程度のところまでは、XMLで外観と整えて、必要最低限のJavaを組めば、
デザインがアレだけど、とりあえず動くAndroidアプリが作れるというのがわかったので、
よしとします。

いいアイデアがわいたら、UIのほうも勉強していいものを作りたいと思う今日この頃。

※ちなみに、これ作ったあとに、Titaniumも使ってみましたが、KichenSinkが動かずに停滞。
  調べたら、他にも動かないと言ってる人がいたので、Versionによる問題かなと思ってます。
  詳細は調べてないけど。。。
  iphoneのエミュレーターでは問題なく動いたので、iphoneアプリは、こちらでいきたい。

Gmailの迷惑メール登録について

0
Filed under 未分類

今日気づいたこととしては、Gmailで受信されたメールの本文中に
http:// から始まるものがあった場合、迷惑メール扱いになる。

https:// のようにSSL環境のURLであれば迷惑メール扱いにはならない。

ただ、他の条件との兼ね合いもあるだろうと思うので、
一概には全部そうではないと思うが、検証した結果をメモしておく。