CodeLab技術ブログ

プログラミング技術まとめ

2018年9月6日
から CodeLab
[MySQL]Mix/Maxと組み合わせてgroup by したらグルーピングできない場合があった はコメントを受け付けていません。

[MySQL]Mix/Maxと組み合わせてgroup by したらグルーピングできない場合があった

Mix/Maxと組み合わせてgroup byしたときに、なぜかうまくグルーピングができない場合があってはまったことがあったのでメモ。

環境はMySQL 5.5.59

続きを読む →

2018年9月5日
から CodeLab
[Tensorflow]InternalError: Blas SGEMM launch failed が発生する場合 はコメントを受け付けていません。

[Tensorflow]InternalError: Blas SGEMM launch failed が発生する場合

jupyter notebook でKerasやTensorflowの実行をしているときInternalError: Blas SGEMM launch failed が発生するようになってしまった。

続きを読む →

keras-logo-small

2018年9月5日
から CodeLab
[keras]ImportError: Could not find ‘cudart64_90.dll’. はコメントを受け付けていません。

[keras]ImportError: Could not find ‘cudart64_90.dll’.

tensorflowをアプデしたらこんな感じのエラーが出た

ImportError: Could not find ‘cudart64_90.dll’. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive

続きを読む →

2018年8月28日
から CodeLab
SNSの外部認証はもう使わないほうがいいかも? はコメントを受け付けていません。

SNSの外部認証はもう使わないほうがいいかも?

いろいろなWebサービスで、Twitterでログイン、とかFacebookでログインみたいなものを見かけると思います。
OauthとかOpenIDという仕組みを使って、外部のSNSサービスで自分のWebなどのログインさせる仕組みです。

SNSのアカウントを持っていればユーザー登録が不要になるので、新規ユーザーの獲得が非常に簡単になり、多くのサービスで使われています。

ですが、将来的にかなりまずそうな状況になる可能性があります。

続きを読む →

2018年8月20日
から CodeLab
どうしても見積金額から発注先を決めたい場合の選定方法 はコメントを受け付けていません。

どうしても見積金額から発注先を決めたい場合の選定方法

見積金額から発注先を選定する

あまりお勧めはしませんが、どうしても見積金額から発注先を決めたい場合。
プロフィールや過去の実績から判断するのが良いですが、正直、発注素人のあなたには難しいでしょう。
小ぎれいなホームページなんていくらでも作れますし、書いてある実績も本当かどうか調べようもないでしょう。

ではどうするか・・・。

続きを読む →

2018年8月20日
から CodeLab
ランサーズやクラウドワークスでシステム開発を依頼してはいけない理由 はコメントを受け付けていません。

ランサーズやクラウドワークスでシステム開発を依頼してはいけない理由

クラウドソーシング(というかランサーズ)について

まぁ、これを読もうとしている人はもうわかっているかと思いますが、一言でいうと

仕事をしてほしい人と、仕事をしたい人をマッチングするサービスです。
システム開発からWebデザイン、ライティングそのたいろいろな内容の仕事を募集することができます。
受託側は営業なしで顧客の開発ができ、エスクロー(仮払い)により料金の不払いトラブルを回避することができます。
安くない手数料を取られますが、トラブル回避や利便性を考えれば、妥当なところかもしれません。

いいづくめのように見えますが、ネットを検索するとよいしょ記事以外はあまり良い評判が少ないように思えます。
別に、ランサーズやクラウドワークスをディスるつもりはありません。これはこれでよいサービスだと私は思います。
ただ、明らかに、向き、不向きがあります。

続きを読む →

2018年8月7日
から CodeLab
外部のLinuxサーバーをWindowsにマウントして開発・・・は難しい はコメントを受け付けていません。

外部のLinuxサーバーをWindowsにマウントして開発・・・は難しい

ローカル環境でなく、直接インターネットにつながった環境で開発しなければならない場合、ちょっといろいろ面倒ですよね。

一応、外部のLinuxのディレクトリをマウントできるという便利なソリューションがあります。
ここからインストール可能です。
dokany v1.0.0 ( https://github.com/dokan-dev/dokany/releases/tag/v1.0.0 )
WinSshFS Foreveryone devel RC5 ( https://github.com/feo-cz/win-sshfs/releases )
この二つをインストールすると、SSH経由ででドライブとしてマウントできます。

できるんですが…

続きを読む →

2018年6月29日
から CodeLab
グラボのFANを何とかして直した話 はコメントを受け付けていません。

グラボのFANを何とかして直した話

ゲームしてたらなんかFPSが落ちるな。そしてすごく暑い。
とおもってHWMonitorを起動したら、なんとGTX960のコア温度が100度超えてるにもかかわらずファンが200RPMぐらいでしか回ってない??!!
急いでゲームやめて、設定アプリで無理やりFANを100%に設定してもあまり回転が上がらず温度が高いまま。

これはまずい…。

続きを読む →

2018年6月7日
から CodeLab
CakePHP2のコントローラーをUnitテストでしてみたが… はコメントを受け付けていません。

CakePHP2のコントローラーをUnitテストでしてみたが…

今まで、コントローラーのテストでPHPUnitはあまり使ってこなかったのですが、ちょっと試してみようかといろいろやってみたが…
正直使い勝手悪すぎる。

続きを読む →

2018年6月7日
から CodeLab
CakePHP2のFixtureを簡単に書く はコメントを受け付けていません。

CakePHP2のFixtureを簡単に書く

CakePHPのUnitTestは便利なツールではありますが、いろいろ書かなくてはいけないのでかなり面倒。
ということで、テスト用に使っているデータベースを読みこむようにすればいいですが、条件を変えようとするとちょっと面倒です。
ということでFixtureを使いたいのですが、大量にデータがあるとちょっと大変です。
ですが、既存のデータベースから比較的簡単にインポートすることができます。

続きを読む →

2018年6月5日
から CodeLab
SQLで浮動小数点を検索したらヒットしない はコメントを受け付けていません。

SQLで浮動小数点を検索したらヒットしない

floatで定義しているカラムに、0.1とかいれて

select * from table_name where number = 0.1

などと検索してみると・・・なぜか出てこない。

原因はというと・・・

続きを読む →

2018年6月1日
から CodeLab
BlowfishPasswordHasherを使って自前でパスワードチェックをする。 はコメントを受け付けていません。

BlowfishPasswordHasherを使って自前でパスワードチェックをする。

CakePHPで認証処理をする場合は、Authコンポーネントに任せていると思いますが、自前で認証したい場合。

こんなふうにやってはダメ!
$pw = new BlowfishPasswordHasher();
$user = $this->User->find('first',['conditions'=>['name'=>$name,'password'=>$pw->hash($password)]]);

どうするかというと・・・

続きを読む →

2018年5月31日
から CodeLab
[CakePHP2]group byしてカウントした結果をソートする場合はvirtualFieldsを使う はコメントを受け付けていません。

[CakePHP2]group byしてカウントした結果をソートする場合はvirtualFieldsを使う

CakePHP2でgroup byしてカウントしたい場合は、find()メソッドのパラメータで以下のようにしますが、

'fields'=>['*,count(*) as Model名__count'],
'group'=>'グルーピングしたいカラム',

countでソートしようとするとエラーになります。
ですが、virtualFieldsを使うとうまくいくようです。

続きを読む →

2018年5月30日
から CodeLab
同じテーブルで条件を変えて同時に取得するには はコメントを受け付けていません。

同じテーブルで条件を変えて同時に取得するには

CakePHP2でHasManyでリレーションしているテーブルの最新のデータのみ取得と全件取得を同時にしたい場合どうしたらいいか…
ちょっと悩みました。

続きを読む →

2018年5月29日
から CodeLab
CakePHP2 ModelのbeforeFind()の謎な仕様 はコメントを受け付けていません。

CakePHP2 ModelのbeforeFind()の謎な仕様

Cakeの・・・というよりPHPのクラスのお決まりな書き方で、オーバーライドする場合

public function beforeFilter() {
    parent::beforeFilter();
}

ていう感じで親のクラスのメソッドを呼ぶ場合が多いかと思います。

で、CakePHP2のModelのbeforeFind()で条件式を無理やり追加したいと思ったのでいろいろやってみてバグに遭遇。
続きを読む →

2018年5月23日
から CodeLab
[XAMPP]ShellからBreakができない? はコメントを受け付けていません。

[XAMPP]ShellからBreakができない?

Windows10にインストールしたXAMPPのコントロールパネルから起動したShell(コマンドプロンプト)でPHPのプログラムを実行してみた。
右側のShellボタンで動かすやつね。

プログラム自体は動いたんだけど、Ctrl+Cでブレークができない。
うーん。

で、cmd.exeで素のプロンプトを起動して同じことをやってみたんだけど、こちらはOK。
うーん。何が違う?

続きを読む →