10
5月

バールのようなもの


簡単な足し算で驚きの結末が!!98%の人々を驚かすシンプルなテスト。あとの2%は「変人」の可能性あり。

赤いバールのようなものをイメージした私は変人のようです。

13
4月

Crucial m4 256GB(CT256M4SSD1)のベンチマーク


Crucial m4 256GB(CT256M4SSD1)のベンチマークをとってみました。

ファームのバージョンなど
crystaldiskinfo

random
random

0fill
0fill

ファームが最新なだけあって公称値よりちょっと早い感じですかね( ´ー`)

これノートPCに使うのは勿体ないな~

12
4月

SSD修理再び(Crucial v4 256GB)


最近PCパーツのはずれを引きまくっている気がする・・・

以前、ノートPC用に購入したSiliconPowerのSSDが不調になり修理に出して、戻ってくる間に件のSSDを購入して使っていたわけですが、またもや不具合が発生したため今回も修理に出しました。

SiliconPowerのSSDは国内に送るだけで済んだのですが、今回はアメリカのMicron社に直接送らないといけなかったので、以前WDのHDDを送った時の経験が生かされましたよ。

で、今日Micron社からSSDが返ってきたのですが、下の写真を見てください。

送ったSSD
DSC_0020

戻ってきたSSD
DSC_0023

なんとなんと、廉価版のv4が上位版のm4になって帰ってきました!

あ、でも新品ではなく明らかに再生品ですけどね。

それでもm4になったのは嬉しい誤算ヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノ

21
3月

[objective-c] httpリクエスト用の独自クラスを作成


現在、iPadアプリを作成した際のノウハウを独自クラス化してまとめております。

ということで掲題の独自クラスを公開。

HttpRequestClass

※ARCの使用を前提として作成しています

■できること
・methodはGET or POSTが選択可能
・レスポンスはNSString or NSMutableDictionary(レスポンスがjson形式の場合)が選択可能
・添付ファイルのPOSTが可能

■使い方
1.HttpRequestClass.hをインポート

#import "HttpRequestClass.h"

2.インスタンスの生成

HttpRequestClass httpRequest = [[HttpRequestClass alloc] init];

3.GETリクエストのセット

if (![httpRequest setInit:@"http://cmf.ohtanz.com/" timeout:20 method:nil]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setInitオブジェクトに対してURL、timeout:タイムアウト値、method:nilを指定します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

4.リクエストの送信(NSStringで受信)

NSString *ret = [httpRequest send]; if ([[httpRequest errorMsg] isEqualToString:@""] == false) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

5.POSTリクエストのセット

if (![httpRequest setInit:@"http://cmf.ohtanz.com/post.php" timeout:20 method:@"POST"]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setInitオブジェクトに対してURL、timeout:タイムアウト値、method:POSTを指定します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

6.POSTパラメータのセット

NSMutableDictionary *list = [NSMutableDictionary dictionaryWithDictionary:@{ @"first_name" : @"taro", @"last_name" : @"yamada", @"age" : @"30" }]; if (![httpRequest setParamData:list]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setParamDataオブジェクトに対して連想配列(key=>value)を渡します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

7.添付ファイルのセット

NSMutableDictionary *list = [[NSMutableDictionary alloc] init]; NSArray *images = [[NSArray alloc] initWithObjects:@"image1.jpg", @"image2.jpg", @"image3.png", nil]; for (NSInteger i=0; i<[images count]; i++) { NSArray *arr = [images[i] componentsSeparatedByString:@"."]; NSString *tempPath = [[NSBundle mainBundle] pathForResource:arr[0] ofType:arr[1]]; NSData *tempData = [NSData dataWithContentsOfFile:tempPath]; NSArray *param = [[NSArray alloc] initWithObjects:images[i], tempData, nil]; [list setObject:param forKey:[NSString stringWithFormat:@"temp_file[%d]", i]]; } if (![httpRequest setParamAttach:list]) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※setParamAttachオブジェクトに対して多次元配列(key=>array(ファイル名, ファイルデータ))を渡します
※戻り値はBOOL
※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

8.リクエストの送信(NSMutableDictionary(レスポンスはjson形式)で受信)

NSMutableDictionary *ret = [httpRequest sendRespJson]; if ([[httpRequest errorMsg] isEqualToString:@""] == false) { NSLog(@"%@", [httpRequest errorMsg]); return; }


※エラー時はerrorMsgオブジェクトでエラー内容が取得できます

objective-cを勉強してまだ1ヶ月なので細かいことは大目に見てね(;;´ー`)

これ以外にもレーダーチャート、popover(セレクトボックスっぽいヤツ)、前面にロード中なインジケータを出すヤツとか色々作成中なんだけど、需要があれば公開するかもしれません。

15
3月

無線LANルーターを70円でゲット!


ようやくiPadアプリ完成!
面白かったけどしんどかった・・・

それはそうと、自宅の有線LAN環境から無線LANにブリッジするため、よくあるホテル先で無線LAN的な小型のルータを使っていたんだけれど、

やはり常時接続には無理があるようで、非常に接続が不安定になってしまう・・・

そこで今度はブリッジ接続機能がついた通常サイズの無線LANルーターを購入するためいろいろ見ていて、IOデータのやつにしようと思ったわけです。

ヨドバシで2970円だったので、ヨドバシのアカウントにログインして購入手続きを進めたいたところ、なんとポイントが2900ポイントもあったので結果的に70円で購入できました。

ルーター

ヨドバシで買い物したのなんて随分前のような気がするんだけど、2900ポイントも何買ったんだろう?

もしかしたらもっとポイントがあったのかもしれない。

8
2月

iPadアプリを作ることになった


仕事でiPadアプリを作ることになった。

当然ならがobjective-cなど見たことも触ったこともないので、完全に未知の領域。

基本的な部分はネットで調べるとして、細かいところは定番のポケットリファレンスを買ったのでこれで学ぼう。

DSC_0016

11
1月

CakePHP 2.xでprepare+executeした時の謎の現象


CakePHP2.xで開発を行っていて、ちょっとばかり複雑なSQLでページング処理を行う必要があっため、以下のようなSQLを書いたのです。

SELECT **** FROM (複雑なSQL) BETWEEN ? AND ? ※executeした値は1と10

本来ならば10件取れるはずが、何故か1件しか取得できないという謎の現象が発生。
※DB上には10件以上のデータが存在しています

当初はSQL文の間違いかと思い、直接SQLを叩いてみたら問題なし。

ひたすらソースコードを追っかけたところ、PDOライブラリのソースまで辿ったところまではexecuteした値はちゃんと渡っているのでますますわからなく・・・

いろいろ試してみて気が付いたのは、executeする値(BETWEENの後ろの値)が「10」や「100」「1000」などとしても「1」としての結果しか返ってこない。

さらに「20」や「30」を指定したらどうなるのか試してみたら今度は「2」と「3」の結果が返ってきたので、どうやら左端1ケタ以外が無視されてしまっているようでした。

PHPのPDOのバグなのかよくわかりませんが、これ以上調査に時間を掛けられないため、prepare+execute方式は諦め、値の正常性を確認する関数を作成してSQLに直接埋め込む形で回避しました。

こんなことに半日も費やしてしまったことがなんだかアホらしくなる。

28
12月

今年1年を振り返る


3週間もブログを放置してました・・・

今年1年は個人的にも色々な出来事があったなぁ~ということで振り返ってみます。

  • 01月:年明け早々に背中にあったアテロームが化膿して手術する
  • 10月:とうとう40歳になる
  • 11月:昨年祖父が亡くなった際に葬式に出席できなかったので今年の11月の1周忌で広島に
  • 11月:16年間住んだ1Kのアパートから2DKのアパートに引越しする
  • 12月:IDO時代からずっとau一筋だったけど既存ユーザに対する不遇っぷりに嫌気が差しドコモにMNPする

思ったほど大した出来事はなかったかもしれない。

まぁ個人的には節目の1年だった気がします。

ちなみにドコモにMNPしたことで毎月の支払がau時代と比べて約半額になりましたヽ(´ー`)ノ
買った機種はSH-01F、そう!IGZOです!

5インチはやっぱりデカイな・・・

7
12月

三菱電機、個人向け液晶ディスプレイ事業より撤退


三菱電機、個人向け液晶ディスプレイ事業より撤退

工エエェェ(´д`)ェェエエ工工

三菱のモニタが一番好きだったのに残念です。

次買うときはどこのを買えばいいんだ・・・

LGとかBenQはイマイチだしなぁ~・・・

かといってナナオは高いしなぁ~・・・

まぁ今のところ買う予定はないんだけど、次はASUSかフィリップスか。

24
11月

phpを5.5.6にアップグレードしたらwordpressが動かな無くなった


VineのリポジトリのPHPが5.5.6になったのでアップグレードしたらwordpressがInternal Server Errorで動かなくなった(´・ω・`)

5.5.5までは問題なかったのになぁ~

既に5.5.5も入手不可になってしまったので、仕方ないので5.4.22のRPMを作成してダウングレード。

プラグインのどれかが悪さしてるのかなぁ・・・

now loading...