2012年12月31日月曜日

プログラミングの初期学習にはドットインストールが良さげ

学習について書いて思い出したので、別記事にして記載します。

以前、洗い物をするときに動画で勉強できないかなーと探していた時に思い出して見てみました。


例えば、iOSアプリの講座だとこんな感じです。



あくまで、初心者向け。
というか未経験者向けのレベルではあるのですが、すごく良いサービスだと思いました。

■動画の力はすごい
 動画はとてもわかりやすいです。
メッセンジャーで文章で会話していた時代には、ボイスチャットは恥ずかしいだろと思っていたものの、skypeが普及してきて声に出す/聞くというコミュニケーションの快適さに改めて気づいた。そんな感覚です。
 1講座2、3分というちょうど良い短さなのでダレにくいです。

■未経験者目線
 プログラミングだと教科書でも変数の概念や四則演算とかから入って、ファイルの読み書き、配列、メソッド、オブジェクト思考とかそんな順に習う訳ですが、ドットインストールの場合、とにかく作ることにフォーカスしているように見えます。
 必要があってこれからガッツリ学ぶ人には前者のような学習で良いかと思いますが、ちょっと作ってみたい。というような人にはとても良い方針だと思います。

※微妙な所
基本的なとこをだけなので、動画を見ただけで何かを作れるわけではありません。そこから興味が出て、知りたくなったところを書籍などで調べて機能を作っていくのが良いでしょう。
サイトの立ち位置もそういうところを目指しているのだと思います。

delegateとdatasource

delegate:ボタン押したよーとかイベントを処理するメソッドを指定

datasource:テーブルの列の数どうしよか?とかを処理するメソッドを指定


とりあえずアプリ作るという目的で作ってたけど、基本的なところを今知りました。
delegateは知ってたけどdatasourceはそういうものだとは知りませんでした。

体系的な勉強って大事。
でもプログラミングに関してはだるいんですよね。

とりあえず書く→気になったらリファレンス→体系的な勉強
の順で7割くらい既知の方が楽しくやれる気がします。

今のうちは無知でどんどん書きたいと思います。

2012年12月26日水曜日

旧式iMac(2010 Mid)再生計画 ②疑似FusionDrive導入により管理自動化


旧式iMac(2010 Mid)再生計画 ①SSDをのせて高速 に引き続き、我が家のiMac(2010 Mid:2歳)をカスタマイズしていきます。

失敗に備えてバックアップは必ず取っておいてください。

お決まりなので、作業は自己責任でどうぞ。と書いておきます。
自分のPC操作するのに人に責任があるわけが無いのですが、それはさておき。

前回高速なSSDを投入して、iMacさんのディスクは下記の状態にあります。

HDD:1TB SSD:256GB

これを下記のようにします。

FusionDrive(HDD+SSD):1.2TB

前者だと、自分でこれは余り使わないのでHDD、よく使うのでSSDという調整をしなければいけないのですが、それを自動化することが目的です。



【作業手順】

0.事前準備:HDDとSSD以外からのOS起動準備:外付けHDDからMacを起動
① HDDとSSDのフォーマット
② FusionDriveの設定
③ OSのインストール


0.事前準備:外付けHDDからMacを起動

①のフォーマットにいきたいところですが、現状ではHDDからMacを起動しているので、HDDをフォーマットすることができません。

起動時にF8とかF9とか連打したらディスクはフォーマット出来たりするのかもと思いましたが、軽くググった感じでは見つけられませんでした。

②のFusionDriveの設定時にターミナルを使うので、外付けHDDからの起動が無難と判断しました。なお、外付けHDDではなく、USBメモリでもCDでもDVDでもかまいません。

外付けHDDから起動するためにはUniBeastを使用します。
UniBeastについては下記を参照ください。


簡単には下記の通りです。
1. OSをAppStoreダウンロード
2. USB(私の場合は外付けHDD)をマスターブートレコードでフォーマット。
3. UniBeast起動→USB(私の場合は外付けHDD)にインストール
4. USB(私の場合は外付けHDD)をさしたまま再起動
※起動ディスクの優先順位がデフォルトでは外付けになっていますが、変更をしている場合には変更が必要です。



① HDDとSSDのフォーマット

外付けHDDからMacを起動した状態で、HDDとSSDを共にフォーマットします。
なお、ディスクをフォーマットしますので、確実にTimeMachineでバックアップを取っておいてください。

ディスクユーティリティ
→ディスクの選択
→パーティションタブ
→オプション→GUIDパーティションテーブル
フォーマット:Mac OS 拡張(ジャーナリング)
でHDD、SSDを共にフォーマットします。



② 疑似FusionDriveの設定

ターミナルアプリを開いて、driveの設定をします。
コマンドは下記の通りです。

$ diskutil list
SSDのディスク名(disk0とか)
HDDのディスク名(disk1とか)
を確認します。
例:
0: GUID_partition_scheme *256.1 GB disk0
0: GUID_partition_scheme *1.0 TB disk1


$ diskutil corestorage create "新ボリューム名" ディスク名1 ディスク名2
コアストレージ機能により、ディスクを一体化します。
ここで下記の様なUUIDが表示されますので、保存しておいてください。
Core Storage LV UUID: A299V9942-5436-62546-52688-4938A0D9305

$ diskutil corestorage createVolume "LVGのUUID" jhfs+ "新パーティション名" 100%
全てを1つのパーティションを割り当てます。

$ diskutil list
ディスクの状態確認をします。
ディスク名1及びディスク名2の項目に2: Apple_CoreStorage という項目が増えていることが確認出来るハズです。



③ OSのインストール

AppStoreから既にダウンロードしてあるOSを②にて作成したパーティションにインストールします。
外付けHDDを抜いて、内蔵ディスクから起動の上、TimeMachineからバックアップをリストアします。


2012年12月25日火曜日

旧式iMac(2010 Mid)再生計画 ①SSDをのせて高速化

新型iMacの魅力に打ち勝つため、我が家のiMacさん(2010 mid)にSSDを導入することにしました。

これまでSSD導入を見送っていた理由は下記の通りでしたが、共にクリア?出来ました。


①新iMacのFusionDriveを狙っていた。
→ MBP欲しくなって買っちゃった。予算なし。てか旧式iMacでもFusionDriveが実現出来るらしい。

②分解怖い。(ググると難易度高いとか書いてあるし。)
→ そうは言っても付け替えるだけだし、いけるでしょ。という気分。



という訳で、本記事でSSDへの換装、次に疑似FusionDriveの作成記事を書きます。



※(一応)Fusion Driveとは
HDDとSSDを1つのボリュームに見せてくれる機能です。
大容量のHDDと、読み書きの早いSSDが1つのドライブに見えます。
内部的によく使うファイルはSSDに、そうでないファイルはHDDと言った動きをMacが自動でやってくれるので、使う側からすると読み書きが早くて大容量なドライブが使えるようになります。
フルSSDと一緒かと言うとそれはフルSSDのが早いに決まってますが、内部的な動きの詳細が公開されている訳ではないので、その辺りの比較はしておりません。




■購入したもの
値段は大体です。

・SSD
Crucial m4 CT256M4SSD2 ¥16,000
動作確認がとれている機種の用なので、これを選びました。
今から買われれば問題ない場合が多いと思いますが、ファームウェアのバージョンによっては不具合があるらしく、ファームウェアのバージョンアップが必要出そうです。
私の場合は必要ないバージョンでした。
Crucial 2.5インチ 内蔵型 SATA3.0対応 M4 SSDシリーズ 256GB CT256M4SSD2
Crucial 2.5インチ 内蔵型 SATA3.0対応 M4 SSDシリーズ 256GB CT256M4SSD2


・トルクドライバーのT8 ¥800
T10と記載されているブログなどもありますが、T8のみで可能でした。
アネックス(ANEX) ヘクスローブドライバーT型 T8×60 No.6300
アネックス(ANEX) ヘクスローブドライバーT型 T8×60 No.6300


・ダストブロワー ¥600
ディスプレイをあけるので、掃除してから戻した方がよいです。

ELECOM ダストブロワー ECO AD-ECOMW
ELECOM ダストブロワー ECO AD-ECOMW


・マウントベイ SlimBay9.5SA-HDD.SA ¥3,000
SSDをマウントするためのキットです。9.5と12.7がありますが、9.5できっちり入ります。
12.7を入れた人のレポートは見つからなかったです。
↓下記の店舗で購入。(通販はメールで受け付けているようです。)
http://www.toeimusen.co.jp/~th/category/bayAccessory.html

・開けるようの吸盤 100×2
ディスプレイをあけます。

・DVDケース  ¥1500
SuperDriveを取り出しますので再利用するために使います。
スリム光学ドライブケース(SATA) DC-SS/U2
スリム光学ドライブケース(SATA) DC-SS/U2


2012年12月12日水曜日

gitの基本的な使い方。書いたコードを外出先でも使う方法

MacbookPro 13 retina、ゴリゴリ下がる値段を見守りつつも、待ちきれずに意を決して買いました。

これで私も立派なノマド()です!

今までiMacで書いたコードを外出先でMBPと共有したいなーと思いました。

やっぱりgithubかな。
コードも人に見せられるほどでもないし公開するのはなー。

でも先々考えるとバージョン管理もあるし。

ということでgitを使ってみることにしました。

リポジトリを作って、後はファイルを追加。簡単でした。

具体的にかいていきます。
任意のディレクトリを作成して、helloファイルを作ってからリポジトリ初期化

$ mkdir gittest
$ cd gittest/
$ touch hello

$ ls
hello

$ git init

この状態でgitのステータスを確認すると、helloファイルが入ってないよ。と怒られてしまいます。

$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
# hello
nothing added to commit but untracked files present (use "git add" to track)


指示通り、ファイルをgitに読み込みます。ここではカレントディレクトリ配下を指定していますが、ファイルを指定しても良いです。
$ git add .

コミットします。
aオプションで変更ファイルを検出コミット、mオプションでコメントがかけます。
$ git commit -a -m "first commit"


バージョン管理という意味では、ブランチを作るのが一般的(たぶん)のようで

$ git checkout -b branch1


存在するブランチと今使ってるブランチを確認出来る。
$ git branch -a

* branch1
  master


この状態でbranchFileを作成してコミットしても

$ touch branchFile

$ ls
branchFile hello
$ git add ./

$ git commit -a -m "branch"
[branch1 28c1f72] branch
 0 files changed
 create mode 100644 branchFile

別のブランチには影響してませんよ。


$ git checkout master

$ ls
hello


ということですね。

では、張り切ってgithub!!

と思ったけど、外出先で使いたいだけならdropboxでいいじゃん。
gitをちゃんと使ったのはそれはそれで役に断つのでよしとしよう。

2012年12月4日火曜日

禁オナかオナ禁か

ググってみると、以外とオナ禁が優勢かも知れない。

禁オナの方が禁止してる感があると思ったのですが、変更も検討したいとおもいます。 

広告を入れてみる。

無料アプリであれば、広告を入れられるようにはしておきたいところです。

色々なブログを見ていると、広告収入は雀の涙と聞きますが、手段として持っておくにこしたことはありません。

手段としてはiAd、AdMobが代表的です。

iAdで表示→取得できない時はAdMobから表示
という典型的な方法は既に完成されているようで、各所でソースがありました。

参考にしたのは下記です。



でAdMobを入れる上で、上記のサイトに記載があるもの以外で困ったことを何点かメモ

・frameworkが足りない
上記に加えてStoreKit.frameworkやAdSupport.frameworkを入れました。
入れていないとエラーが出てきます。

・読み込みエラー
AdMobのディレクトリをそのまま放り込んだので、リンクエラーが発生していました。
Google analysticsのディレクトリを参照から外すことで解消

・コンパイルエラー
.aファイルを読み込む時には下記の設定が必要だそうです。
TARGETS → Build Settings →  Other Linker Flags → 
 Any Architecture|Any SDK -ObjC -all_load

ソースも流し読みのコピペですが、とりあえず動きました。

またゆっくり読みます。

2012年12月1日土曜日

禁○タイマー使用例

禁○タイマーが公開されたので、使用例を紹介させてください。

タイトルが禁オナタイマーになってしまっているので、ごにょごにょ
このタイマーは禁オナ、禁酒、禁煙など何かをやめるときに、禁止を継続している時間を測定します。


使用例:禁オナタイマー
①初期設定
初期設定画面で、テキスト入力項目に『オナ』と記入し、確定ボタンを押します。

②設定は完了です。禁オナを開始する決意が出来たら真ん中のスイッチボタンを押してください。

カウントアップが開始されます。

タブを選択すると、自己ベストと、現在の称号、効果が見られます。
換算は下記の通りです。
時間換算:1日2時間
通貨換算:1日1.5円換算
匹換算:1日1億匹換算

以上です。

禁オナタイマー、公開しました。

禁○タイマーがめでたくiTunesStoreに公開されました。
禁○タイマーに改名したつもりが、タイトルが禁オナタイマーのままになってました。

アプリ名は禁○タイマーで表示されますが、iTunesStoreでは禁オナタイマーになっています。

2012年11月29日木曜日

UIScrollViewの大きさを変更する

UIScrollView(というかUIViewの話だけど、今回使おうとしてたのがUIScrollViewだった。)の大きさを変更出来なくて困りました。

Interface BuilderからUIScrollViewを追加します。


プロパティもこんな感じで適当に。

//  ViewController.h
-----略
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;



↓実行(背景色は見やすいように黒に設定してあります。)
















黒枠の大きさを変更します。


//  ViewController.m
-----略
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.scrollView setFrame:CGRectMake(0,0, 10, 10)];
}
-----略



↓実行


大きさ変わらず。

↓ 色々試してみる。


//  ViewController.m
-----略
- (void)viewDidLoad
{
    [super viewDidLoad];

    self.scrollView =[[UIScrollView alloc] init];
    [self.scrollView setFrame:CGRectMake(0,0, 10, 10)];
    self.scrollView.frame = CGRectMake(0, 0, 10, 10);
    
    [self.scrollView removeFromSuperview];
    [self.view addSubview:self.scrollView];

}
-----略


↓実行



ムキー!


☆結果


//  ViewController.m
-----略

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.scrollView removeFromSuperview];

    UIScrollView *newscrollView = [[UIScrollView alloc] init];

    [newscrollView setFrame:CGRectMake(10,10, 100, 100)];
    newscrollView.backgroundColor = [UIColor blackColor];

    [self.view addSubview:newscrollView];
}


↓実行


ということでやりたいことは実現できました。

いちいち作り直す必要があるという訳ではなく、Interface_Builderからでなく、コード内で宣言すれば、下記の通り、大きさ変更も効きました。


//  ViewController.m
-----略

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.scrollView removeFromSuperview];

    UIScrollView *newscrollView = [[UIScrollView allocinit];

    [newscrollView setFrame:CGRectMake(10,10100100)];

    [newscrollView setFrame:CGRectMake(10,10, 200, 200)];
    newscrollView.backgroundColor = [UIColor blackColor];

    [self.view addSubview:newscrollView];
}

↓実行

















結局self.**みたいな場合にはflameの大きさは変更できないってことみたいですね。
ググっても出てこないあたり、この辺はきっと私の基本的な理解が足りないので、ちゃんと勉強してる人からすれば、当然だろう!ということなんでしょうか。

この場合ViewControllerのインスタンスのプロパティとして持っちゃうと変更できないよーってことなんですかね。
背景色とかは変更出来るのになぁ。
syntesizeして、インスタンス変数からプロパティいじったら〜とやってみたけど、それも関係なさそう。

ググってみましたが、よくわかりません。
心に止めておいて、また体系立てて勉強するか、似た様な問題を解消して行けばピンと来る日が来るのではないかと思ってます。

2012年11月23日金曜日

禁オナタイマー、アイコン作成

前述、というか十数時間前に書いたとおり、アイコン自分で作りたいなという気持ちが芽生えたので作ってみました。

対象はアプリ:禁○タイマー用のアイコン。
時計に禁マークをつけるような簡単なデザインにしようと思っていました。
仕様ソフトはgimpです。無料だからです。

0から作るのは経験もデザインセンスもない私には無理があるため、チュートリアルを探してみました。


最初に行き着いたのが、これです。

時計というテーマにあっていて、シンプルな時計のチュートリアル。
しかし、残念ながらphotoshop用。
似た機能使えばいいやろ。とかいえるほどどんな機能があるか知らないため、保留としました。


gimp 時計 チュートリアル ←でググって、時計じゃないけど、使えそうなチュートリアルと見つけました。
立体っぽいボタンを作るチュートリアル。
gimpだしぱっと見簡単そうので取りかかってみました。(実際簡単だった。)



で枠が出来たので、そこに時計のチュートリアルを見よう見まねで、針と時間の印をつけてみました。

できたのがこれ。
色使いが素人くさくてたまらん。
でも、時計の印と針は思ったよりうまくかけた気がします。


漢字の禁を足してみます。
漢字cool!!

更に色使いから素人くささが増しました。
webページを開いたらキラキラ星がついてきそうです。
青色のレイヤーを消してみました。
これならまだ見られる気がします。

ということで、朝を迎えたのでこれで決定としました。

いざ実機でアイコンを見ると時計の針が細すぎて見えませんでした。
針がうまくかけた気がしたのは気のせいでした。

次回アップデートする時の課題とします。


禁○タイマー

張り切ってアプリをつくりなおしました。
禁○タイマーとして、禁酒、禁煙、禁パチ、禁炭水化物と使用者任意の何かを断つためのアプリケーションとなりました。

アプリ名:禁○タイマー



■機能
・任意の禁止する物事を記入
・禁止継続時間を測定
・時間に応じた称号の付与
twitter/facebookへの投稿
・禁止時間を価値化して表示(価値化手法は作者独自の偏見によるもの)
・ローカル通知

■今後つけたい機能
・プッシュ通知
・称号をより良いものに変更
・ランキング機能
・ユーザ同士のコミュニケーション機能
・称号に画像
・達成感感じさせるなにか

つけたいけど、当初は見送った機能は、
万が一、ユーザ数が伸びるか、実装してみたい意欲がわけば都度検討します。


以下、スクリーンショット
































アイコン

前々から分かっていたことではあるけど、
アイコンやらUIを作るのが、結構大変。
で、重要性は高い。

フリー素材をwebで漁って組み合わせる。ってのが開発者的には王道何だけど、探す作業はそれはそれで少し物足りなさも感じる。

自分でがんばって作っても素人臭さが残っちゃうし、コツコツ練習しなきゃダメだなぁ。
プログラムもまだまだなのに、やりたいことはたくさんだ。

ちょっとgimp練習して、乗ってきたらフォトショ買うかなー。

2012年11月19日月曜日


私の夢は1億円貯めて、リタイヤすることです。

今の貯金が100万円くらいとして、達成率は1%です。
今後、現在の収入ベースで、年間100万円貯蓄した場合、
現在を30歳として、
40歳までに達成:平均890万円/年の貯金増
50歳までに達成:平均390万円/年の貯金増
60歳までに達成:平均230万円/年の貯金増

到達は早ければ早いほど良い。
というか60になって達成してもアーリーリタイヤにならないよね。
うーむ、なかなかに困難。


学生の時はプライベートを充実させたいと思って、まったり薄給企業に就職したところ、働いて見ると夢は変わってきます。
可能であればやっぱり働くこと(週5で長時間拘束)が苦痛だなぁ。抜け出したいなぁと思う訳です。

仕事を適当にやってる訳でもやりがいもそれなりにはあるのですが、理想を言うならば好きなことは好きなときにやって、温泉行きたい日には温泉行きたいのです。

アプリ開発で年間390万って結構な上位ランカーだよね。
でも目指さなきゃ行けないのはそのレベルなんだよな。
がんばろう。
禁オナタイマーリジェクトされてる場合ちゃうで!




photo credit: Vineet Radhakrishnan via photopin cc

禁オナタイマー、リジェクトされました

禁オナタイマーをApp Store に申請しましたが、拒否されました。

コンプライアンス的にどうのこうのでした。

そんな気もしつつ一応作って申請してみましたが、改めて拒否されると、なぜかとても恥ずかしい。

2012年11月6日火曜日

禁オナタイマー


iOSの勉強したいなーと思い、処女アプリをつくりました。
サポートページが必須だそうですので、過去に作って放置していたこのブログに掲載します。

アプリ名:禁オナタイマー



■機能
・禁オナの時間を測定
・時間に応じた称号の付与
twitter/facebookへの投稿
・削減出来た時間、ティッシュなどを換算
・ローカル通知

■今後つけたい機能
・プッシュ通知
・称号を各禁オナスレで使われているものそれぞれに、設定変更
・ランキング機能
・ユーザ同士のコミュニケーション機能
・称号に画像
・達成感感じさせるなにか

つけたいけど、当初は見送った機能は、
万が一、ユーザ数が伸びるか、実装してみたい意欲がわけば都度検討します。

何かあればコメントください。




2012年5月27日日曜日

ふぁっく!河本の謝罪からマスコミと世間の論理の欠落をディスる

昨日、次長課長の河本さんが記者会見で謝罪したらしい。

問題の是非は別にして、これがまた論理的でないことに腹が立つ。

そしてその状態で世間が受け入れることにも腹が立つ。

個人的には、生活保護を本当に必要な人に当てはめる仕事をしている人が攻められるなら攻められるべきだと思っているし、芸能人とはいえ、1人の人を攻めてなんの意味があるのかわからないからあまり気にしていなかった。


でも騒いだ、叩いたならちゃんと認めるか叩き続けるか考えようよ。

『謝罪したからいいや』

という雰囲気がいらっとする。

謝らせることが目的やったんかと。

今日はこの会見と、過去にあった亀田の謝罪について不満を言っておきたい。


□河本の件

・騒動概要
河本は推定年収3000万〜5000万なのにおかんが生活保護もらってるらしい
→ゆるしまじ!!

・謝罪会見
河本が貧乏な頃におかんが生活保護をもらいはじめた。収入が増えてきた頃、福祉センターと話をして、援助をして、援助の分生活保護は減額された。
甘い考えでした。お騒がせしました。すみませんでした。

・不満
1.攻めてる方が何を攻めているのかわからない。
年収高いのに、何生活保護もらっとんねん!
→政府に言えや。

2.何を謝罪しているのかわからない。
甘い考えでした。認識が甘かったです。
→法律的には謝罪する必要ない。ほぼ現状説明で、実質的な謝罪内容はこれだけでしょ?
悪くないんだから、悪くないで良いのに何を言っているんだろう。法律的には問題ないと言えど、倫理的に問題があると個人で判断したので、今まで受給した分を返金します。という話なら分かる。
誰に対して謝罪をして、その反省をどうフォローして行くのか。が全くないでしょ。。


□ボクシング 亀田

・騒動概要
タイトルマッチ中に亀田次男が王者内藤を投げる。また足を殴るなどの反則を繰り返す。セコンドである亀田長男が目を打て、金的を打てという指示をした(と取られる。亀田家曰く、あれは亀田家の用語であってそのような意味ではないと弁解)際の音声をテレビに拾われる。

・謝罪
亀田長男:お騒がせしました。申し訳ございませんでした。
亀田次男:申し訳ございませんでした。1からではなく0からやり直します。

・不満
1.空気感
なぜかこれだけで亀田をもう叩くなよ。許してやれよ。という空気が出来てしまった。
何を許すかはっきりさせて。

2.セコンドから反則指示はしたのかは闇の中
亀田家は謝罪会見でも認めていない。逆にじゃあ長男は何を謝罪したの?
騒いでた人らはそれが知りたかったんじゃないの?


□まとめ
叩く時は、なんで叩くのかはっきり考えてから叩いて。
虚構新聞の橋本さん関連でも同じこと書いた。
世間様、テレビ様がこういう民度なんだから、きっとネットの辺境でうだうだ書いても無力に近いんだろうけどさ。
世間がそうなればきっとテレビもそうなるハズ。。。だから。

叩く時は全力で。
叩かれたらかわいそう。
謝罪したら許してやれ。
↑全部すごい不毛。

●叩く人
なんで叩くの?
どうして欲しいの?

●叩かれる人(謝罪する人)
なんで謝るの?
自分の失敗をどうやってフォローしていくの?:謝る内容に準じてね。

これだけ。
愚痴だから内容はまとまってないぷー。

2012年5月19日土曜日

虚構新聞わやわやで、一番の悪人はドヤ顔で市長叩いた奴ら


ここ数日、虚構新聞周辺が盛り上がっているので、思ったことを書いてみる。

□経緯
ことの発端は虚構新聞にて掲載された下記の記事

※そもそも虚構新聞とは
嘘しか書かないニュースサイトを模した個人ページ
記事のタイトルに驚き、記事自体を読むと後ろに行くにつれて文体が崩れて、嘘が分かりやすくなる作りになっている。

この記事がtwitter上で事実と受け取った人がマジレス。
後から嘘だとわかり、怒りだしたとさ。

そのへんのtogetter

その後、叩く人、擁護する人の激しい戦いが始まった。

・反対派
『虚構新聞だからと言って、嘘を誤解させるような形で言うべきではない!』
『これはユーモラスでもない。ただの嘘だ。やるならおもしろいものを。』
『嘘だともっとわかりやすく表記すべきだ!』
『ニュースサイトを模しているのだから悪質だ。だます気があるだろう。』

・擁護派
『釣られた人が必死過ぎ。』
『最近ネット民の監視、ひどすぎないか?』
『ネットで事実だけを言う義務はない。普通にニュースサイトだって本当のように嘘を言っているじゃないか。そちらの方がたちが悪い。(東スポとか)』


□私が思ったこと
1.被害を受けた人が訴えれば良いやん。
2.タイトルだけで橋本さんを叩いた人は最低。


1点目:被害を受けた人が訴えれば良いやん。
嘘付いたとか悪意が〜とか表記のべき論って考え方次第だから、押し付け合って自分の思い通りに通したいというのは無理がある。
個々人の押し付け合いで議論(らしきもの)が盛り上がっている景色が10代女子の恋愛論くらい議論になってない2車線論争に見えた。

この件の場合、橋本さんが、
まるで自分が変な政策を立てたように錯覚する記事を書かれた!
と訴えるとしたら、それは最もだと思う。

その他のつぶれるべきとか嘘をわかりやすくとかは、なぜ?という範疇をでない。


2点目:タイトルだけで橋本さんを叩いた人は最低。
虚構新聞より、この点が気になった。
この記事はURLの記事を見れば嘘だと分かる作りになっている。
タイトルしか見なくて本気にした人が一定数いたようで、それが橋本さんにとってのネガキャンになったと訴えられたらまぁ通る。

しかし、タイトルしか見ていない人が橋本さんを叩くのは違うでしょ。
橋本と付いたら脊髄反射で叩く、自分で内容を予想した叩く。
そうじゃなくて、記事を見て、内容を確認してから叩けよ。

この件の場合、仮に本当にtwitter義務化があったとして、自由に使っていいけど必ず使う義務が生じるのか、
ホームルーム的な授業の1部にソーシャルネットを学ぶ活動の場を設けて、使い方や危険性を学ぶのかわからないでしょ。


これは個人的な思いだけど、
タイトルからは嘘か判別が付かないと言っている人には、どれだけ思考停止してるの?
完全にタイトルだけで嘘だって分かるよ。
『橋下市長、市内の小中学生にツイッターを義務化』
twitterを義務化ってあり得ないから。
ひとつの民間ウェブサービスを小中学生全員に義務化するなんてあり得ないでしょ。


どれだけ頭が悪くてもこれが理解できない人はほとんどいないと思っている。
そういう人はtwitterで流れてくる情報を真実として受け入れてしまう習慣が出来てしまっているのだと思うから、気をつけた方がいい。

虚構新聞に限らず、タイトルはキャッチーなモノを出してくるから。
気になったら記事をしっかり開いて内容を読むこと。


『人は見た目が9割』を読んでいないのに、人は見た目が9割って言うもんね。と使ってしまっている人は要注意。
あの本は生まれつきの顔立ちで人の印象が9割決まると主張している訳ではないから。
【送料無料】人は見た目が9割
【送料無料】人は見た目が9割
価格:714円(税込、送料別)
タイトルが気になったなら読んで。


photo credit: fPat via photo pin cc

2012年5月17日木曜日

C言語からのWeb学習の難しさ

Windows環境しかないときに時間があったので、C言語に付いて学ぼうと思った。

苦しんで覚えるC言語

上記のサイトをさらーと目を通した。

C言語というか、プログラミングも初めての人向けに書かれているみたいで、

斜め読みくらいが丁度いいなという印象。


しかし、Webページは学習用途で使うにはまだまだ書籍には及ばないね。

どこが及ばないを1つ1つピックアップして行けば、いつか書籍を超えるWebページが出てくるのかな。
それがまだWebページなのか、別のPCみたいな何かの上で触れられる何らかの形なのか。

直感だとクリックが負担なんじゃないかな。
クリックとカーソル操作。

音声検索(見返す時とか)とジェスチャーによるコントロール(ぱらぱらめくる)が高い精度で実現できたら、検索が出来るだけデジタルの方が使いやすくなる気がする。

どちらも形は出来てるけど、制度が今ひとつという世界だから、数十年後には本当にひっくり返せるのかな。

2012年5月13日日曜日

iphoneアプリ①

iphoneアプリの開発でもやってみようかと思い立った。

C言語の知識もないままに、ドキュメントを読み込んでみることとした。


作るものはテキストを入力してボタンを押すと
『Hello,入力文字列』
と表示するシンプルなもの。





■なんとなく分かったこと
・いくつかテンプレートがあるらしい。大体のアプリはテンプレートを元に作ってありそう。


・**.hにインタフェース部分、.mに実装部分を書く。
こんな方法もあるんだなぁ。これがプログラミング言語全般の中で一般的なのか特殊なのかは分からないね。


・パーツはUIから入れられますよ。ボタンなどのイベントも。
基本的なところはインタフェース側にドラッグドロップするだけでm側にメソッドなんかは出来るみたい。


・NS=NextStep時代からの接頭語だってさ。
割とどうでもいいけど気になる。


・デリゲート
テキストフィールドを画面(ViewController)とデリゲート接続する箇所がある。
要はパーツでの処理を他のパーツに引き継がせるって接続かな?
このアプリではテキストフィールドへの入力が完了した際に、キーボード消したいよね。という理由で、別のパーツ(テキストフィールド⇒画面全体)にフォーカスを変える。という操作で擬似的にキーボードを閉まってる。
キーボードを消す操作はそもそもできない仕様らしいから、このやり方は今後も使いそう。

デリゲートの接続は他のパーツ同様GUIでつなげる。
で、UITextFieldDelegateプロトコルでは、入力完了したときにtextFieldShouldReturn:メソッドというものが含まれているので、これを自分で実装する必要がある。

内容自体は下記の様な感じ。
resignFirstResponderでデリゲート先にフォーカスを当てる。
if(theTextField == self.textfield)はテキストフィールドが複数ある場合を想定してる場合。
キーボードを消す目的以外にも次のテキストフィールドに渡すとかいう使い方も出来そう。
しかし、このプロトコルにはこういうメソッドが含まれてるから実装するでしょ。というのはしっくりこないけど、そこは慣れですかね。
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    if(theTextField == self.textfield){
        [theTextField resignFirstResponder];
    }
    return YES;
}

下記はこのチュートリアルというか、C言語を知らなすぎてるから、自分が調べただけ。

・インタフェース
@interface クラス名:スーパークラス名
{
インスタンス変数の宣言;
}
メソッドの宣言;
@end

・メソッド
宣言
- (返り値の方)メソッド名:(引数1の型)仮引数1 キーワード:(引数2の型)仮引数2;
呼び出し
[インスタンス名 メソッド名:引数1 キーワード:引数2]

次は二つめのiOSアプリケーション ストーリーボードを読む。







2012年5月6日日曜日

【筋トレの意外と知らない落とし穴】の嘘まとめ

はてなブックマークに
筋トレの意外と知らない落とし穴 というエントリが上がってきていて、あまりに間違いの多い知識だったので、元スポーツジムトレーナーとして訂正。

※嘘というよりも人から聞いたと書いてあるので、故意ではないと思われます。




嘘1.激しい筋トレを毎日行うと、筋肉は委縮してしまう
2~3日間は最低でも間を空ける必要があります。
破壊された筋繊維が修復されるまで強い負荷はかけてはいけません。


一般的な筋トレで筋肉が萎縮してしまう人は見たことがありません。
『激しい筋トレ』というのはボディビルダーがやる様な激しい筋トレを本当に長期間実施した場合です。
たくさんの書籍に書かれているように、理論的には正しいのです。
それゆえにネット上でもたくさん書かれています。
しかし、大多数のトレーニーは負荷を十分にかけられていません。

ダチョウ倶楽部のどなたかは毎日腕立て1000回以上していると公言していましたが、筋肉が萎縮はしていませんよね。
運動部の学生さんなども毎日筋トレを実施しても筋肉がついています。
なぜなら休まなければ修復が追いつかないほどの負荷にはなっていないからです。
にも関わらず、2、3日休まなければならない強迫観念にかられている方がたくさんいるのです。

まず意識すべきは十分に負荷をかけることであり、休息期間ではありません。
8RMだから十分にかかっているに違いないと思うのは安直です。
これは100%の嘘ではないのではなく、解釈の問題なのですが、これによって失敗する方が多いので記載しました。



嘘2.筋肉痛が残っている状態でまた筋トレをしても効果なし

痛めつけられた筋肉が回復するときに、新しい筋肉がつき筋肉が大きくなります。
これが回復する前にムリに筋トレをすると逆効果となりカラダを痛めつけるだけになります。


筋肉痛は目安にはなりますが、必ずしも筋繊維の損傷と一致しません
ですので、筋肉痛が残っているときにトレーニングをしても問題ありません。
ハードトレーニング後の休息の目安くらいにはなりますから、痛みは激しい場合には避けた方が無難です。




嘘3.プロテインを筋トレ日だけに飲んでいても意味がない
休養日にプロテインを摂取しないと言うことは、 筋肉が発達しているタイミングに栄養を与えていないことになる。


まずプロテイン(ここで言うのはプロテインパウダーでしょう。)の接種を特別視することが間違いです。
プロテイン=タンパク質であり、普段の食事からも接種しています。
よって休養日に接種しないことがまずあり得ません。

休養日にも高タンパクを心がけるのは正しいですが、出来ることなら食事から取った方が良いです。
最もプロテインが必要となるのは運動直後であるため、『筋トレ後に飲んで、休養日は高タンパクを意識して接種する』のは意味が無いどころかベストです。

食事から取りきれないので、休養日にもプロテインを飲む。ことには問題ありません。
本件に限らず、意味がある/なしの極論で語られている場合はほとんどが嘘か一部の例にしか適用されない理屈だと思っています。



以上、明らかな間違いを指摘していますが、このまとめ自体が嘘でなくても、?と思わせるカラムばかりです。
別の言葉で言うと、初心者に有用だなぁと思えるカラムが1つもありません。
引用先のサイトもアフィ目的でない知識を記事にしたようなサイトばかりに見えます。

このレベルのエントリにブクマが集まってしまうことに驚きですが、これも最近のNAVERまとめのトレンドなんですかね。

2012年4月5日木曜日

人生は腰だ

人生は腰だ。

そんな言葉が学校に掲げられていました。

語呂と言えば語呂。


しかし、人生は腰かも知れません。

腰を据えて全ての事柄に当たれたら。

もっと重心を意識して、腰の回転を意識して。

そんなことを言われて言われて、ああもしかしたらすごく考えて作った言葉だったのかもな。と思っています。


人生は腰だ。

人生は腰か?