duf20's memo for making Web site, using Web service, etc.
2020年6月23日火曜日
2018年9月1日土曜日
gmailの 赤い文字の「提案」を消す
2018年4月28日土曜日
2018年3月22日木曜日
mb_strlen 1文字3バイトになる・他
PHPの mb_strlen関数で、 1文字3バイトになる
(参考)
http://hamamuratakuo.blog61.fc2.com/blog-entry-421.html
● 文字のバイト数は、文字コードごとに異なる
Shift_JIS : 半角文字・1バイト、全角文字・2バイト
UTF-8 : 半角文字・1バイト、全角文字・ 2-6バイト
● 解決策 : UTF-8をSJISに変換して、文字数をカウントする
strlen(mb_convert_encoding($str, 'sjs', 'utf-8'))
● mb_strlen を正確に動かすには
php.iniで内部エンコードを正しく設定するか、mb_stringで文字コードを指定する。
・ php.iniで文字コード指定
;mbstring.internal_encoding = EUC-JP
・ mb_string の第2パラメータでエンコーディングが指定できる。
(省略した場合、内部エンコーディングを使用)
mb_strlen($str,'utf-8')
(参考)
http://hamamuratakuo.blog61.fc2.com/blog-entry-421.html
● 文字のバイト数は、文字コードごとに異なる
Shift_JIS : 半角文字・1バイト、全角文字・2バイト
UTF-8 : 半角文字・1バイト、全角文字・ 2-6バイト
● 解決策 : UTF-8をSJISに変換して、文字数をカウントする
strlen(mb_convert_encoding($str, 'sjs', 'utf-8'))
● mb_strlen を正確に動かすには
php.iniで内部エンコードを正しく設定するか、mb_stringで文字コードを指定する。
・ php.iniで文字コード指定
;mbstring.internal_encoding = EUC-JP
・ mb_string の第2パラメータでエンコーディングが指定できる。
(省略した場合、内部エンコーディングを使用)
mb_strlen($str,'utf-8')
2018年3月11日日曜日
ロケットブックの使い方(Rocketbook Everlast)
2018年3月5日 ロケットブックを購入 (ノートサイズ・黒・32ページ)。まとめ。
◆ 自由に手書きできるノート。充電とか不要。水で消せるから、半永久使用可。
◆ スマホを使って、スマートにデジタル化。
そのままスムーズにクラウド保存。GoogleDriveでもEvernoteでもicloudでも好きなところに。
◆ さらに!使ってわかったこと。
ロケットブックとスマホを使えば、他の紙に普通のペンで手書きしたものも、簡単にデジタル保存できるんです!!秀逸なスキャン台です!! これに気づいた時は、とっても嬉しかった♪ もう手放せません。
◆ スマホを使って、スマートにデジタル化。
そのままスムーズにクラウド保存。GoogleDriveでもEvernoteでもicloudでも好きなところに。
◆ さらに!使ってわかったこと。
ロケットブックとスマホを使えば、他の紙に普通のペンで手書きしたものも、簡単にデジタル保存できるんです!!秀逸なスキャン台です!! これに気づいた時は、とっても嬉しかった♪ もう手放せません。
◆ノートの特長 ◆
普通に持って歩いて、手書きできる薄いノートです。充電不要です。
フリクションペンで書いて、ウェットティッシュや、付属のマイクロファイバー布を水で濡らして消します。「1000回消しても大丈夫」だそうです。(私はまだ1000回も消していませんけれども、きれいに消えます。でも普通のボールペンで書くと、もう消せません。うっかり注意。)
付属のフリクションペンは0.7mm。シートの表面は滑らかです。つるつるした感じではありません。インクがきれいにのります。乾くのに10秒ほど時間が必要です。
速く書きすぎるとインクがのりません。また、0.4mmの細いペンではうまくインクがのりませんでした。0.7mmが丁度よい感じ。
◆ アプリとの連携 ◆
アプリを立ち上げて、3タップでクラウドに送信保存できます。
ノートに手書き → アプリを立ち上げて → カメラで自動撮影 → デジタル化 → クラウドに送信
ノートに手書き → アプリを立ち上げて → カメラで自動撮影 → デジタル化 → クラウドに送信
◆ アプリの操作(iPhoneの場合です)◆
[1] インストール
「Rocketbook App」(ジャンルはビジネス)をインストールします。
[2] 初回登録では、3つ入力します
Full Name(名前...実名の必要はありません)
Email Address(メールアドレス)
Create Password(パスワード)
[3] 手書きノートをデジタル画像にする方法
1. スマホでアプリを立ち上げます
2. [new Scan] をタップ → カメラに切り替わります
3. 画面にノートを入れる → ノートが緑色になる位置で自動撮影
(次々と続けてスキャンできます)
4. 撮影が終わったら、[Done] をタップして確定
→ これで、Historyに保存されます。
(複数撮った画像はグループとして保存)
(Historyから、保存した画像を選んで好きなところに送信できます。)
★ 7つのマークを使うと、びっくりするほど便利。効率的になります。 ★
★ スマホでスキャンするだけで、さっとクラウドに保存できるようになります。★
[4] 7つのマークに7つの場所を設定
1. [Destination] をタップ → 7つのマークが一覧表示
(ここで、それぞれ送信場所を設定します。
最初は、初回登録したメールアドレスになっています)
2. マークをタップ → マークの設定内容が出ます。
3. [Change Destination] をタップ → 送信先クラウドのリストが出ます。
4. 自分の使っているクラウドを選択して登録
例えば、Google Drive の場合、
初回はGoogleのアカウント管理のサイトに移動するので
「Rocketbook App」の使用を許可。
使用するアカウントを選んで [Save]。
[5] マークの使い方
1. ノートの下のマークに、チェックを入れます。(バッテンでもチェクでもOK)
2. アプリを立ち上げて [new Scan] → 自動撮影 → [Done] → [Send]
この3タップで、マークしたクラウドに送信保存できます。
(忘れないように裏表紙のマークに、保存先をメモ。
ここもフリクションペンで書けば、ウェットティッシュで消せます。)
「Rocketbook App」(ジャンルはビジネス)をインストールします。
[2] 初回登録では、3つ入力します
Full Name(名前...実名の必要はありません)
Email Address(メールアドレス)
Create Password(パスワード)
[3] 手書きノートをデジタル画像にする方法
1. スマホでアプリを立ち上げます
2. [new Scan] をタップ → カメラに切り替わります
3. 画面にノートを入れる → ノートが緑色になる位置で自動撮影
(次々と続けてスキャンできます)
4. 撮影が終わったら、[Done] をタップして確定
→ これで、Historyに保存されます。
(複数撮った画像はグループとして保存)
(Historyから、保存した画像を選んで好きなところに送信できます。)
★ 7つのマークを使うと、びっくりするほど便利。効率的になります。 ★
★ スマホでスキャンするだけで、さっとクラウドに保存できるようになります。★
[4] 7つのマークに7つの場所を設定
1. [Destination] をタップ → 7つのマークが一覧表示
(ここで、それぞれ送信場所を設定します。
最初は、初回登録したメールアドレスになっています)
2. マークをタップ → マークの設定内容が出ます。
3. [Change Destination] をタップ → 送信先クラウドのリストが出ます。
4. 自分の使っているクラウドを選択して登録
例えば、Google Drive の場合、
初回はGoogleのアカウント管理のサイトに移動するので
「Rocketbook App」の使用を許可。
使用するアカウントを選んで [Save]。
[5] マークの使い方
1. ノートの下のマークに、チェックを入れます。(バッテンでもチェクでもOK)
2. アプリを立ち上げて [new Scan] → 自動撮影 → [Done] → [Send]
この3タップで、マークしたクラウドに送信保存できます。
(忘れないように裏表紙のマークに、保存先をメモ。
ここもフリクションペンで書けば、ウェットティッシュで消せます。)
◆ ♪♪ 普通の手書きメモをデジタル化します ♪♪ ◆
普通の紙に、普通のインクで(フリクションじゃなく)手書きしたものを、
簡単にデジタル化・クラウド保存する方法。
1. ノートの上に、スキャンしたいものを載せます。
★バーコードと下のマークに触れないように。
★白い部分からはみ出さないように。
2. アプリを立ち上げて [new Scan]→ [Done]→[Send]
角度補正をしっかりやってくれるので、ほとんど歪みのない画像になりました。
普通の細字のボールペンで書いたメモも、きれいにデジタル化できます。
アプリで写真を撮るだけなので(しかも自動)スキャナー機器を使うよりずっと手軽。
メモを散らかすことがなくなって、私はとても幸せです。
簡単にデジタル化・クラウド保存する方法。
1. ノートの上に、スキャンしたいものを載せます。
★バーコードと下のマークに触れないように。
★白い部分からはみ出さないように。
2. アプリを立ち上げて [new Scan]→ [Done]→[Send]
角度補正をしっかりやってくれるので、ほとんど歪みのない画像になりました。
普通の細字のボールペンで書いたメモも、きれいにデジタル化できます。
アプリで写真を撮るだけなので(しかも自動)スキャナー機器を使うよりずっと手軽。
メモを散らかすことがなくなって、私はとても幸せです。
![]() |
1.ノートの上に鉛筆スケッチを載せます |
![]() |
2.アプリでスキャン中 |
![]() |
3.鉛筆スケッチのデジタル化・クラウド保存 |
![]() |
普通のメモ用紙に普通のペンで書いたメモ |
![]() |
uniballは茶色のインク・「カラー筆ペン」の文字色も茶色 |
2016年11月10日木曜日
PHP の `headers already sent` エラー
PHP の `headers already sent` エラー
(参考)
http://ja.stackoverflow.com/questions/5453/php-%E3%81%AE-headers-already-sent-%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AF%E3%81%A9%E3%81%86%E7%9B%B4%E3%81%97%E3%81%9F%E3%82%89%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B
● header()の前に、出力文字(空白他)が含まれていてはいけない。
● 例)includeするhead.php に<head>が含まれていた場合。includeの前に header()をセットする。
--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
include 'head.php';
?>
<?php
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
?>
--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
?>
<?php
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>
--エラー----------------
<?php
session_start();
$title ="duf20page:Contact";
include 'head.php';
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
echo sha1(session_id());
?>
解決した(1)
● head.php に<head>が含まれている。includeの前に、header()をセットする。
● header()の前に、出力文字(空白他)が含まれていてはいけない。
--OK----------------
<?php
session_start();
$title ="duf20page:Contact";
header("Content-type: text/html; charset=utf-8");
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>
解決した(2)
● head.phpで既にchersetしてあるので、header("Content-type: text/html; charset=utf-8");を省いた。
--OKOK----------------
<?php
session_start();
$title ="duf20page:Contact";
header('X-FRAME-OPTIONS: SAMEORIGIN');
include 'head.php';
?>
-----------------------
2016年11月8日火曜日
CSRF (Cross site request forgeries) クロス サイト リクエスト フォージェリ
CSRF対策 メモ(php)
参考)ドットインストール
http://dotinstall.com/lessons/bbs_php_v2/24508
http://dotinstall.com/lessons/bbs_php_v2/24509
1) フォームをポストするファイルにトークンを仕込む。
1.トークンを作る
例) $token=sha1(uniqid(mt_rand(),true))
2.サーバ上に記録。
(1) session_start() で、セッションを使えるようにして、
(2) 変数 $_SESSION['token'] にトークンをセット。
3.トークンをデータとともに送信する
formからPOSTで、データとトークンを送り出す
2) データ受取りの処理をするファイルで、
---------------
◆ session_start エラー
エラーメッセージがでた :
Warning: session_start() [function.session-start]: Cannot send session cookie....
session_start() は、必ず、先頭に記述すること。
http://www.phppro.jp/phpmanual/php/ref.session.html
http://www.phppro.jp/phpmanual/php/function.session-start.html
---------------
◆_CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例
徳丸浩の日記 2011年01月27日
http://www.tokumaru.org/d/20110127.html
(本文より)> トークン生成は安全な乱数を用いるべきであり、安全な疑似乱数生成器がない場合は、セッションIDそのものを使う方法が妥当
(コメントより)> 時刻を種にしても安全性はたいして向上しない
---------------
◆CSRF対策の実際
2011年3月4日 23:17
http://www.phppro.jp/qa/3140
answerer:ockeghem 3月7日 09:20
・トークンの要件は、「第三者に推定されないこと」
・セッションID(session_id)は推定されない(ように対策されている)という前提をおくことができます
・トークンとして推測の困難なものを使っている場合、それに加えてハッシュ関数を通す必要はありません
参考)ドットインストール
http://dotinstall.com/lessons/bbs_php_v2/24508
http://dotinstall.com/lessons/bbs_php_v2/24509
1) フォームをポストするファイルにトークンを仕込む。
1.トークンを作る
例) $token=sha1(uniqid(mt_rand(),true))
2.サーバ上に記録。
(1) session_start() で、セッションを使えるようにして、
(2) 変数 $_SESSION['token'] にトークンをセット。
3.トークンをデータとともに送信する
formからPOSTで、データとトークンを送り出す
2) データ受取りの処理をするファイルで、
サーバ上の記録と、POSTで受け取ったトークンを比較する。
サーバ上に記録がなかったり、値が異なっている場合は、異常。
if ( empty($_SESSION['token']) || ($_SESSION['token'] != $_POST['token']) )
if ( empty($_SESSION['token']) || ($_SESSION['token'] != $_POST['token']) )
---------------
◆ session_start エラー
エラーメッセージがでた :
Warning: session_start() [function.session-start]: Cannot send session cookie....
session_start() は、必ず、先頭に記述すること。
http://www.phppro.jp/phpmanual/php/ref.session.html
http://www.phppro.jp/phpmanual/php/function.session-start.html
---------------
◆_CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例
徳丸浩の日記 2011年01月27日
http://www.tokumaru.org/d/20110127.html
(本文より)> トークン生成は安全な乱数を用いるべきであり、安全な疑似乱数生成器がない場合は、セッションIDそのものを使う方法が妥当
(コメントより)> 時刻を種にしても安全性はたいして向上しない
---------------
◆CSRF対策の実際
2011年3月4日 23:17
http://www.phppro.jp/qa/3140
answerer:ockeghem 3月7日 09:20
・トークンの要件は、「第三者に推定されないこと」
・セッションID(session_id)は推定されない(ように対策されている)という前提をおくことができます
・トークンとして推測の困難なものを使っている場合、それに加えてハッシュ関数を通す必要はありません
---------------
2016年10月27日木曜日
bracket メモ (ライブプレビューの設定)
◆ライブプレビューの設定
[ファイル]-[プロジェクト設定]
例えば、http://localhost/フォルダ名/ と設定しておけば、
PHPもそのまま、ライブプレヴューできる。
2016年10月21日金曜日
Chrome デベロパーツールのパネルの表示場所
Chrome デベロパーツールのパネルの表示場所
画面下・画面右横・フロート、と選ぶことができます。
デベロパーツールの、設定アイコン(2016年10月時点で、縦に点が3つ並んでいる形)をクリックして、選びます。
2016年10月19日水曜日
blogger 設定のリンク (随時メモ)
ブログ一覧:
https://www.blogger.com/home
ユーザー設定を編集:
https://www.blogger.com/user-settings.g
◆全般
ユーザー プロフィール
Blogger
Google+
Blogger Draft を使用する
◆メール通知
機能のお知らせ
プロフィールを編集:
https://www.blogger.com/edit-profile.g
画像を削除:
https://picasaweb.google.com/home
◆picasaから。
詳しい説明はここを参考に。
http://www.memorou.com/2013/12/bloggerpicasa.html
https://www.blogger.com/home
ユーザー設定を編集:
https://www.blogger.com/user-settings.g
◆全般
ユーザー プロフィール
Blogger
Google+
Blogger Draft を使用する
◆メール通知
機能のお知らせ
プロフィールを編集:
https://www.blogger.com/edit-profile.g
画像を削除:
https://picasaweb.google.com/home
◆picasaから。
詳しい説明はここを参考に。
http://www.memorou.com/2013/12/bloggerpicasa.html
2016年10月12日水曜日
イラストレータで角丸長方形
イラストレータで角丸長方形を描く
編集しやすい描き方
1. 長方形ツールを使う(角丸長方形ツールは使わない)
2. 効果-スタイライズ-角を丸くする
3. 編集するときは、アピアランスで編集(「角を丸くする」で、fxをクリック)
編集しやすい描き方
1. 長方形ツールを使う(角丸長方形ツールは使わない)
2. 効果-スタイライズ-角を丸くする
3. 編集するときは、アピアランスで編集(「角を丸くする」で、fxをクリック)
登録:
投稿 (Atom)
embedできるかどうか
Can this script move in iframe?
