しょぼしょぼエンジニアのメモ代わり

すぐわすれちゃうからすぐメモりたい

laravel テーブル作って初期データ入れるところまで

マイグレーション新規作成
php artisan make:migration create_m_baggages_table
-- テーブル名は小文字の複数形にする。

テーブル定義書く

public function up()
{
    //荷物マスタ
  Schema::create('m_baggages', function (Blueprint $table) {
    $table->integer('baggage_id');
    $table->string('name')->nullable();
    $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
    $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP on update     CURRENT_TIMESTAMP'));
    $table->primary('baggage_id');
  });
}

public function down()
{
    //荷物マスタ
    Schema::drop('m_baggages');
}

 

モデル作成(頭大文字にする)
php artisan make:model M_baggage
-- 単数で命名。主キーの設定が必要。つけないとidで探しに行く。
    protected $primaryKey = 'baggage_id';

 

シーダー作成
php artisan make:seeder M_baggagesSeeder
-- 初期データつくる。utf-8にしないと日本語化ける

  M_baggage::truncate();

  //insert
  for($i=0;$i<5;$i++)
  {
    Eloquent::unguard();
    $data = M_baggage::create();
    $data->baggage_id =$i+1;
    $data->name = '荷物';
    $data->save();

  }

 

シーダー実行
php artisan db:seed
※DatabaseSeederに追記しておくこと
    $this->call(M_baggagesSeeder::class);



開発するとき必ず入れるもの(Windows)

秀丸

キングオブエディタ。スクリプト開発のときは絶対これでやる。これなかったら作業効率半分に下がる。

秀まるおのホームページ(サイトー企画)−秀丸エディタ

秀丸スーパーライセンスパック [ダウンロード]

秀丸スーパーライセンスパック [ダウンロード]

 

  大概の人に知れ渡っているシリアルコードだが、私はもちろんライセンスをきちんと購入している。

WinMerge

ファイル/フォルダ比較ツール。いろいろあるけどソース管理ツールと連携するとさらに便利。

WinMerge 日本語版

astah

便利なんてもんじゃない。これがないともうドキュメントかけない。フリー版つかってるけど、ER図は有料版じゃないと使えない。個人で買うには少し高いライセンス料。1種類ずつライセンス販売してもらえないだろうか。。。

 

astah システム設計、ソフトウェア開発支援ツール | Astah

astah* professional 活用ガイド

astah* professional 活用ガイド

 

Tera Term

仮想サーバ扱うには必須。

osdn.jp

WinSCP

仮想サーバとのファイルやりとりGUIでサクっとやりたい私には必須!

osdn.jp

HeidiSQL

MySQL使うときにはこれだなあ。

www.forest.impress.co.jp

 

A5:SQL Mk-2

DB定義をリバースするにはこれですよね。

みんな使ってるんだなあってどこいっても思います。

www.vector.co.jp

 

 

 

あとTortoiseものやxammpだよね。環境づくりはさくっとね!

 

 

C# ファイルの読み書きセット

ファイルの読み込み

// StreamReader 生成

System.IO.StreamReader cReader = (
    new System.IO.StreamReader(this.minesFile, System.Text.Encoding.Default)
);

// 読み込みループ
while (cReader.Peek() >= 0)
{
    // ファイルを 1 行ずつ読む
    string line = cReader.ReadLine();
    Console.WriteLine(line);
}
cReader.Dispose();

 

書き込み

StreamWriter writer = new StreamWriter(this.minesFile, false, System.Text.Encoding.Default);
string data = "書き込みたい内容";
writer.WriteLine(data);
writer.Dispose();

 

dispose気にしなくていいようにusingつかっちゃったほうがクレバーだよね。でも意識的に閉じる癖をつけるにはこっちだろうね。

C# タイマーセット

操作しないのを判定するためのWinAPIもあるけれど、ユーザインプットの箇所が1箇所くらいの場合はこれでいいんじゃないかと思う。

 

頭で定義

private const int timeoutInterval = 60 ; //秒

private bool bTimeout = false;

 

public frmMain()
{

    this.FormClosing += frmMain_FormClosing;

    // タイマー生成
    var timer = new Timer();
    timer.Tick += new EventHandler(this.OnTick_FormsTimer);
    timer.Interval = timeoutInterval * 1000;

    // タイマーを開始
    timer.Start();

}

// タイマーイベント

public void OnTick_FormsTimer(object sender, EventArgs e)
{
    if (this.bTimeout)
    {
        this.Close();
    }
}

// 終了処理イベント

void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
    if (!File.Exists(this.minesFile))
    {
        return;
    }

}

 

 

そんでユーザ入力があるたびにbTimeoutをfalseにしておけばよいのでは。

 

広告を非表示にする

C# 構造体クラスセット

構造体代わりのクラスセット

 

//パーソンクラス

public class PersonData

{

    private int id = 0;

    public int ID
    {

        get
        {
            return this.id;
        }
        set
        {

            if (this.id == value) {return;}
            this.id = value;
        }
    }

 

    private string name = string.Empty;
    public string Name
    {

        get
        {
            return this.name;
        }
       set
        {

            if (this.name.Equals(value)) {return;}
           this.name = value;
       }
    }
}

 

プライベート変数を上にかためるのが多いけど、メンバを追加していくときget/setと一緒にしておいたほうがコピペ楽だからこう書くこと多い。

 

laravel コントローラ作成する

artisan コマンドで生成する

php artisan make:controller PagesController 

 

初めてのLaravel 5.1 : (3)&nbsp;コントローラーの作成laravel10.wordpress.com

Laravel データベース作成、変更

artisan make:migration コマンドで作成したり変更したりする。

ここわかりやすい。

 

初めてのLaravel 5.1 : (8)&nbsp;マイグレーションの作成laravel10.wordpress.com

 

そしてModel作成

 

初めてのLaravel 5.1 : (9)&nbsp;モデルの作成laravel10.wordpress.com