タグ

ブックマーク / blog.mogya.com (23)

  • latlngの宗教問題 - もぎゃろぐ

    geocoderの話が予想以上にうけてびっくりしたので、ジオコーディングのくだらない話を一つ。 ジオコーディングに関するコードを書いているとたいていハマる問題が一つあって、それは緯度経度をどういう変数で表すか。 geo - Longitude の略し方。lng 派と lon 派の終わらない争い - Qiita によると、だいたい世界には6つの派閥が存在するらしいです。 Lng派: lat,lng Lon派: lat,lon Long派: lat,long Longitude(略さない)派: latitude,longitude 緯度経度ペアに名前付けちゃう派: "34.12345,135.98765" x,y派: latlngじゃなくてxとyで済ませちゃう人たち 個人的には、上記の他に、 [34.12345,135.98765] とArrayで表す派閥が存在すると思っています。

    nilab
    nilab 2013/10/15
    latlngの宗教問題 - もぎゃろぐ
  • Ruby geocoderがすごい - もぎゃろぐ

    住所を緯度経度に直したり、緯度経度から住所を求めたりする操作をgeocodingと言って、Google Maps APIを使うとまあたいていのことはできる。 ロケタッチAPIとか、Yahoo!ジオコーダAPIという手もある。 それはともかく、そのへんをパチパチ叩くコードを書いていて、「こんなのもうとっくに誰かが書いてんじゃないかなー」と思ってぐぐってみたらなんかすごいのが出てきた。 Ruby Geocoder 住所と緯度経度の相互変換はもちろん、距離や範囲の扱い、Google以外のAPIへの対応、キャッシュ処理など、「実装しようかなー。でもめんどくさいよね」とか思って先送りしていたような機能がほとんど全部実装されている。 住所の取得 require 'geocoder' # 日語ロケールに設定 Geocoder.configure( :language => :ja, :units =>

    nilab
    nilab 2013/10/15
    Ruby geocoderがすごい - もぎゃろぐ
  • ホウレンソウに頼らないマネジメント - もぎゃろぐ

    Twitterのつぶやきを見ていたら、わりと常識に縛られないタイプの方なのに、「新人研修で覚えてもらうのはホウレンソウとプログラミングくらいかなぁ」的なことを言われていて。そういえばホウレンソウって必須でもなんでもないことは意外と知られていないなぁ、と思ったので書いてみる。 ホウレンソウに頼ったAくんの仕事の進め方 9:00 業務開始。朝Mtgで、その日やることをみんなの前で発表。ぼく早くプログラム書き始めたいんだけどな... 9:30頃 昨日の進捗報告に上司からツッコミが。詳細な説明を書いて返信する。 10:00頃 ようやくプログラムを書き始める。 12:00 お昼休み。 13:00 再びプログラムを書き始める。 14:00 今朝のメールに上司は納得しなかったらしく、呼び出された。状況を説明してようやく納得してもらう 15:00 えーと。何してたんだっけ。あれ。このあと進捗会議か。 1

    nilab
    nilab 2011/10/06
    「メンバーはお互いの仕事の進捗を知らなくて、マネージャさんだけが全ての進捗を把握」「各人の責任範囲が明確で、メンバーの役割がはっきりしている欧米型の仕事の進め方」ホウレンソウに頼らないマネジメント
  • [ti.devs.me] window.urlを使わないプログラミング - もぎゃろぐ

    明日16日のTi.Developers.meeting vol 0.3 in Kyotoで、「window.urlを使わないプログラミング」というテーマでお話させていただきます。 内容はこんな感じ。まだ明日午前中の時間を使って構成を悩むので、実際の発表は多少変わる可能性があります。 内容はこんな感じ。まだ明日午前中の時間を使って構成を悩むので、実際の発表は多少変わる可能性があります。 あと、このブログ記事は、発表後速やかに「お話させていただきました」という記事に差し変わる予定ですw

    nilab
    nilab 2011/09/20
    Titanium Mobile うーん、やっぱグローバル変数ぐちゃっとなりそうだなぁ… / [ti.devs.me] window.urlを使わないプログラミング - もぎゃろぐ
  • WEBサービスを考える時に知っておくべき名前の法則 - もぎゃろぐ

    ZAPAnet総合情報局のzapaさんが、 SHARPのガラパゴスについて 「ガラパゴスがヒットしたのは、ガンダムと同じように「ガ」行の力強さと、ポケモンと同じように「パ」行の響きの良さを組み合わせた単語だったから」 って説明されています。それならzapaさんはガッパさんにしてはどうかと提案したのですけど、却下されてしまいました。とても残念です。 さて、そういう音の持つ力について、女たちはなぜ「口コミ」の魔力にハマるのかというに具体的に説明されていました。 「男の子はみんな無意識のうちにB,G,D,Zの濁音4音に興奮する」(ゴジラ、ガメラ、ゼットン、ガンダム、ゲッターロボ) P音は、口腔内の空気を軽く破裂させる、ブレイクスルー系の破裂音。赤ちゃんが意識的に出す最初の無声子音でもあり、陽気さ、気持ちよさ、子供っぽさ、軽さ、遊び心などの印象がある。 赤ちゃんは生まれてすぐ、無意識のうちに「

    nilab
    nilab 2011/09/19
    音のイメージ。「男の子はみんな無意識のうちにB,G,D,Zの濁音4音に興奮する」「10代から20代の若い女の子はS音の爽やかさが大好き」WEBサービスを考える時に知っておくべき名前の法則 - もぎゃろぐ
  • ホントに小規模なサービス運営者のためのサーバ監視入門 - もぎゃろぐ

    待って待って待って~! 今日は AV女優.com で行っているサーバ監視を魚に、 小規模ウェブサービス向けのサーバ監視 についてまとめます。 (中略) 監視サーバと呼べるのは1台のみで、その上にZabbix-Serverが走っています。 小規模ウェブサービス向け、サーバ監視入門 それは小規模ウェブサービスとは呼ばないと思いません?複数台構成で小規模? AV女優.comの方がzabbixを使われることは全然かまわないし、むしろ良くがんばっておられると思うのですけど、この構成を小規模と認めてしまうと、「ウェブサービスを作ってみたよ!」という人の立場がなくなってしまいます。複数台のサーバを使い始めた時点で「小規模」と名乗るのは卒業していただきたいのです。 ということで、僭越ながら、サーバ一台で全てをまかなう、当の小規模ウェブサービス開発者さんのためのサーバ監視記事を書いてみました。 小

    nilab
    nilab 2011/09/08
    mon.itor.us と monitis 「定期的にHTTPアクセスして、返事がなくなったらメールを送ってくれるサービス」ホントに小規模なサービス運営者のためのサーバ監視入門 - もぎゃろぐ
  • [titanium]画像を使わずにボタンを表示 - もぎゃろぐ

    TitaniumMobileにはSystemButtonというのがあって、ローカルに画像を持っていなくても標準的アイコンのボタンを表示させることができる(iphone only)。 でも例えば、ブラウザでよく見る左右の三角形、forward/backボタンはsystemButtonに存在しない。 デザイナさんと一緒にお仕事をしている人はいいのですけど、プログラマが適当に作ったアプリでは、こういうのを下手に描いたせいでデザインが素人っぽくなってしまったりする。著作権的なものには目をつぶって他のアプリからキャプチャするにしても、この程度の画像をいちいち切り出すのはめんどくさいよね。 そこで、文字コードを使ってそれらしい文字をtitleに指定してみた。 // Forward and back button for browser. var buttonForward = Titanium.U

    nilab
    nilab 2011/09/08
    Titanium Mobile 「文字コードを使ってそれらしい文字をtitleに指定」「toolbarにはフォントを指定できないみたいなので、toolbarに出せる文字はヒラギノで出せる範囲に限られる」画像を使わずにボタンを表示
  • [Titanium]window.urlが駄目な理由 - もぎゃろぐ

    [Titanium] window.urlは推奨されないプログラミング手法らしい - もぎゃろぐの続きです。 つい先日まで使っていた物を突然駄目だと言われても納得が出来ないと思うので、どういう場面で困ったことになるのかの例を一つ。 ある程度大きなプロジェクトになると、アクセスクラス付きのデータクラスみたいなのを作りたくなることがあります。たとえばこんなクラス。 var Obj = function(){ this.v = 1; } Obj.prototype.setVar = function(v){ this.v = v; } Obj.prototype.getVar = function(v){ return this.v; } var obj = new Obj(); obj.vを直接書き換える代わりに、セッターとゲッターを用意しておくことで、例えばセットした時にログを書くとか、セッ

    nilab
    nilab 2011/08/26
    Titanium Mobile 「メソッド付きのオブジェクトを共有する手段がなくなってしまう」「KitchenSinkは、互いにデータを共有する必要がなかったからマルチコンテキストが使われている」 window.url が駄目な理由
  • [Titanium] window.urlは推奨されないプログラミング手法らしい - もぎゃろぐ

    Titanium Mobileでは、ある程度大きなプロジェクトを作る場合、 var win = Ti.UI.createWindow({ url:'hoge.js' }); という具合にしてurl引数を使ってソースを分割するのが半ば常識だと思っていました。 ところが実は、これってあんまり推奨されないやり方なのだそうです。 Titaniumの公式トレーニングビデオの二目、Building Native Mobile Applicationsの10:00あたり、 JavaScriptでファイル分割をする方法について解説しているくだり。 一般論だけど、1ファイル1ウインドウのプログラミングモデルはオススメしないよ。 KitchenSinkがやっているけど、あれはデモ用だから。 1ファイル1ウインドウモデルを使うと、たくさんのコンテキストを管理するために多くの問題を抱えることになる。

    nilab
    nilab 2011/08/17
    「Ti.includeやcommon.jsスタイルのrequireを使って、共通のコンテキストでウインドウを開くことをオススメする」[Titanium] window.urlは推奨されないプログラミング手法らしい - もぎゃろぐ
  • Re^2: Twitter oAuth Implementation for Titanium Mobile - もぎゃろぐ

    @mogya While executing Timer, received script error. 'Result of expression 'URL' [undefined] is not an object. at oauth.js (line 453)'でした!Sat Jan 15 12:55:06 via webShimpei Yamakawa shimpet 一番最初、アプリケーションを起動してoAuth認証を通した直後にAPIを呼び出すと(=僕のブログコード通りに書くとw)、上記エラーになる不具合を修正しました。 ただ、またもや互換性が保てなくて、oAuthAdapter.send()の戻り値を使うのが無理になりました。申し訳ない。 sendから戻ってきたからといってAPI呼び出しが完了して戻り値が入っていることは保証できないので、その代わりにonSuccessコー

    nilab
    nilab 2011/07/28
    Re^2: Twitter oAuth Implementation for Titanium Mobile - もぎゃろぐ
  • TitaniumMobile用Twitterライブラリtm_twitter_api - もぎゃろぐ

    TitaniumMobileでTwitterを扱うときに便利なtm_twitter_apiの新バージョンを公開しました。 mogya/tm_twitter_api - GitHub Androidでも動くようになりました! twitterUIが変わって動かなくなっていたので、新しいUIで動くようにしました いずれも他の方が書いたパッチを取り込んだものです。オープンソースって素晴らしいですね。 donayamaさんが紹介してくれた、exilisさん作のパッチ1、2 Titanium MobileでTwitterOAuth時のエラーと解決方法 - 俺の作業ログ 使い方 Ti.include("lib/twitter_api.js"); //initialization Ti.App.twitterApi = new TwitterApi({ consumerKey:'YOUR CONSUME

    nilab
    nilab 2011/07/28
    TitaniumMobile用Twitterライブラリtm_twitter_api - もぎゃろぐ
  • Androidのデモをする時はAndroid Screen Monitorが超オススメ - もぎゃろぐ

    tm_twitter_apiの紹介デモで使ったら一部の方から感心していただいたのでご紹介。 プレゼンの途中でスマートフォンの画面を見せたい時、iPhoneだったらiPhoneエミュレーターで見せればいいのですけど、Andoroidの場合、エミュレーターが遅すぎるので、実質的に使い物になりません。だからといってちっちゃなスマートフォンの画面をそのまま見せたってお客さんには見えないので、結構困りますよね。 そういうときに、Android Screen Monitor がオススメです。画面をリアルタイムで PC 上に表示してくれるツールで、これを使えば実機でアプリを動かしている様子をPC経由でプロジェクタに表示することが出来ます。 iPhoneエミュレーターと並べてデモをすると、後ろから見ている方にはほとんど区別がつかないみたいで、昨日のプレゼンのあとも、「あの超早いAndroidエミュレーター

    nilab
    nilab 2011/06/06
    Java実装。「Andoroidの場合、エミュレーターが遅すぎるので、実質的に使い物になりません」「画面をリアルタイムで PC 上に表示」Androidのデモをする時はAndroid Screen Monitorが超オススメ
  • 任意の書類をShotNoteで取り込めるクリアファイル - もぎゃろぐ

    ShotNoteというデジタル&アナログな商品がキングジムさんから発売されました。 手書きメモをスッキリデジタル化「ショットノート」 | KINGJIM ASCII.jp:デジタル&アナログの新感覚文具「ショットノート」 メモ用紙の四隅にマーカーが印刷されているので、専用アプリで取ると自動的に台形補正&日付のOCRをしてくれる、というものです。EverNoteに送れるのも嬉しい。 クリアファイルで作る薄くて軽いホワイトボードの人としては、これはクリアファイルで作るべきじゃないかと思いました。 ・・・できた。 こういうふうにして使います。 これさえあれば、任意の紙に書いたメモをShopNoteで撮影して取り込むことが出来ます。超便利。

    nilab
    nilab 2011/02/10
    THE EYE OF JUDGMENT のサイバーコード偽造とか思いだす。4隅のマーカーと SHOT NOTE ロゴがあればいい。「そこら辺のA4用紙もSHOT NOTE対応!」任意の書類をShotNoteで取り込めるクリアファイル
  • 「俺の話を聞け」面白かった話とか - もぎゃろぐ

    nilab
    nilab 2010/12/28
    ほう。「モバゲーは出会える」「出会えない人の特徴」 / 「俺の話を聞け」面白かった話とか - もぎゃろぐ
  • 派遣プログラマ時代の思い出 - もぎゃろぐ

    派遣PGとしてひどい目にあった人がいて盛り上がっている。 某N社で「メソッドを作ると処理が上下に飛んで可読性が落ちるので、出来る限り一つにまとめてください」と言われたことがある。僕は300行で挫折したが、1万行メソッドを書ききった強者がいた。クラスを作るには申請書が必要だった。 「これ参考にしてください」と言って渡されたフローチャートは双六のようで、最後から一つ手前に「仕様変更で振り出しに戻る」と書いてあっても驚かないような代物だった。 Togetter-「派遣PG時代の思い出」 で、紅茶屋さんが、そうはいっても、最新技術を追いかけ回す企業が旧態依然とした企業より生産性が高いとは限らないよ?とのご指摘。 現場を変えようと取り組んでも結果として何も変わらないことはよくあります。また、よしんば何か新しいものが導入されても最初の目論見からはねじれた形で運用されてしまうこともあります。 慣習やし

    nilab
    nilab 2010/08/16
    派遣プログラマ時代の思い出 - もぎゃろぐ
  • お客さんから資料を受け取るときの基本技術 - もぎゃろぐ

    会議とかで、お客さんが資料を出してくれることになって。「今作っているので、できたら送ります」って言われたら、「今あるものでいいので今すぐください」と言わないといけない。「お待ちしております」と言ってのんびり待ってはいけない。 「あとで送ります」と言われた場合、会議のあとは忙しくなっているから送り忘れる人はたくさんいるし、「できたら送ります」でお客さんが遅れたら、待っている間なんにもできなくなってしまう。 お客さんの資料作成が遅れた分納期が延びるんだったらまだいいんだけど、たいていの場合そうはならないから、資料ができあがるのを待っていたらその分だけ自分の首が絞まってしまう。 だから、「できたら送ります」って言われたら、「今あるものでいいから今すぐください」って言わないといけない。お客さんのシステムを作ってお金をもらう場合の基テクニックだと思っていたのだけれど、意外とみんな知らないのでちょ

    nilab
    nilab 2010/03/18
    お客さんから資料を受け取るときの基本技術 - もぎゃろぐ:「お客さんの資料作成が遅れた分納期が延びるんだったらまだいいんだけど」「「今あるものでいいから今すぐください」って言わないといけない」
  • http://blog.mogya.com/2010/03/backdoor-on-usb-charger.html

    nilab
    nilab 2010/03/18
    これは怖い。USB充電器に仕掛けられたバックドア - もぎゃろぐ:「Energizer という米国の会社の電池充電器」「IT系の展示会で、どこかの企業のスタッフのふりをして上記のウイルス付き充電ケーブルをばらまいたら?」
  • モバイラーズオアシスを公開します - もぎゃろぐ

    都内だけじゃなくて日全国で、電源のあるカフェ、仕事のできそうなファストフードなどを探すことのできるWEBサービス、モバイラーズオアシスというのを作ったので、公開します。 同じように電源のつかえるカフェを探すサイトは既にいくつかありますが、違いは3つ。 日全国対応 電源マップ(首都圏のみ)というようなサイトは、首都圏以外に住む人の役に立ちませんし、首都圏の人だって地方出張の時に使いたいだろうと思うので、日全国のスポットを載せることにしました。 電源が無くても掲載 日全国といっても、実際には電源のあるスポットが存在しないような地方も残念ながら存在します。そんな時「ありません」ではなくて、「電源はないけど、スターバックスでどうでしょう?」というような形で使えるように、電源が無くても、入りやすくて仕事のできそうなスポットは全部掲載することにしました。マクドナルドだけではなくてモスバーガーも

    nilab
    nilab 2009/10/10
    モバイラーズオアシスを公開します - もぎゃろぐ : 日本全国対応:電源が無くても掲載:ネットカフェも掲載
  • ウェブテコ第9回 - CMS - でExpressionEngineの話をしてきました。 - もぎゃろぐ

    このブログ記事を参照しているブログ一覧: ウェブテコ第9回 - CMS - でExpressionEngineの話をしてきました。 このブログ記事に対するトラックバックURL: http://mogya.com/mt/mt-tb.cgi/778

    nilab
    nilab 2009/09/27
    ウェブテコ第9回 - CMS - でExpressionEngineの話をしてきました。 - もぎゃろぐ
  • SOY CMSの人に聞いた開発秘話 - もぎゃろぐ

    ウェブテコ第9回 - CMS - ウェブテコ - 神戸のウェブ勉強会 で、SOY CMSの人が来ていました。 SOY CMSというのは、株式会社日情報化農業研究所さんが作っているCMSツールで、日初のCMSとしてそれなりの知名度になってきた結果、日情報化農業研究所さんは現状これのカスタマイズ案件でべていけているらしいです。 ExpressionEngineのカスタマイズ案件を受注したいボクとしては、どんな風にして今の位置にたどり着いたのか興味津々なので、どういう経緯でここまで来たのかを聞かせていただきました。 #ボクが聞いた話を思い出しながら書いているので、100%正確とは限りません。 ・開発 もともと受託開発していたのだけれど、SOY CMSを作るぞ!ということで受託開発を止めて、2人×3ヶ月で作った。 受託開発を止めた結果、会社の収入が止まったので、開発中は社員の

    nilab
    nilab 2009/09/27
    SOY CMSの人に聞いた開発秘話 - もぎゃろぐ : 「それなりの知名度になってきた結果、日本情報化農業研究所さんは現状これのカスタマイズ案件で食べていけている」