『才能』は、いつか枯渇する

多少の教訓を含みますが、全体的に見て壮大な自分語りなので、苦手な方は回れ右推奨。
文章を読むことに慣れた方なら、5分ほどで読めてしまう程度の文章量です。

 

 さて、前置きも済んだところで。

 私は、それこそ小学生の頃から、小説を書いている人間です。
 それというのも、物心ついた頃から、私の頭の中には、考えようとしなくたって、考えたくなくったって、勝手に次から次へと『知らない世界のことが流れ込んできた』から。
 当時の私は、それを何とか形にしたくて、最初は大好きだった漫画で表現しようと絵を描いてみたけど、残念ながら絵の才能は無かったようで、頭に思い浮かんだ情景を、思う通りに形にすることが出来なかった。
 なので、絵を描いて頭の外に出すことは、あっさり諦めました。

 それでも、なんとかして、どうにかして、私はこの、『この世の誰も知らない、自分の頭の中だけに広がる、心踊る世界』を、みんなに見せてあげたかった。
 そうこうしているうちに、なんやかんやと試行錯誤してる中で、『小説』に出会いました。

 こんな方法もあったのかと。
 絵心だなんだという、時間や感覚に左右されることもなく、今の自分が今すぐ、自分の中の世界を形にする方法が、この世にちゃんと存在していたんだと。
 当時、大変な衝撃を受けたのを、今もまだ覚えています。

 それからは、色んな小説を読み漁りつつ、今にして思えば非常に稚拙ながらも、たくさんの『世界』を形にして周りの人に読んでもらったりしつつ、創作活動を続けていました。

 しかし、楽しく創作活動を続けていくうちに―――覚えている限りでは、始まりは二十歳を過ぎた頃でしょうか―――重大な転機が私に訪れます。
 最初は、それこそ「あれ? おかしいな?」くらいの、小さな違和感でした。

 しかし、その小さな違和感は時間を重ねるごとに、徐々に影を強め、とうとう自覚するまでに至りました。

 「どうしよう。もう、あの世界が、私には見えない」

 そう。次から次へと私にワクワクする世界を見せてくれていた脳のチャンネルが、何の前触れもなく、きっかけもなく、閉じてしまっていたのです。

 傍目から見れば、それは、ちゃんと原因も要因も存在する『一時的なスランプ』だったことでしょう。
 もちろん、前触れも、きっかけも、ちゃんと存在していたでしょう。
 しかし、当時の私にしてみれば、それは、生まれた時から共に生きる、双子の兄弟が、突然交通事故で死んでしまったほどの衝撃だったのです。

 そして私は軽いノイローゼを発症し、一切の『創作活動』から目を背けて生きるようになりました。
 幸いなことに、もうその頃にはサラリーマンとして仕事はしていましたし、色々と人生経験も積んでいましたから、それこそ「私も死んでしまおうか」と思うほどの大雪崩は起こしませんでしたが。

 話の本筋からは離れるので、詳細に羅列することはしませんが、本当に最近になって、「あ、また小説を書いてみよう」と筆を取るまで、色々なことがありました。

 最近になって、ようやく、苦しみ抜いた末に。
 まだ子供のうちは、それだけ『想像力』という分野に脳の力を使う『余力』があっただけなんだな、と。
 私は、ただただ単に、『想像力豊かな子供だっただけ』で、それが一種の『才能』だったんだな、と。
 そして、大人になるにつれて、なかなか脳をそれだけのために働かせるということも難しくなってきて、仕方なくその『労働力を想像力に割り当てる』という行為を止めただけだったんだな、と。
 冷静に、あの頃の自分と向き合い、あの時、自分の身に何が起きたのか、理解するまでに至りました。

 というわけで、自分語りが長くなりましたが、結論としては、表題の『才能は、いつか枯渇する』。
 だから、それまでに、才能は、『才能』だなんていうあやふやな存在のまま扱うのではなく、いつかは失われるものだと自覚して、ちゃんと自分で手綱を握れる『実力』に昇華しておかなければいけないんだな、と思う、今日この頃なのです。

 結びになりますが、この文章が、まだ才能が枯渇していない、才能に溺れて私のように道を誤る前の、まだ才能を実力に昇華できる方の目に留まり、一角の役に立ってくれたなら、幸いです。

 

・・・蛇足ですが、これも書きたかったことの一つなので書いておきます。
私のサイトに過去に訪れていただいていた、または今まさに来訪されている方へ。

そういったわけなので、今は完全に更新が止まってしまっている本サイトですが、1年に1回くらい、思い出した時にでもふらっと立ち寄ってもらえば、その時には、才能がすっかり枯れた男が、なんとなく身に付けた実力から生み出した新しい作品が置いてあるかもしれませんので、どうぞご愛顧のほど、よろしくお願い致します。

 

空沢綾文 2016年8月3日 30歳の昼に、自宅にて

CodeIginter(3.0.3)のjoin()の仕様

一つ前の投稿(『CodeIginter(3.0.3)のjoin()で遭遇したこと』)の追記。

どうやら、CodeIgniterでjoin()を使用した際に、joinするテーブル同士に同名のカラムがあった場合、from等は関係なく、最後にjoinされたテーブルのカラムが優先される模様。

※例えば、joinするテーブルAとテーブルBの、どちらにもcreated_at(作成日)カラムがある場合など。

なので、同名のカラムがある場合は、どのテーブルのカラムを使うのか、select()で明示してやる必要があるようです。

CodeIginter(3.0.3)のjoin()で遭遇したこと

今後のために勉強していたCodeIgniterで、バグなのか自分の理解が足らずにおかしな挙動になったのかはわからないけど、変な現象に行き当たったので、忘れた時のためにメモ。

■内容
joinしてselectした結果の、ユニーク列の値が全て同じ値(全部1)になった。

■例
前提として、一対一の関係になっている以下の様なテーブルがあるとします。

・テーブルA
id,col1,テーブルB_id
1,test1,1
2,test2,2

・テーブルB
id,col2,col3
1,test1_title,test1_text
2,test2_title,test2_text

これを、joinで繋げて変数に格納しようとした時に、以下のようにすると、『内容』に書いてあるような事例に遭遇しました。

$this->db->select('*');
$this->db->from('テーブルA');
$this->db->join('テーブルB', 'テーブルB.id = テーブルA.テーブルB_id
$query = $this->db->get()->result_array();

$queryの中身(実際は配列)

id,col1,テーブルB_id,テーブルB.id,col2,col3
1,test1,1,test1_title,test1_text
1,test2,2,test2_title,test2_text

↑『id』カラムの値が全て同じ値になってしまう。
 
 
これを回避するには、以下のようにします。

$this->db->select('*');
$this->db->select('テーブルA.id'); // ←追加
$this->db->from('テーブルA');
$this->db->join('テーブルB', 'テーブルB.id = テーブルA.テーブルB_id
$query = $this->db->get()->result_array();

$queryの中身(実際は配列)

id,col1,テーブルB_id,テーブルB.id,col2,col3
1,test1,1,test1_title,test1_text
2,test2,2,test2_title,test2_text

↑正しいデータになる。
 
 
末尾にテーブルAのidを追加して、それを参照すれば良いかと思って記述を追加したら、何故か出力結果のカラムは同じままデータだけが正しい状態になりました。
おそらく、joinしたテーブル同士のユニーク列の名前被りが原因で起こるバグなのではないかと思いますが、詳しいところはわかっていません。

CSVファイルの読み込み(配列格納)

CSVからデータを読みだして配列に格納する方法。

    // CSVファイルからセクションデータを取得する
    NSString *csvFile = [[NSBundle mainBundle] pathForResource:@"CSVファイル名(拡張子なし)" ofType:@"csv"];
    NSData *csvData = [NSData dataWithContentsOfFile:csvFile];
    NSString *csv = [[NSString alloc] initWithData:csvData encoding:NSUTF8StringEncoding];
    NSScanner *scanner = [NSScanner scannerWithString:csv];
    
    // 改行文字の集合を取得
    NSCharacterSet *chSet = [NSCharacterSet newlineCharacterSet];
    // 一行ずつの読み込み
    NSString *line;
    arrDetail = [[NSMutableArray alloc] init];

    //タイトル行読み飛ばしフラグ。読み込む場合はtrueにする
    bool titleUse = false; 
    while (![scanner isAtEnd]) {
        // 一行読み込み
        [scanner scanUpToCharactersFromSet:chSet intoString:&line];
        if(titleUse){
            // カンマ「,」で区切る
            NSArray *array = [line componentsSeparatedByString:@","];
            // 配列に挿入する
            [arrDetail addObject:array];
        }
        // 改行文字をスキップ
        [scanner scanCharactersFromSet:chSet intoString:NULL];
        titleUse = true;
    }

 
 
参考にさせていただいたサイト様
 http://b.ruyaka.com/2010/10/17/iphoneアプリ開発-csvファイルデータ取得/

プロジェクト名の変更

XcodeでiPhoneアプリを作成する際に、途中でプロジェクト名を変更したくなった場合の方法まとめ。

『基本』
プロジェクトを選択して、ファイルインスペクタ上で更新

参考にさせていただいたサイト様
 http://nolili.wordpress.com/2011/06/04/xcode-4でプロジェクトの名称変更/
 
 
『基本を無視して変に変えてしまった場合』
例えば、プロジェクトのTARGETSのBuildSettingsのProductNameを変えたりとか、Xcode上ではなく、MacのFinder上で名前を変えてしまった場合の対処法。

1.MacのFinder上で、元のプロジェクト名がついているファイルを、すべて新しいプロジェクト名に直す。
 (『.xcodeproj』以外。理由は後述)
2.Xcodeを起動して、プロジェクトのファイルインスペクタで名前を変更。新しい名前の.xcodeprojが作成される
 (この時、.xcodeprojの名前を変えてしまっていると、『既に存在します』というメッセージが出て更新できない)
3.プロジェクトのBuildSettings上で、元のプロジェクトになっている部分を、すべて新しいプロジェクト名に変更
 (plistとかprefixとか)
4.プロジェクト内のファイルを全て一度削除(リンク解除。物理削除しないように注意)して、AddFilesで全部登録し直す
 (ファイルパスが変更されているため)
5.Stopの横にある起動場所の選択をクリックして、NewSchemeを選択
6.同じ場所のManageSchemeで、元のプロジェクトの名前のSchemeを削除

ざっくりとした説明ですが、概ねこの手順のとおりに作業すれば、プロジェクト名を変更できるはずです。