Posted on

jQueryでonメソッドを使って解決

最近、jQueryでブラウザの現在のウィンドウ幅を取得して処理を行うプログラムを書く機会がありました。まだjQueryに慣れていない私ですが、調べてみると「resize」というイベントを使うことで実現できそうだとわかりました。

$(window).resize(function() {
    // 処理....
});

でも、実際に書いてみると動いてくれません。なぜ・・と、さらに調べると、onメソッドとあわせて使う書き方を見つけました。実際に書いてみると、

$(window).on('resize', function () {
    // 処理....
}

これでちゃんと動きました。そう言えば前やってたプロジェクトでも同じようなところで詰まったことを思い出しました。動的に生成した要素に対してイベント適用する場合には、onメソッドを使わないと動かないとか。今回のウィンドウ幅取得もこれに関係しているのでしょうか。備忘録の意味も含め前やった所も書いておきます。

○クリックされた時に発生するイベント

$(document).on("click", function(){
    // 処理....
}

○キー押下されたあと上がった時に発生するイベント

$(document).on('keyup', function(){
    // 処理....
}

○セレクト等、指定要素の値が変更された際に発生するイベント

$("#QuestionItem").on('change',function(){
    // 処理....
}

onメソッドを使うと、何かと解決されスッキリすることが多いです。しっかり勉強して、onメソッドを使いこなせるようになりたいと思います。

Posted on

PHPのfloor関数で痛い目に合う

PHPのfloor関数で痛い目に合ったのでメモしておきます。

お客さんから連絡がありシステムででの計算の結果がおかしいとのことで調べるとfloor関数を使った後に結果がずれてきていました。
何でやと調べると意外と有名な話だった・・・
浮動小数点の精度が微妙と本家で警告が出ている。http://php.net/manual/ja/language.types.float.php

echo floor((0.1+0.7)*10);を実行すると8になってほしいのに7になってしまうというお話。
一番簡単な対策としてecho floor((string)(0.1+0.7)*10);として回避しておきました。

Posted on

HighchartsのStacked barの縦軸に表示内容を増やす方法

ソフトウェア開発でプロジェクトに対して、縦軸プロジェクト名、横軸開発担当の開発合計時間で、
各担当者の開発時間はHighchartのStacked barで表現できるのですが、
トータルの時間や見積価格や単価を出そうとプロジェクト名の表示に追記すると省略表示されてしまいます。
そこで、HighchartのStacked barのプロジェクト名表示情報からx座標とy座標を取り、プロジェクト名の左横に
表示することに成功しました。(ただし、2016/07/14時点のHighchartのStacked barに限られましたらお許しください。)
その参考になるソースを掲載しますので、お役にたてれば幸いです。


	
	
	

	
	

	
aaa
aaa
aaa
aaa
aaa
Posted on

DBで使うビューについて

最近仕事で、データベース上にビューを作る機会が何度か出てきました。最初は使い方も使う意味もわからなかったのですが、何度か教えてもらっているうちに、すごく便利なものだということがわかってきました。そのビューの使い方等、この機会に復習がてら自分なりにまとめておきたいと思います。

実際に表示したい項目がDBテーブルに存在しない場合は、新たに項目を設けてビューを作っておくと実際にDBテーブル上の項目と同じように使えるので、その値を表示させたり、あるいはその項目でソートさせたりすることもできるので非常に便利です。また、リアルタイムでビューが更新されるので、誕生日から現在の年齢を求めるときなど動的な値を算出するときにも便利です。
続きを読む DBで使うビューについて

Posted on

無料SSL証明書「Let’s Encrypt」を試してみました。

暑くなってきました、年々暑くなるのが早くなってきてる気がします・・・温暖化でしょうね。

さて、以前からSSL証明書って高いな~(主にグローバルIP代ですが)と思っていて、去年からSNIベースのレンタルサーバーやIE6とかがお亡くなりになってくれたので安く設置できるようになって喜んでいたのですが、さらに最近無料のSSL証明書「Let’s Encrypt」っていうのが誰でも使えるとなったので試してみました。(オレオレ証明書は使いにくい場面多いので)

letsencryptインストール

cd /xxx
git clone https://github.com/letsencrypt/letsencrypt
/xxx/letsencrypt/letsencrypt-auto --help

SSL証明書作成 ※作成後httpd.confに設置

# /etc/letsencrypt/live/ドメイン名以下に証明書ファイル等ができます
/xxx/letsencrypt/letsencrypt-auto certonly --webroot -w [ドキュメントルート] -m [ドメインのメールアドレス] -d [ドメイン名] --agree-tos

証明書期限更新※90日しかないので1,2か月に1回下記cron実行

# 証明書更新&httpdに再設定
/usr/lib/letsencrypt/letsencrypt-auto renew --force-renew && /bin/systemctl reload httpd

csr作って申請、承認とか色々しなくていいので楽ですね~
Zenlogicさんが使いだしてますね。
これからほとんどのサイトがSSLになっていくんでしょうね。

Posted on

phpexcel斜め罫線を引く方法

phpexcelで斜め罫線を引く方法がわからず、
延べ2日間くらい探してなかったので、
右端の四角罫線に対して、画像で斜め線をつけていたのですが、
印刷でどうしても1ページに収まらないため、再度探しました。
すると、斜め罫線を引く方法の英語サイトで見つけました。
私がすこし変更したものですが、情報として提供したいと思います。

// 斜め罫線
$styleArray = array(
    'borders' => array(
        'diagonal' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN,
            'color' => array('argb' => 'FF000000'),
        ),
        'diagonaldirection' => PHPExcel_Style_Borders::DIAGONAL_DOWN,
    ),
);
$sheet->getStyle("N16")->applyFromArray($styleArray);
Posted on

Cake1.Xで複数ファイルをUPする

以前「Cake2で複数ファイルをUPする」でCake2系での複数ファイルを上げる方法でつまづいたのですが、今回Cake1系の改修で複数ファイルを上げる際に引っかかったのでメモでブログします。
Cake2系だと$this->Form->input(‘Model.field.’, array(‘type’ => ‘file’, ‘multiple’));で行けたのですが1系だとピリオドの後にスペースがいるとの事でした。
というわけで$this->Form->input(‘Model.field. ’, array(‘type’ => ‘file’, ‘multiple’));と書いたら解決!!

Posted on

INNER JOIN と LEFT JOIN の違い

最近、CakePHPを書く仕事でjoinを使うことが多くなりました。でも、joinにも種類があって、inner join と left join をよく使っていますが、仕事始めたての頃はその違いを認識できていませんでした。最近になってようやくその違いがわかり、その重要性もある程度分かるようになってきました。今回はそのことの復習の意味もこめて、2種類のjoinについてまとめておきたいと思います。
続きを読む INNER JOIN と LEFT JOIN の違い

Posted on

PHPで統計処理を行うには

ビッグデータの活用がすっかり定着してきた昨今、どうデータを分析するかがとても大事になってきました。
PHPはWEBアプリケーション用言語ですので従来はデータ分析と言っても単にカテゴライズや平均を求める程度で需要は満たせましたが、今後は統計的な手法を用いてさらに突っ込んだ解析を行う場面も出てくるかと思います。
そんな時に使えるライブラリを紹介します。

そのライブラリとは、ズバリ、

続きを読む PHPで統計処理を行うには