はてなブログへ移行しました

はてなブログへ移行しました。
以後はこちらで記事を書きます m(_ _)m
http://sutara79.hatenablog.com/


はてなダイアリーの記事は移さずに、このまま残します。
移行した理由についてはこちらをご覧下さい。
http://sutara79.hatenablog.com/entry/20130810/1376115017


はてブロ、すごくいいですよ!

今後の自身の就職の展望

今日も元気に就労移行支援事業所へ行って参りました。
その中で、戸畑の"北九州障害者しごとサポートセンター"の職員さんがやって来て、障害者の就職について講話してくださいました。

要点
働くための準備は整っていますか?
仕事の技術や資格だけでなく、
  • 心と身体の健康管理
  • 日常生活の管理
これができて初めて継続して働くことができます。
就職活動の際の注意点
会社に求める支援が多すぎると雇用は難しくなりますが、障害に対する配慮が得られないと仕事を続けることが難しくなります。
バランスが大切です。
自分の障害をきちんと説明し、どうしてもできないこと、支援があればできる仕事をそれぞれ伝えましょう。

感想
講話の内容自体、とても参考になりました。
今のうちから、自分の障害の特徴と、支援・配慮してほしいことをまとめておこうと思いました。


それと、障害者手帳の交付を申請してみようと思いました。
これまでは障害者の枠ではなく一般の枠で就職しようと思っていましたが、今年もひきこもってしまいましたし、自分が"一般人"なのかどうか不安になりました。
また、講話を聞くうちに自分が"人生の反撃"をもくろんで焦っていたのではないかと感じました。
"僕は大丈夫だから! できるだけ早く!! とにかく早く就職を!!!"という具合に。


実際に障害者枠で就職するかどうかはともかく、就職に対して、もっとどっしりと構えようと思います。
すぐにはプログラマとして働けなくても、ともかく継続して働いたという実績を作るだけでも重要だと思います。
そのためには障害者枠で就職してもかまいませんし、就労移行支援事業所の利用期限の2年ギリギリまで居座って就職先をじっくり見定めてもかまわないという覚悟です。


ということを、今日たまたま通院の日だったので病院の先生に告げたら、『ああ、それがいいですね』というお答えでした。

4ヶ月間の鬱の報告



目次
  1. 時期
  2. 経過
  3. 今回の鬱を振り返って
  4. 今後の対策

時期

2013年3月5日夜 - 2013年6月25日頃


ここ数年、毎年2月末から夏にかけて鬱ることが定番になってます。
今回は短い方だったと思います。
一昨年は8ヶ月だったし (-_-;)
今年は3月になっても発症しなかったので『今年はイケるか!?』とワクテカしてたのですが。

経過

3月5日以前
2月27日から疲れを感じていました。
前日の26日は病院の認知行動療法に参加したり、古いHDDを廃棄したり、ITパスポートや英語の勉強をしたりと、充実した一日を過ごしたと記録に残っていますが、そこから一気にバテてしまったようです。
就労支援施設には休まずに通い続けました。

3月5日
この日も何とか就労支援施設へ行きましたが、下校前からすでにヘトヘトに疲れていました。
帰宅後すぐに自室のベッドへ。
夕食後にPSPで数時間遊んだあたりから、『これは本格的な鬱かも』と感じていました。
(ここ数年は、鬱の時以外はゲームすることはほとんどありません。)

3月6日以降
3月6日から4日ほどは自分で就労支援施設へ欠席のメールを送りました。
気持ちとしても、なんとか立ち直ろうとしていました。
が、その後は本格的に気分が落ち込み、誰とも話したくなくなり、メールも無視するようになりました。
やることといえばベッドに寝そべってゲームするかアニメを見るか、という毎日↓

3月30日
この日は申し込みの済んでいたITパスポートの資格試験日でした。
何とかして起きようかな? 起きる気分になれたらいーなーと他力本願な気分で布団をかぶっていましたが、結局起き上がれませんでした。

4月13日
数日前から、酷使によってPSPの"○"ボタンが本体中に半分ほど埋め込まれた格好になっていました。
ボタンの押し心地が悪いし、今後さらに悪化するかもしれません。
まだまだ引きこもる予定なのに、PSPでゲームできなければ暇を持て余してしまいます!
(これを機に立ち直ろうかという気持ちはさらさらありませんでした。)
そこで、前日の下見を経て、夜中に両親が寝静まった頃を見計らってこっそり家を出て、ゲオでPSVitaを購入しました。
下がそのレシート。
『2013年4月13日(土) 24:21』とハッキリ記されています。


帰宅後にあれやこれやとセットアップして、とりあえずPSO2をDL。

4月19日
やはりPSO2では物足りなかったのでMHP3を購入しました。

5月7日
モンハンに疲れたのでNFSMWを購入。

5月26日
目まぐるしいスピードに疲れたのでA4EGを購入。

6月
6月に入ってから、だんだんゲームをしなくなりました。
自分の中で、無意識に基準を作ってしまうんです。
そして、その基準に達しないと不安・イライラが…。
  • 普通の人ならこのゲームレベルをクリアできるはず』
  • 『このプレイ時間ならゲームをここまで進めなければ、普通の人より下手だということになる』
  • 『この敵を倒すのにこんなに時間がかかるなんて、僕は普通の人より下手なのだろうか…』
ゲームの代わりに2chのまとめブログを読みあさってました。
中でも『キチガイママまとめ保管庫』は面白かったです。
【参考】
キチガイママまとめ保管庫
http://www.kitimama-matome.net/


この頃に、例年のごとく母にノートPCとゲーム機を取り上げられそうになりましたが、とりあえず抵抗していたら今年は難を逃れることができました。

6月下旬
毎年、立ち直るきっかけは様々です。
去年は、父のPCの不具合を治すため、だったと思います。
今年は下記が原因だと思います。
  • ゲームに疲れた。
  • 2chまとめも読み飽きた。
  • 4-6月期のいくつかのアニメのひどさに憤慨した。
  • 逆に、別のアニメに元気づけられた。

6月26日
一人で心療内科へ行って診察を受けました。

7月1日
再び就労支援施設へ通いはじめました。

今回の鬱を振り返って

毎年、疲れが溜まって体を動かすのが億劫になって、しまいにはベッドから起き上がるのもつらくなって鬱に転落します。
今年はその疲れの下り坂がとても緩やかだったと思います。
これは心療内科での治療と就労支援施設への通所のおかげでしょうか。


ただ、疲れに対する不安は今年も同じでした。
徹夜したとか、明らかに無茶な行動をとったわけではないのに疲れが溜まっていき、しっかり睡眠をとっても元気にならない。
いったい自分の体はどうなっているのか。
やはり他人より劣っているのだろうか。
そんな不安と疲れが合わさって鬱になっていたのかなと思います。


鬱に転落してからは、いつもどおりでした。

今後の対策

就労支援施設へ復帰した7月1日の夜に両親と話し合いました。
こういう話し合いは今回が初めてだったと思います。
  • 一日でも通所を休んだら、その時点で病院・就労支援施設へ連絡し、対応策を練る。
  • 鬱の最初の数日はまだ人との接触を避けるほどの気分ではないので、その間に何らかの対応ができるようにする。
  • その日の体調を周囲に報告する。
根本的な解決策としては、『普通の人ができると思われる分量』を自分で勝手に想像してそれを基準に据えてしまうという癖を矯正できたらいいなと思います。
『他人より劣っていてもいいじゃない♪』と、口で言うのは簡単なんですが…。

PHP者がRubyを学んだ時のメモ

いろいろ勝手が違って戸惑いました。

日付と時刻表示

現在の日付と時刻を下記のような形式で取得したい場合。

2013-07-30 06:19:55

PHP

echo date('Y-m-d H:i:s');

Ruby
Dateクラスを呼び出さなくてはなりません。
様式もかなり異なっています。

require 'date'
puts DateTime.now.strftime("%Y-%m-%d %H:%M:%S")
# "%Y-%m-%d %X" でもOK。

例外処理

PHP

try {
$db = new PDO('noDB:test.db');
echo 'DBに接続しました。
} catch(Exception $e) {
echo $e->getMessage();
// "could not find driver" と表示。
}

Ruby

begin
file = File.open('nothing.txt', 'r')
rescue
puts 'ファイルを開けませんでした。'
else
puts 'ファイルを開きました。'
end

(HTML5)datalist要素は現時点では使いものにならない

現時点ではブラウザによって表示や動作がバラバラです。
さらに、datalistをCSSで装飾することもできません。
下記のデモページを色々なブラウザで開いて試してみてください。

(デモページ)
http://www.usamimi.info/~sutara/sample2/html5_datalist.html

試したブラウザ
(OS: Windows Vista SP2)
  • IE9
  • GoogleChrome28.0
  • Firefox22.0
  • Opera12.16
  • Safari5.1.7

ブラウザごとの違い一覧

そもそもオートコンプリートできない
  • IE9 またはそれ以下
  • Safari5.1.7

autocomplete属性が"off"だとリスト表示してくれない
<input type="text" autocomplete="off" list="keywords">
  • Opera12.16

各項目の文字列のどの部分にでもマッチする
  • Firefox22.0
datalistの候補リストが下記の場合。
'aaa', 'abb', 'acc'
'c'と入力した場合に'acc'が候補に表示されるのはFirefoxだけです。
逆に、他のブラウザは各項目の文字列の先頭から完全にマッチしなければ候補リストに表示されません。

option要素のvalue属性の値と、optionタグで囲んだ文字列が異なる場合、各ブラウザで候補リストの表示に違いが出る

<datalist id="keywords">
<option value="abb">111</option>
<option value="AAA">122</option>
<option value="aaa">100</option>
<option value="acc">133</option>
</datalist>
GoogleChrome28.0
メインにはvalue属性が、サブにはoptionタグで囲まれた文字列が表示される。
Opera12.16
value属性の値しか表示されない
Firefox22.0
optionタグで囲まれた文字列しか表示されない

Twitter API v1.0 から v1.1への中途半端な移行記

Twitter API v1.0が廃止されていました。
公開中のサイトを一刻も早くv1.1へ対応させなくてはなりません。
まだ途中ですが、備忘録を残しておきます。

目次
  1. 環境
  2. APIを使っている箇所を探す
  3. 修正時の注意点
  4. 感想

環境

APIを使っている箇所を探す

まずはWebサイトのどこでAPIを使っているのかを確認します。
Webサイトを収めたディレクトリ以下で、"twitter.com"という文字列が記述されているファイルを検索します。

$ find ~/CakePHP/app -type f -exec fgrep -l 'twitter.com' {} \;

# 正規表現が使える"grep"よりも"fgrep"のほうが速いそうです。

修正時の注意点

GET search/tweets
パラメータをつけてツイートを検索して、その結果を受け取るAPIです。
CakePHPとOAuthConsumerComponentを使った環境で、ハッシュタグ"#kirumin"を含んだツイートを20件取得したい場合は下記のようになります。

// API v1.1
$client = new OAuthClient(
'(Consumer key)',
'(Consumer secret)'
);
$json = $client->get(
'(Token key)',
'(Token secret)',
'https://api.twitter.com/1.1/search/tweets.json?count=20&q=%23kirumin'
);
$json = json_decode($json, true);
変更点
  • v1.1では検索APIでもOAuth認証が必須のようです。
  • 以前は何件取得するかのパラメータ名は"rpp"でしたが、v1.1では"count"に変更されました。

  • 返ってくるJSONの構成がだいぶ変わっています。

    • 検索にヒットしたツイートを収めた配列

      前: $json['results']

      後: $json['statuses']

    • ツイート以外の検索結果情報は"search_metadata"以下に収められました。

      【例】"max_id"の場合

      前: $json['max_id_str']

      後: $json['search_metadata']['max_id_str']

    • ツイート投稿者の情報は"user"以下に収められました。

      なお、投稿者名の"from_user"は"screen_name"に変わりました。

      【例】"from_user"の場合

      前: $json['results'][0]['from_user']

      後: $json['statuses'][0]['user']['screen_name']

    • ある検索の次のページまたは新着ページへの移動の基準が、ページ番号ではなくツイートのIDに変わりました。

      【例】新着チェック

      前: search.json?rpp=20&q=%23kirumin&page=1

      後: tweets.json?count=20q=%23kirumin&since_id=123456

      【例】次のページ

      前: $json['next_page'] ?page=2&maxid=123456&q=%23kirumin

      後: $json['search_metadata']['next_results'] ?maxid=123456&q=%23kirumin

    • 検索APIでもリツイートの元のツイートの情報を取得できるようになりました。

      $json['statuses'][0]

      ├──retweeted_status
      │  ├──created_at
      │  ├──id_str
      │  ├──retweet_count
      │  ├──text
      │  ├──user
      │  │  ├──name
      │  │  ├──screen_name
      │  │  ├──profile_image_url

その他のAPI
その他のAPIの手続きも若干変わっている箇所がありますが、検索APIに比べれば微々たるものです。

感想

自分のサイトにとっては、今回のAPIの変更は大きな衝撃でした。
検索APIリツイート元の情報を取得できるようになったのは歓迎すべきことなのですが、すでに自前でリツイートをまとめる処理を作っていたために、返ってくるJSONの構造が変わったことで大幅な修正を余儀なくされました。
簡単にできることではなさそうだったので検索APIの変更には結局対応せず、ツイート関連の機能は一旦削除してサイトを再開しました。
これを機に、このままAPIの利用を最小限にしてTwitter本家とは異なる機能だけに集中しようかと思います。