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…

複数のテーブルのJOINした結果を表示

クエリビルダにおいて、innerJoinWith()やleftJoiinWith()でJOINしたものをテンプレートで表示するためには $tenancy->_matchingData['Tenants']->stage stackoverflow.com のように書きます。 もし不安な場合はdebugメソッドもしくは$tenancyのみで出力し確…

グローバルにインストールしたcomposer.pharの場所

C:\ProgramData\ComposerSetup\bin内にある。 もしここにもない場合はEverything等のファイル検索ソフトを使う。

#1071 - 索引のキーが長すぎます。最大 767 バイトまでです。と出たとき

CREATE TABLE tags ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), created DATETIME, modified DATETIME, UNIQUE KEY (title) ); このtitle属性は255文字までを格納する。同じ文のタグを重複して登録することは許されないため、ユニークキーと…

Unknown finder method とは

$bookmarks = $this->Bookmarks->find('tagged', [ テーブルのfindメソッドの第一引数が重要。 たとえば上記のようにBookmarks->find('tagged',のようになっているときは、BookmarksTableクラスのfindTaggedメソッドを探しに行く。 ここで見つからないときUn…

protected function _setPassword($value)とは

結論はこれ。 [CakePHP3] Setter(セッター)とGetter(ゲッター)をざっくりと知る。 – gomokulog 以下補足。 C#にはプロパティという機能がある。プロパティを実装すると、メンバ変数 x を持つクラスAがあるとき、a.x としても自動的にgetX()が呼び出されると…

bin/cake bakeがWindowsでうまくいかないわけ

bin/cake bake all users bin/cake bake all bookmarks bin/cake bake all tags CakePHP3のbookmarkerチュートリアルにて遭遇。 Linuxとは違ってWindowsでは区切り文字を\にする必要がある。 つまり、Windowsでの正解は bin\cake bake all usersbin\cake bak…

CakePHP3のテーブルとエンティティの違い

CakePHPはMVCであり、その内のモデルを2種類に分けたものがテーブルとエンティティです。ざっくり言うとテーブルとはそのままDBのテーブル(集合)を表し、エンティティとは各行を表します。 テーブルクラスにはDBとの通信に必要な情報が保持されているため、D…

CakePHP3のORM\table::find()のイーガーロードとは

contain 関連をイーガーロード (eager load) するように定義します。 データの取り出しと結果セット イーガーロードとは、N+1問題を回避する手段らしい。 まず、N+1問題とは? ユーザーマスタと、著者のユーザIDを属性としてもつ記事テーブルがあるとします…

Unable to find ~ panel. と出た

Templateディレクトリに間違った名前のディレクトリを作成してしまった。 具体的には単数形にしてしまっていた。 その後、PHPStormのリネーム機能でディレクトリ名を複数形にした。 すると、どのページにアクセスしてもUnable to find ~ panel.とエラーメッ…

CakePHP3のリバースルーティングとは

New router goodies » Debuggable - Node.js Consulting によると、 そもそもリンクの書き方は、文字列での指定と、連想配列での指定の2つがある。 ①文字列の場合$html->link('My post title', '/posts/view/5' ); ②連想配列の場合$html->link('My post titl…

echo $this->Form->create($article);の$articleが必要な理由

ブログチュートリアル - パート2 echo $this->Form->create($article); は、 echo $this->Form->create();としても動いているようにみえるけれど、 ArticlesControllerのsaveで例外(DB接続失敗、バリデーションエラー等)が起きた際、 $article = $this->Arti…

ブログチュートリアル1での文字化け

ブログチュートリアル 下記の方法で文字コードを指定してやる必要があります。 CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, title VARCHAR(50), body TEXT, created DATETIME DEFAULT NULL, modified DATETIME DEFAULT NULL) char…

PHPStormのfield accessed via magic methodについて

CakePHPでマジックメソッドを使う時に出る。フィールド変数が無いから気をつけろということだそうだ。 PHPStormの設定で警告を抑制する方法と、アノテーションを書く方法がある。 www.thinkingmedia.ca アノテーションだとこんな感じ。 use App\Model\Table\…

TableとEntityが別れている理由

ブログチュートリアル - パート2 CakePHP のモデルクラスのファイルは、 Table オブジェクトと Entity オブジェクトに分離して 存在します。 なぜわざわざ分けたのかとググると Why did cakephp v3 split the Model into Table and Entity? What are the adv…

PHPStormにcomposer.pharを設定 in Windows

Composerをインストールしていてコマンドプロンプトで使用出来ている場合、 where composerとコマンドプロンプトで打てば composer.pharが存在するディレクトリが分かります。 こんな感じです。 C:\Users\ユーザー名>where composerC:\ProgramData\ComposerS…

pimpleの$cとは

$container['domain.transfer.newsletter'] = function($c) { } の$cは$containerの略で、コンテナ自身(this)らしい。 d.hatena.ne.jp Note that $c will be passed an instance of the container, so we can reference other defined keys as we please; ea…

PHPStormでのCakePHPにてDetect PSR-0 namespace rootsが出た時

CakePHP3のブックマークチュートリアルのUserモデルをPHPStormで編集していると Detect PSR-0 namespace roots: Do you want to configure namespace roots? It can be done automatically or manually at Settings | Directories. という警告が右下に出た。…

OpenCVで画像の透明なピクセルの割合を調べる

完全に透明の部分しか渡せません。 Python 2.7.10 # -*- coding:utf-8 -*-import cv2 #アルファチャネルを読み込むためにcv2.IMREAD_UNCHANGEDを渡すimage = cv2.imread('exa.png',cv2.IMREAD_UNCHANGED)#countNonZeroは1チャネルの画像しか渡せないので、ア…