ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

データモデルの追加とデータ操作

データモデルを作成 データ接続用DbContextも同時に作成する。 GoodsModels.cs public class Goods { [Key] [Display(Name="商品ID")] public virtual string Id { get; set; } [Required] [Display(Name = "商品CD")] public string Code { get; set; } [Re…

Seedで新規ロールとユーザーを登録する。

ModelsのIdentityModelsにIdentityRoleを継承したロールクラスを追加する。 IdentityModels.cs public class ApplicationRole : IdentityRole { public ApplicationRole() : base() { } public ApplicationRole(string pRoleName) : base(pRoleName) { } } A…

MySqlでのマイグレーション設定

Nugetパッケージ管理より、「MySql.Data.Entity」をインストールする。 mysqlで検索し、インストールを行う。 MySql.Data.Entity のインストール時に自動で追加されているので、connectionStrings のみ変更します。web.config <connectionStrings> </connectionstrings>

データマイグレーションを使ってみる。

マイグレーションを活性化 Nugetのパッケージマネージャーコンソールより、以下のコマンドを実行する。 enable-migrationsMigrationsフォルダーが生成され、「Configuration.cs」ファイルが生成される。※DbContextが複数存在する場合は対応DbContextを指定し…

環境ファイルにセクションを追加し、DB接続処理を行う方法

app.config, web.config新しくセクションを定義し、設定を行う。 DB接続情報を登録する例として、1つのデフォルト接続情報と複数のコレクション型を設定する。 完成イメージの.configファイル <configuration> <configSections> <section name="dbSource" type="My.DB.Configuration.DbSourceSectionHandler, My.DB"/> </configSections> <dbSource> </dbsource></configuration>

VS2012の「32ビットの優先」ビルドオプション

OleDbでOracle接続を行ったところ、何故かVS2012で作成したプロジェクトではエラーになる。 色々調べた結果、 理由はビルドオプションでの「32ビットの優先」オプションがTrueだった事が分かった。VSのバージョンによってビルドオプションの初期値が以下の様…

UbuntoにBitnami+svnサーバー構築

もともとはRedmine+svnサーバーのつもりが、Railsインストールが上手く行かなかった関係で、方向を変更 簡単なAll-in-oneパッケージのBitnamiで構築してみた Bitnamiのインストール Ubunto14.04をベースとして、インストールを開始、 1つ問題点として、何故…

Subversionサーバー構築(Ubunto14.04)

apache2のインストール $ apt-get install apache2 apache2-utils Subversionインストール $ sudo apt-get install subversion subversion-tools libapache2-svn libapache2-svn:Apache2を利用して公開するためのパッケージ レポジトリフォルダー Apache2のd…

ファイルをダウンロードし、実行する

WGET:URLより、ダウンロードする。 wget https://bitnami.com/redirect/to/65997/bitnami-redmine-3.0.4-1-linux-x64-installer.run CHMODでファイルの実行権限を与える chmod +x bitnami-redmine-3.0.4-1-linux-x64-installer.run ファイルの実行:「./フ…

Debianでのインストール・外部接続設定

インストール apt-get install mysql-server 文字列をutf8にする /etc/mysql/my.cnfのclientとmysqldに下記の様に設定する [client] default-character-set = utf8 [mysqld] character-set-server = utf8確認 # /etc/init.d/mysql restart # mysql -u root -…

Ruby 2.1.2のインストール

RaspberryPi(Debian)でのインストール方法最新Ruby2.1.2をFTPよりダウンロードする # cd /usr/local/src # wget ftp://ftp.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz解凍と再コンパイルごインストールする # tar zxvf ruby-2.1.2.tar.gz # cd ruby-2.1.…

Enumerableモジュール

map, collectメソッド ブロックの結果を新しい配列で返す [1,2,3,4,5].map{|i| i **2 } => [1, 4, 9, 16, 25] each_with_index 要素とインデックスをブロックに渡し繰り返す [:a, :b, :c, :d, :e].each_with_index{|v, i| puts "#{v} => #{i}"} a => 0 b => …

Regexpクラス

オプション i / Regexp:IGNORECASE : 大文字小文字を無視 m / Regexp::MULTILINE : 「.」で改行とマッチ x / Regexp::EXTENDED : 空白や#から始まるコマンドを無視例 a = /abcdefg/i a = Regexp.new("abcdefg", Regexp::MULTILINE | Regexp::IGNORECASE) => …

Timeクラス

時刻は世界標準時の1970/1/1からの経過秒数で保持されている Time.new Time.now Time.at Time.mktime Time.local Time.gm Timeオブジェクトの属性を取得 year mon / month day / mday hour min usec / tv_usec wday : 曜日を0から6までの数字で返す(日=…

IOクラス

IOクラスオブジェクト STDOUT : 標準出力 STDIN : 標準入力 STDERR : 標準エラー ファイルを開く io = open('README.md') => #<File:README.me> ファイルオブジェクト返す ファイル名の代わりに|に続いてコマンドを実行することも可能 io = open('| ls -la') => #<IO:0x100d42af0> puts io.re</io:0x100d42af0></file:readme.me>…

Fileクラス

ファイルオープン file = File.open('README.md') => #<File:README.md> ile.read => "This is Readmi file\n\n" file.close => nil File.open('README.md') {|file| file.read} openメソッドの2番目の引数 "r" : 読み込みモード "w" : 書き込みモード,既にあればファイルサ</file:readme.md>…

Dirクラス

ディレクトリ dir = Dir.open("/home") => #<Dir:/home> dir.each{|file| puts file} pi backups ... dir.path => "/home" クラスメソッド Dir.pwd, Dir.getwd : 現在の作業ディレクトリを返す Dir.chdir : CurrentDirを変更する。ブロックが有る場合、ブロック内部では</dir:/home>…

Hashクラス

初期化 a = "a"=>"b", "c"=>"d"} Hash["a", "b", "c", "d"] #{"a"=>"b", "c"=>"d"} a = Hash.new("DD") a["first"] #="DD" a.default #="DD" a.default = "EE" a["first"] #="EE" a = Hash.new{|hash, key| hash[key] = nil} a.["a"] #=nil Hashのキーや値を…

組み込みモジュール

Comparableモジュール 比較(,=>,>)が出来るようにするモジュール インクルードとの実装が必要 class Foo include Comparable attr_accessor :num def initialize(num) @num = num end def <=>(other) return @num <=> other.num end end foo = Foo.new(10) b…

配列Arrayクラス

配列の生成 Array [1,2,3] Array.new(3, "str") #["str","str","str"] Array.new(3) {|i| i * 3} #[0, 3, 6] 要素の追加 以下のメソッドでは+以外は破壊的メソッド 破壊的メソッド << , push : 最後に1要素を追加 concat : 最後に配列を追加 insert : 引数…

Stringクラス

casecmp 「」演算子と同じ動きをする。但し、大文字・小文字を区別しない "a" <=> "A" #=1 "a".casecmp "A" #=0 slice 文字列の一部を切り出す "abcdef".slice(2,2) #"cd" "abcdef"[2,2] #"cd" "abcdef".slice(2..4) #"cde" "abcdef".slice("bc") #"bc" "abc…

Fixnumクラス、Bignumクラス

基本的に同じメソッドと機能をもつ modulom, % 「%」と同じ 10.modulo(3) #10 % 3 10 % 3 ビット演算 「|」: or 「&」: and 「^」 : xor 「 ~」: not 「 「>>」: right shift 10 | 3 # 1010 | 0011 11 #1011 10 & 3 # 1010 | 0011 2 #0010 to_f Floatクラス…

Integerクラス

累乗(ベキ乗) 「**」は累乗を表す 3**2 # 3^2 chr 整数に対する文字を求める 65.chr #"A" next, succ 次の整数、+1した整数を返す pred 前の整数、−1した整数を返す times 整数分繰り返す upto 整数から引数まで増やして繰り返す 結果は整数部を返す。 …

Numericクラス

ceil 自身と同じかそれ自身より大きいな整数で最初の物を返す 2.9.ceil #=3 -2.9.ceil #=-2 floor それ自身より小さな整数の内最大を返す 2.9.floor #=2 -2.9.floor #=-3 round 最も近い整数を返す 2.9.round #=3 2.1.round #=2 -2.9.round #=-3 -2.1.round …

Objectクラス

object_id class equal? eql? methods private_methods protected_methods problic_methods singleton_methods clone, dup : インスタンスをコピーする。参照先の値まではコピーされない instance_variable_get : インスタンス変数の取得 instance_variable_…

Kernelモジュール

クラス外で使われるメソッドはほとんどkernelの命令 クラスがいでの実行はObjectクラスのメソッドを実行することになる KernelモジュールはObjectが継承しているため、Kernelモジュールのprivateメソッドである「p」「puts」「proc」等はKernelに定義されて…

特異クラス

インスタンス化したクラスに追加メソッドを適用 def <クラス名>.<新たなメソッド> end例 class Foo def methodA 1 end end foo1 = Foo.new foo2 = Foo.new def foo1.methodB 2 end foo1.methodB #2 foo2.methodB # NoMethodError クラスFooは変わらないまま…

Mix-in

モジュールをクラスに挿入する方法 モジュールの特色 ・単独ではインスタンス化出来ない ・継承できない ・クラスや他のモジュールに取り込み事が出来る module Bar def medhodA end endp Bar.ancestors # [Bar] p Bar.instance_methods #["methodA"] includ…

オブジェクト指向

1.指定されたクラス名で定数を作成する 2.定数に定義されたクラスを格納する class <クラス名> end initialize 初期化メソッド 継承 def Foo initialize(a) @a = a end end def FooExt < Foo initialize(a,b) @b = b super a end end ancestorsメソッド …

実行オプション

-h : ヘルプを表示する -v : バージョンを表示する -c : 指定ファイルの文法的に検証する、実行はしない -e : ワンライナー実行 -w : 冗長モードで実行、ワーニングを全て表示 -W0, -W1,-W2, -W : 出力範囲を指定して冗長表示、W,W2は全て表示 -l : $LOAD_PA…