PG WORKS

PHPやLinuxサーバなどのノウハウや、便利なツールを紹介していきます。

コード検索にオススメ!サクラエディタのGrep検索を使おう

大量のプログラムを調べるときに、サクラエディタGrep検索を使うと、当てはまる箇所を一覧で表示してくれる便利な機能があります。

sakura-editor.sourceforge.net


SakuraEditorWiki
サクラエディタwiki

Grepの使い方

  • 目がフォルダに向かっているアイコンをクリック

f:id:zen6a:20180130230935p:plain

※複数のソースコードがある場合、フォルダごと選択すると一括で調べてくれます。

  • 「条件」に調べたいコード内容を入力します。

f:id:zen6a:20180130230940p:plain


あとは検索して、結果が表示されるのを待つだけ。

条件に当てはまったものが、下記のように一覧で表示されます。


f:id:zen6a:20180130230942p:plain


一覧に表示された部分をクリックすると、対象のファイルを開いてくれます。

サクラエディタは、カスタマイズすれば、phpの関数も色分けしてくれたりと、大変便利なエディタです。

正規表現も使えるので、INSERTクエリーを作るときに長保してます。

hotmail宛てにメールが送れない件

hotmail宛てにメールを送信しても、エラーが返ってくるようであれば、
対象のIPが受信拒否されている可能性があります。

http://mail.live.com/mail/troubleshooting.aspx#errors

対処法

1.マイクロソフトに問い合わせをしてみる。

https://support.microsoft.com/ja-jp/getsupport?oaspworkflow=start_1.0.0.0&wfname=capsub&productkey=edfsmsbl3&locale=ja-JP&ccsid=636299860276744079&wa=wsignin1.0

早ければ数時間後、遅くても1日後には、マイクロソフトから返信が届くと思います。
これで解決すればいいのですが、解除後すぐ規制されるようでしたら、サーバの乗り換えをオススメします。

特に、共有サーバーだと、同じIPを利用している会社がほとんどで、使う頻度が高いユーザーが混じると、ブロックされる可能性が高くなります。
共有サーバーではない場合、短時間でメールの送りすぎなので、IP分散するか、一時的にブロックされたIPを切り替えることで対処が可能です。
↑IPの切り替えは、解決にはなってないため、送る通数を絞ったり、スパム対策をしたほうが良いでしょう。

2.別のサーバに移転する

IPが原因なので、対処してもらえないのであれば、サーバを移転するしかありません。
事前に、検討しているレンタルサーバ会社に問い合わせをして、規制されたときの対処、過去に規制されたことがあるかなど、確認するといいでしょう。

気になってたCPIに問い合わせてみた

何度もメール送っても、規制が解除されず、レンタルサーバを探していたのですが、
CPIというレンタルサーバが気になって、この件について問い合わせてみたところ、

  • 共有サーバでも、契約者ごとにIPを設定している
  • もし規制かかった場合、対応してくれる

ただし、無料のSSLが使えないため、Let's Encryptが対応すれば、契約したのですが、有料のSSLが高くて無理でした。。。

毎年改善している動きが、見受けられるので、今後に期待ですね!

【2017年のまとめ】今年使ったプログラムなど

2017年は、仕事・プライベートにも変化があり、記憶に残る1年となりました。


ここでプライベートのことを語るのも、違う感じがするので、
もし奇跡的・偶然的に、リアルにお会いすることがあれば、聞いていただければ語ります!w


というわけで。。。今年で学んだプログラムやよく使ったライブラリなど紹介していきたいと思います。

Leaflet

Leaflet - a JavaScript library for interactive maps

GoogleMapのような地図のライブラリ

tesseract-ocr

https://github.com/tesseract-ocr

画像を解析して文字として出力するライブラリ
日本語の制度はかなり低いので、画像の調整するか、学習させないと使えません><

Tesseract.js

Tesseract.js | Pure Javascript OCR for 62 Languages!

javasprictから画像解析できるライブラリ
60個の言語が入っており、日本語にも対応。
使ってきたが、速いレスポンスが求められたため見送り。。。

ImageMagick

Convert, Edit, Or Compose Bitmap Images @ ImageMagick

Linuxコマンドから画像を加工するライブラリ
PHPからだと、Imagickで使用可能(ImageMagickのインストール必須)

PHPの処理速度向上

www.softplus.jp

www.softplus.jp

すでに動いているサイトだったので、ベンチマークが取れてないけど、
サーバのロードアベレージが下がりました。

サーバ関係

qiita.com

サイトダウンしたときに、暫定的に仮想メモリを増やしました。
重くなるので、あくまでも一時的に。


ざっくりな紹介になりましたが、プログラムというよりはライブラリをよく使った一年でした。
2018年も新しい技術が学べそうなので、楽しみにしつつ、気持ちを切り替えて、頑張りたいと思います。





最後に。。。








今年残念だったシステム


マストドン>゜彡。。。。

【jQuery】notifIt!を使ってフローティングウインドウを表示させる

f:id:zen6a:20170423000920p:plain

フローティングウインドウを簡単に実装できるサンプルを紹介したいと思います。

もっとカッコイイデザインで表示させたい!と思った方は、モーダルダイアログの記事も参考にしてくださいね。
zen6a.hateblo.jp

notifIt!のダウンロード先

http://naoxink.hol.es/notifIt/
Step 2 - Download it!の「Now!」ボタンを押すとダウンロードできます。

使用用途

  • ajaxで取得結果を表示させたいとき。
  • データの更新や削除したときに、画面遷移せず、結果を表示させたいとき。

サンプル1(とりあえず、動作確認を見たい場合

<html>
<head>
	<title>notifIt!</title>
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link href="./notifIt/css/notifIt.css" rel="stylesheet">

	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
	<script src="./notifIt/js/notifIt.min.js"></script>
</head>
<body>
	<script>
notif({
	msg: "<b>Success:</b> <br />In 5 seconds i'll be gone",
	type: "success",
	multiline: true
});[f:id:zen6a:20170731005233p:plain]
	</script>
</body>
</html>

下記のフローティングウインドウが表示されれば成功です。
f:id:zen6a:20170731005233p:plain

notifIt!のオプション説明

引数 設定値 説明
msg 自由入力 フローティングウインドウに表示させるテキスト
position center
left
right
フローティングウインドウの位置
type success
info
warning
error
フローティングウインドウの背景色
bgcolor カラーコード
例(黒色を指定):#000000
フローティングウインドウの背景色
color カラーコード
例(黒色を指定):#000000
テキストの色指定
opacity 数値を入力
例:0.8
透明度設定
timeout 数値を入力
例(1秒表示):1000
フローティングウインドウの表示時間
autohide true(初期値)
false
自動でフローティングウインドウが消えないようにする
multiline true
false(初期値)
テキストを改行させる
clickable true ボタンを押したときにフローティングウインドウが閉じる

ajaxと組み合わせた使い方

<?php
	/*
	*	notifIt!
	* 	https://github.com/naoxink/notifIt/archive/master.zip
	*	Demo
	*	http://naoxink.hol.es/notifIt/
	*/
?>
<!DOCTYPE html>
<html>
<head>
	<title>notifIt!</title>
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link href="./notifIt/css/notifIt.css" rel="stylesheet">

	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
	<script src="./notifIt/js/notifIt.min.js"></script>
</head>
<body>
	<script>
		$.ajax({
			type: "POST",
			dataType:"text",
			url:"http://......",
			data: { "text":"aaa" },
			success: function(res) {
				notif({
					msg: "<b>Success:</b>",
					type: "success",
					multiline: true
				});
			},
	        error: function(res) {
				notif({
					msg: "<b>error:</b>",
					type: "error",
					multiline: true
				});
	        }
		});
	</script>
</body>
</html>

notifIt!の使用用途

使う用途としては、ajaxの結果を通知するときに、notifIt!を使います。(短いソースで簡単に呼び出すことができるため。

また、公式ページには、ソースコードをクリックすると、実際のデモが表示されます。
好きなデザインがあれば、そのソースをコピペして、そのまま使うことができます。

notifIt!は、定期的にバージョンアップしているみたいなので、システムに導入する際には、随時確認してみましょう。

【レビュー】マストドンを設置してみた感想

f:id:zen6a:20170725223828p:plain

ConoHaのVPSサーバに、マストドンをインストールして、実際に運用(数日)してみた感想を書きます。

※2017年7月25日追記
マストドンのバージョンアップしたら見事にデータが消えました・・・復活するかは未定ですが、取り出しないとダメですね^^;

ネックな部分

  • 設置するにはLinuxの知識が必要
  • 細かいカスタマイズができないため、直接マストドンソースコードを編集する必要がある
  • サイトを止めないと更新できないため、気軽に設定変更ができない
  • コンパイルに失敗すると起動できなくなるため、稼働したマストドンを直接編集は難有り

課題部分(今後のアップデートで変更される可能性あり)

  • 管理画面でユーザの削除ができない(アカウント停止はあり
  • twitterではできるユーザ名の変更とメールアドレスの変更ができない
  • 管理者権限を一度つけると外すことができない。(直接データベースのカラム(admin)のフラグを変更すれば解除できます。
  • アイコンの設定やロゴの変更など、簡単にできるものがない(直接ソースを変更する必要あり


現状、マストドンを立ち上げれるのが、Linuxの知識がないと難しいため、WordPressみたいな、DBの設定したらインストールできる仕組みがあると利用するユーザーは増えると思うのですが。。。

ECサイト運営している方には、商品のレビューや要望や意見など、聞き取りしやすい環境だと思うので、今後のアップデートに期待ですね。