今日はひたすらストロークの練習をやりました。
今まで思っていたけど、そのままにしていたことを指摘されました。
それは、グリップの厚さです。
相当グリップが厚くて、かすれ気味の打球も多くありました。
ですが最近ミスも少なくなってきているので、あえて直すことはしませんでしたが、やはりレベルアップのためには避けて通ることのできない道です。
ほとんどダブルスしかやらないので、グリップが厚いメリットはあまりないのです。
テニスを始めた頃、最初にみたテニスプレイヤーがナダルやジョコビッチだったので、「テニス=厚いグリップ」という刷り込みがあり、ずっと厚いグリップでした。
少しずつ直していきます。
2010年11月30日火曜日
アンケートサイト(マクロミル)を試してみた
アンケートに答えてお金がもらえるサイトを試してみました。
試したのはマクロミルというサイトです。
http://monitor.macromill.com/
このサイトを知ったきっかけはあるWEBサイトの情報を見たためなのですが、そのWEBサイトには月に2000円くらい稼げると書いてありました。
実際どうだったかというと、それなりに頑張って500円程度・・・
労力の割には合わないかなと言ったところです。
もう少し頑張ってみようかと思います。
試したのはマクロミルというサイトです。
http://monitor.macromill.com/
このサイトを知ったきっかけはあるWEBサイトの情報を見たためなのですが、そのWEBサイトには月に2000円くらい稼げると書いてありました。
実際どうだったかというと、それなりに頑張って500円程度・・・
労力の割には合わないかなと言ったところです。
もう少し頑張ってみようかと思います。
UITextViewに枠を追加
UITextViewにUITextFieldのような枠を追加する方法です。
下記のようにすればよいみたいですが、エラーが発生しました。
view = [[[UITextView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)] autorelease];
view.layer.borderWidth = 1;
view.layer.borderColor = [[UIColor blackColor] CGColor];
view.layer.cornerRadius = 8;
[self.view addSubview:view];
下記を追加することで問題解決
#import <QuartzCore/QuartzCore.h>
下記のようにすればよいみたいですが、エラーが発生しました。
view = [[[UITextView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)] autorelease];
view.layer.borderWidth = 1;
view.layer.borderColor = [[UIColor blackColor] CGColor];
view.layer.cornerRadius = 8;
[self.view addSubview:view];
下記を追加することで問題解決
#import <QuartzCore/QuartzCore.h>
2010年11月25日木曜日
テニス雑感(11/25)
ボレー改善
どうもファーストボレーが上手くいかない。
体の横でボールのインパクトができていないと指摘された。
自分のボレーのフォームを確認してみると、体が前を向いており、打点も体の前になっていると思った。
横を向いて打点を体の横、つまり今までより後ろにすることを意識する。
どうもファーストボレーが上手くいかない。
体の横でボールのインパクトができていないと指摘された。
自分のボレーのフォームを確認してみると、体が前を向いており、打点も体の前になっていると思った。
横を向いて打点を体の横、つまり今までより後ろにすることを意識する。
第33回 府中多摩川マラソン
ここ3年くらい連続で参加している府中多摩川マラソンに今年も参加してきました。
最近、「GARMIN Forerunner 405」というアイテムを購入しまして、これを使った初レースでもあります。
これはGPSを内蔵しており、設定した距離ごとのタイムを表示してくれるすぐれものなのです。
去年は1時間32分で走ることができまして、今年は1時間30分を切ることを目標にしてきました。
これを達成するためには 1km を 4分15秒 で走る必要があります。
km Time
1 0:04:05 (スタート時の混雑を避けるためにややダッシュ)
2 0:04:14 (快調!体が軽い)
3 0:04:19
4 0:04:18
5 0:04:17
6 0:04:29 (折り返し・・・向かい風が強い)
7 0:04:29
8 0:04:31 (ついに4分30秒を超える)
9 0:04:24
10 0:04:27
11 0:04:32 (この辺で記録を諦める)
12 0:04:36
13 0:04:33
14 0:04:55 (呼吸すると胸が痛くなる!沢山の人に抜かれる)
15 0:05:01 (ジョギング状態)
16 0:04:43 (折り返し!胸の痛みもなくなってきた。追い風パワー)
17 0:04:34
18 0:04:27 (また調子が上がってきた。さっき抜かれた人達を抜き返す)
19 0:04:29
20 0:04:21
21 0:04:13 (ラストスパート)
22 0:01:02
合計 1:35:09
この1年は漫然と走っていただけなので走力UPはしていなかったようです。
ただ今回は全力を出し切った感じはなく、走り終わって足の疲れや痛みもありませんでした。
今後の練習はインターバル走、ペース走など取り入れて効果をあげたいと思っています。
次は立川昭島マラソンにエントリー予定で、今度こそ1時間30分切りです。
http://www.konicaminolta.jp/runpro/running/half/expert/index.html
↑このサイトを参考にしようかと思います。
最近、「GARMIN Forerunner 405」というアイテムを購入しまして、これを使った初レースでもあります。
これはGPSを内蔵しており、設定した距離ごとのタイムを表示してくれるすぐれものなのです。
去年は1時間32分で走ることができまして、今年は1時間30分を切ることを目標にしてきました。
これを達成するためには 1km を 4分15秒 で走る必要があります。
km Time
1 0:04:05 (スタート時の混雑を避けるためにややダッシュ)
2 0:04:14 (快調!体が軽い)
3 0:04:19
4 0:04:18
5 0:04:17
6 0:04:29 (折り返し・・・向かい風が強い)
7 0:04:29
8 0:04:31 (ついに4分30秒を超える)
9 0:04:24
10 0:04:27
11 0:04:32 (この辺で記録を諦める)
12 0:04:36
13 0:04:33
14 0:04:55 (呼吸すると胸が痛くなる!沢山の人に抜かれる)
15 0:05:01 (ジョギング状態)
16 0:04:43 (折り返し!胸の痛みもなくなってきた。追い風パワー)
17 0:04:34
18 0:04:27 (また調子が上がってきた。さっき抜かれた人達を抜き返す)
19 0:04:29
20 0:04:21
21 0:04:13 (ラストスパート)
22 0:01:02
合計 1:35:09
この1年は漫然と走っていただけなので走力UPはしていなかったようです。
ただ今回は全力を出し切った感じはなく、走り終わって足の疲れや痛みもありませんでした。
今後の練習はインターバル走、ペース走など取り入れて効果をあげたいと思っています。
次は立川昭島マラソンにエントリー予定で、今度こそ1時間30分切りです。
http://www.konicaminolta.jp/runpro/running/half/expert/index.html
↑このサイトを参考にしようかと思います。
2010年11月18日木曜日
テニス雑感(11/18)
サーブのフォームへの指摘があった。
トロフィーポジションで右肘だけが下がりすぎていた。
雑誌かなにかを見て、肘を下げることを意識するとあって、その影響だったと思う。
左肩-右肩-右肘が直線になるようにイメージするとよいと思う。
肩と肘のラインを気にするようにしたら、肩甲骨近辺の筋肉の力をサーブに伝わるようになった。
今までのサーブは手打ちのサーブだったと感じた。
新しいフォームのまま肘を下げるためには、肘だけを下げるのではなく、左肩から右肘までのラインごと傾ける必要があるので背筋や下半身の力が必要になる。
トロフィーポジションで右肘だけが下がりすぎていた。
雑誌かなにかを見て、肘を下げることを意識するとあって、その影響だったと思う。
左肩-右肩-右肘が直線になるようにイメージするとよいと思う。
肩と肘のラインを気にするようにしたら、肩甲骨近辺の筋肉の力をサーブに伝わるようになった。
今までのサーブは手打ちのサーブだったと感じた。
新しいフォームのまま肘を下げるためには、肘だけを下げるのではなく、左肩から右肘までのラインごと傾ける必要があるので背筋や下半身の力が必要になる。
2010年11月17日水曜日
static変数で情報を共有する
iPhoneアプリの開発で異なるインスタンス間において情報をやりとりする方法です。
グローバル変数的な使い方ができます。
ヘッダファイルにstaticな変数を定義することはできないようなので、実装部に変数を定義します。
ヘッダファイル
@interface TestClass : NSObject {
}
+ (void)setName:(NSString *)name;
+ (NSString *)getName;
@end
実装ファイル
@implementation TestClass
static NSString* _name = NULL;
+ (void)setName:(NSString *)name {
_name = name;
}
+ (NSString *)getName {
return _name;
}
@end
グローバル変数的な使い方ができます。
ヘッダファイルにstaticな変数を定義することはできないようなので、実装部に変数を定義します。
ヘッダファイル
@interface TestClass : NSObject {
}
+ (void)setName:(NSString *)name;
+ (NSString *)getName;
@end
実装ファイル
@implementation TestClass
static NSString* _name = NULL;
+ (void)setName:(NSString *)name {
_name = name;
}
+ (NSString *)getName {
return _name;
}
@end
2010年11月16日火曜日
テニス雑感(11/16)
・ポーチでのバックボレーを振りすぎてバックアウト
壁になるつもりで、振らない。
・サービスダッシュをした後の展開
無理に決めに行ってしまう。
一回相手の後衛に返すボールか、前衛に向かって打てるボールなのかを判断する。
前衛に向かって打てないボールなのに、無理に打ってミスするか、相手のチャンスボールにしてしまうことが多い。
ボレーボレーになったときも同じ。
まずは相手が決められないところへボールを運び、簡単なチャンスボールが来るまで待つようにしたい。
難しいボールを決めにいって、ミスすることが多い。
壁になるつもりで、振らない。
・サービスダッシュをした後の展開
無理に決めに行ってしまう。
一回相手の後衛に返すボールか、前衛に向かって打てるボールなのかを判断する。
前衛に向かって打てないボールなのに、無理に打ってミスするか、相手のチャンスボールにしてしまうことが多い。
ボレーボレーになったときも同じ。
まずは相手が決められないところへボールを運び、簡単なチャンスボールが来るまで待つようにしたい。
難しいボールを決めにいって、ミスすることが多い。
2010年11月13日土曜日
テニス雑感(11/13)
・サービスキープできない
速いサーブを打たないのであれば、必ずコースをつかなければいけない。
ゆるいサーブを漫然を打っているだけなのに、サービスダッシュをしていれば
やられるに決まっている。
サービスキープできないと全てのプレーに影響してしまう。
気持ちの切り替えができていない。悪循環になっている。
速いサーブを打たないのであれば、必ずコースをつかなければいけない。
ゆるいサーブを漫然を打っているだけなのに、サービスダッシュをしていれば
やられるに決まっている。
サービスキープできないと全てのプレーに影響してしまう。
気持ちの切り替えができていない。悪循環になっている。
2010年11月12日金曜日
テニス雑感(11/12)
・リターン練習
相手の動作に合わせてスプリットステップして一歩前進する。
今までも意識していたが、タイミング上手くあっていなかったようだ。
タイミングが合ったときは、いいリターンが返っている。
まずはスプリットステップのタイミングを合わせることを考える。
相手の動作に合わせてスプリットステップして一歩前進する。
今までも意識していたが、タイミング上手くあっていなかったようだ。
タイミングが合ったときは、いいリターンが返っている。
まずはスプリットステップのタイミングを合わせることを考える。
痴漢冤罪!?(西武線痴漢事件)
痴漢冤罪で逮捕された小林さんの話です。
ひろゆきさんのブログで知りました。
まさに疑わしきは罰すると言うことなのか。
http://hiro.asks.jp/74805.html
普通に生活していていきなりこんな事態に陥るなんて想像できないわ。
現在は最高裁でも棄却されて収監されているそうです。。。
きっと裁判官とかは悪人ばっかりを見続けてきて、被告人を信じるなんてことできないんだろうね。
ひろゆきさんのブログで知りました。
まさに疑わしきは罰すると言うことなのか。
http://hiro.asks.jp/74805.html
普通に生活していていきなりこんな事態に陥るなんて想像できないわ。
現在は最高裁でも棄却されて収監されているそうです。。。
きっと裁判官とかは悪人ばっかりを見続けてきて、被告人を信じるなんてことできないんだろうね。
2010年11月8日月曜日
NSUserDefaultsを使ってオブジェトのリストを保存する。
NSUserDefaultsを使って、NSMutableArrayにオリジナルクラスを格納し保存する方法です。
最初は下記のようにやっていたのですが、上手く動作しませんでした。
★保存時
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *array = [[NSMutableArray alloc] init];
for (int i=0; i<100; i++)
{
Player* test = [[[Player alloc] init] autorelease];
test.id = [NSString stringWithFormat:@"%04d", i];
test.name = @"aaaa";
[array addObject:test];
}
[defaults setObject:array forKey:@"TEST"];
NSData* classData = [NSKeyedArchiver archivedDataWithRootObject:array];
[defaults setObject:classData forKey:@"TEST"];
★復元時
NSMutableArray* array = [defaults arrayForKey:@"TEST"];
for (int i=0; i
{
Player* player = (Player*)[array objectAtIndex:i];
NSLog( player.id );
NSLog( player.name );
}
■下記のように対応することで上手く動作しました。
保存時の処理を下記のように修正
[defaults setObject:array forKey:@"TEST"];
↓
NSData* classData = [NSKeyedArchiver archivedDataWithRootObject:array];
[defaults setObject:classData forKey:@"TEST"];
復元時の処理を下記のように修正
NSMutableArray* array = [defaults arrayForKey:@"TEST"];
↓
NSData* classData = [defaults dataForKey:@"TEST"];
NSMutableArray* array = [NSKeyedUnarchiver unarchiveObjectWithData:classData];
※ ここで使っているPlayerクラスはNSCodingインタフェースを実装しています。
最初は下記のようにやっていたのですが、上手く動作しませんでした。
★保存時
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *array = [[NSMutableArray alloc] init];
for (int i=0; i<100; i++)
{
Player* test = [[[Player alloc] init] autorelease];
test.id = [NSString stringWithFormat:@"%04d", i];
test.name = @"aaaa";
[array addObject:test];
}
[defaults setObject:array forKey:@"TEST"];
NSData* classData = [NSKeyedArchiver archivedDataWithRootObject:array];
[defaults setObject:classData forKey:@"TEST"];
★復元時
NSMutableArray* array = [defaults arrayForKey:@"TEST"];
for (int i=0; i
Player* player = (Player*)[array objectAtIndex:i];
NSLog( player.id );
NSLog( player.name );
}
■下記のように対応することで上手く動作しました。
保存時の処理を下記のように修正
[defaults setObject:array forKey:@"TEST"];
↓
NSData* classData = [NSKeyedArchiver archivedDataWithRootObject:array];
[defaults setObject:classData forKey:@"TEST"];
復元時の処理を下記のように修正
NSMutableArray* array = [defaults arrayForKey:@"TEST"];
↓
NSData* classData = [defaults dataForKey:@"TEST"];
NSMutableArray* array = [NSKeyedUnarchiver unarchiveObjectWithData:classData];
※ ここで使っているPlayerクラスはNSCodingインタフェースを実装しています。
2010年11月5日金曜日
UIAlertViewにテキストボックスを追加する。
UIAlertViewにテキストボックスを追加する方法です。
あのパスワードを入力するダイアログみたいなやつ。
privateメソッドに下記のAPIがありそれを使うと実現可能だがRejectされてしまった。
(UndocumentedなAPIであるため)
- (UITextField*)addTextFieldWithValue:(NSString*)value label:(NSString*)label;
- (UITextField*)textFieldAtIndex:(NSUInteger)index;
- (NSUInteger)textFieldCount;
- (UITextField*)textField;
十分に調べて使用しなかったせいだが、確実にRejectされるので注意してください。
「見逃された」みたいな書き込みもあったんで、使ってみたが思いっきり却下されました。
(使っても大丈夫な時代もあったみたい?)
~~~追記1~~~
http://discussions.apple.com/thread.jspa?threadID=1674641&start=0&tstart=0
このURLの途中にある
TextAlertView.h
TextAlertView.m
というクラスで実現できました。
そのまま流用したらダイアログの位置が上部に行き過ぎていたり、テキストボックスが横にはみだしてしまったりしたので少し修正。
#define kUITextFieldHeight 30.0
#define kUITextFieldWidth 260.0 → 追加
#define kUITextFieldXPadding 12.0
#define kUITextFieldYPadding 10.0
#define kUIAlertOffset 100.0 → 10.0 修正
layoutSubviewsの「alertWidth - 2.0*kUITextFieldXPadding,」の部分を「kUITextFieldWidth」に修正
あとはUITextFieldの透過が気になったので、「myTextField.alpha = 0.75;」をコメントアウト
これでリリースしてみました。
~~ 追記2 ~~
無事AppStoreにリリースされました。
~~ 追記3 ~~
2011/12/06現在で上記方法は使用できなくなったようです。
修正してアプリをリリースしなおしました。
あのパスワードを入力するダイアログみたいなやつ。
privateメソッドに下記のAPIがありそれを使うと実現可能だがRejectされてしまった。
(UndocumentedなAPIであるため)
- (UITextField*)addTextFieldWithValue:(NSString*)value label:(NSString*)label;
- (UITextField*)textFieldAtIndex:(NSUInteger)index;
- (NSUInteger)textFieldCount;
- (UITextField*)textField;
十分に調べて使用しなかったせいだが、確実にRejectされるので注意してください。
「見逃された」みたいな書き込みもあったんで、使ってみたが思いっきり却下されました。
(使っても大丈夫な時代もあったみたい?)
~~~追記1~~~
http://discussions.apple.com/thread.jspa?threadID=1674641&start=0&tstart=0
このURLの途中にある
TextAlertView.h
TextAlertView.m
というクラスで実現できました。
そのまま流用したらダイアログの位置が上部に行き過ぎていたり、テキストボックスが横にはみだしてしまったりしたので少し修正。
#define kUITextFieldHeight 30.0
#define kUITextFieldWidth 260.0 → 追加
#define kUITextFieldXPadding 12.0
#define kUITextFieldYPadding 10.0
#define kUIAlertOffset 100.0 → 10.0 修正
layoutSubviewsの「alertWidth - 2.0*kUITextFieldXPadding,」の部分を「kUITextFieldWidth」に修正
あとはUITextFieldの透過が気になったので、「myTextField.alpha = 0.75;」をコメントアウト
これでリリースしてみました。
~~ 追記2 ~~
無事AppStoreにリリースされました。
~~ 追記3 ~~
2011/12/06現在で上記方法は使用できなくなったようです。
修正してアプリをリリースしなおしました。
2010年11月4日木曜日
めざせサブスリー
ひそかにサブスリーを目指すことにしました。
とりあえずの目標はハーフマラソンで1時間30分を切ることです。
昨日なのですが、さっそくランニングスクールの体験会に参加してきました。
まずは歩きで手の振り方と腰の出し方の練習を行い、軽くジョギングをします。
重要なのは肩甲骨と骨盤の使い方だそうで、やはり体幹が重要なのはどのスポーツも変わりませんね。
今まで金哲彦さんの書籍を参考にして体幹のランニングフォームの試行錯誤をしていました。
今回コーチにフォームは悪くないと言われ、今まで意識してきたことは間違いはなかったことがわかっただけでも収穫でした。
ランニング 20km
体験会 5km
お勧めは↓の本です。
とりあえずの目標はハーフマラソンで1時間30分を切ることです。
昨日なのですが、さっそくランニングスクールの体験会に参加してきました。
まずは歩きで手の振り方と腰の出し方の練習を行い、軽くジョギングをします。
重要なのは肩甲骨と骨盤の使い方だそうで、やはり体幹が重要なのはどのスポーツも変わりませんね。
今まで金哲彦さんの書籍を参考にして体幹のランニングフォームの試行錯誤をしていました。
今回コーチにフォームは悪くないと言われ、今まで意識してきたことは間違いはなかったことがわかっただけでも収穫でした。
ランニング 20km
体験会 5km
お勧めは↓の本です。
登録:
投稿 (Atom)