アンドキュメンテッド・ユニバーサルリンク

Apple のユニバーサルリンク対応をしたときに、ドキュメントに記載されていない内容に気づいた。 基本的には、開発ドキュメントとか、blog に書いてあるのを実装すれば良い。 App Search プログラミングガイド: ユニバーサルリンクへの対応 1. apple-app-sit…

distnoted について

mac が朝から暴走した Activity Monitor を見たら distnoted とのこと。 初めて見る daemon だったので、man した。 man の内容 man page distnoted section 8 ソースコードが時間内に見つからなかった… どうも Apple にクラッシュ状況を通知するデーモンの…

API Document Tools

API って言った時に、API のリクエストを投げる方なのか、API の受け口の方なのかを意識しないと話がよくわからない 私です。 (つらっと雑談を書いた所、思っていたよりもアクセス数があったので他のところで書いた記事を転記します) そんな私が API Documen…

某イオンモールにて

先日、妻の実家にいた時のこと 今度、小学生になる幼稚園児の意気込みが書かれた掲示物があった。 大きな桜の幹を模した紙が幼稚園ごとにあり、桜の花びらの形に切られた紙には子どもたちの「意気込み」が書かれていた。 桜の花びらを一枚ごとに見ていくと「…

colemak の話

こんにちは、 Qooh0 です。 冬の寒さが一段と増してきましたね。 いかがお過ごしですか? VOYAGE GROUP エンジニアブログ Advent Calendar 2015 の19日目です。 さて、我流でキーボードの打ち方を学んだ人なら「親指が痛くなった」という経験があるかと思い…

hubot で雑談したり、FAQ に答えてもらう

Slack + hubot + DoCoMo API で雑談したり、FAQ に答えてもらう方法

Rails プロジェクトの実行環境を作る

これからしばらく Rails についての blog を更新していきます。 そのための下準備として、Ruby の実行環境を作り方を記載していきます。 ■ プロジェクトの実行環境を作成する 昔は、実行環境を構築するまでが一苦労でしたが、今は誰かが用意してくれたやつを…

昔ながらの Private 関数の宣言、見にくくない?

■ その昔 Ruby には このような書き方しか許されてなかった… class Hoge def fuga end def jack end private: def sage end def age end end ■ 今 しかし、時代は変わった class Hoge private def sample end end def の前に private ってかけるようになった…

YAPC Asia 2015 に参加してきた

YAPC::Asia に参加してきました。 一晩寝て、強く印象に残っているのは - HTTP/2時代のウェブサイト設計 - Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜 - Profiling & Optimizing in Go - Adventures in Refactoring です。 この中のい…

IP Address かどうかの Validator (ruby, rspec)

IP Address は IPv4 と IPv6 があるのは御存知の通り。 RSpec とかでバリデーションしたいときに、どちらかであることをチェックしたいことがあります。 ユーザーの IP Address とかを DB に保存するときの Validation として使います。 StackOverFlow など…

SICP 問題 2.5

どのように解いたかは、下記のリンクに記載しました。 https://gist.github.com/Qooh0/172078ef015bfd4b8612 ここにハマった (car x) を作成するときは、2 ^ a を調べればいいので、偶数かどうかを調べればよかった。 (cdr x) も作成するときは、奇数かどう…

Ansible で疑問に思ってたことを聞いてみた

昨日、@usaturn さんに Ansible について聞く機会があったので、お話を聞かせていただいた。Q. Ansible って、結構使ってますか? A. 普通に使ってます。Q. Ansible + Vagrant の場合、ユーザーはどうしていますか?vagrant ユーザーを使用していますか? A.…

Ansible で PATH を追加する系の処理は、なんとかならないものか?だった話

open source configuration management utility という分野で Chef, Puppet もあるが Ansible しかわからないので、このタイトル。インストール手順に PATH を通すために .bashrc に記載が必要という処理は、わりとよくある。例えば nodebrew だと以下の様な…

バックパックを考えた

バックパックのサイトを見て、たまに買おうかどうしようか悩む。 毎回、位置から悩むのは馬鹿らしいので、ここまで選んだものをピックアップ!この中から選べばいいんじゃないかな。1. 通気性ならこれ! deuter http://www.deuter.com/JP/jp/%E3%83%88%E3%83…

jq を使ってみた

jq を使ってみたjson の結果を見やすく整形するツール。 だいぶ前に話題になっていたのを、ようやくサワれる感じ。ここからはチュートリアルに沿って見ていく。Twitter の 直近 5 個の json という単語を含む検索結果の tweet を拾ってくれる API を叩く。 c…

node.js のバージョンを上げる

version up / node.js sudo npm cache clean -f sudo npm install -g n sudo n stablerefs : http://davidwalsh.name/upgrade-nodejs

「INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session」エラーが発生した場合

以下の2つの可能性が考えられる。 ・必要な metadata がない ・OS の書き込み権限がない[解決方法] ・OS の書き込み権限がない清らかな心で、一旦 Force.com IDE を閉じる。 スタートから、Force.com IDE を右クリックし「管理者権限で実行」をクリック。と…

html-helper-mode のキーバインド (一部)

なにげに はてダ記法の >| --||| -- || C-c # : ascii code C-c " : Quotation mark C-c $ : Registered C-c @ : Copyright C-c - : soft Hyphen C-c : Nonbraking Space <- C-C の後にすぺーす C-c & : ampersand C-c > : Greater than C-c < : less Than <head> </head>…

heroku の ssh key を変更する (複数人で heroku アプリを使う)

heroku に login $ heroku loginheroku の ssh の鍵の削除 $ heroku keys:clearheroku の ssh の鍵を追加 $ heroku keys:addheroku を gitconfig に追加 git remote add heroku git@heroku.com:myApp.githeroku に アップロード git push heroku master

heroku の client を さくらの VPS (CentOS) で使う

heroku client のページから tgz をダウンロード あとは、展開して、PATH を通すだけ

rbenv で Ruby をインストールするときの注意点

いまのとこ、みんな大好き rbenv rbenv install するときに できるだけ library を入れておいたほうが良いよ。 さもないと gem install bundler 等をした時に、謎のエラーで困ることになる。例えば、さくらの VPS で gem install bundler をする時に、以下の…

git + lv で diff や logの時に文字化けが起こったので修正した

まぁ、いろいろあって文字化けががが…~/.gitconfig pager = "lv -c -Au8"を入れました。 lv のオプションは c は ascii escape sequences をテキストデコレーションに使うことを認める Au8 は -A は Input/Output のエンコードの制御をするという指定 u8 は …

ダーク・シャドウ

先日、ダーク・シャドウを見てきた。予告動画 とまぁ、そんな内容です。 これ以上でも、これ以下でもありません。エヴァ・グリーンのドレス姿が可愛かったですね。> 新宿バルト9 のサイトが糞だったり、運営がダメダメだったので、見るまでにイライラが募っ…

PHP のバージョンをコントロールしたい on Ubuntu

PHP

まぁ、だいたい /usr/local/php-5.4.3 的なインストールをして /usr/local/php からソフトリンクを /usr/local/php-5.4.3 に貼るよね。具体的に記憶をたどると /usr/local/src/php-5.4.3 に tar ボールを展開 .configure --prefix=/usr/local/php-5.4.3 make…

python の開発環境を作る

もはや Python の開発環境作成が面倒くさすぎて、他人には勧めないけど 必要にかられて環境を途中まで作ったので、記載しておきます。distribute のインストールPython のパッケージ管理ソフト curl -O http://python-distribute.org/distribute_setup.py su…

sakura VPS で mongodb を動かす

いろいろあって Sakura の VPS にMongoDB をインストールした。 能力とか、MongoDB の落ちやすい性質を考えると、正気の沙汰とは思えないけど テストなので淹れるっちゃ。公式ドキュメント通りにやると、次の二つのコマンドが必要になった。 sudo yum instal…

Dragon ball Evolution

鳥山明原作のあれ。話題になったあれ。最初の 20 分でお腹いっぱい。いや、むしろよく 20 分頑張った。

A bridge too far

コーネリアス・ライアン原作の歴史映画。たぶん三回目。 第二次世界大戦の西部戦線のお話。当時の西部戦線は、ノルマンディー上陸作戦後、大きく分けて 2つのチームがドイツを目指していた。北側はモントゴメリー、南側はパットン。フランスのノルマンディー…

checkinstall を使ってインストール

削除を綺麗にしたいため checkinstall を使ってパッケージを作って インストールするようにしている。Sakura の VPS でも使っている。 インストール方法 sudo git clone http://checkinstall.izto.org/checkinstall.git cd checkinstall sudo chown -R user:…

sakura の VPS の CentOS に zsh とか git を入れた話

zsh $ sudo yum -y install zsh yum の -y は、質問されたら yes と答える設定sudosudo を使えるようにするには、次のコマンドで編集する。 # visudo 下記の部分をコメントアウト %wheel ALL=(ALL) NOPASSWD: ALL group の編集をする。次のコマンドで編集す…

俺がアジャイルを推進するSIer の親玉なら…

ピザ屋が楽しみでしょうがないピザです。 誰がピザだ。ピザ屋に行くまでに微妙に時間があるので、戯言・妄想を書くよ。 もしアジャイルを推進する SIer の親玉なら、これほど稼ぎどきと思うことはないな。まず、「よーし、君をアジャイラーに変身させてあげ…

Azure 開発において、ファイルアタッチ DB を使用する

赤間さんの PPT に書いてはあるのだけど、検索できるように抜粋。 - ファイルアタッチデータベースを利用する場合には、マイドキュメント下ではなく、 C:\ 直下に適切なフォルダ(例:C:\DevProjects など)を作成し、そこに プロジェクトファ…

「BPM とかを読み下す」までの流れ

BPMN ビジネスモデルは BPMN という「書く人によってなんとなく書かれるモデル図」として記載される。 BPMN の内容とチケットの内容を紐付けると次のようになると思う。 (この記事を参考にさせていただきました) [フローオブジェクト] イベント = status (to…

Voyage Group に転職しました

Voyage Group に転職しました。 // こういう時に、どこの子会社で働いているかとか、書いていいものか迷いますな。基準は人私は人を見て、仕事先を決めています。実は、前職も人で選びました。 前職はこの人と働いてみたいなー、今回は この人のいる会社なら…

PHP で画像のサムネイル

PHP

PHP で画像のサムネイルを作る。作り方は簡単。 PHP Thumbnailer をダウンロードしてくる。 PHP のソースと、plugin のディレクトリを適当にコピー。 require_once で呼び出す。 (サンプルソースは、PHP のソースと同じ所に書いています) adaptiveResize(100…

医師の説明を受けて感じたこと

今日は父親のがん手術の術前説明だった。医師は、説明に紙とペンを使い、必要なところだけPCを使っていた。例えば、内視鏡の写真や、スキャン結果にPC を使用していた。IT 系だとすべての説明にパワポやWord, Excel を使ってしまうところだけど、その場で必…

デコレータ

デコレータについて書こうとしたら、エキパイのまんまに近くなったので割愛。 自分的には、下書きにあるよ〜使い所は、下記の通り。 引数チェック キャッシュ プロキシ コンテキストプロバイダ 一つ一つについて、エキパイには、サンプルがあるので読むと良…

ipython のメモ

ipython の使い方のメモを付箋に残しておいたんだけど、見事に忘れていたのでblog化。ipython -cl で、doctest にも使える >>> という出力をする。 object? で、object の情報を出力 @run filename で、ファイルを実行 @pdb (filename) で、pdb 実行 In[n] …

Ubuntu に Symfony2 のインストール

PHP

http://symfony.com/download 上記から、tgz を落としてきて、適当に展開。 app/cache app/logs の権限を apache が書き込みできるようにする sudo aptitude install sqlite と /etc/php5/apache2/php.ini の date.timezone を "Asia/Tokyo" とする。推奨設…

PHP の複数バージョンの環境を作る

PHP

phpenv をインストールphpenv : https://github.com/CHH/phpenv ソースを取って来て、インストールする。 git clone https://github.com/CHH/phpenv.git ./phpenv-install.sh Now add /home/qooh0/.phpenv/bin to your $PATH, add eval "$(phpenv init -)" a…

python の sort()

Python 3.2.1 で出力。元データを破壊するソート >>> data = [6,3,4,5,2,1] >>> data.sort() >>> print(data) [1, 2, 3, 4, 5, 6] 元データを破壊しないソート >>> data = [6,3,4,5,2,1] >>> data2 = sorted(data) >>> print(data) [6, 3, 4, 5, 2, 1] >>> p…

with statement

python には、with というファイルのIO 関連のステートメントがある。ex. try: f = open('hoge', 'w') print('This is ', file=f) except IOError as err: print('File IO Error : ' + str(err)) finally: if 'f' in locales(): f.close() これは、下のよう…

ジェネレータ

早い話が yield で、処理を止めて値を返す。 値が1つずつ処理できるので、list の全体をコピーするよりもパフォーマンスが良い。エキパイには「ループ処理や、シーケンス処理を返す関数を実装する時は まずジェネレータの利用を検討すべき」と記載がある。 …

イテレータ

iter() に シーケンスを渡すと next() が使えるようになる。 早い話、連続データを iter(hoge) というカタチで渡すと、一個一個処理できるという話。 >>> hoge = ['hoge', 'fuga'] >>> a = iter(hoge) >>> print next(a) dictionary は順序を持っていないの…

python 3k で print 関数のあと改行したくない

python 2.x 系の場合、開業したくない時は 会社を設立しなければ良い。ちがう。 python 2.x で改行したくない時は print hoge, だった。python 3k では、 print(hoge,end='')

Mac で Python のマルチバージョン環境

rvm みたいなものを、mac に入れる。 よくある話に習って Pythonbrew の上に VirtualEnv を置くカタチにします。 Pythonbrew のインストール github : https://github.com/utahta/pythonbrew次のコマンドを実行します curl -kL http://xrl.us/pythonbrewinst…

Web アプリの管理画面からのデータダウンロードには TSV を使うべき3 つの理由

CSV か TSV かってお話。CSV - , (カンマ)でデータを区切る TSV - [TAB] (タブ)でデータを区切るWeb アプリの管理画面からデータをダウンロードできるようにする場合は TSV の方が良い。理由 ・カンマは結構入力される ・カンマはデータの途中でも、カンマな…

名前だけ持ってくるイベントとかやめようぜ

だいぶ前に ある ML に投げた内容だけど Blog に書く。海外のイベントの名前を安易に日本に輸入する人がいるが、大問題だと思う。 これは何も知らない購入者に偽ブランド品を買わせる行為だ。 たとえば、世界中で行われている A というイベントがあったとす…

リスト内包表記

あぁ、とうとう Python カテゴリーを作ってしまった。たまに Expert Python の内容を忘れてしまうので、メモがわりに記載。 ま、順々に。 リスト内包表記 単純な例は >>> [i for i in range(10)] [1,2,3,4,5,6,7,8,9,10] for の前に本体を書く。 つまり、C …

認定スクラムデベロッパーを日本でやらないか?

去年くらいから、日本での 認定スクラムデベロッパーの要望が、ぽつぽつ出始めました。認定スクラムデベロッパーは、基本的には、スクラムマスターと同等の金額で スクラムマスター研修は 2 日のところを約一週間かけて行う研修(odd-e の場合)です。日本で研…