タグ

ブックマーク / developer.cybozu.co.jp (18)

  • Pythonによる自動化の結果、ニューヨーク中でタダメシが食えるようになったエンジニアの話 | 秋元@サイボウズラボ・プログラマー・ブログ

    いかにして私はPython/自動化/AI/インスタグラムを使いニューヨーク市で無料の事をできるようになったか(How I Eat For Free in NYC Using Python, Automation, Artificial Intelligence, and Instagram)という記事が面白かったのでご紹介。 ニューヨーク在住のデータサイエンティスト、クリス・ブエッティさん(Chris Buetti)が明かした、3万フォロワー超の人気アカウントを育てた秘密。 Instagramを育てる Pythonスクリプトで、毎日、一日に数回、ニューヨークに関する写真をInstagram に自動投稿させます。ブログ主によると、Instagram の「発見」ページに掲載してもらうにはこれが大事だそう。一日も欠かさず、何週間も続けることで掲載されやすくなるそうで、ほとんどの人力Instag

    atomicmap
    atomicmap 2019/04/27
  • シス管探偵、サーバールーム内の謎ラズパイの設置者を突き止める | 秋元@サイボウズラボ・プログラマー・ブログ

    テキサス州オースティンで企業のサーバー管理の仕事をしているクリスチャン・ハチェックさん(Christian Hascheck)が、彼の管理下で発生した興味深い事件について語っています。 サーバーに挿さった謎のデバイス 始まりは同僚から送られてきたという写真。「サーバに知らないラズパイがつながってる。調べてくれないか?」と。 普段リモートからサーバ管理しているハチェックさんは、同僚に指示してラズパイを切り離させ、SDカードに入っていたイメージを送らせました。 当初は社内の誰かの実験物かな、ぐらいに思っていたそうですが、サーバールームに入れるすべての人に訊いても知らないとの返事。USBソケットに刺さっていたドングルを巨大掲示板の reddit で晒したところ、WiFi/bluetooth モジュールだとわかります。 SDカードの中身を調べる Raspberry Pi のストレージであるSDカー

    シス管探偵、サーバールーム内の謎ラズパイの設置者を突き止める | 秋元@サイボウズラボ・プログラマー・ブログ
    atomicmap
    atomicmap 2019/01/25
  • eBayアプリの出品機能に「ARで梱包段ボールのサイズを計る」機能が登場 | 秋元@サイボウズラボ・プログラマー・ブログ

    米オークションサイトの eBay が、Android アプリにAR(拡張現実)技術を使った新機能を投入しました。 梱包して発送したい商品に対して、適切な大きさの箱を選ぶのを、現実世界の上に仮想の箱を重ねて表示することでおこなわせるというものです。 対象を撮影しながらスマートフォンを動かすと、まず置いてある場所(テーブル)の表面を認識します。 USPS(アメリカ郵便局)で売っている段ボールのリストから一つ選ぶと、その段ボールのサイズがリアルの上に重ねて表示されるので、荷物がその箱に収まるかどうかがわかる、ということ。 オークションサービスで、出品の手間が減るほどユーザーやユーザーの出品数が増えるだろうことは想像に難くありません。梱包箱選び一つをとっても、こんな風に直観的に支援してくれる機能があることで eBay へのロイヤリティが高まるのかもしれないですね。 アプリはeBayが開催した昨夏

    eBayアプリの出品機能に「ARで梱包段ボールのサイズを計る」機能が登場 | 秋元@サイボウズラボ・プログラマー・ブログ
    atomicmap
    atomicmap 2018/03/20
  • Kazuho@Cybozu Labs: String::Filter っていうモジュール書いた - 続: (Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について

    先のエントリ「(Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について」の続き。 弾さんが「404 Blog Not Found:DHTML - 構造化テキストは構造化するのがやっぱ正しい」で示されているような DOM ベースの操作を行えば、原理的に XSS 脆弱性を防ぐことができます。ただ、クライアントサイド JavaScript によるレンダリングはウェブの構造を破壊するという点で筋が悪い(テーブルと FONT タグを利用したページレイアウトが批判されていた頃を覚えていらっしゃいますでしょうか。JavaScript によるレンダリングはウェブのリンク構造も破壊するので一層たちが悪いというのが自分の考え)ですし、サーバサイドでの DOM 操作は重たいので、できれば避けたいところです。 構造化テキストの HTML への変換は、よほど複雑な記法でない限り

  • Kazuho@Cybozu Labs: (Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について

    昨日の Twitter の XSS 騒ぎは、まだ皆さんの記憶に新しいことと思います。いい機会なので、ツイートのような構造化テキストのエスケープ手法について触れておきたいと思います。 Twitter のメッセージは、単なる平文(プレインテキスト)ではなく、「@英数字」のような他のユーザーへの言及と「http://〜」のような URL を自動的にハイパーリンク化する構造化テキストです。 このような複数のルールをもつ構造化テキストを HTML 化する際には、どのようなコードを書けばいいのでしょう? まず「@〜」をリンク化してから、URL をリンク化すればいいのでしょうか? それだと、@〜 のをリンク化した A HREF タグの中の URL がさらにリンク化されていまいますね。 では、URL をリンク化してから @〜 をリンク化すればいいのでしょうか? それだと、@ を含む URL があった場合に

  • Kazuho@Cybozu Labs: REST におけるトランザクションについて (Re: Web を支える技術)

    といいつつ、ひとつだけ理解できないというか、納得できないところが。トランザクションのところがなんだかRESTっぽくないのがすごく気になる Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ)(山 陽平) - ただのにっき(2010-04-23) 「Web を支える技術」は自分もとてもいいだと思う (教科書としてすばらしいし復習用としても読みやすいのでイイ) のですが、トランザクションの所だけは分かりづらいなと感じました。その原因は、atomic transaction で解決できる課題を例として使っているという点と、トランザクションと更新クエリのレイヤ分割がされていない、という2つの点によるものではないでしょうか。 HTTP 上でトランザクションを表現する必要があるケースのほとんどは、atomic transaction ではなく

  • Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript

    はじめまして。2009年に新卒で入社しました天野祐介です。amachang を期待された方はゴメンナサイ! 先日 SpiderMonkey を利用して PHP から JavaScript を実行する方法を調べる機会がありましたので、ご紹介します。 SpiderMonkey とは SpiderMonkey は  C で実装された Mozilla の JavaScript エンジンです。 これを PHP から実行する拡張を利用すると、 PHP コード内で JavaScript が実行できます。 SpiderMonkey extension のインストール こちらhttp://devzone.zend.com/article/4704に記載されている方法で CentOS にインストールしてみました。 PHP 5.3.0 以上が必要です。 $ wget http://ftp.mozilla.org

    Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript
  • Kazuho@Cybozu Labs: パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)

    先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。

  • Android初心者の最初の2週間での感想

    Androidの開発機を入手して2週間ほど経つのですが、その2週間の感想です # 2週間といっても、他にいろいろとやってたのですが(個人の方で新サービス読んだ4!のテスト公開とか) この手のことをするのは、2002-3年ぐらいにPocket PCの開発をやって以来なので、少しずれてるかもしれませんが。いろんな事が簡単にできるようになっているなあと、時代の違いを感じました。 開封から設定 設定にパソコンは不要 [開封]-[起動]-[タイムゾーンと日時の設定]-[WiFiの設定]-[Googleアカウントの設定] で。Gmailが使えるようになり、GmailのコンタクトもAndroid上で閲覧できるようになりました。携帯電話として使うためのSIMは持ってないし、持っていたとしても使うとたいへんなパケット料金になるらしいので、無線LANだけで使ってます。 Gmailのコンタクトに電話番号の情報は

  • 記号でPolyglotプログラミング♪(RejectKaigi2009) | TAKESAKO @ Yet another Cybozu Labs

    RubyKaigi2009の最終日に同じ場所で開催された別のイベント「RejectKaigi2009」にて 「はじめてのRuby1.9プログラミング」と題して、記号Polyglotプログラミングの話をしてきました。 3分という限られた時間でありましたが、貴重な発表の機会を与えてくださりありがとうございます。 取り急ぎプレゼンで披露した記号Polyglotのプログラムを公開しておきます。 ■ hello.pl (という名前ですが、Perlの他にRubyJavaScriptでも実行できるプログラムです) "#{",$/*"}";%#=();$^_^=’?“;">)~${`&&@`{;:+`[[‘,$^_^=’/?")-=^{(=!".=.!,!)&&>’,$^_^=’`-+|{!?“*.((-+({:^(_^’,$^_=”^’+@$@&’^’^.@%@’.’$^_^"";’.$^_^"",’

  • jQueryがマイクロソフト及びノキアと提携を発表 | 秋元@サイボウズラボ・プログラマー・ブログ

    人気のあるJavascriptライブラリjQueryが、MicrosoftとNokiaのサポートを受けることが公式ブログでJonh Resigさんから発表された。 マイクロソフトの方はASP.NET開発環境Visual Studioへのバンドルが予定されている。また、jQuery上に画面パーツやウィジェットも開発するそうだ。 ノキアは、世界で一番携帯電話を売ってるわけだけど、その携帯電話でウィジェットを走らせるために搭載されているWebKitベースのWeb Run-Timeに搭載されるということ。Web Run-Timeの開発者はjQueryが常にある前提で携帯電話向けウェブサイトを作れるというわけだ。 Resigさんの説明によれば、両社ともjQueryをそのまま、改変することなく載せるという。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があり

  • Google買収の歴史とタイムライン部品のマッシュアップ | 秋元@サイボウズラボ・プログラマー・ブログ

    GoogleYahooによる企業買収の歴史で、Googleの他社買収の歴史Wikipediaに載っているのを紹介した。 これと、年表を動的に表示できる DHTML+Javascript 部品であるSimileのTimelineパーツをあわせると、リンク先にあるような「Google買収の歴史年表」となる。 年月日の並んだ情報があれば、XML形式で用意して、Google Mapsなどと同様にJavascriptライブラリを読み込み、このXMLデータをポイントするだけで、簡単にこのタイムライン部品で表示できる。 そういう時系列データで面白いものがないか探してみるのもいいかもしれない。 今みたら買収したばかりのJotspotも既にちゃんと掲載されていた。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調で

  • Google MapsとYahoo! Mapsを並べて比較 | 秋元@サイボウズラボ・プログラマー・ブログ

    Google MapsとYahoo! Mapsを二つ並べて同じ場所を表示できるというマッシュアップ 並べてみると、自分の見たい場所について、どちらがより最新の情報に更新されているか、などがはっきりわかっていい。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

  • CSS nite vol.7 に行ってきた | 秋元@サイボウズラボ・プログラマー・ブログ

    銀座のアップルストアで行なわれた、CSS nite vol.7 に行ってきた。 19:00 開始だけど、18:30 から Skype の知人が動画チャットのデモをするというので、それも見ようと早めにオフィスをでた、がしかし、18:30の時点で席は全部埋まり、立ち見状態。19:00 には立ち見でも部屋に入れないぐらいの大混雑となった。以前に一度 CSS nite に来たときも立ち見はあったけどこれほどではなかった、まわりの人の話を聞くと会を追うごとに参加者が増えてるようだ。いつもアップルストアだから関係深いのかもしれないけど、もっと広いところに移ってくれればなあ。 それで今回どうしても聴きたかったのが、サイバーガーデンの益子さんによる講演。 この方のWeb標準の教科書というがとても面白く(といいつつ、まだ一部しか読めてないけど)、きっといい話が聞けるに違いないと思っていたからだ。 以前アメ

  • Google Maps API のバージョン2が正式リリース | 秋元@サイボウズラボ・プログラマー・ブログ

    via Google 公式ブログ 機能 ライブラリ Javascript のサイズが約半分になり、読み込みが高速化 日欧米と主要都市で2段階細かな衛星画面が出るように 地図の角により広い範囲を表示するオーバービューマップを表示できるように(Yahoo! Map みたいなやつか) ユーザが拡張しやすくなった GMap2 クラスの追加 不要なオブジェクトを解放するメソッドの追加。IEでのメモリリークの解消 デバッグログ機能の追加 緯度と経度の順番を間違えない新メソッドの追加 また、利用条件に二つ変更が。 呼び出し回数の上限が無くなった。ただし一日50万回以上の呼び出しがあるサイトの場合は事前に連絡してほしいとのこと。 もし GoogleAPI 経由で広告を入れるようなことがあれば、90日前に予告をするということ バージョン2は、バージョン1との互換性を 99% 保っているということで、現

  • ページ上RSSリーダ grazr | 秋元@サイボウズラボ・プログラマー・ブログ

    grazr は、OPML で提供されている複数フィードを、自ページ上にコンパクトに表示してくれる CSI (Client Side Include)サービスだ。もちろん、個人のRSSリーダーと違い、公開されているページに張られているので、サイト訪問者に見せる、みんなで見るための一覧になる。 RSS リーダーの表示領域は大きくなりがちだが、階層構造をいかに小さなスペースで見せるかという工夫をデザインと Ajax による遅延読み込みで表現したこのサービスはなかなか面白いのでは。 opml を与えて、あとは表示の幅や高さ、フォント指定などをすると、貼り付けるためのコードが生成される。作ってみたものを下に一つ張っておく。日語も問題なく表示できているし、コンテンツまでページ上でちゃんと読める。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転

    ページ上RSSリーダ grazr | 秋元@サイボウズラボ・プログラマー・ブログ
  • Ajax Geocities == Google Page Creator? | 秋元@サイボウズラボ・プログラマー・ブログ

    via digg Google Page Creator という新サービスは、Ajax で WYSIWYG オーサリングツールらしい。 google のアカウントでログインすると、ブラウザ上でそのままウェブページの作成編集ができる。 画像貼り付けも、貼り付ける場所に応じて画像サイズが切り替わったり、それにあわせて文章の回りこみも変化したり。 さすが Google 、かなり力技だ。 また、 Change Look と Change Layout で、用意されたかなり多くのデザイン、そしていくつかの異なるレイアウトに切り替えられるようだ。 自分のを公開すると gmail のアドレスがばれるんじゃないか、と思ったので、公開されている誰かのを。 Google Base もそうだけど、ユーザの生成するコンテンツも google の内部に取り込んでいくつもりなのか。 追記: 各ニュースサイトでも Go

  • Ajax ジェスチャー認証 | 秋元@サイボウズラボ・プログラマー・ブログ

    via Ajaxian ジェスチャーによる認証のアイデア自体はそれほど新しいものではないと思うが、Ajax でジェスチャー認証はけっこう面白いのではないか。 デモの使い方を説明する。 文中中央下の二つのボックス、左の “Record” ボックス内でマウス左ボタンを押しながら、自分のジェスチャーを記憶させる。 続いて、右の “Login” ボックスでマウス左ボタンを押しながら、自分のジェスチャーを伝える。 右で入力したジェスチャーが、左で保存していたジェスチャーと合致したら、ログイン成功となる。何回かやってみたが、それなりに似たジェスチャーを再現しないとログイン成功にはならない。 マウスで描いた軌跡で認証、というのは、サインの国の人らしい発想ではあると思った。 Ajaxian では、他にも同じブログから、写真に写された「概念」をヒントにクリックさせることでスパムロボットを振り落とすアイデアも

  • 1