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

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リセットをしてみよう.

NETGEAR GS105レビュー

使い始めてすこし経ったのでGS105のレビューを書きます. 今回届いたのはGS105v4でした.v4はどうやらバージョン4のことらしいです.何度かマイナーチェンジをしているらしいですね. 大きさは手のひらにすっぽり収まる感じ.形は正方形に近く,色は落ち着…

Android-ndkで動的ライブラリをロードする

soファイルは/data/data/<Application-name>/lib/ に格納されている. これをロードする時は,クラス内部で static { System.loadLibrary("<library-name>"); } <library-name>はlibと.soを外す. libhello-jni.so の場合,hello-jniとなる.</library-name></library-name></application-name>

UIButtonのtitleの設定方法

[self.button setTitle:@"title" forState:UIControlStateNormal]; で変更が可能.forStateを指定しないと変更できない.

FTDIのUSB変換チップのproduct_idとvender_id

USB機器にはproduct_idとvender_idがある. 有名なFTDI社製のUSB-Serial変換チップのproduct_idとvender_idは以下の通り. vender-id : 0403 product-id : 6001

UICollectionViewの使い方

1.IBからCellサイズなどを設定する.Outletを接続しておく. 2.UIViewControllerのViewDidLoadメソッドでデリゲートとデータソースを設定しておく.registerClassはセルを登録している. viewDidLoadしているのがUICollectionViewControllerのサブクラスの…

NASを購入しました

以前NASが欲しいとブログに書きましたがついにNAS(とその他必要なもの)を買ってしまいました. QNAPのTS-220がいいのかなと思っていたのですが結局買ったのはNETGEARのReadyNAS102. NETGEAR ReadyNAS102 これがNAS本体.NTT-Xで9980円の箱汚れ品を買いまし…

Go言語で電卓を作ってみた

Go言語で電卓を作ってみました. 四則演算限定でエラーチェックも中途半端なやっつけ. package main import ( "fmt" "bufio" "os" "strings" "strconv" ) func main() { s := bufio.NewScanner(os.Stdin) for s.Scan() { token := strings.Split(s.Text(), …

Go言語で標準入力を使う

Go言語でコンソール入力を使うにはbufioパッケージとosパッケージを使う. s.Scan()で一見sは文字列型に見えるがbufio型のままなのでs.Text()で文字列型に変換する. package main import ( "fmt" "bufio" "os" "strings" ) func main() { s := bufio.NewSca…

LLVMではinlineが使えない?

タイトルそのまま.LLVMではinlineが使えない? LLVM5.0でinlineを使おうとしたらリンカエラーになった. static inlineはサポートしているのでinlineを見つけたら頭にstaticを付ける.もしくはinlineキーワードを削除.llvmの最適化はかなり強力らしいので…

MacでObjective-Cを使い,壁紙を変更する方法.

Objective-Cで壁紙を取得したり変更するにはNSWorkspace Classを使う. リファレンスはこちら. https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/Reference/Reference.html 壁紙の取得に…

Macで起動中のアプリの情報を取得

OSXではQuartz Window Serverから現在起動中アプリの情報(正確には起動中のWindowの情報)を取得できる. やり方は簡単. CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionAll, kCGNullWindowID); kCGWindowListOptionAll は全ての…

Xcodeでmissing base SDKsと表示された場合の対処法

古いプロジェクトをインポートした場合は結構このエラーが出る. これはこれはSDKがインストールされていないことが原因. ターゲットとなるSDKをPreference->Downloadsからインストールしてしまうのがてっとり早いけどBase SDKを現在のシステムのものに変え…

他のアプリのイベントを監視したい.

他のアプリが受け取ったイベントを監視する方法を調べたので 環境はOSX 10.9 Marvericks.でも10.0以降なら大丈夫そう. OSXに限らずグラフィカルなOSは基本的にイベント駆動形式をとっている. マウスの右クリックやキーダウンによってOSがイベントを発行し…

MacのStatusBar Applicationのつくりかた

Macのメニューバーの右側,spotlightとかがあるところはStatusBarと呼ぶらしい. StatusBarに常駐し,Dockには特にアイコンが現れないアプリをStatusBar Applicationと呼ぶ.Windowsでも同じだけど. ふと思い立ってStatusBar Applicationの作り方を調べてみ…

GoでFizzBizz

Goの文法の確認のためGoでFizzBizz問題をやってみた. package main import "fmt" func main() { for i := 0; i < 100; i++ { if ((i % 15) == 0) { fmt.Println("FizzBizz") } else if ((i % 5) == 0) { fmt.Println("Bizz") } else if ((i % 3) == 0) { fm…

UIViewがxibから呼び出される時に呼び出されるイニシャライザ

xibからUIViewが呼び出されるときに呼び出されるイニシャライザは initWithCoder

Objective-Cでシングルトン

静的インスタンスを生成し,一つだけ生成したインスタンスをいれておく. ファクトリクラスメソッドを使い,インスタンス未生成時のみインスタンスを生成する. retain, retainCount, copyWithZone, release, autoreleaseをオーバーライドする. ARCを使って…

はてなブログのMarkdown記法でシンタックスハイライトできる言語

はてなブログのMarkdown記法でシンタックスハイライトできる言語の一覧を探していたんだけどこれかな? https://github.com/github/linguist/blob/master/lib/linguist/languages.yml

iOSのNavigationBarにButtonを付ける

NavigationBarにはButtonItemをセット出来る領域が3つある. 左 leftBarButtonItem 中央 centerButtonItem 右 rightBarButtonItem UIBarButtonItem *bbi = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self acti…

MacBookAirでバッテリーの交換修理という表示が出た

普段使っているMacBookAir mid 2011で「バッテリーの交換修理」なる表示が出てしまった. 部屋が寒いのでバッテリーの調子がおかしいだけだろうと思って部屋を暖めて一晩放置してみたものの表示は変わらず. かなり酷使したからなぁ…しかたないので修理に出…

2014年はGo言語にチャレンジ

Go言語のインストール $brew install go インストールできたか確認 $go version HelloWorldを書いてみる package main import "fmt" func main() { fmt.Println("HelloGoLang") } GoはCの後継言語としてデザインされたものらしい.BetterCとしてC++を使って…