どうのこうの

名古屋/元フリーランス/スタートアップ勤務/ウェブ/マークアップ/プログラマ/エンジニア

Category: 開発 (page 1 of 2)

環境変数表示API「ENV Man」を公開しました

ブラウザのリクエスト送信情報やサーバーの環境変数を表示する「ENV Man」を開発し、MITライセンスで公開しました。

確認くんとの違い

同じようなウェブサービスとして 確認くん があります。

確認くんはとても便利で、普通に使うぶんには特に不便はないのですが、例えば Ruby のプログラムからのリクエストがどういう風に送られているかを知りたいときに API でアクセスして情報取得できたら便利かなと思って、「API 機能付きの確認くん」的なこのプロダクトを作りました。

「ブラウザからアクセスして情報を確認する」といった確認くんと同じような使い方ももちろん可能ですが、 JSON と XML (とその他)の形式での出力に対応していますので、JSON 形式で取得して必要な値だけ利用する、みたいな使い方をすると便利かなと思っています。

たとえば、下記のようなコードでアクセス元のユーザーエージェントが取得できます。

Ruby がレスポンスです。ユーザーエージェントが Ruby であることがわかります。

これだけだと別に便利でもなんでもないんだけど、「ユーザーエージェント名に任意の文字列を指定したけど、ちゃんと想定通り設定されているか確認したい」「プロキシを通したけど、ちゃんとプロキシを経由しているか IP アドレスを確認したい」みたいな場合に、プログラム側で動作確認までできると便利かな思っています。

っというか、私自身がそのような API が欲しかったので、自分で作りました。
(一応、探してみた限りではそういったサービスはなさそうでしたが、すでにあったら悲しい…。)

 

記事が少々長くなってきたので、以下に ENV Man の特長をまとめます。

ENV Man の特長

API として使える

すでに書いた通りですが、 API として利用できます。出力形式は JSONXML の他にプレーンテキストプレーンな HTML に対応しています。JSON や XML はプログラムから利用する場合に便利に、プレーンテキストとプレーンな HTML はファイルとしてローカルストレージに保存して、あとで見る場合に便利かなと思っています。

レスポンシブデザイン対応

レスポンシブデザインに対応していますので、スマホからも見やすいです。

MIT ライセンス

MIT ライセンスなので、無料で使えて、自由に改変できます。商用利用も OK です。(商用で利用したい人なんて多分いないでしょうけど。) fork して独自の改造を加えたり、自分で用意したサーバーに設置したり(ENV Man は Ruby + Sinatra で開発していますので、 Sinatra が動作するサーバーの準備が必要です。)、後述の「Deploy to Heroku」ボタンから必要なときだけ Heroku で動かすのもいいかなと思います。( http://env.dounokouno.com を API として使ってもらってももちろん OK です。)

Deploy to Heroku に対応

上に書いた通りですが、「Deploy to Heroku」ボタンから簡単に Heroku で動かすことが可能です。

「Deploy to Heroku」ボタン を押したあとに Heroku に設定する項目はアプリケーションの名前だけです。(アプリケーション名は任意なので、それすら設定しなくても OK 。)

 

Github のリポジトリページ の「Deploy to Heroku」ボタンをクリックすると Heroku のページが表示されるので、

 

「App Name」を入れて(任意なので入れなくても OK 。入れないと適当な英数字が設定される。)、「Deploy for Free」ボタンを押すと「ENV Man」のインストールが始まり、数秒後(十数秒後かも)には Heroku 上に自分だけの「ENV Man」ができあがります。

まとめ

ブラウザのリクエスト送信情報やサーバーの環境変数を表示する「ENV Man」を作って公開した話でした。

不具合など発見されましたら dounokouno[at]gmail.com までご連絡ください。

また、良いカスタマイズができましたら、Pull Request をお送りいただければ幸いです。

Env Man について

2015年6月7日 追記

MOONGIFT 様でご紹介いただきました!

ENVマン·Webブラウザで素早く環境変数を確認しよう MOONGIFT

参考書籍

APIデザインの極意 Java/NetBeansアーキテクト探究ノート
APIデザインの極意 Java/NetBeansアーキテクト探究ノート

Codaのプラグイン開発のために知っておくべきこと

Coda 2.5が公開されましたねー。
(2014年10月16日に公開)

Panic Blog » Coda 2.5をご紹介します
http://www.panic.com/blog/ja/introducing-coda-2-5-j/

 

Sublime Textが人気な昨今ですが私個人はCoda派なので、引き続きCodaを使い続けますし、引き続きCodaを応援しています!

さて、ちょっと作りたいものがあって、Codaプラグインの作り方を調べたのでメモ。

オフィシャルドキュメントは下記ページを参照。

Coda プラグインを作成する
http://panic.com/jp/coda/plugins-dev.html

日本語のドキュメントがなくなってた…。
わかりやすいドキュメントだっただけに残念…。

英語のドキュメント(ってほどでもないけど…)は下記。

panicinc/CodaPluginKit
https://github.com/panicinc/CodaPluginKit

Codaプラグインを作る前に

自分が作りたいプラグインがすでに誰かによって作られていないか調べておくことで、「プラグイン作ってみたけどすでにあるじゃん!」ってならなくて済みます。

とりあえず、オフィシャルサイトのプラグイン一覧と、Githubで「coda plugin」で検索しておけばいいのかなぁと思っています。

Coda Plug-ins
http://panic.com/coda/plugins.php#Picks

Search · coda plugin
https://github.com/search?q=coda+plugin&type=Repositories&ref=searchresults

→ Githubのほうは結構数が多いので、全部に目を通すのは大変かも。

Codaプラグインの作り方の種類

Codaプラグインの作り方は下記の二種類。

  • 「CocoaプラグインAPI」を使用する
  • 「Coda Plug-in Creator」を使用する

CocoaプラグインAPI」のほうが複雑なことができて動作が速いけど、CocoaってことはXcodeでObjective-C(今はSwift?よくわかってない…。)を書かないといけないので、敷居が高い。(現時点では私はObjective-Cをほとんど書いたことがない。)

Coda Plug-in Creator」は「Coda Plug-in Creator.app」っていうMacアプリを起動して、「入出力時に何をするか」「何を入力として受け取って、どのように出力するか」「ショートカットに何を設定するか」をGUIで作ることができて、実際の処理は好きなプログラム言語で書くことができる。

Codaプラグインの環境変数を表示するプラグインを書いてみる

Codaプラグインの環境変数を文書中に出力するプラグインをいくつかのプログラム言語で書いてみました。

環境変数は下記の通り。

CODA_BUNDLE_PATH
プラグインバンドルへのパス
CODA_BUNDLE_SUPPORT
プラグインバンドルに含まれるサポートディレクトリへのパス(サポートファイルを使用した場合)
CODA_FILEPATH
編集された書類のファイル名を含むフルパス。未保存の書類の場合は空
CODA_LINE_ENDING
ソース書類の末端で使用されている文字(CR、LF、CR+LF等)
CODA_LINE_INDEX
選択されている行のキャラクタインデックス
CODA_LINE_NUMBER
現在の行番号
CODA_SELECTED_TEXT
選択されているテキスト部分
CODA_SITE_LOCAL_PATH
書類が含まれているサイトへのフルローカルパス。サイト設定を利用していない場合、またはサイト設定のローカルパスが未設定の場合は空
HOME
現在のユーザのホームディレクトリへのパス

 

プログラムと実行結果は下記。

shell

プログラム

実行結果

PHP

実行結果

Ruby

実行結果

 

コードはGithubに置いておくので、どなたかの参考になれば幸いです。

https://github.com/dounokouno/Print-Env.codaplugin

Codaプラグインの削除方法

Coda 2.5からはCodaの環境設定から削除できるようになってた。
ありがたい。

戦国IXAの個人的なGreasemonkeyのUserScriptに機能追加しました

mixi版戦国IXAワールド3+4で、
新章が始まりましたね!!

以前作った戦国IXAのGreasemonkeyのUserScriptは、
無事、新章(第五章)で動作しました。

ついでにいくつか機能追加をしましたので、
v0.2を公開します。

戦国IXAの個人的なGreasemonkeyのUserScript

 

v0.2で追加した機能は下記の通りです。

  • 『「兵士一覧」の下に「合計兵士数」を追加』する機能を追加
  • 『「出陣確認」画面に合流用情報コピー欄を追加』する機能を追加
  • 「1ずつ編成」を削除(兵編成の画面が変わり、1ずつ編成することが簡単になったため)
  • 『「待機武将一覧」の武将ステータスに「次のレベルの経験値」(次LvEXP)を表示』機能を利用している場合に、合成画面のレイアウトが崩れる不具合を修正

 

そんなわけで、mixi版戦国IXAワールド3+4の織田家で待ってます!
一緒に天下統一を目指しましょう!!

jQuery.Zip2AddrByClickを公開します

郵便番号の入力補完はkotarok様のjQuery.zip2addrが個人的に大好きで、
よく利用させていただいています。

ただ、keyupイベントやchangeイベントで補完される動きがあまり好きではなくて、
「郵便番号から住所を入力」ボタンのボタンクリックで補完されるようにカスタマイズしたブランチを作ったりしていました。

dounokouno/jQuery.zip2addr at with_click
https://github.com/dounokouno/jQuery.zip2addr/tree/with_click

 

自分で作っておいて何ですが、ボタンクリックなら、
ボタン自体にjQueryプラグインを読み込むようにしたほうがスマートかなぁと思い、
ボタンクリックに特化したバージョンを新しく作りました。

主に自分で使うために作りましたが、
どなたかのご参考になれば幸いです。

ダウンロードはこちらからどうぞ。

dounokouno/jQuery.Zip2AddrByClick

動作サンプルは下記からどうぞ。

jQuery.Zip2AddrByClickサンプル

 

メインのロジックはkotarok様のjQuery.zip2addrをそのまま利用させていただいております。
素敵なツールを公開していただいているkotarok様に感謝いたします。

戦国IXAの個人的なGreasemonkeyのUserScriptを公開します

今(っというか結構前から)、mixi版の戦国IXAにハマってまして、
多分、今、一番閲覧している時間が長いサイトはmixiですw

戦国IXAはmixiでしかやったことないですが、
SafariやChromeだと画面遷移時に一瞬だけ表示が真っ白になって目が疲れるので、
戦国IXAのためだけにFirefoxを立ち上げています。

で、ポチポチとクリックして遊んでいるんですが、
いい加減クリックに疲れてきて、
もう少しクリック数を減らせないかなと思って、
GreasemonkeyでUserScriptを書いてみました。

UserScriptは既にsengokuixa-mokoってのがあるらしいけど、
画面が崩れるし、多機能過ぎるし、機能を説明しているサイトが無いし、
バージョン管理されてないからどれが最新版か分からないし、
ってことで自分で書いてみることにしました。

一応、そこそこ動くのものができたので、
公開することにします。

インストールと機能説明は下記URLを参照ください。

戦国IXAの個人的なGreasemonkeyのUserScript — Gist

 

GreasemonkeyのUserScriptは初めて書きましたので、
バグや間違いやもっと効率の良い書き方等ありましたら、
ご指摘いただければ幸いです。

そんなわけで、mixi版戦国IXAワールド3+4の織田家で待ってます!
一緒に天下統一を目指しましょう!!

部首検索ツールを作りました

個人的に必要にかられて、
部首検索ツールを作りました。

探せば同じようなツールはありそうですが、
正式な名称(「水部」のような名称)と通称(「さんずい」のような名称)を同時に知りたくて、
そういうツールは無さそうだったので、
それならってことで自分で作りました。

 

部首検索 – 漢字から部首を検索
20110402_001

 

名前の通りですが、
漢字から部首を検索できます。

漢字から部首を知りたいとき、ありますよね?
僕はあります。

使い方は文字を入力するだけなので、
よろしければいろいろ検索してみてください。

 

あと、Windowsで動作確認をしていないので、
Windowsユーザーの方で動かなかったなど不具合がありましたら、
コメントいただければ幸いです。

もちろんMacでも不具合等がありましたら、
コメントいただければ幸いです。

 

漢字の分類には「《Unicode/CJK統合漢字》 漢字検索」様の、
「Unihanデータベース抜粋(水平タブ区切りテキスト形式)」を利用させていただいております。

この場を借りてお礼申し上げます。

import.js を書いてみた

import.js を書いてみました。

Mac の Firefox 3.6 と Safari 5 でしか動作確認してません。
上記以外のブラウザで閲覧された方は、
動作しているかコメントもらえるとうれしいです。

ソースとか英語へのツッコミもお待ちしています。

英語は正直自信がありません。
ソースにも自信ないですけども……。

 

書いてみた理由

import.js で検索してみると、
ほとんどが document.write していて、
createElement して appendChild したほうが JavaScript っぽいんじゃないかなと思ったので、
そうやって書いてみました。

ただ Safari で動作確認したときに、
require 関数で読み込んだ JavaScript ファイルが順番通り読み込まれてないように見受けられました。
document.write なら書いた順番に読み込まれるんでしょうか。

未確認です。
詳しい方、ご教授ください。

 

っていうか、
github を使ってみたかっただけなんですけどね。

お正月に振り返ろう「人の一生を時計一周24時間に例えると今何時?」

新年あけましておめでとうございます。

年末年始は振り返りの時期ですよね。
年末には「今年はこんな年だったなぁ。」と考え、
年明けには「今年はこんな年にしたいなぁ。」なんて考えたりしています。

そんな振り返り作業を自動化できないかと思い、
「人の一生を時計一周24時間に例えると今何時か?」を調べるツールを作ってみました。

 

人の一生を時計一周24時間に例えると今何時?
20110103_001

 

元ネタは「人の一生を時計一周24時間に例えたお話」ってやつです。
良い話ですよね。

29歳の僕は現在「午前8時52分」でした。
もっと遅い時間で鬱な気分になるかなと思ったら、
そうでもなかったです。

Twitter / @tagawa: dounokounoさんの一生を時計一周24時間に例 …

 

みなさんも良ければ年末年始の振り返りに、
人の一生を時計一周24時間に例えると今何時?」を使ってみてください。

使ってみたら、
結果をTwitterでつぶやいたり、
このブログにコメントしたりしてくださいね。

Twitter / 検索 – http://etc.dounokouno.com/whattime/

 

そんなわけで、
本年もどうぞよろしくお願いいたします。

回文エディタを作りました

Web制作小物ツールに、
回文っぽい文章が作れるかもしれない回文エディタを追加しました。

Web制作にはあまり関係ありませんが……。

 

回文エディタ
http://webtools.dounokouno.com/kaibun/index.html

20101127_001

 

はてなブックマークニュースの回文の記事を読んでたら、
無性に作りたくなって一気に作ってしまいました。

タイヤキ焼いたを越える秀作が続々?すごい「回文」を集めてみた – はてなブックマークニュース

 

で、実際に作ってみたものの、
これで回文が作れるかというとそうでもないなと。

回文を作るには回文メソッドというか、
回文を作るための手法を使って作るんだなーってことが、
回文エディタを作ってみて気がつきました。

回文の作り方は下記サイトなどが参考になります。

 

日本語変換には Google CGI API for Japanese Input を使っています。
非公式でjsonpが使えるらしく、JavaScriptだけで日本語変換ができて便利ねー。

 

いろいろ突っ込みどころはあるとは思いますが、
よかったら遊んでみてくださいm(_ _)m

jQuery Mobileを使って2chまとめブログの最新記事をまとめて読める「2まログあんてな」を作ってみました

2chまとめブログの最新記事をまとめて読めるアンテナサイト、
略して「2まログあんてな」

を、jQuery Mobileを使って作りました。

 

2まログあんてなβ for iPhone
(iPhoneで見てね。)

2malog-001

 

まだまだ作り途中なのですが、
とりあえず動く状態にはなったので、
公開しちゃいます。

β版ですので、
バグ、不具合などあるかと思います。

その他、ご要望等ございましたら、
コメントやメール、TwitterのDMなどでお知らせいただければ幸いです。

Mail : dounokouno[at]gmail.com
Twitter : http://twitter.com/dounokouno

 

「2まログあんてな」を作るに至る経緯

2chのまとめブログは好きで良く見ているのですが、
たくさんあって全部チェックできないなぁと思っていたんです。

そんな2chのまとめブログをまとめている「オワタあんてな」ってすごく便利で良く見させてもらっているのですが、
iPhoneに最適化された状態で見れたら便利だろうなーってなことを日頃考えていました。

そんな思いで作ってみたのが、
2まログあんてな」です。

 

仕様

2chのまとめブログの記事を、
ブログに関係なく公開日時の新しい順に表示します。

読み込んでいるブログは「オワタあんてな」と同じです。
(勝手に参考にさせていただきました。不都合等ございましたら、ご連絡ください。)

表示は1ページに5件、最大50件(10ページ)です。

データは30分毎に更新します。

 

今後の予定

予定といいますか、
考えていることといいますか、
こういう風にできればいいなと思うこと。

  • 読み込むブログを設定で変更できるようにする(次期バージョンで実装予定)
  • 表示順を「新着順」、「古い順」、「はてブの多い順」から選べるようにする(次期バージョンで実装予定)
  • 「次へ」ボタンでスライドされて表示されるのではなく、一番下の記事の下に動的に表示する(iPhoneアプリのTwitterやYoutubeのように)
  • iPad版を作る

 

その他、
作りながら思ったことや、
難しいなと感じたことや、
面白いなと感じたことなど、
またブログにまとめたいと思います。

それでは、2まログあんてなβ for iPhoneを今後ともよろしくお願いいたします。

Older posts

© 2017 どうのこうの

Theme by Anders NorenUp ↑