N予備校ノート

大規模Webアプリ mojipicの作成 クライアント側構成 Webpack Babel Materialize React Dropzone.js OAuth Twitter4J JavaのライブラリだがScalaでも利用可。bulid.sbtファイルを編集して利用できるようにする Twitter Apps アプリの登録。Twitterプロフィー…

ショートカットキーのメモ

Mac ファイルのカット&ペースト command + cでコピーしてcommand + option + v デスクトップを切り替える control + 左右カーソルキー Chrome タブの移動 command + option + 左右カーソルキー

バリデーションのnotBlank(notEmpty), required, allowEmptyの違い

基本 CakePHPでは、バリデーションはモデルに記述します。以下のように設定できます。 array( 'rule' => 'notBlank', 'required' => true, 'allowEmpty' => false, 'on' => 'create', 'message' => 'エラーメッセージ' ) ); } notBlank (notEmpty) 空白文字…

ビューの継承とブロック

ビューの継承 共通部分はレイアウトに書くことでビューを細分化できましたが、ビューを親子関係にすることでさらに細分化できます。 app/View/Layouts/default.ctp app/View/Common/common.ctp app/View/Sample/foo.ctp app/View/Sample/bar.ctp という3つの…

ビューとレイアウト

基本 レイアウト ビューから変数を渡す コントローラから変数を渡す 使用するレイアウトを変更する 基本 CakePHPのビューはいくつかのレイヤーに分かれています。 レイアウト 大枠。ページの共通部分。 ビュー 各アクションに対応して表示するページ。 エレ…

多対多(HABTM)のアソシエーション

公式: アソシエーション: モデル同士を繋ぐ - 2.x アソシエーションの意味 データを取得する時に、関連するモデルの情報も持ってきてくれます。 コントローラでfind('all')したときに取得される結果が以下ですが、[AssociatedModelName]の値が関連モデルです…

Scalaのクラス

参考サイト Scalaクラスメモ(Hishidama's Scala class Memo) コンストラクタ コンストラクタとは、インスタンス化するときの処理をまとめた特別なメソッドです。 インスタンス化とは、クラス(設計図)からインスタンス(組み立てられた実物)を作ることです…

CakePHPをCentOSに導入する

導入するもの CentOS 6.9に以下をインストールし、CakePHPやMySQLの初期設定を行います。 Apache PHP 5.6 (+mysqlnd, pdo) CakePHP 2 MySQL 5.7 インストール Apache $ sudo yum -y install httpd PHP remiリポジトリ Remi's RPM repository PHP(と、PHPがM…

ScalaのThreadとRunnable

Threadクラス Threadクラスを利用すれば、並行処理を行うことができます。 object Main extends App { println(1) // 別のスレッドを生成 val thread = new Thread(() => { println(2) Thread.sleep(1000) println(3) }) // 実行 thread.start() println(4) …

Scalaの関数

関数リテラル 参考サイト Scalaリテラルメモ(Hishidama's Scala literal Memo) 関数リテラルを使って以下のように関数を定義できます。関数名がありませんから無名関数ともいいます。 scala> (x: Int, y: Int) => x + y res0: (Int, Int) => Int = $$Lambda$…

Scalaのパターンマッチ

参考サイト Scala matchメモ(Hishidama's Scala match Memo) scala-hackathon/patternmatching.rst at master · yuroyoro/scala-hackathon · GitHub 基本 match式は、switch文のような式です。breakは必要ありません。_はワイルドカードです。 def signal(co…

Scalaのケースクラス

ケースクラス ケースクラスとしてクラスを定義すると、以下の恩恵があります。 フィールドが公開される(全コンストラクタ引数にvalを付けてくれる) toStringなど便利なメソッドが実装される コンパニオンオブジェクトが自動生成される コンパニオンオブジェ…

Scalaのクラスとオブジェクト

クラス シングルトンとは、そのクラスのインスタンスが絶対に1つである事を保証することです。 classキーワードで定義すると、シングルトンではないいわゆる普通のクラスになります。 以下のようにPerson型の変数を何個も作ることができます。 class Person(…

Scalaのコレクション(Seq, Set, Map)とタプル

参考サイト Scalaコレクションメモ(Hishidama's Scala collection Memo) 全体像 Seq (シーケンス) List (リスト) Array (配列) Range (レンジ) String (文字列) Set (集合) Map (連想配列) Seqは、いわゆる基本的な配列。 Setは、要素の重複を許さない集合。…

Scalaのfor文

for (i <- 0 until 5)にすれば、0~4まで繰り返します。 for (i <- 0 to 5) { println(i) } 0 1 2 3 4 5 コレクションの処理 コレクションの各要素を順番に処理できます。 なお1つの式しか持たない場合、{}を省略できます。 scala> for (i <- List(1,2,3)) p…