僕は発展途上技術者

「かなぶん」が日本語学習ポータルサイト「NIHONGO eな」で紹介されました

Kanji-Fandom に続き


ひらがなゲーム「かなぶん」


が、国際交流基金関西国際センターの運営する日本語学習ポータルサイト「NIHONGO eな」で紹介されました。


30723089304C306A30FB30AB30BF30AB30CA306E30B230FC30E0309296C63081307E3057305FFF01FF08FF12FF09 | NIHONGO e306A - Portal for Learning Japanese -
Uploaded with plasq's Skitch!

» ひらがな・カタカナのゲームを集めました!(2) | NIHONGO eな - Portal for Learning Japanese -


» Hiragana/katakana game compilation! (2) | NIHONGO eな - Portal for Learning Japanese -


一緒に紹介されていたひらがなジグソーなど、へーこんなのあるんだあ、という感じで面白いです。ジグソーパズルはカチッとはまったときがうれしい。


Android 版かなぶんは、すでに外国の方が紹介動画を Youtube にアップしてくれていたりして、日本語を学ぶのに一役買っているのかもしれません。


6:20 あたりから「かなぶん」が紹介されています。



iPhone 版かなぶんも、説明などを英語化して日本以外の App Store でも公開したいと思っています。


「こども健康倶楽部」にフェニルケトン尿症(PKU)のページが追加されました

患者さんとご家族のための情報サイト「こども健康倶楽部」に、先天性甲状腺機能低下症(クレチン症)に続いて二つ目の疾患、フェニルケトン尿症(PKU)のページが追加されました。


» こども健康倶楽部


こども健康倶楽部|フェニルケトン尿症講座|病気の説明〜初級編〜
Uploaded with plasq's Skitch!


「こども健康倶楽部」で扱う成育疾患の2番目は、

フェニルケトン尿症(PKU)となりました。


新生児マススクリーニング(先天代謝異常等検査事業)により、

1977年(昭和52年)からわが国では早期発見・早期治療の

対象となっています。


日本先天代謝異常学会の専門家の皆様のご協力で、

Q&Aのページは作られました。


お子さんが理解しやすいように工夫された、

キッズページもあります。


フェニルケトン尿症(PKU)の患者さんとご家族に正しい情報を提供し、少しでも不安を取り除くお手伝いができれば本望です。


このブログを読んでくれる方のことを考え、少しだけ技術的な話をします。


2年前にオープンしたサイトに手を加え、Rails 1.x から Rails 2.x に、また複数疾患に対応できるようデータ構造を変更しました。


rails 標準の paginate から will-paginate に、表示テキストを外出しするのに gettext を使っていたところを rails 標準の i18n 機能にうつしかえたあたりが少々手こずりましたが、その他はスムーズに移行できました。


また、apache + mongrel で動かしていたところを nginx + passenger に、ソースコード管理は svn から git へと移行し、よりメンテナンスがしやすくなりました。


Libreq(リブレク)がカーリルAPIコンテストで準グランプリをいただきました

カーリルAPIコンテストで


» Libreq - 読みたい本を図書館にリクエスト


が準グランプリをいただきました!


選んでいただいた方々、ありがとうございます。


calil t-shirt


グランプリ作品のかーりるん始めTwitterをうまく使ったもの、Flashで見せるクラベルライブラリ、携帯サービスの一語一絵、iPhoneアプリやAndroidアプリなど、バラエティに富んでいて作品発表を見ているのが楽しかった。技術的なハードルが低くなってきているとは言え、ひとつのアプリを開発しリリースするというのは少なくない開発者の情熱を必要とするもの。それが短期間のうちに約20作品も揃ったというのは、僕も含めてだけれど、カーリルAPIの魅力にとらわれたのだと思います。


コンテストが終了したら終わりということにしないで、これからサービスを育てていくのが重要。各サービスが大きくなって、カーリルを盛り上げていくという動きに、僕もこれから参加していきたい。


P.S.

もう一つエントリーしていたLibron、貢献していただいている方が多いし、すでに使っていただき応援もいただいているだけにどちらかというとこちらの方で受賞したかったのですが、ほかのアプリに比べたら斬新さやインパクトで劣っていたかもしれません。でも変わらず、便利ツールのまま、よりたくさんの人に利用してもらえるよう改良していきたいと思っていますので、Libronの方もよろしくお願いします。


» Libron - 無料で本が読めるライフハック


Libreq - 読みたい本を図書館にリクエスト をリリースしました

Libreq(リブレク) - 読みたい本を図書館にリクエスト


というサービスをリリースしました。


Libronに続く、カーリルAPIコンテストにエントリーした図書館シリーズ第2弾です。


読みたい本が図書館にないときにTwitterでつぶやいて本のリクエストができるサービスです。本が図書館にあるかを定期的にチェックし、もし蔵書に追加されて読めるようになったらリプライを送って通知します。


使い方


LibreqはLibronの姉妹サービスです。いまのところは、Libronから使ってください。


LibronはAmazonの検索結果ページから簡単スピーディに図書館の蔵書を検索でき、予約ページへと案内する便利ツールです。


Libron - 無料で本が読めるライフハック


Libronで検索した結果、本が図書館にないというときにLibreqあてにつぶやくリンクが表示されます。



クリックするとTwitterの画面にジャンプし、つぶやく内容が表示されます。四角で囲まれた部分は変更せず、あとは自由に編集してつぶやけばリクエスト完了です。



Libreqはリクエストされた本が図書館で借りられるようになったかを定期的にチェックしています。


もし借りられるようになったら、以下のように、リクエストした本人のTwitterアカウントあてにリプライを送ってお知らせします。



どうして作ったか?


Libron 1.xのコードをもとにカーリルAPI対応やChrome Extension対応を実装して、アイデアを動くコードで示してくださった@kojimiyaさんのLibronに対する提案がきっかけです。


カーリルAPIコンテストの当初の期限が一週間ほど遅れ、これはLibron以外にも作れということかとつぶやいたら、カーリルの中の人から「その通り」と言われるしで、作ることにしました。


とはいえ、作り始めてすぐに壁にぶつかりました。Libreqは読みたいと思った本が図書館にないときに利用者がTwitterでリクエストするわけですが、別に図書館と協力しているサービスではないですから、なんとなくリクエストが図書館の人に届けばいいなあ、くらいの感覚で。。でもそんなあいまいな目的でユーザーはわざわざリクエストのつぶやきしてくれるだろうか、と思ったのです。また図書館側の人の立場に立ってリクエストがどんな風に表示されたら汲み取りやすいのかなあ、と考えても、僕は図書館のユーザーに過ぎず、中の人ではないからうまく想像できないのです。(この点に関して、図書館の運営に関わっている方で、「こうしたらもっといい」などいろいろと提案していただける方がいましたら大歓迎ですので連絡ください)


そんなとき、rails に関するエントリーでちょくちょくブログを読ませてもらっている@satokoさんのつぶやきで、「読み終わった本を図書館に寄付したら喜ばれた」という話を読んで「これだ!」と思いました。


» Twitter / satoko: そういえば昨日、読み終わった1984 book3を図 ...


リクエストする側は一般ユーザー、それに応えるのが図書館の人、と考えていたので、応える側の立場が想像できなくて悶々としていたのですが、応える側に同じく一般ユーザーも加えたら、つまり自分も応える側に含まれるんだ、と思えるようになったら一気に楽になりました。


まだそのあたりは現状の実装には反映されていないかもしれませんが、頭の中に「こうしたらもっといい」といった改善案がどんどん湧いてくるようになったので、ご期待ください。


Libreqを通して、読みたい本が図書館にない利用者、利用者がどんな本を読みたいかを知りたい図書館、さらに本を図書館に寄付してもいいと思っている利用者を結びつけることを目指したいと思っています。


LibreqはHerokuで動かしています


ここからは技術的な話。


LibreqはRuby on RailsのPaaSと言えるHerokuで動いています。


運営しているサービスの開発などを手伝ってくれているid:kililiくんの


» Herokuがすごい - Wing my life


を読んだのがきっかけ。


チュートリアル通りやって最初のテストアプリが動いたとき感動しました。Railsを使えば10分でブログが作れるかもしれないが、Herokuを使えば10分で作れて、なおかつ世界中に公開できてしまう。「作れる」から「公開」がRailsだと意外に大変なのですが、それがあっさり出来てしまうのです。


パフォーマンスを心配していたのですが、意外と良好。体感的にはSlicehostやLinodeのVPSで運営している他のサービスとあまり大差ないかもしかしたらHerokuの方が速く感じます。実際に計測してみないとわからないところではありますが、Slicehostよりも速いといったブログのエントリーもみつけました。


Heroku Overview and Performance comparisons | Simply Excited – Technology, Outdoor and Design


ある程度の規模までは無料プランでいけそうな気がしています。しかもひとつだけでなく複数のアプリを作成できてしまって、これじゃあ儲からないんじゃないかと心配です。


Libreqでは定期的にlibreqあてのつぶやきを取り込んだり、あるいはリクエストされた本が図書館にあるかどうかをチェックする必要があるのですが、Herokuはcronもサポートしているので問題ありません。cron.rakeをlib/tasks以下に用意し、その中に実行したい処理を書くだけという簡単さ。ただ無料プランだと一日一回しか実行できないので、月々3ドルの、Hourlyつまり一時間に一回実行するプランにアップグレードしておきました。


Libreqでは、Twitter APIを使うのにtwitter gem、Amazon APIにはamazon-ecs gem、またカーリルAPIにアクセスして取得したxmlをパースするのにNokogiriといったgemを使っています。そうしたgemをHerokuで使えるようにするのも超簡単です。.gemsというファイルに



witter --version '= 0.9.5'

amazon-ecs --version '= 0.5.7'

nokogiri --version '= 1.2.3'


と書いておいて、git pushするだけ。Heroku上で勝手にインストールされます。


他にも無料プランの中で使えるAdd-onが充実していて、バックアップだったりエラーメール送信だったり、運用に入ろうとすると必要になり自分で用意しようとすると結構面倒なところが、ポチポチ「Add-on追加」のボタン押していくだけで済んでしまうのが楽しいです。


Ruby on Railsで自分のサービスを作りたいと思っている人はHerokuを使ってどんどん世に出したらいいと思いました。そしてサービスがはやってきたら、有料プランに切り替えHerokuを支えましょう :-)


pgcafe nite 2nd まとめ

pgcafe nite 2nd 終わりました。リアルでもネット上でも大変盛り上がり楽しかったー。


» pgcafe nite 2nd のまとめ - Tommy Heartbeat 2nd


» USTREAM 録画


» Togetter - まとめ「pgcafe nite 2nd」


総括的なまとめは司会進行、イベントの準備とスーパーマン的に活躍した Tommy さんの上記まとめを参照してください。


微力ながら、LT の進行をスムーズにする、および盛り上げるためのツールを用意するのと、LT をしてくれる方へのアプローチ・連絡、そして当日の運営のお手伝いをさせてもらったので、それらのことおよび感想などを書きたいと思います。


LT大会のための便利ツール


今回、IDCフロンティア様の非常に立派な会場を使わせていただくことになりました。


事前に運営側数人で下見に行って、スクリーンを複数使わせてもらえると知ったので、サブスクリーンに表示して LT をスムーズに進行するためのツールを用意しました。


LTのタイマーには、シンプルながらみやすくカウントダウンしてくれる http://lightningtimer.net/ を使いました。10分だったら http://lightningtimer.net/#600 というようにカウントダウンする秒数(#600)を付けてアクセスし、Start をクリックするだけです。


また、Twitter のハッシュタグ(#pgcafe)付きのつぶやきをリアルタイムに表示するために、Tweet Bubbles を使いました。Tommy さんのまとめ記事に書かれているように、イベントを盛り上げるのに一役買ったと思います。すばらしいツールです。開発者に感謝。


他にも iPhone アプリでそのままずばり、プレゼンタイマーというプレゼンの残り時間を知らせてくれるアプリも用意していましたが、http://lightningtimer.net/と Tommy さんの容赦ない、もとい絶妙な進行だけで十分だったようです。


LT の人選


LT をおこなってくれる人の人選は手分けしておこないました。


立派な会場を使わせてもらえる手前、たくさんの人を呼べるような人でないと、とか、例えばテーマは「インフラ」に絞ろうかとか最初いろいろな案があったのですが、結局運営側の役得として自分がその人の話を聞きたいと思う人をそれぞれ独断で決めてしまって、呼んでしまおうということになりました。


結果的に、運営側が楽しんでやれば、イベントをいいものにしようと一生懸命になります。それが、今回盛り上がった一因となったんじゃないかと思っています。


飛び入り LT も、もちろん参加していただいた方に喜んでもらいたいというのはあったと思いますが、なにより、僕らがいつも参加しているメンバーでない人の話を聞きたかったのでプログラムの中に入れました。


なんで pgcafe nite に参加するのか?


いつも三鷹でおこなわれるプログラマーズカフェだと遠くて、あるいは時間が木曜 15:00 - 18:00 で普通に勤めている人だと参加できない時間帯だから、ということでメンバーがある程度固定化されてしまう。


もっといろんな人に会いたい、ということが pgcafe nite に参加する大きな理由だと思います。


Tommy さんのまとめエントリーで改善したい点として、



女子率。いつもながら IT 系イベントは女子率が低いなぁ~。 IT 女子のためのイベントを企画すべきか?


と書いていますが、Rails を開発した DHH も


» So how do we get more women into Rails?


の中で、Let's treat the low number of women in the community as a bug (コミュニティ内に女性が少ないことをバグと受け止めよう) と書いています。


また、日本人だけでなく外国人だってコミュニティの中にいたっていいと思うのです。


そうした多様性がないとコミュニティは健全ではないんじゃないか。。と、あ、ちょっと僕の思いが強すぎて暴走気味に書いてしまったかもしれませんが、まあ、要はいろんな人が集まってくるコミュニティになったら楽しいから pgcafe nite の運営を手伝い、参加するのです。


そんなプログラマーズカフェに興味を持ったなら、毎週木曜日 15時〜18時に三鷹に来て覗いてみて下さい。


» 三鷹プログラマーズカフェ | Google グループ


Twitter で @pgcafe をフォローしておけば告知を受け取ることができます。


また、Tommy さんの pgcafe podcast も個人的にとても好きだし、プログラマーズカフェの話題や雰囲気を良く伝えていて、もっとみんなに聞いて欲しいので宣伝しておきます。


» pgcafe podcast (http://bit.ly/pgcafepod)


回を重ねるごとにうまくなってる。とても真似できない才能です。


PhoneGap で開発した iPhone アプリ AppTweets をリリースしました

Twitter のつぶやきで面白そうな iPhone アプリを発見することが多くなってきたので、そうした iPhone アプリに関するつぶやきをまとめて見ることができる AppTweets という iPhone アプリをリリースしました。


» AppTweets


» AppTweets を iTunes で見るicon


AppTweets

単にそういうアプリを開発したかったというのもありますが、実はこのアプリは Objective C を一行も書かず、HTML + CSS + Javascript だけで開発できる PhoneGap という開発環境で開発しており、そうしたアプリが Apple の申請を通るのかどうかを実際に試したかったという裏の目的(実はこれが本命という話もありますが。。)がありました。


折も折、先日iPhone SDKの規約が



「アプリケーションはObjective-C、C、C++、またはiPhone OS WebKitエンジンによって実行されるJavaScriptで書かなければならない。C、C++、Objective-Cで書かれたコードのみコンパイルして公開APIに直接リンクできる(変換・互換のためのレイヤーやツールを使って公開APIにリンクするアプリは禁止する)」


» せかにゅ:Apple、iPhone SDKの規約変更 Flash締め出しか - ITmedia News


のように変更され、物議を醸しました。Flash アプリを iPhone アプリに変換できる Creative Suite 5 をはじめ、Javascript + HTML + CSS だけで開発できる PhoneGapTitanium といった変換ツールで開発された iPhone アプリは審査を通らないのではないか、と。


結論をすでに書いていますが、PhoneGap については今のところは大丈夫なようです。


PhoneGap 開発元 Nitobi のブログ


» Jesse @ Nitobi » Blog Archive » PhoneGApp Store Approval


でも April 13, 2010 のアップデートで、今回の規約変更は PhoneGap には ZERO impact と書いています。


僕のような Web プログラマにとっては、日頃使い慣れている HTML + CSS + Javascript で iPhone アプリを開発できる PhoneGap は非常に魅力的です。AppTweets を触ってもらうと、詳しい人でないと気づかないと思いますが、実はトップ画面だけがネイティブのアプリになっていて、以降表示される部分は Web アプリなのです。開発自体は正味3日間くらいしかかかっていないくらい迅速に開発できますし、バグがあっても審査を通すことなくすぐに修正することができます。


では、これからも PhoneGap を使い続けていくのか?


僕はリスクが大きすぎると考えたのでやめようと思っています。


実は AppTweets は3月始めに審査に出しています。その後、3度 Reject された末に先週ようやく AppStore に並びました。結局 Reject の理由は他の部分にあったのですが、Reject される度に「PhoneGap を使っているからかな?」という不安が頭をもたげてくるのは精神衛生上悪いです。


また、Reject された際に、2度 US Apple の担当者と電話で直接話したのですが(なんとわざわざ自宅に電話がかかってきました)、懇切丁寧に Reject の理由を説明してくれて、どのようにアプリケーションを修正すればよいかといったアドバイス、そしてアプリケーションの機能提案までしてくれるのです。Apple の Review Team はかなり細かく品質維持に気を使っており、AppStore に並ぶアプリケーションの品質をある一定レベル以上に維持しようという強い意志を感じました。


先に紹介した ITmedia News の記事内に、



ジョブズ氏はこの件についての問い合わせについて、品質維持のための措置と答えている。同氏はクロスプラットフォームアプリを開発するための中間レイヤーが「水準以下のアプリを生み出し、iPhoneプラットフォームの進歩を妨げる」ためと説明している。


とありますが、確かに PhoneGap で開発したアプリケーションは、そう見えないように努力はしていますが、細かなところで、やはりネイティブアプリケーションと比べて操作性が劣る部分がみられます。


「水準以下のアプリを生み出し、iPhoneプラットフォームの進歩を妨げる」かもしれない、というのはうなずけます。


開発環境にまで口を出してくる Apple はけしからん、開発者の自由にさせろ!!という方もいるようですが、


» [jp] Appleをめぐる永遠のすれ違い論議


を読めば、そういった考えがいかに意味がないかがわかると思います。



そこで、TechCrunchなどが最近のApple批判記事で取り上げるAppleの“悪業”はすべて、フールプルーフな消費者製品を作らなければならない企業にとっては、当然の行為なのだ。たとえば、ブラウザやシステムを頻繁にクラッシュさせるFlashはおことわり、というJobsの態度は至極当たり前だし、弊社がちゃんと検査して検査に合格したアプリケーションでなければユーザに使わせない、という姿勢も非常に納得できる。


開発者に自由にアプリを作らせてしまったら、iPad/iPhone を誰でも使うことができる「家電製品」として維持できないのです。


iPhone アプリを開発するときは、Apple の製品を作っているという意識に立てば、おのずと選択肢は限られます。


開発言語は Objective C しかない。これが、いろいろと悪戦苦闘した末にたどりついた僕の見解です。


Libron のホームページも 2.0 に

Libron 2.0 のリリースにあわせ、ホームページも更新しました。


» Libron - 無料で本が読めるライフハック


ダウンロードボタンがかっこよくて気に入ってます。


Libron - 無料で本が読めるライフハック
Uploaded with plasq's Skitch!

前田製作所さん、いつもどうもありがとう!


参考: Libron のホームページをリニューアルしました : 僕は発展途上技術者


Railsで作ったひとりサービスをリリースするまでやっておくこと20個

以前書いた


» つくるぶガイドブログ: ひとりサービスをリリースするまでやっておくこと10個



つくるぶガイドブログ: ひとりサービスをリリースするまでやっておくこと10個 : 僕は発展途上技術者


を読んでいて、更新したくなった。


以下は更新部分しか重点的に書かないので、詳細知りたければ上記エントリーとあわせて読んでほしい。



  1. アプリケーションエラーをメールで通知する。以前は Exception Notifier プラグインを使っていたが、今は Hoptoad が断然おススメ。

  2. エラーページをカスタマイズする

  3. Javascript を無効にしているユーザー向け対策をおこなう

  4. フッターのコピーライト表示を常に最新にしておく

  5. slow query ログを送るようにしておく

  6. DBのバックアップを定期的におこなう仕組みを作っておく

  7. サイトのアクセス解析をおこなう。PCならGoogle Analytics、携帯なら うごく人2 で決まり

  8. Google Adsense のタグをはっておく

  9. セッションファイルを定期的に削除する仕組みをつくっておく

  10. サイトの死活監視をおこなう。以前は montastic を使っていましたが、いまは Twitter の DM などで知らせてくれる pingdom がいいです。

  11. ntp で時刻をあわせておく

  12. trackfeed を使い、サイトにリンクされたブログをチェックできるようにしておく

  13. コンタクトフォームを用意しておく

  14. AddClips のタグをはっておいて、ユーザーが簡単にブックマークできるようにしておく

  15. head タグ内 keywords と description を忘れず書いておく

  16. JSの難読化と圧縮。AJAXの戻りの圧縮

  17. .htaccess にアクセスできないようにする http://q.hatena.ne.jp/1166068589 Rails アプリケーションを動かすなら、今は Passenger が主流なので、.htaccess はいりませんね。もし public 以下に残っていたら削除しておく。

  18. (Rails限定)Mongrel で運用している場合、/public/displatch.(rb|cgi|fcgi) は不要なので削除しておく これも不要ですね。最近のバージョンの Rails ではそもそも始めからこれらのファイルはありません。

  19. [追加] ログのローテートをきちんと設定しておく。(参考: Rails で運用しているサービスのログをローテートする方法 : 僕は発展途上技術者

  20. [追加] ドメインが some_rails_app.com として、www.some_rails_app.com と、www. 付きでもアクセスできるように設定する。これ結構忘れがちです。[さらに追記]単にアクセスできるようにしてしまうとトラフィックが二つのURLに分散していろいろと不都合(ブックマーク数が分散とか)なので、www. 付きURLへのアクセスを www. なしへリダイレクトしたほうがいいでしょう。

    Apache 設定例

    nginx 設定例



Yahoo!検索、Yahoo!カテゴリのWebAPIドメイン変更

かなり古い情報なのですが、


» Yahoo!検索、Yahoo!カテゴリのWebAPIドメイン変更のお知らせ - Yahoo!検索 スタッフブログ


でYahoo!検索やYahoo!カテゴリのWebAPIドメインが、api.search.yahoo.co.jp から search.yahooapis.jp に変更になるというお知らせがありました。


この情報にまったく気づかず、自分のサービス(あとで行く)でapi.search.yahoo.co.jp を使い続けていましたが、昨日から新しい search.yahooapis.jp しか使えなくなったみたいです。


急に自分のところのサービスが使えなくなって、同じようにあせっている人とかいるかもしれないので、情報としてエントリーしておきます。



今後数ヶ月はyahoo.co.jpドメインでもWebAPIにアクセスできますが、移行期間終了後にはyahoo.co.jpドメインでのアクセスはできなくなります。


と冒頭リンク先に書いてありましたが、結局1年半も使えていて、こんなんだったら、ばっさりすぐ利用できなくしてくれたほうがいいのに。。。とはちょっと思いましたけれど、まあ悪いのは自分ですね。反省。


それにしても、自分のサービスは自分で日々使うようにしないと駄目ですね。あとで行くは自分で使い続けているので気づきましたが、開発者自身が使わなくなってしまった個人サービスはこういうタイミングでいつのまにか利用できなくなってしまって終了してしまう気がします。


Rails で運用しているサービスのログをローテートする方法

運営している某サービスが落ちていてあせったのだが、なんのことはない、約3年間そのままだった Rails の production.log が超巨大ファイルになっていたのが原因でした。


Log Rotation for Phusion Passenger | overstimulate


で紹介されている通りに設定し、ログを毎日ローテートするようにしました。


以下の内容で、/etc/logrotate.d/passenger というファイルを作成、


/home/deploy/app/shared/log/*.log {

daily

missingok

rotate 30

compress

delaycompress

sharedscripts

postrotate

touch /home/deploy/app/current/tmp/restart.txt

endscript

}


ちゃんとローテートするかどうかは、


% sudo logrotate -f /etc/logrotate.d/passenger


で確認できます。


設定ファイルの各パラメーターは、最初に紹介したリンク先で詳しく解説されているのでそちらを参照してください。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

オンラインコンテンツ: 大人のためのScratch

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ