プログラミング

railsにおけるデータベース間のリレーション

railsでデータベースのリレーションはMODEL.rbファイルに記述する. 1対1の場合所有しているモデルにhas_one,所属しているモデルにbelongs_toを設定する.設定するときは最初の一文字を小文字にする. リレーションの設定が完了したらコントローラ内でデー…

Settingleton (Setting + Singleton)

あまりデザインパターンにこだわるほうではないけど一つ多用しているパターンがある. それはシングルトンパターン. どう使うかというと設定値を保存しておくクラスをシングルトンにしておき,アプリの起動時にsqliteとかからロード,終了時に保存するとい…

Socialフレームワーク

SocialフレームワークとはiOSにビルドインされたFacebookとTwitter連携機能. jsonをやり取りするので非同期でないと処理がハングアップする. if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { SLComposeViewController …

Railsの*_urlと*_pathの違い

_pathは相対パスを _urlは絶対パスを返す 基本的には同じものと考えて問題ない

IntelliJ IDEAでPhoneGapアプリを開発するためのプラグインを作りました.

IntelliJ IDEAでPhoneGapアプリを開発するためのプラグインを作りました. これによりIntelliJの強力なコード補完やLiveEditをPhoneGapアプリ開発に利用出来るようになります. 開発はGithubで.

Railsでredirect_toでアクションを呼び出す

redirect_toでアクションを呼び出すことが出来る. 現在のコントローラのアクションを引数つきで呼び出す.引数は省略可能 redirect_to :action => :show, :id => 1 別のコントローラのアクションを呼び出す. redirct_to :controller => "users", :action =>…

UITableViewの使い方

ViewControllerをUITableViewDelegateとUITableViewDataSourceに準拠させておく viewDidLoad内でUITableViewのDelegateとDataSourceをselfに設定 以下のメソッドを実装 didSelectRowAtIndexはセルの選択時に呼び出される.segueを呼び出すなどの処理を行う.…

UIActionSheet

UIActionSheetを使うには, UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Upload" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"DropBox", @"Evernote", nil]; [actionSheet showIn…

IntelliJ IDEAでInterfaceメソッドを一括実装する方法

JavaのclassでInterfaceを実装するとき,Interfaceのメソッドを一括で実装したい場合が多い. IntelliJ IDEAなら簡単に可能.eclipseでも可能かもしれないけど. Macの場合Command + i Windowsの場合Ctrl + i

Objective-Cで画面キャプチャ

UIGraphicsBeginImageContext(self.view.bounds.size); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); QuartzCore/QuartzCore.hのインポ…

Objective-Cで別スレッドで処理

バックグラウンドスレッドで処理を行いたい場合は [self performSelectorInBackground:@selector(method) withObject:nil]; を用いる.withObjectにはメソッドの引数を指定する. メインスレッド(画面の描画を行っているスレッド)上での遅延実行は [self per…

webアプリにACEエディタを埋め込む方法

ブラウザ上で動作するエディタにACEエディタがあります. これはCloud9IDEの一部でJavaScriptで書かれたエディタです. 準備としてGithubからACEのJavaScripファイルをダウンロードしてください. https://github.com/ajaxorg/ace-builds src-min-noconflict…

Objective-Cで画像のリサイズ

画像トリミングについて imagePickerControllerで取得した画像をリサイズしてから使う方が何かと便利かも. -(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info ピッカーで画像選択後,info…

PhoneGap3のインストールと実行

PhoneGapを試してみたので覚え書き. http://phonegap.com/install/ PhoneGapに必要なもの. npm(node.js)環境 Ant Android SDK Api 19以上. Node Nodeはnvmが使いやすくていいかんじ インストール方法は公式のREADMEをみればわかる.下記コマンドは必ず全…

segueで条件分岐する方法

segueをボタンなどではなくViewから伸ばす. segueにidentifierを設定する.ここではtoChoosePictureという名前をつけた. [self performSegueWithIdentifier:@"toChoosePicture"sender:self]; を使い,遷移を実行する.データの受け渡しは - (void)prepareF…

プログラミング言語別プログラマーの呼び方

一種のジョークなんだけどプログラミング言語にはその言語を使う人の呼び名がある. これが結構苦笑いを誘発する.こんな言語もあってそれの信望者はこんな呼び方をされているよ.なんてのがあったらぜひコメントを. 言語 C C Programmer C++ C++ Programme…

PythonでHTTPリクエスト - urllib編 -

この記事で紹介した方法よりこっちの方がやりやすいかも?って方法を見つけたので urllibの公式ドキュメント 単にページのHTMLをダウンロードしたい場合urllibを使った方が簡単そう.手順としては 1. urlを文字列で定義 2. urllib.urlopen関数でurlを開く. 3…

PythonでHTTPリクエスト

PythonでHTTPリクエストをする方法は幾つもある.ありすぎて困った. しかし一般的にはhttplibを使うようだ. 単純にGETしたいだけなら HTTPConnection関数でコネクションを作成し,request関数で実行する.getresponse関数でレスポンスを取得. responseの…

アルゴリズムチャレンジ via Python (2) - Queue編 -

前回はStack編だったので今回はQueueを書いてみました. Queueは基本的にはStackと大差ないのですがStackが後入れ先だしなのに対し先入れ先出しです.待ち行列ともいいますね. 今回もclassを使います. class要件はこんな感じでしょうか? classは内部に配…

アルゴリズムチャレンジ via Python (1) - Stack編 -

アルゴリズムの勉強のために代表的なものを書いてみました.言語はPython. アルゴリズムの勉強 今回はお題には無いのですがStackを書いてみました. 実装方法は幾つもありそうですが今回はクラスを使います. Stack classの要件はこんな感じでしょうか? ク…

Ubuntu13.10でwineが起動しなくなった

コマンドラインからwineにインストールしたwindowsアプリケーションを起動する方法

Node.jsまとめ

Node.jsはサーバサイドをjsで書けるプラットフォームでGoogle V8をコアとする. Node.js自体は単なる環境でrailsのようなリッチなフレームワーク機能はない.自分でプラグインを適切に選択する必要がある. 最も普及しているのはexpress.柔軟なフレームワー…

コマンドの出力を表示させないようにする

.bash_profileでbashの初期設定を行った場合などコマンドの実行結果を表示させないようにしたい場合がけっこうある. コマンドの出力を表示させないようにしたい場合,出力先に/dev/nullを指定する. 正確には出力をnullデバイスにリダイレクトする. 例)ls…

Rubyまとめ

クラスとメソッドの定義 クラスHogeを継承したクラスFooにメソッドbarを定義する. class Foo < Hoge def bar //処理 end end クラスのインスタンス化 class = Class.new() Hash hash = Hash["foo" => 10, "bar" => 20, "hoge" => 30] hash["hogehoge"] = 40…

Linuxの起動時にプログラムを実行する - gnome-session編 -

Linuxの起動時にプログラムを自動で実行(Windowsでいうスタートアップに登録)する方法は昨日の Linuxの起動時にプログラムを実行する. - initスクリプト編 - - masahirosuzuka's blog がお行儀がいいというか正当なやり方なんだけどUbuntu13.10の場合GUI…

Linuxの起動時にプログラムを実行する. - initスクリプト編 -

Linuxの起動時にプログラムを自動で実行(Windowsでいうスタートアップに登録)するには /etc/rc.d/rc.local に自動実行したいコマンドを書く. このファイルは起動時に最後に読み込まれるファイルでユーザが自由に記述することができる.

Xcodeのプロジェクト名を変える

あまり機会は多くないかもしれないけどXcodeのプロジェクト名を変えるときの注意点. Delegateのファイル名を変える Delegateのクラス名を変える xibファイルのobjectsのクラスを変える pch(プリコンパイル)ファイル名を変える(target) prefixのファイル…

Xcodeにフレームワークを追加する方法

TARGETS -> Build Phasesタブ -> Link Binary With Librariesから追加.

UTF-8とS-JISの改行コード

UTF-8の改行コードは\n S-JISの改行コードは\r\n 最近はS-JISを使う機会が減ってきたのであまり気にしないでいいかな

Playframeworkのプロジェクトをeclipseにインポート

初期設定 Playframworkからeclipsifyコマンドを実行 eclipseのFile -> import -> General -> Exsisting Project …からインポートを実行 eclipseのパーペクティブはJavaにしておく,PlayはJavaEEに基づいていないため 参照jarがごちゃごちゃして見にくいため…