読者です 読者をやめる 読者になる 読者になる

kur.jp

バイオリンと自転車をこよなく愛するkurのチラシの裏。たまには技術的なことを書いたりするかも知れません。

スケジュール調整用アプリ作ってみた

サイボウズLiveのAPIを叩くアプリとして、スケジュール調整用アプリを作ってみた。とはいえ説明分とかまだ書いてないし、とてもじゃないが万人が使える状態でもないのだが。 スケジュール調整用アプリって、他にも色々既に存在してはいるものの、いくつか不…

VagrantにインストールしたCentOSから外部へのネットワーク接続が非常に遅い問題

最近、サイボウズLiveが公開しているAPIを叩くアプリケーションを趣味で作っているのだけれども、アプリケーションからサイボウズLiveAPIを叩くのが非常に遅い。OAuthで認証するとき、アクセストークンを取得する時、APIを実際に叩いて情報を取得する時、と…

Windowsへのnginx + PHP + MySQL+MongoDBの導入

Windows7マシンにnginxなWebサーバを導入したので覚え書き。

Webサービスを開発する際は開発初期段階から見た目に力を入れるべき

さぁ、新しいWebサービス作るぞーってなったとき、どこから作り始めるべきか。別にWebサービスに限らず、iPhoneアプリだとか、Windowsアプリでもたいして違いは無いとは思うんだけど、とにかく、新しい何かを作り始めるとき、どこから作り始めるべきか。 技…

iPhoneアプリ開発はじめました

とある事情によりiPhoneアプリを開発する事になった。 私にとってMacはFinal Cut専用機という位置づけなのでまともに開発に使うのはこれが生まれて始めて。ちなみにこれまで触ったMacはPowerbook100、Performer575、Powerbook2400、MacProだけなので、macboo…

LogTwitアップデート2点

やるやる詐欺になってしまいそうだったので、とりあえずいくつかのバグを修正した。大きな変更点としては、Googleの検索仕様変更への対応と、jQuery以外のJavaScriptライブラリとのコンフリクト対策。どちらも、私が不便に思っていた点。 1つ目のGoogleの検…

MySQLサーバに外部からアクセスする

Webサービスを作ってる時、複数のMySQLサーバを使いたかったり、WebサーバをMySQLサーバをWebサーバと別に用意したかったり、ってのが結構ある。 そのための方法についてまとめてみた。下記にあげる各項目は、サーバに対して通信が行われた後、どの段階で接…

Bitbucketはじめました

シリコンバレーの某社のエンジニアさんと話をしていて、私の想像以上にリポジトリホスティングサービスが普及していることに気がつきました。自分の書いたコードを晒すかどうかは別途考えるとしても、私もとりあえずリポジトリホスティングサービスを利用し…

CopyFromScreenでスクリーンショットを取得

以前から開発しているITR-Recorderというソフトがある。このソフトでは、プログラムからウィンドウのスクリーンショットを撮るで書いたような方法でウィンドウのスクリーンショットを取得していたんだけど、スクリーンショットを撮る方法は他にもある、とい…

Amazon APIで商品を検索する

Amazonで扱われている特定の商品の値段を期的にチェックして、値段が変わったら教えてくれるプログラムが欲しいなーと思ったのでコソコソ作ってます。 まず、下記のようなコードでAmazon APIで商品を検索することが出来ます。

TwitterのOauthを使ってCakePHPのAuthコンポーネントにログインさせる

最近のいくつかのWebサービスは、twitterのOAuth機能を使って、Allowを押せば会員登録完了、なんてお手軽な仕組みを採用しているものもある。 このようにしてユーザに会員登録してもらうと、Webサービス側としては、ユーザのTwitter ID等を取得することがで…

phpで郵便番号のチェックをする

とあるシステムのために、ユーザが入力した郵便番号が正しいかどうかを確認するphpコードを書いた。 どうでも良い話ではあるんだけど、世の中のシステムを見てると、数字は半角で入力してくださいとか、全角で入力してくださいとか書いてあることが多い。で…

PHPでTwitterのOAuth認証

今年の一月に、LogTwitと言うTwitterネイティブWebアクセス解析LogTwitをリリースしたのですが、1月の時点では何も考えずにBasic認証を使っていました。(リリース時のブログエントリ) ところが8月末からBasic認証が使えなくなってしまうということなので、…

PHPでヒートマップを生成する

自分専用Webアクセス解析を作っていると、ヒートマップ画像を生成したくなる時ありますよね。PHPでは簡単に画像を生成することが出来るので、色の設定さえやってしまえば、お手軽にヒートマップを生成することが出来ます。 以下、PHPを使ったヒートマップの…

ページ読み込み完了前にgBrowserオブジェクトにアクセス出来てしまう

引き続きFirefoxの機能拡張を作ってるんだけど、不思議な現象に遭遇した。 Firefoxを初回に起動したときにはgBrowserが定義されているのに、二度目に起動したときにはgBrowserが未定義となる。このことに気がつかずに、ちょっとハマってしまったのでメモ。 …

XULでJavaScriptを含むUIをオーバーレイさせるときの注意点

Firefoxの拡張機能を作る時、UI部品をオーバーレイすることでFirefoxの画面内にボタンを追加したり、既存のUIにスクリプトを追加したりすることができる。 で、さっきブラウザのBackとForwardの隣にあるボタン、back-forward-dropmarker(下記の画像のように…

.NetのSerialPort.isOpenプロパティが不思議な動作をする

C#でアプリをシリアル通信を行うソフトウェアを作っているのだけれど,良くわからない挙動に出会ったので,メモ. 通常,このようにすれば,アプリからCOM1ポートを開く事が出来る. serialPort = new System.IO.Ports.SerialPort(); serialPort.BaudRate = …

C#でBitmapの比較

一定時間毎にWebブラウザのウィンドウをキャプチャして,変更の有無を検出するコードを書いていたんだけど,ちょっと引っかかってしまったのでメモ. 最初,BitmapクラスにはGetHashCodeというメンバ関数があるから,ハッシュを取得してそれを比較すれば良い…

“人生を書き換える者すらいた。”の迷路問題を解いてみた

今更感はあるのだけれど,気分転換に下記のブログで紹介されてた問題を解いてみた. 人生を書き換える者すらいた。 人材獲得作戦・4 試験問題ほか かかった時間はたぶん60分ぐらい.アルゴリズム的にはAアルゴリズムを使えば良いらしいけど,正直なところ,…

TwitterネイティブWebアクセス解析 LogTwitを作りました.

LogTwit.com という新しいサービスを作ったのでちょっと宣伝. 以下,本サービスについて説明します. このサービスをWebサイトにインストールすることによって,LogTwitに設定されたアカウントが,ユーザのWebサイトへのアクセスをTwitterを通じてリアルタ…

PHPからTwitterに投稿する

今さら出遅れた感も満載なんですが,Twitter連携のサービスを作ってみたくなったので,どうやったらTwitterAPIを使えるのか調べてみた. TwitterからPHPに投稿するためには,色々な方法があるみたいなんだけど,とりあえず手っ取り早い方法として,PEARパッ…

仮想シリアルポートを用いた快適デバッグ環境の構築

PCと他のデバイスを連携させて動作するアプリを開発するのって,実は結構面倒なんです.なので,いかにして効率よく開発するかが至上命題なわけです. あまりにも不便なので,こんな感じでUSB2シリアルケーブル2本と,クロスのメスーメスシリアルケーブルを…

MySQLでAuto Increment利用による速度低下

Webアプリを開発する時に切っても切れない関係にあるのがMySQLなどのRBBMSです.これらをいかに上手に扱うかが,エンジニアリングの面白いところでもあり,難しいところでもあります. 私は今までデータベースでテーブルの設計をするときには,各テーブルに…

現在アクティブになっているウィンドウを取得する

C#で現在アクティブになってるウィンドウを取得したかったので,色々調べてみた.その結果,GetForegroundWindow関数を以下のように使うと良いらしいことがわかった. こうすることで,プロセスの名前を取得することができるし,特定のウィンドウがアクティ…

PHPでステップ実行しながらデバッグする方法

「PHPで書かれたソフトウェアのデバッグをするときって,ステップ実行ができないから,print_r関数や,var_dump関数を使わざるを得ず効率が悪い」 こう思ってる人が結構いるようなんですが,実は勘違いです.というかこれは過去の話です.最近は,ZendDebugg…

mixiアプリ開発の落とし穴

mixiアプリが流行しているようです. 参考:mixiアプリ効果 PC版mixi、9月のPV・滞在時間が急拡大 この機会に,mixiアプリでも作ってみようかなという方も居るのではないでしょうか. そこで,Webアプリの開発に慣れていない人がmixiアプリを開発するにあた…

JavaScriptで文字列型から整数型への変換速度比較

JavaScriptであるデータを文字列から整数に変換する時に,下記のような書き方をよく見かけるんだけど,これって本当に正しいんだろか?って言うのが,そもそもの疑問. var num = “123456789” ? 0; 調べてみると,文字列から整数に変換するためには他にも方…

XULからローカルファイルの読み込み・書き込みを行う

XULからローカルのファイルを読み書きする必要があったので,その方法を調べていた. Mozilla developer centerを見ているとFIle I/Oについてのページがあって,これによるとXPCOMを利用することによって,ローカルファイルにアクセスすることが可能になるよ…

XULからスクロールバーの位置を取得する

Firefoxの機能拡張から,ブラウザで開いているページ内におけるスクロールバーの移動量(スクロール量)を取得する方法がわからなくて,しばらく悩んでいたんだけど,色々なサイトを行ったり来たりしているうちに解決したのでメモ. 通常,JavaScriptであれ…

Firefox機能拡張からローカルのexeファイルを実行する

Firefoxで現在表示している画面をキャプチャするために,何か良い方法はないかなぁと探していたんだけど,良さそうな方法が見つからなかったので,下記の方法をとることに. 機能拡張の中からローカルのexeファイルを実行する exeファイルでFirefoxの画面を…

プログラムからウィンドウのスクリーンショットを撮る

プログラムから定期的に,ブラウザのスクリーンショットを撮る必要があったので,C#でさくっと作ってみた. 最初,WM_PRINTを投げようと頑張ってみたんだけど,どうもWM_PRINTは他のプロセスに対して使えないらしい.そこで,PrintWindow関数を使ってみた. …

Firefox 拡張機能に手を出してみた

Webユーザビリティを評価するためのツールを作ってよ!みたいなことを言われたので,Firefoxの拡張機能として実装できないかどうか調べています. まずはとりあえず,拡張機能の仕組みとか,勉強しないとどうにもならないので,それっぽいWebページを探しな…

新しくTeX環境を構築する時に思い出すべき重要なこと

論文執筆といえばTeX,TeXといえば論文というように,論文を書くことを仕事とする人や,趣味とする人にとって,TeXはなくてはならないものです.そして,論文執筆の際に必ず付いて回る問題が,参考文献の管理です. TeXユーザは参考文献の管理に,BibTeXを利…

OSDE(Open Social Development Environment)が便利すぎる

通常,mixiアプリを開発するためには,以下の手順を踏む必要があります. ローカル環境で,mixiアプリを構成するためのxmlファイルを記述する. xmlファイルをサーバに転送する. mixiアプリの設定画面を開き,キャッシュを消去する. mixiのページにアクセ…

mixiアプリ「LoveCoke」を作ってみた

mixiアプリの作り方がだいたい分かってきたので,さっそく実際にアプリとして作ってみることにしました. 何を作ろうかなぁ,最初だし簡単に作れそうな奴がいいなぁとか思ってたら,目の前にコカコーラがあったので,コーラに関連するアプリと言うことで作っ…

Mixiアプリで出来ること,できないこと.

最近,Mixiアプリの勉強をしています.で,色々と小さなコードを書いているうちに,Mixiアプリで出来ること,できないことがわかってきました. これは,Mixiアプリに限ったことではなくて,Windowsアプリでも,Webアプリでも,組み込みアプリでも共通して言…

Youtube APIを叩いてみる

数日前に,PHPからニコニコ動画のAPIを叩いてみてたんだけど,動画の情報は取得出来ても,動画の再生を行うことが難しいことがわかったので,YoutubeのAPIに手を出してみることにした. とりあえずやったこととしては,以下の通り. 動画の情報を得る. Web…

PHPでニコニコ動画の動画情報を取得する

ここ2年ぐらい,ニコニコ動画の勢いが止まりません. そんな現状だから,ニコニコ動画と連携させるアプリを作りたいなぁとか思いつく事は,ごくごく自然な発想であり,私も同様の発想に至ったので,色々と調べてみました. ニコニコ動画は非公式ながら,各種…

mixiアプリ始めました&さっそく詰まりました

最近,mixiアプリの開発に手を出してみました. で,Mixi Developer Centerにある説明を読みながら,実際に動かしながら遊んでいます.が,ちょっと詰まってしまったので,メモ代わりに書いておきます. ユーザの情報を取得する方法として,下記のコードが紹…

身も蓋もないが本当に有効な「コードの書き方」

インターネットをぶらぶらしていたら,こんなエントリを見つけました. 身も蓋もないが本当に有効な「企画書の書き方」 身も蓋もないが本当に有効な「論文の書き方」 これって実は,どんな業界にも通じるところがあって,それはたとえばプログラマでも例外で…

JavaScriptで文字列を扱う際のデータ型とオブジェクトの処理速度

JavaScriptにおいて,文字列を扱う方法は下記の2つがあります. 文字列型として扱う Stringオブジェクトとして扱う ソースコードのチューニングをしていて,どっちで処理するのが速いのか,ちょっと気になったので調べてみました. 結論から言うと,以下の実…

奈良高専でプレゼンしてきた

奈良高専で,プログラミングの授業のお手伝いをしてるってのは前にも書いたとおりなんですが,私の研究内容,というか未踏のプロジェクトを学生の前で説明するっていうイベントが発生しました.

人に教えるって難しい

こないだから,母校,奈良高専で3年生のプログラミングの授業のお手伝いをしています. 基本的にお仕事の内容は,授業中に教室の中を歩き回って「困っている人がいたら助ける」という内容なのですが,これが非常に難しい.何が難しいって,人に教えるってい…

xampp環境でsymfony

近年のWebアプリ開発に欠かせないものと言えば,やはりフレームワーク. phpのフレームワークってホントに多種多様で,ぱっと思 いつくだけでもMojaviやMapleやethnaやcakeやZendやら色々あるんですが,最近何かとSymfonyの名前を聞くので,ちょっと 触って…

C言語入門者がポインタで躓く3つの理由

先日,とある一部上場企業で,「技術系新入社員の方にC言語を教える」と言う,とても楽しいイベントがありました. この講義では,Windows環境にCygwinのインストールから始まって,関数やポインタや構造体等を学び,10日かけてC言語を一通り使えるようにな…

GreasemonkeyでjQueryを利用する

たいていのプログラミング言語においては,includeとか,requireだとか,useだとかいう機能を使うことで,外部ファイルを読み込むことができる. ところが,JavaScriptにおいては,こういった機構が用意されていない.だけど,プログラムの実行に必要なライ…

ページ読み込み時のコード実行

代表的なものにGoogle Analyticsがあるんですが,WebサイトのHTMLに数行程度のJavaScriptのコードを埋め込んでもらうことで,何らかの機能を提供するサービスってのが存在します. こういったサービスを提供する場合,考慮しなければいけないことの1つに,オ…

JavaScriptでJSON使ってクロスドメイン通信

正直に言おう.実は,この記事を書いたときにはJSON?なにそれ?めんどくせー.と思っていた.でも,PHPでJSONを扱うを読んで実際に使ってみると意外と簡単だし,便利っていうことがわかった.食わず嫌い,良くないですね. めんどくさいと思っていた理由は…

JavaScriptでDOM解析with jQuery

JavaScriptで何かを作っていると,Webサイトの内容に応じて処理を振り分けたいと思うことがあります.静的なサイトが対象であれば,サイトを作ってる人は当然,サイトの内容を理解しているわけなので,そのサイトに最適化したコードを書けばよいわけなんです…

JavaScriptにおけるエレメントの指定ではまった

JavaScriptを使ったWebブラウザ上で動くアプリを書こうと思った時にまずぶち当たるのが,ブラウザによる挙動の違いです.で,そういったことを解決する方法として,prototype.jsやらjQueryやらDojoやらのライブラリを使うって言う方法があります. ところが…