2015年11月23日月曜日

Multi Thread Processing

It's Multi Thread Processing that I am interested in. I'll show you some staffs below.

 I used thread.h in my calculation. It is found in the C++11 ,which is standard library, but you have to compile with "g++ -std=c++11 YOUR_CODE.cpp -pthread".

I referenced these site.
(1)sort
(2)PI

I surprised that Google warned me that my searching word was something odd when I searched "hardware_concurrency()".

hardware_concurrency() is how many threads on your system.
Here is in details below.

 Sites I introduced are Japanese Sites, so you may be difficult to understand what they say. Sorry, I'm Japanese. I'm practicing my writing skill in English, so I hope you to point out my writing faults in my page comment column below. Thank you for reading my page !


2015年10月1日木曜日

vimのインデントについて

Vimには自動インデント機能が付いていますが、プログラミング言語以外で書かれたテキストファイルなどを編集するときたまにインデントをしたくなるときがあります。

このとき必要なコマンドは

gg=G

です。

これは、ファイルの先頭から末尾までインデントを行うという意味です。

GVim でのプラグインの導入法

Windows環境でVimを使うとなると、GVimを使うことがあります。
Cygwinとは違い、GVimでは独特なプラグインの導入方法があります。
まず、プラグインを導入するべき場所を確認するために、GVimにおいて、

:h runtimepath

と入力し、Windowsユーザーの方は、DOS,MS-Win,OS/2のいずれかのキーワードが入っている欄をご覧ください。GVimには本家のものや可変されたバージョンのものが多数あるのでこのような曖昧な書き方にさせていただきました。

私は、香り屋様のGVimを使わせていただいてます。

私の場合は、"ユーザーディレクトリ"/vimfiles にプラグインを導入し機能しました。

プラグインはプラグイン名が付いているディレクトリをそのまま上記のパスに保存するのではなく、その中身を取り出して保存してください。

2015年8月24日月曜日

真面目系クズだなと最近思う日々

 最近、「真面目系クズ」という言葉が自分の中で引っかかる言葉です。

真面目系クズとは---

まじめ風であるからかろうじての社会的立場を得ているものの
不真面目であり不誠実であり逃避癖があり指示待ち人間であり
実際はほぼ底辺のような存在 のこと つまりクズ

引用元:負け組・低学歴・底辺なクズとして生きるための研究http://majikuzu.doorblog.jp/archives/36517408.html

あまりにも、自分に当てはまります。自分で言うのも恥ずかしいですが、子供時代を振り返ると周囲からは「真面目」、「やさしい」jなど言われてきて、終いには「純粋だね」と言われてきました。

自分の中では違和感しかなく、うれしくもありませんでした。特に「純粋だね」は、一番ありえないです。

---努力はするが、自分でできない---

これが一番真面目系クズにとってできないことだと思います。

なぜなのか?自分なりにまとめて、

 長男、長女である人ならわかる人が多いと思いますが、親から理不尽な形で弟や妹の責任を責められることです。

また、他者、または社会からの要求(学生だったら試験の結果、社会人の方なら仕事の結果)によって自分の価値が付けられる環境にあり、そこで大きな失敗をしたと感じてしまうことです。

特に、後者のことについて、個人的に印象的な言葉があります。
「無力感」
です。

これは、ほとんどの人が経験するものだと思います。
「努力しても無駄」
こんなことを思うことが頭の片隅に存在してしまうことです。

自分がテスト勉強にものすごく力をいれても、結果がよろしくない。
ということを学生時代に何回も繰り返した。または、

自分が最大限に努力したと思っていても、受験で失敗。

ということもあります。そして、「無力感」というものが刷り込まれます。

人間だけでなく犬やサーカスの象にも言えます。

サーカスの象は、幼少期に調教されます。象は苦しくて逃げ出そうとします。しかし、象は小さな杭につながるロープで結ばれ逃げることはできません。象は逃げようとしますが、逃げることはできません。
それを大人の象になるまで調教され、同じ思いを繰り替えします。その間に、象は逃げようとしなくなります。象につながった小さな杭が、大人の象になれば抜けることができたとしても。

このように、「無力感」というものが学習され刷り込まれます。

この「無力感」から逃れるにはどうすればよいか、まだ私には答えを見つけることができません。

まだまだ、書きたいことはありますが、真面目系クズである私に染みたサイトを紹介します。

同人ゲーム制作の心理学
http://astroport.dojin.com/dou-folder/dou-tobira.html

これは、ゲームを製作する人だけでなく、他の分野の人にも共通することが書かれていると思います。

個人的には、「禁止令」のお話が印象的でした。この「禁止令」もまた、「無力感」の基となるものだと思います。


 私が個人的に真面目系クズになったきっかけは、保育園の年長時にいじめられたことがきっかけです。今でも不思議ですがはっきりと覚えています。わたしは、そこで人生で大事な「自信」というものを失いました。どんなに、勉強で良い成績や、大会で良い結果を残したとしても何も「自信」というものが付く感じがしませんでした。今でも、「自信」をつける確実な方法が見つかりません。今まで積み重ねてきたことを振り返っても、「自信」につながりません。

 自信をつける方法として現在試している方法は、「とことん好きなことをやる」ということです。自分の内なる声を聴いて行動するというスタンスです。これは、私の大学受験の失敗の経験をもとにして、心理学系のサイトやあらゆる人の話し、自己啓発本、心理学の本から、分析して心理学系のサイトで発見した方法です。
勉強や趣味、遊びでもそれを実践することで自分で納得できるように人生をおくることができると思います。

ちなみに、私の年下の友人にこのことを意識してもらったところ、学歴コンプレックスなしに自分よりも良いレベルの大学に入ることができました。

先生は、先生。親は親。自分は自分です。周りに流されないように、自分の頭で冷静に情報収集をし、考えてください。方法をまちがえたと思ったらすぐに、変えることです。


まとまった文章でなかったですが、皆様の一助になればと思います。





2015年5月4日月曜日

Cygwinでのショートカットの作成

以前から思っていたのですが、Linux環境でショートカットを作成するときはlnコマンドを使うようなのですが、Cygwinですとハードリンク(ディレクトリへのショートカット)を作る際に管理者権限に絡むので不具合が起きます。そこで、aliasコマンドを採用しました。

aliasコマンドの使い方は以下の通りです。


aliasコマンドで登録されている自作のコマンドの表示
$ alias

aliasコマンドで自作コマンドを登録する
$ alias MyC='cd ~/Documents/MyC/'

注)=の右辺はコマンドをシングルクウォーテーションで囲む必要がある。

登録したコマンドの内容を表示する
$ alias MyC
MyC='cd ~/Documents/MyC/'

情報元は↓です。

2015年4月12日日曜日

Vimにおいての関数ジャンプについて

まず、Vimで関数ジャンプをしたいのならtagを作ります。
作り方は以下のURLを参考にしました。
http://qiita.com/soramugi/items/7014c866b705e2cd0b95

とりあえずコーディングしているプロジェクトフォルダで以下のコマンドを実行しtagを作ります。

ctags -R

ソースコードを開き、ctrl + ] でジャンプすることができます。

Vim内でtagファイルの更新をするためには以下のURLを参照してください。
http://soramugi.hateblo.jp/entry/2013/12/01/150433

Vimに導入
https://github.com/soramugi/auto-ctags.vim

Vim内で以下のコマンドを実行するとtagが更新されます。

:Ctags


ジャンプするときにウィンドウを分割してみたいときは以下のショートカットキーを押すとできます。

1.ジャンプ先のソースを真横でみたいとき

ctrl + h

2. ジャンプ先のソースを縦に並べてみたいとき

ctrl + k


2015年3月7日土曜日

エラー error C2146: 構文エラー についての考察

ゲームを作っているときにこのようなエラーが発生しました。

error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません


C++の文法事項に問題ないと思いきや…あったんですねー RouterMan様の記事に書かれてました。

http://routermanblog.blogspot.jp/2013/09/error-c2146-xxx.html


エラー前は

chara.h----------------------

#include "define.h"
#include <list>

RTS.h-----------------------

#include "chara.h"
#include "map.h"
#include <list>

chara.cpp--------------------
#include "chara.h"
#include <time.h>
#include <stdlib.h>


エラー改善後(char.h の #include "define.h"を削除)

chara.h----------------------

#include <list>

RTS.h-----------------------

#include "chara.h"
#include "map.h"
#include <list>

chara.cpp--------------------
#include "chara.h"
#include "define.h"
#include <time.h>
#include <stdlib.h>


どうも define.h の双方向インクルードしてたみたいですね。

2015年1月8日木曜日

Vimのすごさに気付いたかも…

 よく映画とかドラマで出てくるハッカーってカッコいいですよね。スタバでMacBookAirもっていてプログラミングしてるとか痺れますわ。自分もせっかく情報系の学科に在籍しているので少しは映画に出てくるハッカーみたいになりたいと日々思います。

 というわけなので、それに近づける方法の一つが Vim です!

Vimは最初は使いづらいですが慣れてくると年収や彼女ができるぐらいに便利なエディタらしいです。確かに使いづらいですが、慣れてくると 「あっVimのほうがいいかも。」 と思ってっきました。

一応、Linux上ではありませんがWindows上のCygwinでのVimの様子を下記に示します。




今後の自分の使うVimの環境のため、設定ファイルである.vimrcファイルの一部を貼らせてください。

------------<.vimrc>-------------------

set backspace=indent,eol,start

set tabstop=4
set shiftwidth=4

set number

set ruler

syntax on

filetype plugin indent on

set hlsearch

set showcmd

set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8


---------------------------------------


機能として、1行目からバックスペース、タブ幅、行番号、カーソル位置、ファイルの種類による文法に着目した色づけ(C,C++,Latexなど)、C言語などのソースファイルならではの中括弧によるインデント、検索結果をハイライト、コマンド表示、文字コード関係です。

設定を変えるだけで、今までお気に入りだったエディタより使いやすくなりました。慣れてコマンドをどんどん覚えれば開発効率が上がるかも。

Vimを知ったのは中学の頃だったのですが、遊びたい盛りだったのでVimの練習なんてあほらしく感じられました。意外と簡単に冬休みのレポートで使っていくうちに上達できましたね。
 YouTubeを見てると魔法のようにVimでソースコードなどを作る達人がごろごろいます。

私みたいな思いを持っている人でプロの方が映画とかに出てくるハッカーになろうとしてカッコいいユーザーインターフェースを日々開発してる方もいらっしゃいます。



全然関係ないですが、筋トレっていいですね!おわりっ!!

2015年1月4日日曜日

やっぱ3日坊主はだなと感じる毎日と分かったことを投下します。

~3日坊主の人は何回も何十回何百回も3日坊主を繰り返せばよい~

-------------<分かったこと>-----------------


---<vim>---

Vimでの他ソフトからVimへのコピペは以下のコマンドを用いる

"*p

これでVimにクリップボードの内容を貼り付けられる。

また、

"*yy

でvimの文章をvimの他のソフトで利用できるようにクリップボードにヤンクされる。


表を作るときは横を基にした表ではなく、縦に数字を並べていく縦を基にした表を考慮す
るとよい。

vimの.vimrcというファイルを(ホームディレクトリに?)作成し以下のものを書き込むとバックスペースに困らない。
set backspace=indent,eol,start

---<Latex>---

latexでコマンドがとなり合わせになっているときはコマンド同士を半角スペースで
空ける。例)\hline \end{tabular}

ここに表を示す。罫線を越えた方法である。

\begin{table}[h]
\begin{center}
\caption{Aレジスタの内容とFレジスタが表すフラグの内容}
\begin{tabular}{c|c|c|c|c|c}

%\hline
\bhline{1pt}
Fレジスタの & \multicolumn{5}{c}{Aレジスタの値}  \\ \cline{2-6}
フラグの内容 &  66  &  65  &  66  &  88  &  F5   \\ \hline
S & 1 & 0 & 0 & 0 & 1 \\ \hline
Z & 0 & 1 & 0 & 0 & 0 \\ \hline
PV & 0 & 0 & 0 & 1 & 0 \\ \hline
C & 1 & 0 & 0 & 0 & 0 \\ \hline

\end{tabular}
\label{table_2_1}
\end{center}
\end{table}


上記は見ずらい。というわけで表を作るときは横を基にした表ではなく、縦に数字を並べていく縦を基にした表を考慮するとよい。

\begin{table}[h]
\begin{center}
\caption{Aレジスタの値とFレジスタの値}
\begin{tabular}{c|c}

%\hline
\bhline{1pt}

  Aレジスタの値   &   Fレジスタの値   \\ \hline
60H & BBH \\ \hline
65H & 42H \\ \hline
66H & 02H \\ \hline
88H & 26H \\ \hline
F5H & 82H \\ \hline

\end{tabular}
\label{table_2_1}
\end{center}
\end{table}