javaのstatic { }とか{ }

スタティックイニシャライザ クラスがロードされる際に呼ばれる。 static変数の初期化が関数を使って出来る! static { } インスタンスイニシャライザ コンストラクタと似ているが、 コンストラクタがA(), A(String name)などとオーバーロードされているとす…

N Scala応用 型パラと変位

Javaでは全てのクラスがObject型のサブクラスだが、ScalaではAnyが最上位のクラスで、次にIntなどの値型はAnyValクラス、参照型はAnyRefクラスのサブクラスになる。図にすると、 引用元: Learning Scala part eight – Scala’s type hierarchy and object eq…

N Scala応用 関数 覚書

ScalaにはFunction0 ~ 22のトレイトがある。数字は引数の数で、0なら返り値のみ。関数の作り方をきちんと追うと、まずこれらのトレイトを継承した無名クラスを作り、その中でapplyメソッドを宣言する、という流れ。この辺が関数型言語の特徴なのか? applyメ…

WebStormでExpressのテンプレートのscriptタグにCannot resolve directoryと出る時

Expressでなくとも、フレームワークを使っているときあるあるだと思います。 javascript - Webstorm: "Cannot Resolve Directory" - Stack Overflow Settings→Directories→publicを右クリックしてresource rootを左クリック

didinj/mean-angular4-chat-appについて

Building Chat Application using MEAN Stack (Angular 4) and Socket.io 上のリンクに順を追って書かれているけれど、色々抜けているのでForkしたほうがよい。 MEANスタックは、Mongo DB, Express, Angular, Node.js で構成される。 ExpressがDBアクセスとJ…

N 実践HTTP 15~ 覚書

URL設計は基本的にモデルを基準にする。単独で操作するケースが少ないモデルは、そのモデルが従属するモデルのURLで行う。例を出すと、試験問題モデルは試験モデルのURLでよい。 passport.serializeUser( (obj,done) => {} )でユーザオブジェクトをどのよう…

N 実践HTTP ~14 覚書

PORT=8000 npm startはLinuxでの書式。Windowsではset PORT=8000 & npm start とする。このsetコマンドとは、実行中の環境(プロンプト)でのみ有効な環境変数を設定するコマンド。「&(アンパサンド)」はコマンドの区切り文字。複数のコマンドを連続で実行でき…

N HTTPサーバ 22~26 覚書

PostgresSQLのCLI psql -U ユーザ名 でログイン\c データベース名 で使用するDBを決定その後は普通にSQLを実行できる !! Visual Studio CodeにはIDEAのキーバインドにする拡張機能がある!! Number.MAX_SAFE_INTEGERによって、jsで正確に扱える範囲で最大…

windowsにpostgreSQLのインストール

公式サイトからインストーラをダウンロードする。 普通にインストールする。スタックビルダがどうたらはしない。 環境変数にbinディレクトリを設定する。 コマンドプロンプトでpsql -U postgresを入力、パスワードも入力し、ログインできることを確認。

Node.jsのイベントループ

「for やめろ」またはイベントループと nextTick() - Block Rockin’ Codes Node.jsはイベントのキューにイベントがあったら処理をする。 そしてイベントのキューにタスクがあるかどうかの確認でループし続けている(=ノンブロッキング) イベントのキューにはI…

git cloneで失敗する時 windows

Warning: Permanently added the RSA host key for IP address 'IPアドレス' to the list of known hosts.Permission denied (publickey).fatal: Could not read from remote repository. Please make sure you have the correct access rightsand the repos…

N HTTPサーバ ~21 覚書

nodegrind -o app.cpuprofile ファイル名 でパフォーマンスの測定を行い、結果出力を行う。出力されたファイルはChromeのJavascript profileで読み込める。 echoのリダイレクト(閉じカッコ一つ)はファイルがない場合新規作成する。 git cloneで失敗する時 wi…

N サーバ 覚書

echo "文字列" >> ファイルパス によって、ファイルパスで指定したファイルに文字列を追記することができる。まずechoによって文字列が標準出力に向かうが、>>によってファイルにリダイレクトされるため。なお、>(閉じカッコ一つ)だと、上書きとなってしまう…

N 準備 覚書

Linux ファイル名がドットで始まるものは一時ファイルが多い 親ディレクトリへの移動は../でなくても..でよい ~はユーザごとのホームディレクトリであり、ユーザが自由に変更して良い場所。多くの場合/home/ユーザ名と等しい。 findコマンドでファイルやディ…

Angular4のチュートリアル覚書

// 画面一つ一つの要素を部品化しコンポーネントとして(=部品単位で)切り出すことで、保守のしやすいソースを記述することができる@Component({ // selector: 'something' とすると、<something></something>という風に利用できる selector: 'app-root', // HTML(テンプレート)の場…

$(function(){})で囲む理由

$(function(){}) で囲むと、全てのDOM要素が読み込まれた後に実行されるそうです。 Node.js + Express + socket.io で、入力に応じて画像を返す.md · GitHub 似ているものに即時実行関数があります。(function(){})など、カッコで全体を囲んでいるものです。…

octaveの行列の積

*と.*では異なる。 *は行列として積をとる。 [1 2; 3 4; 5 6] * [2 ; 2] = [ 1*2 + 2*2 ; 3*2 + 4*2 ; 5*2 + 6*2] = [6; 14 ; 22] octave:13> xx = 1 2 3 4 5 6 octave:14> yy = 2 2 octave:15> x * yans = 6 14 22 .*は要素ごと。 [1 2; 3 4; 5 6] .* [ 0 0…

Gradient Descent

Courseraの講義なので、ルー語になってしまうことをご了承ください。 概要 Cost functionをminimizeするには、傾きが0になる方向にθを近づけていく。 Cost functionをθで(Partial )derivativeすることで傾きを求めると、どちらの方向に行けば最小の地点があ…

CentOS7 PHP7.0にtidyをインストール

インストールされているPHPのバージョンに合ったパッケージを探す。yum list | grep tidy PHP7.0に合うパッケージはPHP70から始まる。7.1はPHP71から始まる。今回はphp70-php-tidy.x86_64が見つかった。yum install php70-php-tidy.x86_64 インストールしま…

flat-uiのvaliables.lessを編集してPHPStorm(WebStorm)でコンパイル

まず、この記事に従って設定します。 mugimugi.hatenablog.com もし、どこにインストールされたかわからず、コマンドプロンプトでlesscも使えない場合は、グローバルインストール先にPATHが通っていないのでこちらを参照してください。 phiary.me 次に、空の…

エラーが出た:the requested PHP extension intl is mising from your system.

phpのextensionがないらしい。 yum list | grep intlで、自分のPHPのバージョンに合ったものを見つける。 yum install {パッケージ名}する。 rpm -ql {パッケージ名}でextensionの.soの場所を調べる。 php.iniにextension={調べた場所}でインストールしたext…

CentOS7のGUI(gnome)で.sh(シェルスクリプト)をコマンドラインではなくダブルクリックで実行できるようにする

d.hatena.ne.jp

CentOS7にXAMPPとCakePHP3とNode.js&Socket.ioをセットアップするまでの流れ

CakePHP上にチャットを構築しようとするとき用の備忘録 Socket.ioが通信方法をwebsocketに変更しようとすると、変更を知らせるパケットのステータスコードが101ではなく200になってしまうという問題(ポーリングは可能なため一応通信は可能だが、socket.ioの…

CentOS7のGUIでXAMPPをインストールする

XAMPPの公式サイトから.runをダウンロードし、 実行権限を付加した後、sudo ./xamp-*.runとCentOS上で実行する。 ./は必要。これがあることで、システムは./~.runがコマンドではなくファイルパスであることを認識できる。

Apacheのリバースプロキシに失敗する

AH00016: Configuration Failed[Thu Jul 06 22:46:50.368024 2017] [core:notice] [pid 11224] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0[Thu Jul 06 22:46:50.368903 2017] [suexec:notice] [pid 11224] AH01232: su…

CakePHP3でトランザクションの使い方

計算処理を減らすため、中間テーブルと同時に行を挿入しなければならない時など、 トランザクション処理を行いたい場面はよくあります。 そんな時CakePHP3では ConnectionManager::get('default')->transactional というメソッドを使います。 使用例はこちら…

PHPStormにコード補完させる in CakePHP3のテンプレート

拡張子ctpで表されるテンプレートファイルはHTMLとPHPが混在するファイルで非常に便利です。 しかし、PHPStormには、テンプレートファイルが何のクラスのインスタンスなのか理解できません。コントローラから$this->set(compact('hoge'))のようにセットされ…

エンティティのデータを加工して取り出したいとき

仮想プロパティーの生成 アクセサーを定義することによって、現在存在しないフィールド・プロパティーへのアクセスを提供できます。 例えば、users テーブルが first_name と last_name 列を持っていたとして、 フルネームのためのメソッドを作れるというこ…

関連のあるテーブルをまとめて持ってくる

アソシエーション - モデル同士を繋ぐ 例えば、articles(id, title, text, author_id)とauthors(id,name)というテーブルがあるとする。 【記事を取得するとき、筆者の名前もまとめて持ってきたいときのやること】 ①$this->belongsTo('Authors')->setForeignK…

CakePHP3でfind()した結果を自然な順にソートする

intではなくcharに数字を入れているとき 1 10 ~~~~~ 19 2 20 とソートされる。 自然順にソートするのは $answers = $this->TfAns->find() ->where(['TfAns.regnum = ' => $regnum]) ->toArray();$answers = new Collection($answers);$answers = $answers->s…