シレーヌの日記2
私はシレーヌ。
今日も猫。
ロミオの家で飼われている身。
10歳の時にこの姿になった。
あれから自分の家も見に行ったわ。
お母さんが私のお墓の前で泣いていたの。
私はあの時死んだことになった - 。
当然ね。
ごめんね。お母さん。
時が来れば家に帰れるから - 。
それからまた2年の月日が流れた。
ロミオは17歳になった。
時折悲しい顔をするけれど、よく笑うようになったわ。
私のことは忘れていってしまうかな。
それでも私は幸せだった。
そんなある日、悲劇が起こったわ。
ロミオの父親に売国奴の疑いが掛けられてしまう。
ロミオの父親は処刑され、母親も処刑されてしまった。
ロミオも処刑されることになったの。
処刑が執行される日。
私は目を閉じ、祈ったわ。
ロミオをなんとしても助けたい。
そこでまた、頭の中におばあさんが現れたの。
私はロミオを救うため、また魔法の力を使ったわ。
断首台に向かっていたロミオ。
その途中に父親が無実であることが証明されたの。
ロミオは一命を取りとめた - 。
でも、両親を失った悲しみがロミオから
また笑顔を奪ってしまったの。
そして私はまた、代償を - 。
私はロミオの家の庭の木になってしまった。
そして、さらに20年、人間に戻れないことになったの - 。
つづく。
シレーヌの日記1
私はシレーヌ。
今は人間ではないの。
私は猫。
これから私の事を語っていくわ。
その前に私の幼馴染を紹介するわね。
あそこでフランスパンを葉巻のように咥えながら
優雅にティータイムをしている人。
彼の名はロミオ。15歳 - 。
私の大切な人。
私がなぜ猫になったのか話すわね。
〜
あれは私もロミオも10歳の時。
台風の日だった。
小学校に通っていた私とロミオ。
午後になるにつれて台風が強くなってきた。
学校の授業が終わった後、教室で待機するように言われていたの。
でも、私とロミオは家が近かったし、好奇心が旺盛だったのね。
一緒に下校してしまったの。
傘は折れて服はビショビショ。
でも、楽しかった。
すごくはしゃいでいたわ。
そんな時、急に突風が吹いたの。
その風で、川沿いを歩いていたロミオが川に落ちてしまった - 。
私はすごく慌てたの。
水嵩も上がり、流れも速かった。
ロミオはすごい勢いで流されてしまったの。
私は動揺して体を動かすことができなかったの。
ただ、その場で目を瞑って祈ったわ。
どうか神様、ロミオを助けてください、と。
そうしたら、頭の中に知らないおばあさんが出てきたの。
そのおばあさんはこう言ったわ。
ロミオを助けたければ、魔法の力を使うしかない、と。
私の家系には代々、魔法の力が伝承されているらしいわ。
そして、魔法の力を使う代償があることも言っていた。
私はロミオが助かるならなんでもよかった。
とにかくおばあさんに魔法の使い方を聞いたの。
私は魔法を使い、すぐにおばあさんは消えてしまった。
そして、私は猫の姿になってしまったの - 。
その後、私は歩き慣れない格好でロミオの家まで向かったわ。
ロミオの家の庭にある木で台風をやり過ごしていると
しばらくして、ロミオが助けられたという報告が聞こえてきたわ。
よかった。
ロミオは助かった。
川の途中に見慣れない大岩があって、そこに引っ掛かったみたい。
きっとこれが魔法の力 - 。
その後、頭の中におばあさんが現れたの。
おばあさんはこう言ったわ。
ロミオを助けるために使った魔法の代償は10年。
10年経てば元の姿に戻れる、と。
その後、ロミオの庭をうろうろしていたら、ロミオに拾われた私。
〜
それから、5年。
今は飼われている状態。
ロミオと話はできない。
でも、それでいいの - 。
ロミオが元気であれば、それで -。
つづく。
facebook APIの仕様変更
こんばんは、ogaです。
先日、顧客から妙な指摘がありました。
私が担当を引き継いだWEBシステムで、facebookアカウントでログインする機能がエラーとなっているとの事。
とりあえず現象を確認し、原因を調査したのですが、ソースコードは半年前くらいにコミットされたまま変更された形跡はありませんでした。
おかしいなと思い、念のため顧客に確認をしました。
「この機能はリリース当初から動いていたでしょうか」
「はい、検収も済んでいます」
という回答をいただいたので、さらにエラーログの内容を確認しました。
「不正なパラメータ」的なエラー内容でした。
?どういうことだろう?
動いているはずのものが動いていない。
考えられるのは可能性が低いと思っていたfacebookAPIの仕様変更・・。
的中でした。
変更しされたAPI
https://graph.facebook.com/me
以前はjson形式でaccess_tokenを渡せていましたが、現在はgetパラメータでしか渡せなくなっていました。
呼び方を変更して解決。
【変更前】
https://graph.facebook.com/me?fields=id,name,email&{"access_token":"hoge","token_type":"bearer","expires_in":5183489}
【変更後】
https://graph.facebook.com/me?fields=id,name,email&access_token=hoge&token_type=bearer&expires_in=5183489
まさか、さらっと仕様変更しているとは・・。
しかも、かなり使われている機能ではないかと思いました。
実際に某海賊王のゲームでも同障害が起きていたとか、いないとか。
まあ、ご時世的にfacebookのアカウントでログインする人が減っている事は間違いないでしょうね。
ほとんどの人がTwitter、LINE、Google、メールアカウントでやっていると思います。
気づき難いかもしれませんね。
もし、facebookAPIを利用している方がいれば、確かめてみたほうがいいかもしれません。
では、また。
Atom
こんにちは、ogaです。
職場の開発エディタとして「Atom」を使い始めました。
今まではEclipseを使い、いつの間にかvimを使うようになっていました。
使用しているPCがmacという事もあり、vimでの開発がメインにはなるのですが
昨今のエディタ事情を知る為、インストールしてみました。
とりあえず、パッと見たデザインがなんかカッコイイ・・。
最初はメニュー等が全英語になっていたので、日本語化するプラグインをインストールしました。
ググると詳しく説明してくださっているサイトがあるので、ここでは説明は割愛します。
他にも使用頻度が高そうなプラグインをサクサクインストールしました。
- git-plus
- エディタ上で開発、gitへコミットなど一括してやりたい場合は必須なのかと思います。
- file-icons
- ファイルの種類別にアイコンを付けてくれます。大量にあるファイル一覧でもわかり易いです。
まだまだ、何十個と便利なプラグインがたくさんあって、インストールが簡単にできてしまいます。
まずはプロジェクトが無いと始まらないので、git-plusを使ってプロジェクトのcloneを行ってみました。
command + shift + h
このショートカットでgit-plusの入力ポップアップが出てきます。
そこに対して
clone 対象のgitプロジェクトのURL
これでOKです。
コマンドラインでやる場合はcloneの前にgitと毎回タイプが必要ですが、git-plusは不要です。
他のgitコマンドも同様にpull,fetch,logなど打てば使用できます。
なんかすごくスタイリッシュです。
これで、開発を始めたわけですが、地味に気になった点が1つありました。
それは、選択したファイルが既に開いているタブに上書きされて開いてしまうという問題。
ファイル一覧のファイルをクリックすると右のほうにファイルの内容が表示されるのですが
別のファイルをクリックした時、本来ならば別のタブで開いてほしいところ、既にあるタブに上書きで表示されてしまうというものです。
設定で変えられるようですが、この現象になってしまうファイルも存在しました。
どうやらAtomではプレビューモードというものになっているらしいです。
見分け方としてはタブに表示されるファイル名が斜体表示(italic)になっていたら、プレビューモード。
タブをダブルクリックすると斜体表示ではなくなるので、プレビューモードを解除(正式なタブとして固定される)。
これでタブが上書きされることはなくなります。
まだ使い始めたばかりですが、これから楽しみながらやっていこうと思います。
それでは、また。
腹筋と背筋
こんにちはogaです。
最近アブローラーという器具を使って筋トレを少ししています。
アブローラーはAmazonで1400円くらいで購入しました。
器具を使わない腹筋をしようとすると忘れてしまって続きませんでしたが、これは続けています。
コスパも良く腕、胸、腹筋、内腿と程よく筋肉痛になったりハリを感じられます。
でも、仕事の疲れか腰痛がしてきました。
アブローラーは背筋も鍛えられているとは思いますが、腹筋よりは弱いようです。
おそらく、腹筋だけ鍛えてバランスが悪くなったのでしょう。
昨日はアブローラーの後に器具を使わない背筋を30回したところ、今朝は腰痛が緩和されました。
腰痛になると湿布を貼ったりする事が多いですが、湿布は基本的には感覚を鈍らせるだけの気休めにしかならないらしいです。
なので、筋トレをした方が逆に良くなるかもしれません。
運動不足で腰痛の方は試してみてはいかがでしょうか。
それでは、また。
SQL超入門 〜SQLとは〜
こんにちは、ogaです。
今日はSQLの超初級、ざっくりとした概要について
書かせていただきます。
SQL ( Structured Query Language )とは?
読み方は普通に「エスキューエル」です。
エンジニアの間では有名なものなので、IT用語辞典等でググってもらうと
長文でずらずら丁寧に書かれおります。
それらを一行で省略すると。。
データベースのデータをあれこれできる魔法の呪文
こんな感じです。
「データベース」が何かと言いますと、大量のデータを保持しておける場所です。
イメージとしては「沢山お菓子の入る箱」です。
また、この「沢山お菓子の入る箱」にはいくつかの
引き出しがあります。
この引き出しのことを「テーブル」といいます。
(超入門では分かり辛いので、'引き出し'と呼びます)
では、実際の使用例を書いていきます。
「沢山お菓子の入る箱」の1段目の引き出しに
「キャンディーの引き出し」と名前を付けて、キャンディーを5個入れます。
この時、キャンディーの情報は下記のようになっています。
名前 | 色 | サイズ |
---|---|---|
キャンディー1 | 赤 | 小さい |
キャンディー2 | 赤 | 大きい |
キャンディー3 | 青 | 大きい |
キャンディー4 | 青 | 大きい |
キャンディー5 | 黄 | 小さい |
「名前」の項目はキャンディーの名前の情報になります。違いがあればなんでも良いので、ここでは連番形式にしています。
「色」の項目はキャンディーの色の情報になります。
「サイズ」の項目はキャンディーの大きさの情報になります。
この引き出しからキャンディーの情報を引き出す際にSQLが必要になってきます。
では、引き出しから全てのキャンディーを取り出してみましょう。
SELECT * FROM 'キャンディーの引き出し'
上記の魔法を使うと、「キャンディーの引き出し」から全てのキャンディーを取り出すことができます。
それでは魔法の意味をみていきます。
「SELECT」は選択する、選び出すという意味です。
「*」は全てという意味です。
「FROM 'キャンディーの引き出し'」 は「キャンディーの引き出し」から。という意味です。
つまり、「キャンディーの引き出し」から全てを選択するということになります。
これが一番簡単なSQLの魔法になります。
これだけの用途の場合、あえて魔法を使わなくても良さそうなので、もう一つの魔法を書くことにします。
SELECT * FROM 'キャンディーの引き出し'
WHERE 色 = '赤'
「WHERE 色 = '赤'」という記述が追加されました。
これは「色が赤いものだけ」という意味になります。
つまり、「キャンディーの引き出し」から色が赤いキャンディーだけを選択するということになります。
名前 | 色 | サイズ |
---|---|---|
キャンディー1 | 赤 | 小さい |
キャンディー2 | 赤 | 大きい |
例だとキャンディーが5個しかありませんので、あまり魔法の威力がわかりません。
しかし、「キャンディーの引き出し」には1万、1億以上のキャンディーの情報を詰めることが可能です。
そうなった場合に、この魔法の威力が発揮されます。
キャンディーの数が増えていっても
「キャンディーの引き出し」から色が赤いキャンディーだけを選択する魔法は変わらないからです。
このようにSQLという魔法はデータが多くなっていくほどに威力を増していきます。
今回は単純なSQLのご紹介でしたが、深く勉強していくと大量のデータを操作していくことが面白くなっていきます。
このSQL超入門でSQLに興味を持たれた方がいましたら、SQLに入門してみてはいかがでしょうか?
最後まで読んでいただき、ありがとうございました。