タグ

ブックマーク / www.1x1.jp (36)

  • Twilio をはじめるのに知っておくと良いこと6つ(Twilio API勉強会@大阪)

    Twilio 盛り上がってきていますね。電話という身近でありながらシステムとして扱うには複雑な仕組みが必要なものを単純な API で操作できるというのは面白いサービスです。 先日大阪で行われたTwilio API勉強会@大阪にて、PHP から Twilio を触ってみるハンズオンセッションを行ないました。Twilio を使うと簡単な PHP コードで、自分の携帯を鳴らしたり、携帯から電話をかけてみたり、簡単に試すことができるので、これはハンズオンとしてもなかなか楽しかったです。 お声がけいただき、ありがとうございましたm(_ _)m 発表資料はこちら。 ハンズオンの手順は、Gist に書いています。ここでは、Composer を使って、twilio-phpPHP版のTwilioライブラリ)をインストールしています。 https://gist.github.com/shin1x1/7006

    Twilio をはじめるのに知っておくと良いこと6つ(Twilio API勉強会@大阪)
  • Twilio と ChatWork を使って、電話のメッセージをチャットで受け取る

    Shin x blog Advent Calendar 2013 の 18 日目です。 ChatWork API のプレビュートークンを頂いたので、早速使ってみました。 今回作ったのは、電話をかけて音声で伝えたい人と、電話はかけて欲しくない、チャットで要件伝えて下さい、という人を繋ぐものです。 Twilio と ChatWork を使って留守番電話 これは、Twilio と ChatWork を使い、電話がかかってきたら、チャットで着信を知り、録音された音声が聞けるというものです。いわば留守番電話をチャットから聞くという感じですね。 全体の流れは下記の図になります。 ソースコードは GitHub にて公開しています。 shin1x1/twilio-chatwork-voice-message Twilio との連携 まず、かかってきた電話を Twilio で受けます。Twilio では、着

  • 開発現場で Docker をどこで使うか考えてみた

    Shin x blog Advent Calendar 2013 の 16 日目です。 最近話題の Docker 色々と触っています。 触ってみる中で、普段の開発現場でどのような用途に使えそうなのかを考えています。こうだ!という結論が出ているわけではないのですが、一度書き出してみます。 前提 Webシステムの開発現場を想定しています。 言語は普段使っている PHP ですが、内容にはあまり関係無いです。 開発機には Mac OSX を使っています。 検証環境(サンドボックス) まず一番に思いつくのが、検証環境としての利用です。Docker を使えば、OS のみがインストールされている状態のコンテナを手軽に作成できるので、そこでミドルウェアのインストール、設定などを自由に行い、検証が済んだら、破棄します。 OSX 環境では Docker は動かないので、Vagrant + VirtualBox

    yuiseki
    yuiseki 2013/12/17
  • Vagrant を使うなら、VirtualBox 4.2.16 以降で

    VirtualBox 4.2.14 + Vagrant 1.2.2 の組み合わせで、正常に動作しなかった問題が、VirtualBox 4.2.16 で解決されたようです。 VirtualBox 4.2.14 + Vagrant 1.2.2 の組み合わせで、一部の環境にて vagrant up ができないという現象がありました。 $ vagrant up Bringing machine 'default' up with 'virtualbox' provider... [default] Importing base box 'precise32'... There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and std

    yuiseki
    yuiseki 2013/07/22
  • Vagrant で自分の PC に「作って、壊して、元に戻せる」サーバを作る

    Vagrant 便利ですね。Web システム構築ではサーバ構築、設定を何度となく繰り返すので、こういった「作って、壊して、元に戻せる」環境が自分の PC にあるというのはとても重宝します。 ここでは Vagrant1.0 を使って、Mac OS X 上に CentOS サーバを構築します。また触ってみて便利だった機能もいくつかご紹介します。 1. VirtualBox のインストール 2. Vagrant1.0 のインストール 3. box ファイルのインストール 4. Vagrantfile の作成 5. 仮想サーバを起動 6. 仮想サーバを停止 7. 仮想サーバを削除 8. 仮想サーバでhttpdサーバを構築 9. sahara プラグインで、作って、壊して、元に戻せる環境を構築 10. 複数の仮想サーバを起動 11. 仮想サーバのエクスポート Q. OS X, ruby, gem

  • 人前で話すことへの恐れを解決する5つの方法

    人前で話すことに抵抗がある人にオススメながあったのでご紹介。 著者のスコット・バークンは、マイクロソフトで1994年から2003年にかけて働き、主にIE1.0から5.0のプログラム・マネジメントを担当していたという経歴の持ち主です。プログラマとしてはなんとなく親近感が湧きますね。 このでは現在講演家として活動している著者のノウハウが記されているのですが、著名な講演家の高度なテクニックというよりは、率直に一人の人間として講演、発表に向かう姿勢が書かれています。これまで数多くの発表をこなしている著者でも発表前には恐怖を抱き、それに対処するために様々な努力を重ねている点についてはとても参考になります。 このを読んで感じた人前で話すことへの対応方法を5つにまとめてみました。 1. ささいな失敗は起こるもの。気にしない。 発表に失敗はつきものです。しかし細かな失敗はたいてい聞いている側は気にし

    人前で話すことへの恐れを解決する5つの方法
  • 「半歩先のWebシステム構成」を発表してきました - 俺の話を聞け!

    「俺の話を聞け!」という名のイベント(ほんとにイベント名です:D)で発表してきました。 イベントの詳細はこちらから。 去年やった関西アンカンファンレスを小規模でやったようなイベントです。できるだけ多くの人に発表の機会をということで、初めての方から発表慣れしている方まで総勢19人が発表を行いました。 参加しての雑感をつらつらと。 会場はクロノスさん。素晴らしい会場でした。ありがとうございます! これからもよろしくお願いしますm(_ _)m 事前に聞いていたのに全然手伝えなくてごめんなさいm(_ _)m やっぱりテーマソングはこれ。 大事なこと。「人は人、自分は自分」 とにかく楽しかった! 発表した人は印象は残りやすいし、発表者同士の親近感もある。やっぱりできるだけやった方が良いと思う。 初発表の人の方がちゃんと準備をしていた。すばらしい! デモ最強。百聞は一見にしかず。 笑いを求めるサガ:D

    yuiseki
    yuiseki 2010/12/15
  • CakePHP Sessonコンポーネントに任意のコードが実行できる脆弱性

    Sessionコンポーネントですが値を保存するキーに特定の値を仕込むと任意のコードが実行できる脆弱性があります。 この問題は1.1/1.2どちらにも存在します。 Sessionコンポーネントの親クラスであるCakeSessionクラス[cake/libs/session.php]では、セッション関連の処理にeval()を使用しています。このeval()に渡すPHPコード(evalで実行されるコード)を生成する過程で、セッションキーを使用するのですが、変数のチェックが不十分なため、任意の処理を書くことができてしまいます。 通常セッションのキーにGET/POST/COOKIEといった外部からの値は使用しないと思うのであまり影響は無いかもしれませんが、もしセッションキーにこれらの値を使用している場合は値のチェックを厳密に行う必要がありますのでご注意を。 念のためtikcet投げておいたのでいずれ

    yuiseki
    yuiseki 2010/11/17
  • Twitter で使える8つのコマンド

    Twitterで使えるコマンドを試してみました。 昨夜のXSS騒動の時に脆弱性を利用したtweetを見ていたのですが、気になったのが公式RTを発生させるコードでした。 詳細は書きませんが、内容はmouseoverで特定のメッセージを自動でtweetさせるコードでした。自動でtweetするメッセージは以下のようになっていました。 RT XXXX ※XXXXはユーザID 自動tweetするのは分かるのですが、なぜこれが公式RTになるのかが不思議でした。 そこでTwitter Help Centerを見ると、このメッセージはコマンドとして規定されており、公式RTされることが分かりました。 以前からコマンドは知っていたのですが、あらためて見ると知らないものもあったので試してみました。 コマンドの使い方 コマンドの使い方は単純です。各コマンドをpostするだけです。 参照系(GET/STATS/WH

    yuiseki
    yuiseki 2010/09/25
  • 携帯/iPhoneのGPSを試すサイトを作った

    携帯/iPhoneGPSを試してみるサイトを作ってみました。 いまや、ほとんどのモバイル機にGPSが搭載されており、foursquare、コロプラ、ロケタッチなど位置情報を使ったサービスも多くリリースされています。 そんな便利なGPSなんですが、実際のところ、どの程度の精度で位置情報が測定できるのか、そして、その位置情報を使ってどんなことができるのかをあらためて模索するために、簡単にGPSを試すページを作ってみました。 携帯電話GPSで位置情報を見る 内容は単純で、GPSで測定した位置情報を元に Google Map と住所を表示します。参考に緯度経度、誤差も表示しています。 => 携帯/iPhone GPSテスト ページにアクセスするとリンクがあるので、クリックします。この時にGPSを送信するか否かを確認されるので、送信に同意します。 GPSを使って測定した位置情報を表示します。 iP

    yuiseki
    yuiseki 2010/09/10
  • iPad Safariのブックマークバーからはてブを付ける

    iPad Safariのブックマークバーからはてブを付ける方法です。 iPad Safariにはてブを付けるブックマークレットを入れるという話なのですが、iPhone同様、PCのようにブックマークレットをドラッグしてインストールするということができません。 少し手順が面倒なのですが、方法をまとめてみました。 1. Safari のブックマークバーを常に表示する iPadのSafariではブックマークバーを常に表示することができるようになりました。 これのおかげでブックマークに飛ぶのがかなり楽です。もちろんブックマークレットの操作性も生きてきます。 デフォルトではこの機能はオフになっているので、オンにしておきます。 「設定」「Safari」で「ブックマークバーを常に表示」をオンにします。 Safariでブックマークバーが表示されます。 2. ブックマークレットをブックマークに追加する まず、

    yuiseki
    yuiseki 2010/06/02
    ブックマークバーを常に表示androidにもほしい
  • Twitter @Anywhere はAPI制限に注意

    先日Twitterが公開した@Anywhere。Twitterの機能を手軽に自分のサイトに組み込めるとあって早速試してみました。 follow okに設置 いくつか提供されている機能のうち、一番気になったのはフォローボタン。これを設置すると自分のサイトにフォローするボタンが利用できます。 これは良い、ということで、早速follow okに設置してみました。 検索結果のユーザ一覧にフォローボタンを設置したところ、ほんと簡単にサイト上からフォローができるようになりました。 いやあこれは便利と思ってしばらく使ってみるとフォローボタンが not found という表示に。。。 Firebugで見てみると 何が起こったかとFirebugで見てみると見事に真っ赤っか。というかボタン表示の度にTwitter APIを呼びに行っている。。。 レスポンスを見るとエラーメッセージに「Rate limit ex

    yuiseki
    yuiseki 2010/04/23
  • 携帯版Twitterサイトへのステータス付きリンク

    携帯版Twitterサイトにステータス付きリンクを貼る方法です。 Webサービスblogによくある「Twitterで報告する」といったリンクですね。 クリックするとTwitterページに遷移して、ステータス(つぶやき)を入れるテキストエリアにすでにメッセージが入っています。あとは「UPDATE」をクリックするだけで、つぶやくことができます。 PCだと「http://twitter.com/home?status=AAA」がおなじみなのですが、この方法だと携帯版(twtr.jp)ではステータスがうまく引き継げずにstatus=AAAの内容がテキストボックスに入りません。 携帯版ではリンクの記載方法を変えることにより、同じ動作が可能です。 携帯版ステータス付きリンク これはリンク先とパラメータが変わるだけです。 http://twtr.jp/status/create/?text=XXX X

    yuiseki
    yuiseki 2010/02/16
  • Google App EngineでCPU Timeを使い切った

    Google App Engine(GAE)でCPU Timeを使い切りました。 GAEは従量制のサービスで、あらかじめ設定した金額内で利用できるリソースが決まっています。これはQuotaと呼ばれていて、CPU、ネットワーク流量、保存データ、API呼び出し回数等々で制限があります。 よく言われる「GAE=無料」というのは、無料(課金しない)なら、そのQuotaが適用されるということです。 GAE+Pythonでとあるサイトの動作確認をやっていたところ、無料分のCPU Timeを使い切りました。 実際に使い切るとこんな感じになります。 サイト ブラウザでアクセスすると、どのページを見ても503が返ってきて、Googleのエラー画面が表示されます。 HTTPレスポンスヘッダは以下。 HTTP/1.x 503 Service Unavailable Date: Sat, 16 Jan 2010

    yuiseki
    yuiseki 2010/01/17
  • Ustream 録画動画のviewsをはてブ風に表示する

    Ustreamで録画した動画のviews数をはてブ風に表示するサービスを作りました。 ust録画動画のURLを渡すと以下のように表示します。 64views 使い方 1. views数を表示する このサービスではviews数をHTMLタグ+JavaScriptで出力します。views数を表示したいページで、以下のscriptタグを記述します。src属性のURLでviews数を表示したいust録画動画のURLを指定します。 <script type="text/javascript" src="http://www.u-st.tv/views?url=%ust録画動画のURL"></script> ブラウザで見ると以下のタグが表示されます。 <span class="ust_views_10">64 views</span> 今はタグ表示だけですが、要望があればJSON出力とかも考えます。

    yuiseki
    yuiseki 2010/01/02
  • イブの夜、ustreamで2,000viewersを熱くしたDJ @okadadada

    12/24未明、ustreamで日人DJが2,000viewers以上を集めるパフォーマンスを魅せました。 深夜のアメトークを見つつ、そろそろ寝ようかなと思ってた時間帯。何気にTwitterを見ると、とあるDJがusreamでplayしているよ、というpostを見ました。 8畳間で深夜に踊るDJ 誰かがustでDJしているのはよくあることなんですが、なんだか異様に盛り上がっているらしいので、リンクからustreamへ。 その時はまだviewersが300人くらい。まず目に飛び込んできたのが、マンガだらけの部屋。激しく踊るDJの姿。そしてその光景に似つかわしくない(w PLAYが耳に流れてきます。 おおーこれは気持ちいいと思いつつ、TLを見ていると彼が @okadadada というIDでTwitterをやっていることが分かりました。 まあ画像を見るのが早いのでご紹介。 マンガ一杯の普通の部

    yuiseki
    yuiseki 2009/12/26
  • Twitterクラッキングによるアカウント乗っ取りを図にした

    今日の15:00頃にtwitter.comがクラッキングされて、全く異なるトップページが表示されていたようです。 Twitter Blog: DNS Disruption Twitter がクラッキングを受けてダウンしている模様 – Yaks Twitterがクラックされている件 – 西尾泰和のはてなダイアリー 私が見た時は単に接続ができない状態だったのですが、DNSを不正に書き換えられてtwitter.comが別サーバに向くようになっていました。 すでに各サイトで技術的な解説はされているので、タイムラインで懸念されているアカウント乗っ取りについて図を書いてみました。 通常時 OAuthを使っていない多くのTwitterクライアントは、Basic認証を使ってアカウントの認証を行っています。つまりTLを取得するなり、postするなり、twitter.comへのリクエスト毎にアカウントIDとパ

    yuiseki
    yuiseki 2009/12/19
  • 同じエントリへのはてブがバラバラに付く

    近頃、同じエントリへのはてブが別々のブックマークになっていませんか。 WordPressでこの現象の対応方法を考えました。 utm_sourceというURLパラメータが いつの頃か、FeedBurnerやTwitterFeedからのリンクに「utm_source=feedburner」といったURLパラメータが付くようになりました。これ自体はGoogle Analytics用なので、特に害は無いのですが、リンク先のblog側からすると1点だけ困ることがあります。 冒頭に触れたように、同じエントリに対するはてブなのにURLパラメータが付くことにより、別のPermlinkとして判定され、別のブックマークになってしまいます。つまり同じエントリへのはてブなのに、はてブ数が合算されません。 例えば以下のリンク先は同じエントリに対するはてブなのですが、FeedBurnerが付けるURLパラメータがある

    yuiseki
    yuiseki 2009/12/08
  • シンプルなTwitter検索「findTwitter」を作りました&ソース公開

    AutoPagerize対応したシンプルなTwitter検索「findTwitter」を作りました。 Twitterのつぶやきを検索 機能はシンプルです。テキストボックスに検索したいキーワードを入力して、「検索する」ボタンをクリックするとキーワードに合致したつぶやきを表示します。 「shin1x1」で検索 検索パターンとしては以下のような組み合わせが可能です。 単語で検索。(ex. [CakePHP]) スペースで単語を連結してAND検索。(ex. [PHP カンファレンス]) 「OR」で単語を連結してOR検索。(ex. [shin1x1 OR msng]) 仕組み TwitterAPIを叩いているだけ 仕組みはごくごく単純でTwitterの検索APIを叩いてるだけです。 検索結果はAPIの挙動に依存しているので、検索漏れや古いつぶやきが検索対象にならないなど現象があります。 CakePH

    yuiseki
    yuiseki 2009/08/14
  • Twitter フォローokな人を探す「follow ok」を作りました

    Twitterでフォローokな人を探すサービスを作りました。 誰をフォローすれば? ある時、ふとTwitterでフォローする人を増やしたいなと思い立ちました。そこでふと湧いた疑問が2点。 1. フォローする人をどうやって探す? まず誰をフォローしようかと。フォローする人リストはあちこちのサイトにあるので、そこからフォローするのが早いです。(ちなみにPHPな人ならこんなリストがあります。) ただこういったリストに入っている人は有名人な分野が偏っていたりで、多様な人をフォローしたいというニーズには合いません。また有名人系はそもそもフォローしてたりするので、さらに増やすとなると他で探す必要があります。 フォローするためにユーザ一覧が欲しいな 2. この人フォローしてもok? 何とかフォローしたい人は見つけたとして、いざフォローしようとした際、フォロー/フォロワーが20人以下のユーザだと何となく気

    yuiseki
    yuiseki 2009/08/04