Tags » ‘サービス’

記事の末尾に「いい」「だめ」ボタンをつけました。

3月 1st, 2011 by

世間ではFacebookなどの「いいね」ボタンがすごく注目されていますが、敢えて、「いい」「だめ」ぼたんを自分で実装してみました。

何ができるの?

個別記事に以下のソースを埋めてると「いい」「だめ」ボタンが表示されます。いいの数のランキングも見れます。
※site=の後ろのxxxxを自分を識別するコードに書き換えてください。英数で適当に・・

1
2
<script>window.onload = function(){ document.getElementById("like_dislike").src="http://like-or-dislike.appspot.com/?site=xxxx&title="+encodeURI(document.title)}</script>
<iframe id="like_dislike" style="border:none;background-color:#fff;width:180px;height:30px"></iframe>

このブログランキングは以下のアドレスで確認できます。
http://like-or-dislike.appspot.com/?site=001

何でつくったの?

なんでつくったんだろうね。理由あげるとすると、こんなところかな。

  • いいね、だけじゃなくて、だめボタンをつけたかったから。
  • 単に実装してみたかった
  • サイト内のランキングを表示したかった
  • 外部サービスに依存したくなかった
  • 改良予定

    OAuthでログインして、自分専用のコードを発行できるようにする予定です。

    ソースコード

    おやくそくのソースコードです。まだバージョン管理してません。明日、Githubに登録するよていです。

    URL短縮君が攻撃された

    2月 15th, 2011 by

    URL短縮君のAPIを公開したところ、早速9000回を超える攻撃リクエストを受けました。 匿名で利用できるVPNサービスを使ってのアクセスだったようですが、司法機関が動くと普通に身元割れてしまうのでご.... Read more


    CSV2Tableパワーアップ

    2月 5th, 2011 by

    今日は、CSV2Tableをパワーアップの改良作業を行いました。追加した機能は以下の通りです。 ラベル位置選択 1行目、1列目、1行目+1列目、ラベルなし、の4通りから選択できるようになりました。 .... Read more


    CSV2Table

    2月 3rd, 2011 by

    CSV(TSV)から、HTMLテーブルに変換するサービスを作りました。デザイン調整などまだできていないので、かっこ悪いのですが、動作自体は安定していると思います。お約束のソースコードは記事の末尾に添付してます。

    サービスの使い方

    一番上のテキストエリアに、CSV(カンマ区切りデータ)もしくは、TSV(タブ区切りデータ)を入力して変換ボタンをクリックしてください。HTMLテーブルのプレビューと、そのソースコードが表示されます。CSVなのか、TSVなのかは、自動判別されます。

    スクリーンショット

    以下の画像をクリックすると、サービスのURLにジャンプします。

    csv2table

    csv2table

    ソースコード

    URL短縮サービス作りました

    1月 29th, 2011 by

    以前作成していたURL短縮サービスを、大幅改造しました。改良したのは以下の3点です。

    • 独自ドメインの設定
      ドメインが[APPLICATION_NAME].appspot.comでは短縮後のURLが長すぎるので、独自ドメインを設定しました。
    • 例外処理の追加
      正しいURLが入力されていない場合にサーバの投げる例外ではなく、適切なメッセージを表示するようにしました。
    • デザインの適用
      簡単なデザインをつけました。前回と比べればはるかに使いやすくなったはずです。

    スクリーンショット

    こんな感じになりました。スクリーンショットをクリックすると、サービスのURLに移動します。

    GAE/Pythonで作るメリット

    GAEで運用すれば、サーバのメンテナンスをしなくて良い。個人で提供するサービスで、正直、サーバの面倒までみている暇はありません。またPythonを使うと、メンテナンス性の高い短いソースコードでサービスを開発できます。大規模プロジェクトであれば、きっちり設計して、Javaなどのコンパイル言語をつかったほうが高速で安定したサービスを開発できるとは思いますが、個人でサービスを作成するなら、開発効率の高いPythonが楽だとおもいます。

    ソースコード

    いつものお約束。ソースコード全文公開です。今回は、メインのpyファイルのほかに、yamlファイルとCSSファイルも掲載します。メインのプログラムは、デザイン部分やらGoogleAnalyticsのロギングコードまで含めて90行を切っています。短いです。

    HTML Encode/Decode

    12月 15th, 2010 by

    HTMLをエンコード/デコードサービスを公開しました。 HTML Encoder/Decoder 非常にシンプルなサービスですが、pythonで作成した初の実用アプリです。アプリIDの取得から、コーデ.... Read more


    • Python

    • 人気記事

        このエントリーは、Python入門者と、Python入門予備軍の方を対象としています。 どうしてPythonやるの? Pythonって覚えやすい言語なんです。といっても、それなりに使いこなせるようにな.... Read more

        リスト内包表記とは、あるリストを元にして別のリストを作るための記法のことです。ループ、Map、Filterなどを使っても同じ操作をできますが、リスト内包表記には以下の利点があります。 コードがシンプ.... Read more

        Pythonには固有の文字列フォーマット(モジュロ)操作が用意されている。文字列中の%?であらわされる部分が、文字列の後ろに与えられた変数で置換される。 単一値の置換 単一の変数を置換する場合は、文字.... Read more

        Pythonの世界は、整数などの単純な値も含め、すべての値はobjectクラスを継承したクラスのインスタンスでできています。 ::CODECOLORER_BLOCK_46:: classを定義する も.... Read more

        だまって↓インストールすれば、Facebookのコメントプラグインがすべての投稿とページにつくよ。動かなかったらごめん。 wp-facebook-comment .... Read more

        リスト(List)とはPythonの組み込み型の1つで、シーケンス(sequence)の一種です。他の言語におけるインデックス配列に似ていますが、かなり柔軟な操作ができます。このページではリストをつか.... Read more

        Pythonでは、print文を使わないと日本語を正しく出力されない。print文を使うと、あらかじめ設定されているエンコードにしたがって適切に出力される。 ::CODECOLORER_BLOCK_7.... Read more

        プログラム内でループを使うのは以下の3パターン。C言語などになれていると1番や2番を使いたくなるかもしれないが、Pythonでは3番が適してるケースが多い。 N回ループ一番基本的なタイプ 条件を満た.... Read more

        みなさん、Google App Engineって聞いたことありますか? あっ、それしってる。Google Docsとかでしょ?って思った方。惜しいけど違います。 Google App Engineとは.... Read more

        DataStoreとは 本記事内のDataStoreは、GoogleAppEngineのデータストアのことを指す。GoogleAppEngineは、ファイルの書き込みが一切できないため、DataSto.... Read more

        GAE/Pythonで、一体いつになったらPython3系が使えるようになるのか。興味深いページがあったのでざっくり翻訳してみました。 http://code.google.com/p/googlea.... Read more

        Pythonの文法構造には、単行のコメントアウトしかありません。 複数行のコメントアウトが必要な場合は、コメントを文字列にします。 単行コメントアウト #以降がコメントとして扱われます。 ::CODE.... Read more

        GoogleAppEngineでは、世界標準時で時刻を管理する。でも、そのまま表示すると分かりにくい。このページでは世界標準時を日本時間に変換したり、日本時間を世界標準時に変換する方法を紹介する。 現.... Read more

        昨夜、OAuthでの認証がうまくいったので、今日はTwitterのTLの取得と発言を実装してみた。 お試し環境 → http://nisetwitter.appspot.com/で公開している。 エラ.... Read more

        この10日間ほど、地震のニュースばかり追いかける日々をすごしていないでしょうか?大勢の方が被災され、原発関連の二次災害も発生する中で落ち着きづらいというのも事実なのですが、心配しすぎてもしかたない。そ.... Read more

        なんと、int型が64bitまで使えるんです。当たり前だけどうれしいです。 ::CODECOLORER_BLOCK_102:: windowsだと64bitCPU使っていてもこんな感じになります。In.... Read more

        Pythonの条件分岐は、if, else, elifの3つの構成要素から成ります。条件成立時、非成立時の実行範囲は、インデント(indent)であらわします。条件部 If elseから成る条件分岐 .... Read more

        Pythonには基本的な型として、数値、bool、文字列があります。type() を使うと変数の型を確認できます。 数値 数値を表す型には、整数型 、 長整数型 、浮動小数点型 、複素数型の4つがあり.... Read more

        タプルとは、シーケンス型のオブジェクトです。同じくシーケンス型のオブジェクトとの違いは、不変であるということです。リストは生成後に要素を追加したり削除したりできますが、タプルは生成後に内容を修正できま.... Read more

        GAE/Pythonで最初に戸惑うのはRequestHandlerだと思います。新規アプリケーション作成時に自動生成されるので必要に応じて書き換えることができれば問題ありません。 RequestHan.... Read more

        文字列は文字の列(シーケンス)のこと。文字列リテラルの表記方法は、以下の4つがある。 シングルクオーテーション1個‘string comes here’ ダブルクオーテーショ.... Read more

        モジュールとはPythonの定義や文が入ったファイルです。 標準モジュールや第3者によって公開されているモジュールを組み合わせることで、容易に高度な処理を実現できます。また、自作のモジュールを作ること.... Read more

        GoogleAppEngineでPythonを使う場合は、特別な理由がない限り、バージョン2.5を使いましょう。2.5以外の環境で開発すると、開発環境では動作していたアプリケーションが、GAEでは動作.... Read more

        ディクショナリ(dict)とは、他の言語でいうところの連想配列やハッシュと同じ機能を提供する。最近流行しているKey-Value型のデータストアもディクショナリの一種であるといえる。 辞書の作成 中.... Read more

    • タグ

    • Archives

    • Recent Comments

      • ブログロール


      Get Adobe Flash player