いろいろ備忘録

雑記です。

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…

MVVMのプロジェクトを読む アクティビティのonCreate()編

@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //レイアウトをセットしbindingを得る binding = DataBindingUtil.setContentView(this, R.layout.main_activity); // ビューモデルを生成する // Cont…

インテント先のアクティビティにstart(Object data)を実装することのメリット

AアクティビティからBアクティビティにインテントする際、 AアクティビティではなくBアクティビティのstaticメソッドでIntentを生成すると、 putExtra()のキーが散らからない。 public static void start(Context context, String fullRepositoryName) { fin…

フラグメントのコメントの訳

package com.example.apitestapp;import android.content.Context;import android.net.Uri;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;…

Android雑記

@VisibleForTesting テストのために、必要以上にスコープを広げていることを示すアノテーション ・MVPではActivityがプレゼンタを生成する ・IntentFilterとは受信したブロードキャストをタグ(アクションと言う)でフィルタリングするもの ・テックノート – J…

CakePHPのconnect()のアスタリスクの個数

貧欲なスター (greedy star) /* に加えて、 /** 流れ星 (trailing star) 構文が あります。2つのアスタリスクをつなげると、URL の残りを1つの引数として取り込みます。 これは、 / を含む引数を使用したい時に便利です。 $routes->connect( '/pages/**', …

JenkinsにてERROR: file not found:

Windowsです。 Jenkinsにてテキストファイルに出力するブツを実行するとビルドが失敗する。 まずそもそもshコマンドが通っていなかった。 Gitによって既にインストールされているのでwhere git してGit\binにPathを通した。 次にERROR: file not found: {区…

漢字のcharを理解する

int main(int argc, char **argv) { char c[] = "大"; char *word = "大同小異"; //sizeofで変数のバイト数を求める //終端文字が入るので1引く int byteLen = sizeof( c ) - 1; //char型には1バイト入る。つまり //UTF-8の場合、漢字は3バイトなので3 /…

C言語のアドレス関連

・CLionのデバッグ実行でGDBというデバッガが使える。 p &{変数もしくはメソッド名} でアドレスを表示などが可能。 gdb の使い方・デバッグ方法まとめ ・printf("%p",&{変数名});で変数のアドレスが出力出来る。 ・環境でポインタのサイズは異なる。 32bitで…

CLionのインストールでエラー

MinGWをインストールしてCLionで選択すると cmake error at CMakeTestCCompiler.cmake 51 などとエラーが出た。 やったこと一覧 まず、MinGWを再インストールした。 必要なコンポーネントがインストールされていることを確認した。 うまくいかなかったので下…

CLionにてMinGW C:/MinGW/msys/1.0/bin/sh.exe must NOT be in your path

環境変数Pathから C:/MinGW/msys/1.0/bin/を消すことで解決した。 自分の場合はユーザーにもグローバルにも両方入っていた。

データ検索をマスターする! (4/6) 補足

データ検索をマスターする!(4/6):初心者のためのCakePHP3 プログラミング入門 //find()にQueryExpressionを使うサンプルpublic function find() { //絞り込んだ結果のエンティティ配列 $persons = []; //リクエストの種別がPOSTであるなら if ($this->reque…