2021年4月26日月曜日

VMMap

 

名称説明
ImageEXEやDLLなど実行可能ファイルを示す
Mapped Fileディスク上のファイルに対応し、共有可能なメモリマップ度ファイルであることを示す
Shareable他のプロセスと共有可能なメモリを示す
Heapヒープ。アプリケーションのプライベートメモリ
Managed Heapマネージドヒープ。.NETランタイムによって管理されるプライベートメモリ
Stackスタック。関数のパラメータやローカル変数、呼び出し履歴を格納するのに使用される
Private DataHeap、Managed Heap、Stack以外
Page Tableカーネルモードのプライベートメモリ

2021年4月12日月曜日

C

 配列

  • 宣言:int data[] = {3,4};
  • 呼び出し:printf("%d\n",data[0]);
文字列の長さを求める
  • stringライブラリを使わないやりかた(終端文字を検索する)
    • for(int i=0;str[i]!='\0';i++);
  • string.hをインクルードするやりかた
    • strlen(str);

2021年4月8日木曜日

西暦変換

1925年~1999年の範囲

①89よりも大きいとき

→88を引けば平成になる。 例)1990→90-88=2:平成2年

②88よりも小さいとき

→25を引けば昭和になる。 例)1960→60-25=35:昭和35年


2000年~2099年の範囲

③18よりも小さいとき

→12を足せば平成になる。 例)2002→02+12=14:平成14年

④18よりも大きいとき、

→18を引けば令和になる。 例)2020→20-18=2:令和2年

2021年4月6日火曜日

C#

配列

  • 宣言 string[] team = {"a","b","c"};
  •  呼び出し string[1]
  • 配列の長さの取得 .Length
    • 例:string.Length
  • foreachで配列を回す
    • foreach(string job in team)
    • jobはその場限りの変数

Listクラス

  • 配列と異なり最初に要素数を決める必要がない
  • using System.Collections.Generic; 名前空間を追加すると使えるようになる
var team = new List<string>();
team.Add("勇者");
team.Add("戦士");
team.Add("魔法使い");

foreach(string str in team){
Console.WriteLine(str);
}
  • メソッド
    • Add
    • Insert
    • Remove

Parse

  • int.Parse() 対象をint型に変換する

string.Joinメソッド

  • 配列の内容を区切り文字を入れながら連結できる
  • Console.WriteLine(string.Join(":",team));

string.Splitメソッド

  • 文字列を指定した文字で分割して配列に収める
  • 詳しくはこちら(https://www.sejuku.net/blog/44242)
string str = "A B C";
string[] ary = str.Split(' ');



php

 paiza php学習まとめ

変数

  • 変数は$
  • .でつなげることが可能
    • echo $a.$b とかできる
    • echo $a."abc".$b みたいにして間に指定したリテラルを挟むことも可能

条件分岐、ループ構文

  • 基本Cと同じ

配列

  • $配列名 = array(要素1,要素2,要素3...);
  • 要素数の上限がバージョンで異なる
    • PHP4系は65535個
    • PHP5系は429467296個
  • 特定の要素の取り出し $配列名[要素番号]
    • 例:$team[1];
  • 要素の追加 $配列名[] = 追加内容
    • 例:$team[] = "ドラゴン";
    • いきなりこれをやっても配列は作られる
  • 要素のアップデートは追加の構文で要素番号を指定する
  • 要素の削除 unset($team[2])
    • unsetした要素番号だけ歯抜けになるので注意

連想配列

  • 0,1...ではなく文字列をキーとしたもの
  • Valueは文字列でも数字でも良い
  • 宣言:$item = array("ロングソード" => 2, "鉄の盾" => 1);
    • array関数を使わずに作る方法
    • $item = ["勇者","戦士","魔法使い"];
  • 要素の追加:$item["クリスタル"] = 3;
  • 要素の削除:unset($item["クリスタル"]);

配列のソート

  • sort関数を利用
    • sort($item);
    • 一文字目を取得して順番を並び替える
    • 一文字目が同じだった場合は二文字目で並び替える
    • 日本語ソート、ひらがな→カタカナ→漢字→全角数字の順で整列
    • 漢字の場合は文字コード順なので注意
  • 逆順は rsort関数を利用
    • rsort($item);

連想配列のソート

  • 連想配列にsortをかけると、通常の配列に変換されてしまう(使っちゃダメ)
  • asort:valueを小さい順に並べ替える
  • arsort:valueを大きい順に並べ替える
  • ksort:keyを小さい順に並び変える
  • krsoft:keyを大きい順に並び変える

二次元配列

  • 配列の中に配列を入れられる
    • $itemB = [$teamA[0],$teamA[1],$teamA[2]];
    • $itemB = [$teamA,$teamB,$teamC]; ABC=配列
  • print_rでもそのまま表示できる
  • 呼び出し:$teamB[0][1];
  • 直接の定義
$teams =
[
["勇者", "戦士", "魔法使い"],
["盗賊", "忍者", "商人"],
["スライム", "ドラゴン", "魔王"],
];
  • 配列の追加
    • 親要素に追加 $teams[] = ["A","B","C"];
    • 子要素の追加 $teams[0][] = "D";
  • 配列の削除
    • 親要素ごと削除 unset($teams[0]);
    • 子要素の削除 unset($teams[0][1]);
  • 二次元配列のforループ
for ($i = 0; $i < count($teams); $i++) {
for($j = 0; $j < count($teams[$i]); $j++) {
  • 二次元配列のforeachループ
foreach ($teams as $row) {
foreach ($row as $col) {
  • 二次元配列をarray関数で作成する
$teams = array(
array("勇者", "戦士", "魔法使い"),
array("盗賊", "忍者", "商人"),
array("スライム", "ドラゴン", "魔王"),
);

foreach文

  • foreach($ary as $value){}; $value = バリューを代入する変数
  • キーも同時に取り出す場合
    • foreach($ary as $key => $val){}; $key=キーを代入する変数、$val=valueを代入する変数

array_fill関数

  • 配列を指定した値で埋める
  • array_fill(0,20,"森"); index=0から20個分作る
  • array_fill(0,10,array_fill(0,20,"森")); 入れ子にもできる

rand関数

  • rand(1-5);とかすると指定した範囲内で乱数を作れる
  • 詳細はこちら(https://www.php.net/manual/ja/function.rand.php)

date関数

  • 指定された引数 timestamp を、与えられた フォーマット文字列によりフォーマットし、日付文字列を返す
  • timestampが与えられない場合は現在時刻を返す
  • 詳細はこちら(https://www.php.net/manual/ja/function.date.php)

fgets関数

  • fgets(STDIN) paizaではこう
  • ファイルポインタから一行取得する
  • もう一度実行すると次の行に移動する
  • 詳細はこちら(https://www.php.net/manual/ja/function.fgets.php)

trim関数

  • 文字列の先頭および末尾にあるホワイトスペースを取り除く
  • 改行コードも取り除くことができる
  • 詳細はこちら(https://www.php.net/manual/ja/function.trim.php)

print_r関数

  • 指定した配列、変数に関する情報をわかりやすく出力する
  • 詳細はこちら(https://www.php.net/manual/ja/function.print-r.php)

var_dump関数

  • 配列の型を確認できる

explode関数

  • カンマでCSVを区切って分割などができる(指定した文字で分割する)
  • 分割して配列に入れられる
    • 例:$array = explode(",",$input);

count関数

  • 配列のすべての要素の数を調べる
  • count($array);
  • 二次元配列でも利用可能
    • count($array); count($array[0]);

インクリメント・デクリメント

  • ++やーーが使用可能

比較演算子

  • == > < >= <= !=
  • 型まで比較して同一なのか厳密な確認をする場合は === が使用できる

標準入力に値が入っている限り処理を継続

while($input = fgets(STDIN)){
    $array[] = trim($input);
}

※trimすると改行コードも消えるので、空白行への対応ができなくなる(trimを格納寸前で行えば標準入力読み込み時に空白行でストップするのを防げる

function文

  • function say_hello()
  • function say_hello($x,$y)
  • 引数省略の場合のデフォルト値は関数定義の際に変数=で直接書いておける
    • function say_hello($x = "こんにちわ")
  • 戻り値はreturnで返す
  • PHPでは小文字を使うことが多い
  • 動詞+名詞がスタンダード
  • 関数定義の前でも後でも変わらず動作する

クラス

  • オブジェクト=変数とメソッドがセットになったもの
  • オブジェクトの中にある関数はメソッドに変わる
  • クラス内の変数=メンバー変数と呼ぶ
  • phpではオブジェクトとインスタンスは同義
  • 変数とメソッドがセット→バグが出にくい
  • クラスとオブジェクトに分離→再利用しやすい
  • クラス名の最初の文字は大文字にする
  • クラスの実体化とメソッドの呼び出し
    • newで実体化して、ー>でメソッドを呼び出す
    • 内部の変数にアクセスする際は->$の$は不要なので注意
// クラスを作成する
class Player {
public function walk() {
$message = "勇者は荒野を歩いていた。";
echo $message;
}
}

$player1 = new Player();
$player1->walk();

  • コンストラクタ
    • public function __construct($name)で使用
class Player {
private $myName;
public function __construct($name){
$this->myName = $name;
}
public function walk() {
echo $this->myName . "は荒野を歩いていた。" . "\n";
}
}
$player1 = new Player("戦士");
$player1->walk();

$player2 = new Player("魔法使い");
$player2->walk();

$player1->walk();
  • インスタンスを配列に格納することもできる
$enemies[] = new Enemy("スライム");
$enemies[] = new Enemy("モンスター");
$enemies[] = new Enemy("ドラゴン");
foreach ($enemies as $enemy) {
$enemy->attack();
}
  • 引数と戻り値のあるメソッドを作る
    • returnで値を返すfunctionをメソッドとして持たせれば良いだけ
class Item {
public $price;
public $quantity;

public function __construct($newPrice, $newQuantity){
$this->price = $newPrice;
$this->quantity = $newQuantity;
}

public function getTotalPrice() {
return $this->price * $this->quantity;
}
}

$apple = new Item(120, 15);
$total = $apple->getTotalPrice();
echo "合計金額は" . $total . "円です。\n";
$orange = new Item(85, 32);
echo "合計金額は" . $orange->getTotalPrice() . "円です。\n";
  • アクセス修飾子
    • public:外からでも呼び出し可能
    • private:同じクラスの中から呼び出し可能
  • static修飾子
    • メモリ上に展開されたままになる
    • 全てのインスタンスで共通して利用ができる(オブジェクトを作成する必要はない)
    • $thisは自分のインスタンスを表す指定なので、staticの呼び出し時は使わない
    • 代わりにself::$taxのようにselfを使用する selfは自分のクラスという意味
    • インスタンスを指定するのか、クラスを指定するのかで異なるので注意
    • static宣言されたクラス内のメソッドを呼び出すには Item::getTotalAmoutみたいにする(selfの代わりにクラス名が指定されるだけ)

クラスの継承

  • クラスの継承時はクラス宣言時に「extends 親クラス」をつける
  • 継承元を親クラス、スーパークラスと呼ぶ
  • 継承した子どもは子クラス、サブクラスと呼ぶ
  • 子クラスで定義されていないクラスが呼び出された時、親クラスの方を見に行くようになっている
  • コンストラクタも親のものを継承するので、子クラス側では宣言なしでも良い
<?php
// クラスを継承する
class Box {
public $myItem;

public function __construct() {
$this->myItem = "新しいアイテム";
}

public function open() {
echo "宝箱を開いた。".$this->myItem."を手に入れた。\n";
}
}

class JewelryBox extends Box {
public function look() {
echo "宝箱はキラキラと輝いている。\n";
}
}
$box = new Box();
$box->open();
echo "\n";
$jewelryBox = new JewelryBox();
$jewelryBox->look();
$jewelryBox->open();
?>
  • メソッドのオーバーライド
    • 親クラスのメソッドを子クラスで再定義する
    • 単に子クラス側で同じ名前のメソッドを定義するだけ
<?php
// メソッドのオーバーライド
class Box {
public $myItem;

public function __construct($item) {
$this->myItem = $item;
}

public function open() {
echo "宝箱を開いた。".$this->myItem."を手に入れた。\n";
}
}
class MagicBox extends Box {
public function look() {
echo "宝箱は妖しく輝いている。\n";
}
public function open() {
echo "宝箱を開いた。".$this->myItem."が襲ってきた!\n";
}
}

$box = new Box("鋼鉄の剣");
$box->open();

$magicBox = new MagicBox("モノマネモンスター");
$magicBox->look();
$magicBox->open();
?>






2021年4月5日月曜日

VPC

VPCまとめ 

出典




  • AZ(アベイラビリティ・ゾーン)
    • データセンターの範囲のこと
  • リージョン
    • AZを束ねたもの
VPC=ネットワーク
マルチVPC
マルチアカウント
権限の管理によって変わる
1リージョンに最大5つのVPC
小さなネットワークにサブネットで分ける

データセンターを跨いでサブネットは分けられない

VPCのアドレスレンジ 16-28までしかサブネットできない

インターネット接続可・インターネット接続不可

故障に備えてAZ1とAZ2で同じ構成のサブネットを取る


AWS

 AWSとは

Amazonのクラウドサービス

EC2(仮想サーバー)

ストレージサービス

200種類以上も様々なサービスを提供


代表サービス例

  • Amazon
  • Cousera
  • Netflix
  • ソニー銀行
  • 自治体、公共団体

AWSのメリット

メリット

  • 手軽に利用を始められること
  • 小規模→大規模 に柔軟に拡張
  • 初期費用が安い
  • 運用をサービス提供者に任せられる(責任共有モデル)

デメリット

  • ハードウェア機器の構成に制約がある(特殊な要件には対応できない)→一部利用者機器の持ち込みが可能なところもある
  • 大規模運用の場合、維持費用が高額になる場合がある(時間単価が高額になるので、比較するとクラウドの方が高額になる場合が多い)

AWSとほかのサービスの違い

  • アジュール等と比べて機能が特段充実しているわけではない(基本的に追従するので)
  • AWSは運用実績が長いため信用性がある
  • しばらくは大丈夫

学習方法

書籍

  • AWS しくみと技術がしっかりわかる教科書
  • AWS認定クラウドプラクティショナー 認定資格試験テキスト
  • クラウドエンジニア養成読本

セミナー

  • connpass
  • TECHPLAY
  • ストリートアカデミー

AWSサービス

  • EC2:仮想サーバー 例:オンプレサーバーの移行や数か月程度の短いプロジェクト、災害配置対策での分散配置
  • EBS:Elastic Block Store EC2のドライブ(記憶保存)
  • S3:EBSと比較して容量制限がなく価格が安価 仮想サーバーのドライブとしては使えない 99.9999%の高可用性 静的なWEBの表示も可
  • Aurora:データベースの初期構築、設定、バックアップが自動化されている Auroraはクラウド向けに進化したDBパッケージ(AmazonRDSは従来のDBをインストールして使用するタイプ) オンプレのDBをクラウド移行することが可能
  • DynamoDB:非定型のデータを格納できるNoSQLデータベース 拡張性にすぐれ、高性能と低遅延を保ちながら、データベースの性能を増強させることができる データベースに対する読み込みや書き込みが多数並走する環境での採用事例が多い(例えばECサイト等)
  • Lambda(ラムダ):サーバレスのプログラム実行環境
  • VPC:AWS内のネットワークを論理的に分離でき、相互のルーティングやアクセス制御を設定できる サービスの規模を柔軟に拡張したり、耐障害性を高めたりするのに利用される ルーティングサービスのRoute53と組み合わせて利用されることが多い
  • SageMaker:機械学習のサービス ほかにもPolly Translate Rekognitionなどがある
出典


2021年3月19日金曜日

VS2019備忘録

 VS2019備忘録

アプリケーション構成ファイル(Web.config)

  • Webアプリケーションで利用する設定情報をXMLで保存したもの(環境変更に強くなる)
  • プロジェクト新規作成時に自動的に生成される
  • DBへの接続情報は<connectionStrings>タグに記述される
  • DBサーバーを変更したい場合はこちらを書き換えるだけで良い

ポストバック(ASP)

  • ASPでは、ボタンコントロールはASPタグで配置されている
  • 通常のHTMLボタンではなく、サーバーコントロール
  • 実行時にはsubmitのinputタグに変換される
  • 通常のHTMLではボタンを押すたびにフォームの内容がリセットされてしまう
  • ASPでは「ビューステート」と呼ばれるhiddenのinputタグとして値を保存しているため、ボタンを押しても内容が復元される(各コントロールの状態も復元される)
  • 通常は、ポスト→処理後のページに遷移 ASPは、データ送信・処理を行い自身のページに戻る

日付のカスタム書式

書式指定子説明出力例
yyyy4けたの年2004
yy0埋め2けたの年04
MM0埋め2けたの月08
dd0埋め2けたの日24
ddd曜日の省略名(カルチャに依存)火
dddd曜日の完全名(カルチャに依存)火曜日
HH0埋め2けたの時間(24時間表記)20
hh0埋め2けたの時間(12時間表記)08
mm0埋め2けたの分23
ss0埋め2けたの秒06
引用:https://www.atmarkit.co.jp/ait/articles/0408/27/news104.html

  • フィールドバインドで形式を指定する時は、{0:yyyy/MM/dd}のように指定
  • 文字列への変数埋め込みをするため0:みたいな書き方になる(https://blog.hiros-dot.net/?p=6407)
  • 詳しくは(https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/custom-date-and-time-format-strings)

ディティールビューとフォームビュー

  • ディティールビューは簡単にきれいなレイアウトのカード型を作成できるが、テンプレートの編集機能を利用して自由なレイアウトを組むことはできない
  • ディティールビューは項目数の少ないデータを簡単に表示したい場合に使う
  • 詳細に設計する場合はフォームビューを使う
  • ディティールビューについてはこちら(https://www.atmarkit.co.jp/fdotnet/dotnettips/840aspdetailsview1/aspdetailsview1.html)

HyperLinkフィールド

  • DataNavigateUrlFields:遷移先のフォームでデータを表示するための値を示す列名(例:customerID)
  • DataNavigateUrlFormatString:遷移先のWEBフォームのアドレス(同一フォルダの場合はプログラム名のみでOK)(例:CustomerCard.aspx?id={0} ?以降はクエリ文字列となる id=customerIDとしても良いが、id={0}とするとDataNavigateUrlFieldsで入力した値となる)
  • DataTextField:グリッドビューの一覧に表示する列名(例:customer_name)
  • SortExpression:並べ替えに使用する列名(例:customer_name)
  • HeaderText:グリッドビューの一覧における項目名(例:顧客名)
  • 呼び出される側の処理
    • DBの抽出条件でQueryStringを設定する(URLでid=で呼ばれる場合はidとする)→呼び出し側のクエリ文字列のパラメータと同じにする

CommandNameプロパティ

  • ボタンやリンクボタン等をクリックしたときに実行するコマンドを指定する
  • Editとすると編集用テンプレートを表示する
  • Newと指定すると新規追加用テンプレートを表示できる
  • Edit→編集モード
  • New→挿入モード
  • Insert→入力された内容でデータを挿入する
  • Update→入力された内容でデータを更新する
  • Delete→データを削除する
  • Cancel→ユーザーの操作を取り消して表示モードに戻る

フィールドのバインドが選択できない場合

  • 表示形式を{0:yyyy/MM/dd}にしたいのにフィールドのバインドが選択できない場合は、カスタムバインドのコード式ボックスに直接入力を行う(今回の例だとBind("first_action_date","{0:yyyy/MM/dd}"))

EvalとBindの違い

  • Bindメソッドは、データベースとの双方向(読み取り・書き込み)のバインディング(結合)を可能とするもの
  • Evalメソッドは、読み取り専用のため更新はできない

AppendDataBoundItemsプロパティ

  • ドロップダウンリストで使用する
  • 参考(https://blog.jhashimoto.net/entry/20110225/1298589836)
  • 使用時の問題点(http://natchan-develop.seesaa.net/article/49164594.html)

CommandNameプロパティ

  • Updateと指定 → フォーム上のBindメソッドが指定されたコントロールのデータを更新する
  • Cancel → キャンセルして編集を終える
  • Insert → コントロールに登録された値を利用して新規追加する(データソースに指定したInsertステートメントを利用)
ページロード時にクエリ文字列idが指定されているかどうかを判定して、指定がない場合は新規追加用テンプレートを表示する

Updateボタン、リンククリック後の処理の流れ

  • 「ItemUpdatingイベント」→「データベースの更新」→「ItemUpdatedイベント」

SQL文備忘録

 SQLステートメントの備忘録

角括弧[]の使い方

  • 列名などに特殊な名称(ハイフンなどの記号、数字から始まる)の場合はエラーになるので、それを防ぐために列名が括弧で囲われる(VS2019ではDBから読み込むSQL文は自動でつくようになっている)
ワイルドカード指定
  • 「%」がワイルドカード指定になる(ほかにも「_」があるが、「%」は0個以上の文字、「_」は1個の文字を表す)
  • 文字列+'%'とすれば文字列前方一致、'%'+文字列とすれば後方一致、'%'+文字列+'%'なら部分一致となる
  • VS2019のWHERE句の追加でパラメータのプロパティの部分の規定値は「%」にしておけば最初すべてが表示されるようになる
  • ワイルドカード文字はDBによって異なる → ACCESSの場合は「%」→「*」、「_」→「?」に置き換える必要がある

HTML5 & CSS3備忘録

HTML5とCSS3についての備忘録

HTML5

HTML5の思想

  • HTML5では見栄えに関する設定はすべてCSSに任せることになった→ HTML5準拠のためにはCSSは必須
    • 例:tableのcellpaddingやcellspacingはHTML5では非推奨
    • cellspacing1はtable-collaspeで代用できる

CSS3

複数classを適用する

  • class指定時にスペースで繋ぐ

IMEモードについて

  • IMEモードは現状MS系のブラウザ以外では使用できない
  • 業務では非常に便利なので、MS系ブラウザでの使用前提なら使ってもよい

2021年3月10日水曜日

SQLのN+1問題備忘録

N+1問題とは

ループ処理の中でSQLを発行 → 大量増殖(ねずみ講式)


回避方法

  • JOINする → 予めJOINしてテーブルをくっつけておく
  • Eager Loadする → 予めSELECTで引っ張っておく
大量の別テーブルをループで回していくから増殖する

EagerLoadとLazyLoadの違い

EagerLoad



先にがばっとセレクトしておく方法

LazyLoad

都度都度SQLを発行する(ねずみ講式)

当たり前だが、EagerLoadの方がパフォーマンスが速い(SQLの発行数が少ない)

対策時の注意点

  • メモリオーバーする可能性がある(スワップの発生)
  • 必要に応じて件数を区切りながら処理する必要がある

出典



2014年7月8日火曜日

生きていく

生きていくのは辛い
本当に大変だ

でも、人間を含めて、生き物はみんな生きることが宿命なんだ

なぜ、この世の中はこんなにも生きにくいんだろうか

なぜ、こんなにも息が詰まるのだろうか

我々がまだ野生だった頃、人間は今より不幸せだったのだろうか

幸福も不幸も、すべて人間が作り出した虚構だ
私たちはその虚構の中で生きている

木で作られたお金という紙っぺらを追いかけて、追いかけて、とにかく追いかけて

誰よりも幸せになりたいと、誰かを押しのけて、押しのけて、あいつを押しのけて

そんな毎日が積み重なって、死に向かって一直線

そんな毎日なんだ

2014年6月21日土曜日

期待すること

人間は常にいろいろな事を期待してしまう生き物だ。
たとえば、正月はお年玉を期待するし、宝くじを買えば当たりを期待する、部下には正確で間違いない仕事を暗に期待しているのだ。

そして期待を裏切られた時、落ち込んだり、怒ったりする。

なんて自分勝手な生き物なんだろうか。
それがストレスになっている人もいるだろう。

心を平穏に保つには、何事も期待しない事が必要だ。

何も人生に絶望しろと言っているわけではない。

ただ、暗に期待してしまっている欲しがりさんの自分に気づくことを勧めているのだ。

一度それに気づけば、心が独りよがりの期待をしなくなる。

そうすることで余計なことに一喜一憂しなくて済むのだ。

馬鹿な心の幻想に振り回されず、ありのままを生きることが一番大切だと思う。

2014年6月20日金曜日

ステマ

この世の中はステマの塊だ。
テレビしかり、新聞しかり、ネットしかり。
搾取する者達に右往左往させられ、階級の下のものは絞り取られていく。
我々は家畜であることを自覚しなくてはいけない。
それに気づかなければ、そこから抜け出すことはできないのだ。

気づかないほうが幸せという考え方もあるかもしれないけどもね。

2014年6月17日火曜日

勧善懲悪

正義と悪をはっきり分けて、悪い奴は死ねというのは、社会に洗脳された歪んだ考えだ。
法も人間も完璧ではない。

社会を成り立たせるために、多少歪んでいても枠として無理に当てはめてきたのが法であり、その根幹にあるのが正義や悪といった人が作った概念である。
そもそも何が正義がというのは、自然界では何一つ決まっていない。

自然界では、残念ながら人を殺しても本来罰せられるものではないのだ。(筆者は殺人を肯定する意図はない)

そんな歪んだ世の中で生きているのだから、我々は日々正義と悪の間でフラフラと揺れうごいている。

本来人が持っている精神を、無理に当てはめるものだから、心がおかしくなる人もいる。

だから、社会というものを信じすぎず、少し斜に構えてアウトローに生きてみよう。
いきなりできるものではないけれど、少しでいい。

自分の洗脳を解いて、本来の人間という生物について見つめ直してみよう。

そこには言語を超えた何かがあるはずだ。

きっともっと楽に生きられるはずだ。

2014年5月21日水曜日

自分らしく

今日こんなサイトを見つけた。グーグルをやめた人の記事らしい。
人生で大切なことが沢山書いてあった。
http://blog.btrax.com/jp/2013/10/16/google/

私もかつて同じような境遇にあったため、ものすごく共感できる内容でした。
一度きりの人生、くだらないプライドは捨てて、自分らしく生きていこうと思います。

2014年5月13日火曜日

自己暗示例文

私はリラックスしています。
右手がだんだんと重たくなってきます。
左手がだんだんと重たくなってきます。
右足がだんだんと重たくなってきます。
左足がだんだんと重たくなってきます。
両手の重さを感じます。
両足の重さを感じます。
手足の重さを感じます。
右手がだんだんと暖かくなってきます。
左手がだんだんと暖かくなってきます。
右足がだんだんと暖かくなってきます。
左足がだんだんと暖かくなってきます。
両手の暖かさを感じます。
両足の暖かさを感じます。
お腹の暖かさを感じます。
体全体の暖かさを感じます。
右手がだんだんと軽くなってきます。
左手がだんだんと軽くなってきます。
右足がだんだんと軽くなってきます。
左足がだんだんと軽くなってきます。
両手の軽さを感じます。
両足の軽さを感じます。
体全体の軽さを感じます。
私はリラックスしています。

リラックスした生活を送るために、私は過去の自分を全て許したい。
私は過去の自分と、自分と関係した人をすべて許す。
すると、肩の重荷が下りて、とてもリラックスします。
私はどんな状況でもリラックスしていて、気持ちよく過ごしている。
私は世界中どんな場所でもリラックスしていて、気持ちよく過ごしている。

1-10数えて解除

経営者感覚

社員に経営者感覚なんて見につくはずがない。
だって社員なんだから。
社員は経営者感覚なんて身に着けなくていいから、自分の給料分きちっと稼ぐ能力だけあればいい。
それ以上でもそれ以下でもない。

2014年5月11日日曜日

PD

パニック障害は恐ろしい病気だ。
負のスパイラルから抜け出せないと、日常の色々な事が怖くなってきて、出来る事がどんどん少なくなっていく。
筋肉が段々動かせなくなっていく恐ろしい病気があったけど、まさにあんな状態で徐々に蝕まれていくんだ。

不安のスパイラルに陥っているとき、なかなかポジティブな思考はできないかもしれない。
死んだほうが楽だと思うことは何度もあるかもしれない。

でも忘れないで欲しい。

負のスパイラルがあるってことは正のスパイラルだって当然ある。

どん底にいるってことは、もう上がるしかないんだよ。

底を知ってる人は、誰よりも強い、そして誰よりも優しくなれるはずだ。

今はダメでも、いつかきっと這い上がってやる。

負けても負けても、まだ立ち上がるんだ。

2014年5月3日土曜日

人生と欲

人生はゲームのようにリセットすることはできない。
それって本当?

例えば借金は自己破産ができるし、仕事はやめることができる。
恋人と別れるのも自由だ。

唯一時間だけは人間が決定できないものじゃないだろうか。

誰もが人生をやり直したいなんて思うだろうけど、今の現状、毎日ご飯を食べれていて、生活ができているのであれば、それをわざわざリセットしたいなんて思わなくてもいいんじゃないだろうか。

そもそも人生において成功の定義など存在しない。

何度やり直しても、人間の欲に限りはないだろうから、満足の行く人生なんて存在しない。満足を目指すというのがそもそも無理なんだ。

欲を捨てることで、結構人生は楽しくなる。

欲があるから、それが満たされないと人間は嫌な思いをするのだ。

ただ、欲を捨てるという行為が、人生を充実させたいという目的の元で行われると考えると・・・

人生を充実させたいという目的こそ欲であるから、結局欲を捨てられてないじゃないか!という事になりかねない。

うーん。そうすると、全ての欲を捨てるというのはできないという事になる。

だいたい食欲ってのはみんなあるしね。

完全に欲を捨てきった人間というのは、どういう状態になっているのだろうか。

即身仏になったお坊さんなんかがこれに近いのだろう。

機会があれば即身仏になろうとしている最中に話を聞いてみたいものだ。

インドあたりにはまだいるのかもね。