2014-01-01から1年間の記事一覧

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

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

CocoaTouchで最初にロードされるビューの変更方法

CocoaTouchはAppDelegateが呼び出され,AppDelegate 内の - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions メソッドがアプリケーションを初期化する. その際最初にロードするxibファイルは…

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

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

AndroidのUIオブジェクトへのアクセス

AndroidのGUIビルダーで配置したボタン等へアクセスする方法. 基本中の基本ですが コンポーネントクラスをクラス変数として定義し,Activityで定義されているonCreat関数内でfindViewById関数を使って取得する.引数にIDを与える.IDはRファイルに自動生成…

KiCadをLinuxにインストールしてみた.

KiCadをLinuxにインストールしてみた. 環境はUbuntu13.10 64bit. KiCadはWindowsでも動作しますがLinux版のほうがぶっちゃけいいです. ppaで提供されているものは結構バージョンが古かったりするので,公式で提供されているインストールスクリプトが最も…

Playframeworkのテストについて

最近人気のFrameworkのPlayframeworkを触ってみたので PlayはJUnitベースのテストシステムを利用している. testフォルダ以下にテスト群を定義する. テストは一つのメソッドにする.メソッドには@Testアノテーションをつける.テストはassertThatメソッドで…

JavaによるHTTP Requestの投げ方

昨日の投稿とかぶっている部分があるけど… JavaでHTTP Requestを投げる方法 今回はHttpURLConnectionクラスを使ったやりかた. HttpURLConnectionはJavaSEのライブラリ.Androidでは使えるかわからない. http://docs.oracle.com/javase/jp/6/api/java/net/Ht…

AndroidからJSONをポストする

HttpPostクラスを使う.AndroidからXMLをPOSTすることはあまりない.通常はJSONを使う. AndroidManifest.xmlにandroid.permissions.INTERNETを設定する必要がある. Androidエミュレータから外部APIに接続する場合,localhostを指定してはいけない.locaoho…

Javaスレッド

Javaでスレッドを使いたい場合 public MyThread extends Thread { @Override public void run(){ //処理 } } あるいは public void MyJob { public void doJob() { //処理 } } と定義しておいて final MyJob myJob = new MyJob(); (new Thread(new Runnable(…

Objective-CでJSONを扱う.SBJson編

昨日紹介したNSJSONSerializationはCocoaTouch純正だったけど登場したのはiOS5以降,それ以前はSBJson(旧JSONFramework)がよく使われていたらしい. ちょっと試しただけだけどNSJSONSerializationに勝るとも劣らない高機能っぷりでした. インストールにつ…

Objective-CでJSONを扱う.NSJSONSerialization編

iOS5以降はTwitter統合の関係上NSJSONSerializationクラスが追加されたのでJSONがぐっと楽に扱えるようになった. 以下のコードはInstagramにアクセスしたときに書いた実験用のコードの一部. NSString *url = @"SOME_URL"; NSURLRequest *request = [[NSURL…

UIView(とそのサブクラス)を動的に生成する

基本中の基本ですがUIViewを動的に生成し,加える方法. //Create UIView CGRect thumbnailsRect = CGRectMake(0.0, 0.0, 150.0, 150.0); thumbnailsView = [[ThumbnailsView alloc] initWithFrame:thumbnailsRect]; ... //Set thumbnailsView [[self view] …

iOSでタッチされた座標を取得

iOSは(Androidとかでもそうだけど)画面がタッチされたらEventが発生する.Eventはオブジェクトとしてアプリに通知される.Eventオブジェクト内部にタッチされた座標などの情報が含まれているのでそれを取り出してやればOK. イベントハンドラをオーバーライ…

UIScrollViewのスクロール速度の変更

UIScrollViewのサブクラスはスクロール速度を変更することができる. UICollectionViewなどはスクロール速度が速すぎると落ちる可能性がある(経験談). プロパティの decelerationRate を変更すればOK.速度は UIScrollViewDecelerationRateFast UIScrollVie…

Cocoa ApplicationのAboutPanelの設定

Supporting Filesフォルダ内のCredits.rtfがAboutPanelに表示される リッチテキストがそのまま使える

KiCadでガーバーファイルからちょっとしたリバースエンジニアリングをする.

KiCadには高性能なガーバービューアのgerbviewが搭載されていて他の回路図CADで描かれたガーバーも楽々読み込むことができる. 他のオープンソースハードウェアプロジェクト(以下,OSHプロジェクト)の成果物を眺めて参考にしたい場合などはこのgerbviewが地…

NSMutableArrayでオブジェクトの入れ替え

オブジェクトの入れ替えなんてあまりやる機会はないかもしれないけどそれだけにあんまり情報がないので… exchengeObjectAtIndex: withIndex: を使えば簡単に入れ替え可能.

PC命名規則

PCの命名規則を変更したので これまでPCのホスト名は天使の名前を拝借していたんだけど段々少なくなってきたので命名規則を変更することにした. 惑星の衛星とかそういうのでもいいんだけどもっと機械的につけられるほうがめんどくさくなくていいかな…という…

ubuntuではhaltが効かない

Ubuntuは一般的なLinuxと違い sudo halt でシャットダウンする事が出来ない ではコマンドラインからどう電源を切るかというと sudo poweroff を使う

iOSで乱数を使う

Cのrand()が使える.srand()が少し独特. srand([[NSDatedate] timeIntervalSinceReferenceDate]); int val = rand();

iOSのUITableViewでStaticCellsを使うには

iOSのUITableViewでStaticCellsを使う方法はすごく簡単 1.IB上にTableViewControllerをドロップ. 2.Attributes InspectorからStaticCellsを選択. これだけでスタティックなセルを使うことができる. カスタムコントローラを設定する場合は initWithStyle v…

GDCによる非同期実行

UITableViewやUICollectionViewで画像をダウンロードするときなどに使う. 非同期実行キューに処理を追加する. dispatch_queue_t q_global, q_main; q_global = dispatch_get_global_queue(0, 0); q_main = dispatch_get_main_queue(); q_globalは非同期実…

UIRefreshControlの使い方

引っ張って更新を簡単に実装するためのコントロール @property (retain, nonatomic) UIRefreshControl *refreshControl; @synthesize refreshControl = _refreshControl; しておき,viewDidLoadとかで _refreshControl = [[UIRefreshControl alloc] init]; […

NSManagedObjectのデータ操作

NSManagedObject(とそのサブクラス)のプロパティを操作するにはKeyValueCodingを使う NSManagedObject *object … [object setValue:value forKey:@"key"];

UIImageをNSDataにして保存

UIImageをNSDataに変換するには PNGの場合 NSData *data = UIImagePNGRepresentation(self.pngImage); JPEGの場合 NSData *data = UIImageJPEGRepresentation(self.jpegImage);

wxPythonメモ

Ubuntuではaptを使って必要なパッケージをインストール可能 sudo apt-get install python-wxgtk2.8 Python系はチュートリアルが異様に充実していることが多々あるがwxPythonもご多分にもれずwikiが充実している. wxPyWikiのGettingStartedページはこちら 最…

UITableViewやUICollectionViewが編集中に遷移してしまって困る

CollectionViewやTableViewを編集するには当然タップする必要がある.しかしうっかりCellにセグエを結びつけていると編集中でも遷移してしまう. これを解決するためには TableViewCellやCollectionViewCellに設定されているセグエを削除し,ViewController…

Linux64bit版ではadbが動作しない

Linux 64bit版ではadbが adb : Cannot run program error=2 をはいて起動しない.調べてみるとどうやらadbには64bit版のものはないらしい. ではどうするかというと32bit版のライブラリなどをインストールしておく. Ubuntu 13.04まで sudo apt-get install …

Linuxではeclipseはどこにインストールするか?

普通は /usr/local/ にインストールするかソフトウェアセンターでインストールする だろうと思ってしまうけどプラグインがユーザ単位で管理出来ない,最新バージョンが使えないなど問題点がある. 釈然としないものはあるけど /home/ユーザ名/ にインストー…

Ubuntu13.10とWindowsのデュアルブート環境を構築中

ネイティブで動くLinuxマシンが欲しいなと思い現在Windows VistaとUbuntu13.10のデュアルブート環境を構築中. インストールはあっさり終わったものの再起動したらなぜかBIOS画面が出てこない. 仕方が無いのでBIOSリセットをしてみよう.