情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

PHPの関数 number_formatについて

PHPでnumber_formatという関数を扱ったので使い方等を記載いたします。

カンマ区切り

4桁以上の大きい数字を表示するときはカンマ区切りにした方が見やすいのは当然だと思います。 そこでnumber_formatを使うとカンマ区切りで表示してくれます。

PHP

$money1 = 100000;
$money2 = 200000;

echo $money1;
echo "\n";
echo number_format($money2);

出力結果

100000
200,000

小数点以下の扱い

number_formatは小数点以下を四捨五入してくれます。

PHP

$money3 = 1000.3;
$money4 = 2000.6;

echo number_format($money3);
echo "\n";
echo number_format($money4);

出力結果

1,000
2,001

ただ小数点第何位で四捨五入するかを指定したいときは第二引数に記入しましょう。

PHP

$money5 = 1000.373;
$money6 = 2000.6438;

echo number_format($money5,2);
echo "\n";
echo number_format($money6,3);

出力結果

1,000.37
2,000.644

といった形になります。

以下のサイトを参考にいたしました。

数字のフォーマット(小数点含む!) - Qiita

trelloの便利なパワーアップツール「Elegantt」について

最近trelloでタスク管理をしていまして、便利なパワーアップツールがあるので使い方など記載いたします。

Elegantt

タスク管理と切っても切り離せないガントチャート Eleganttはそんなガントチャートを使えるツールです。 「Power-Up」から「Elegantt」で検索すると出てきます。 trelloのパワーアップツールは基本1つは無料で使えるので試しに入れてみるといいと思います。

f:id:nonaka-katuma-hal:20180201203256j:plain

画面上部に「Elegantt」と表示されるのでおすとガントチャートが出てきます。

f:id:nonaka-katuma-hal:20180201204445j:plain

カレンダーが表示されまして、タスクにあるものはすべてカレンダーに記載されます。 また日程移動や期日変更もマウスで簡単に変えられます。 もちろんチームで使うこともできるので複数人のタスクも管理できます。

といった形でtrelloには便利なパワーアップツールが多いのでまた調べて記載したいと思います。

はてなブログの装飾方法

ほかのブログと自分のブログを比較した時に装飾が足りないと感じました。なので今回は、はてなブログでの 文字の装飾方法やテクニックなど記載していきます。

文字色の変更

まず強調したい文字などに色を付ける方法ですが 文字を選択して画面上部の文字色アイコンを押します。 こちらから文字の色を指定できます。

f:id:nonaka-katuma-hal:20180130172236j:plain

実際にやってみるとこんな感じです 赤色

アンダーライン、打消

同じく文字のを指定して、アイコンを押します。

f:id:nonaka-katuma-hal:20180130172602j:plain

実際に付けるとこのようになります。 アンダーライン打消線

斜線、太文字

これも同じく文字のを指定して、アイコンを押します。

f:id:nonaka-katuma-hal:20180130172737j:plain

斜線 太文字

指定した文字でリンクを貼る

文字を選択した後リンクアイコンをおして、「選択範囲」を選ぶと 文字列にリンクを付けることができます。

f:id:nonaka-katuma-hal:20180130173246j:plain

リンク

見出しを付ける

このように文字を大きくして見出しを付けるには「#」を記載した後に見出しを書くことで 文字を大きくすることができます。 ちなみに「#」を並べて記載することで文字サイズを調整できます。 少ないほど文字は大きく、多いほど文字は小さくなります。

目次を付ける

目次アイコンを選択することで記事の目次を設置できます。

f:id:nonaka-katuma-hal:20180130174350j:plain

このように表示されます。目次は先ほど紹介しました見出しで設定したものが選択できるようになっています。

といった形になります。

PCの容量を圧迫するファイルを見つけ出すツール DiskInfoを使ってみた

最近PCの残り容量がやけに少なくなってきまして、どこらへんに容量の多いファイルが集中してるか調べたいと思い ツールを調べてみたので記載いたします。

DiskInfo

調べてみるとすぐに引っかかったのが「DiskInfo」というツールです。 こちら各階層でどのディレクトリがどのくらい容量を使っているのかパーセンテージで表示してくれるので 見た目ですぐに判断できます。 下記サイトからダウンロードできます。

「DiskInfo」フォルダー内のファイル占有率を表示 - 窓の杜ライブラリ

ダウンロード出来たらzipファイルを回答してDiskInfo3.exeを押します。 起動したら左上の「解析」というボタンを押します。

ディレクトリごとの容量を計算するのですが、数十秒~数分ほど時間がかかります。

完了すると以下のようにディレクトリが表示されます。

f:id:nonaka-katuma-hal:20180125201925j:plain

左側がドライブのフォルダツリーで 右上がフォルダの容量占有率になっていて、右下にファイルの占有率が表示されています。

f:id:nonaka-katuma-hal:20180125202007j:plain

フォルダの占有率を確認するとどのディレクトリに容量の大きいファイルがあるか一目瞭然になります。 階層を深く探していき不要なファイルを消していきます。

f:id:nonaka-katuma-hal:20180125202019j:plain

ファイルごとの容量を確認して右クリックからファイルの削除まで行うことができます。

といった形になります。 ただし容量が大きいからと言ってむやみやたらにファイルを削除しないようにしましょう。

CakePHP Configure::write Configure::read の使い方

CakePHP で Configure::write Configure::readの使い方等を調べたので記載いたします。

Configure::write

文字列や数値配列を定数として保存しておくことが出来る

Configure::read

保存してある定数を扱うことが出来る

またapp/configにファイルを作成して、Configure::writeを記載することで定数をまとめて一括管理することができます。

以下使用方法になります。

CakePHP app/config/hoge.php

Configure::write('temp.data', '1234');

Configure::write('temp2', array(
    'data2' => array('data3' => '5678'),
    ));

app/view/fuga.php

echo Configure::read('temp.data');

echo Configure::read('temp2.data2.data3');

出力結果

12345678

といった形になります。

以下のサイトを参考にいたしました。

構成設定 - 2.x

[cakePHP] Configure::read, write の使い方/ No variable $config found | たきもと.com

PHPの関数 date,strtotimeについて

先日dateとstrtotimeについて調べたので使い方など記載いたします。

1.date関数

第一引数にフォーマットを入れて、現在の時刻を出力します。 この記事を書いているのが2018年の1月18日でした

PHP

echo date('Y/m/d');

出力結果

2018/01/18

 strtotime関数

先ほどのdate関数の第二引数に入れて現在の日時からの指定日時を出力することが出来ます。 改めてこの記事を書いているのが2018年の1月18日(木)です。

PHP

echo date('Y/m/d', strtotime('10 day'));
echo "\n";
echo date('Y/m/d', strtotime('-10 day'));
echo "\n";
echo date('Y/m/d', strtotime('last Saturday'));
echo "\n";
echo date('Y/m/d', strtotime('next Saturday'));
echo "\n";

出力結果

2018/01/28
2018/01/08
2018/01/13
2018/01/20

「10 day」で十日後を出力して 「-10 day」で十日前を出力します。 「last Saturday」は現在からみて過去の直近の土曜日を出力して 「next Saturday」は次に来る土曜日を出力します。

といった形になります。

文字コードについて基礎からの勉強1

最近文字コードに関して開発を行うことがあり曖昧だった部分など改めて調べました。

UTF-8Shift_JISについて

文字コードの中でも目にする機会が多い「UTF-8」と「Shift_JIS」これらの違いについて調べてみました

UTF-8

Unicode文字集合体とする

・文字範囲が広く、どの言語の文字にも対応している

・文字によって割り振られたバイト数が違い、日本語の場合3バイト

・文字化けを起こす可能性が低い

使うメリット

文字範囲が広いので、国内国外に関係なく広く利用することができる。文字化けなどが起こりにくいため、思わぬ動作が起こってしまうリスクが低い。

Shift_JIS

今までShift-JISとハイフンで書いてました、、、 Shift_JISなんですね~

JIS X 0208文字集合体とする

・日本語について文字範囲として十分である

・一文字2バイト

・環境によって文字化けが起こったりする

・日本国内の携帯で主に読めるコード

メリット

日本語を使用するならば、UTF-8と比較して容量を少なくすることができる。

デメリット

文字化けが起こる可能性がある。UTF-8と比較して文字範囲が狭いため、使用できない文字が多い。

とりあえずこんなところで、今後も調べていきたいと思います。