カテゴリー別アーカイブ: IT

AFHTTPClient を JSONパースする時の注意点

AFNetworking 便利ですよね。

Authorzationヘッダに常に特定のトークンを投げつつ、送受信データは常にJSONエンコード/デコードしたいというケースがあると思います。

以下のサイトに書かれている事でだいたい良いんですけど、ハマりどころが2点あったので、ちょっと記事にしときます。

registerHTTPOperationClass: はサブクラスじゃないと動かない。
最初ただのインスタンスに対してこれを呼んでたのですが、それだとダメでした。

AFJSONRequestOperation: は拡張子が”json”のリクエストにしか働かない。

こいつを見つけるのに苦労しました…。何度やってもNSDataのオブジェクトが返ってきて、あれーっ、と。

結局、サーバー側の仕様で”.json”をつけてもつけなくても同じ処理をしてくれるようになってたので、”.json”と拡張子をつけて解決。

 

…そういえば、結構技術系ブログをしっかり書いてる人って、綺麗に整形してる人が多いけど、あれってWordPressだとどうやるのが良いんだろ…? CSS書けば出来るけど、良いプラグインとかあるのかなーっ、という。

CocoaPods で “Your local changes to the following files would be overwritten by merge” が出たときの対処方法

今働いてる会社を年内で退職する事が決まったあおみかんです。
来年度から某大学に再入院します。再検査ですね!

さてさて、それは兎も角、CocoaPodsという便利なObjC向けのライブラリ管理システムがあるのですが、別プロジェクトで”pod setup”をしたら、 “Your local changes to the following files would be overwritten by merge” というエラーが出てきまして、その対処方法です。

「~/.cocoapods ディレクトリを削除する」

これだけです。怖かったらmvでどこかに移動しておくと良いと思います。

~/Library/Caches/Cocoapods にも何かcocoapods関係のファイルが転がっていて、何が何だか分からないんですが、詳しい人教えて下さい…w

wordpressのdbDelta関数は本当に融通が利かない

ちょっとwordpressを久々に触ってたときに気づいたことをメモ。
日本語のドキュメントにはきちんと書いてない。→ ずいぶん前に編集権限を頂いていたことを思い出して編集しておきました。

WordPressのプラグイン書いてるとこんなコード書くことがあるじゃないですか。

…なんだけど、僕が修正してたプラグインには、こんなコードが書いてあったんです。

ま、改行がないだけです。そのぐらい良いか、って思うじゃないですか。

だめでした!!!

何かね、dbDeltaって自動でALTER TABLEとかやってくれるんだけど、フィールド定義ごとに改行してやらないとダメなんだって。
英語版のドキュメント( http://codex.wordpress.org/Creating_Tables_with_Plugins )には書いてた。

You have to put each field on its own line in your SQL statement.

こんな感じに。あぁ、なるほどって感じですわ。

やっぱ日本語ドキュメント参照するとコケるなぁ。 1時間ぐらい無駄にしました。。とほほ。。

Redmine CSV Import Plugin をフォークしてちょっと手直ししてみた

Redmineの記事が2連続…w

パソコン入門: RedmineにCSV Importer Pluginインストールという記事を参考にしつつ、CSV Importer Pluginを導入してみたんですが、動きませんでした。

どうしても動かしたかったので、適当に修正しました。
そう、わざわざエントリ書いてるって事は、このコードは公開しているという事です!
https://github.com/AknEp/redmine_importer

farendさんが上手いこと後方互換も気にしつつマージしてくれたら良いなぁと思いつつ、とりあえずGitHubの使い方もよく分からないし、エントリ書いてみた次第です。

そうそう、csvのサンプルファイルとかダウンロード出来ると良いよなぁって思うんだよな。 そのプロジェクトにある実際のバージョンやユーザ名を使った凡例や例示が含まれてたら、凄く使い勝手が良いと思う。。
あと、ファイルアップロードだけじゃなく、テキスト貼り付けでも出来たら良いような。いちいちcsvファイルに書き出しするより、Pagesからコピペした方が圧倒的に効率が良いよね。

…とか思ってるけど僕がコード書く可能性はあんまり高くないです。。。

そうそう、ユーザの名前欄はログイン名、それ以外はだいたい画面に表示してる名前でOKですよ。

Redmine を開いたらすぐマイページを表示する

皆さん使ってますか、Redmine。 超便利ですよね。もう、ナシで物作りなんて考えられません。
僕は、tkbgame こと Campus Notesの開発や、会社の仕事で使いまくってます。

さて、便利なRedmineですが、ホーム画面を開くと、大事な情報が何も載ってないページに飛ばされるの、鬱陶しくありませんか?

そこで、「ホーム」(redmine_url/) を開いても、マイページ(redmine_url/my/page)を表示したのと同じ状態にする方法を紹介しようと思います。

Redmineのインストールディレクトリ以下の、 /config/routes.rb をvimかnanoかemacsあたりで開いて下さい。

こんな行があると思います。

これを、以下の様に書き換えて下さい。

あとはApacheなりNginxなりRailsを動かしている大本のサービスを再起動してやれば、ホーム画面を開いてもマイページが表示されます。

…尚、コードを勝手に書き換えちゃってるので、あまり良い方法じゃ無いのと、何をどうやってもhomeが表示出来なくなるので、注意が必要です。困ったときは、元に戻しましょう。 (そのためのコメントアウトですw)

gitolite で管理者アカウントを消しちゃった時の対処法

さっき、gitoliteのadmin用のリポジトリで、keydirに2行書いたんですよ。
authorized_keys のノリで出来るだろうと思って。そしたら、出来なかった。

で、出来ないだけじゃなくて、何か僕の管理者ユーザがPermissin Denied になっちゃったんですよね。 …そんな再起不能な事するなよ!っていう。

結局、 ~gitolite/.ssh/authorized_keys をそれっぽく書き換えてあげると、Permission Denied が解消されて、修正内容をpushすることが出来ました。めでたしめでたし。