ジョギングを始めて1年が経過した
最初は2.5km15分でどうにかこうにか走り切ったものの、次の日から1週間階段を降りるのもつらい筋肉痛に苦しまされることになった。
最初はそんな状態で、途中一月半ほど腰痛で走らない時もあったり、頻度がさがったりもしつつ、週1回から2回、1回7km前後のジョギングを習慣として続けることができたのは多分いい成果だろうと思う。
ほぼ1年ジョギングしてきたわけだが、なにか変化があったかというと実のところさほど変化がない。
体重は元々77kgから78kgだったのが、76kgから77kgほどになり、多少食べて増えてもすぐ戻るようになった
体力は上がっているんだろうけど、明確に体力が上がったという感じはない、疲れてからの回復力は良くなったかなという気がする。
多少お腹の脂肪が減ったかなと言うのと、足のサイズが若干大きくなったような気がする。 さすがに脛には筋肉がついた。明確にな変化は脹ら脛の筋肉くらいか。
もうちょっと大きな変化があることを期待していたのはあるが、1年程度ではこんな物なのかも知れない。 長く続けていれば、しなかった場合との変化が大きくなっていくのだろうけれど、しなかった場合のことはわからないので、どれだけやってもあまり変化がないなと思うのかも知れない。
button をクリックしてページ遷移
buttonタグで作成したボタンをクリックしたらページ遷移させる方法にはいくつかある。
アンカータグでのリンク
<a href="hoge.html"><button type="button" >hoge</button></a>
javascriptで遷移
<script> function golink(){ location.href="hoge.html"; } </script> <button type="button" onclick="golink()">hoge</button>
phpで遷移
<?php if (isset($_POST['action']['golink'])){ header('Location: http://www.example.com/hoge.html"); } ?> <form action="#" method="POST"> <button type="submit" name="action[golink]">hgoe</button> </form>
Javascript でチェックボックスの状態を操作して、phpで受けとる
function AllCheck(){ "use strict"; var checked = document.formnm.chkall.checked; for (var i=0, len=document.formnm.elements['chkbx[]'].length;i<len;i++ ){ document.formnm.elements['chkbx[]'][i].checked = checked; } }
<form name="formnm" action="" method="POST"> <input type="checkbox" name="chkall" onclick="AllCheck()" />全てにチェック <input type="checkbox" name="chkbx[]" value="1">1 <input type="checkbox" name="chkbx[]" value="2">2 <input type="checkbox" name="chkbx[]" value="3">3 <input type="submit"> </form>
Javascript でチェックボックスの状態を操作して、phpで受けとる
function AllCheck(){ "use strict"; var checked = document.formnm.chkall.checked; for (var i=0, len=document.formnm.elements['chkbx[]'].length;i<len;i++ ){ document.formnm.elements['chkbx[]'][i].checked = checked; } }
<form name="formnm" action="" method="POST"> <input type="checkbox" name="chkall" onclick="AllCheck()" />全てにチェック <input type="checkbox" name="chkbx[]" value="1">1 <input type="checkbox" name="chkbx[]" value="2">2 <input type="checkbox" name="chkbx[]" value="3">3 <input type="submit"> </form>
ssh の話
リモート作業に使用する ssh の使い方をあらためてまとめてみた。
鍵の作成
鍵ファイルは公開鍵ファイルと、秘密鍵ファイルの二つが生成される。
公開鍵ファイルを他のサーバなどに登録し、秘密鍵ファイルは他の人に見られないようにしておく。
# ssh-keygen -t rsa -b 2048 -C "hoge@fuga.com" Generating public/private rsa key pair. Enter file in which to save the key (/home/hoge/.ssh/id_rsa): "保存場所の指定" Enter passphrase (empty for no passphrase): "パスフレーズの入力" Enter same passphrase again:
-t rsa、証明書に使用する暗号化方式の指定、だいたい rsa でいいんではないでしょうか。 楕円曲線暗号の ecdsa などもつかえる。
-b 4096、暗号化のビット数、最低でも2048以上を指定しましょう。 8196 だと計算負荷があるけど、最近のマシンなら大丈夫でしょう
-C、証明書につけるコメント、メールアドレスやサーバ名など必要に応じて
上記のコマンドで、通常は ~.ssh ディレクトリ以下に id_rsa と、id_rsa.pub が作成される。
パスフレーズについては入力しないというのもあり。 ssh を使った自動ログインを設定したいのなら、パスフレーズは入力しない。
パスフレーズを設定することにより、秘密鍵を盗まれても簡単には解読されないので安全になるが、不要という意見もある。
http://freak-da.hatenablog.com/entry/20100901/p1:SSH秘密鍵のパスフレーズは(つけるなら)11文字以上にしましょうねという話
個人的にはパスフレーズは設定して、ssh-agent(後述) を使用するほうがいいかなと思う。
鍵の確認
作成した証明書のビット数やコメントを確認するには ssh-keygen コマンドに -l オプションを付けて -f で公開鍵ファイルを指定する。
# ssh-keygen -lf id_rsa.pub 4096 SHA256:Z+3xx/WxWwxMxxxxxxxxxxxxxxxxxxxbMIug hoge@fuga.com
鍵のコピー
作成した公開鍵、id_rsa.pub をリモートサーバにコピーする。
簡単なのは ssh-copy-id コマンドを使用する
# ssh-copy-id age.fuga.com hoge@age's password: Now try logging into the machine, with "ssh 'age'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
ログインしているマシンとアカウント名が違うなら、hoge@age.fuga.com で指定する。
よく使われているのは scp コマンドを使用する。
# scp ~/.ssh/id_rsa.pub hoge@age.fuga.com: # ssh hoge@age.fuga.com hoge@age's password: Last login: Thu Feb 1 20:57:41 2017 from sage.fuga.com $ mkdir .ssh $ chmod 700 .ssh $ cat id_rsa.pub >> .ssh/authorized_keys $ chmod 700 .ssh/authorized_keys $ rm id_rsa.pub
scp コマンドでコピーした場合には、.ssh ディレクトリがなればそれの作成や、authorized_keys ファイルへの追加などが必要になる。
これでリモートマシンに ssh でログインができるようになる。
sshd の設定
ssh の証明書ログインができるようになったら、証明書を使用しないログインを禁止しましょう。
/etc/sshd/sshd_config で sshd の設定をします。
PubkeyAuthentication yes # 公開鍵認証を有効にする AuthorizedKeysFile .ssh/authorized_keys # 公開鍵ファイルの場所 PasswordAuthentication no # パスワードログインの禁止
上記の変更をしたら、service sshd restart などで sshd の再起動をする。 念のため、現在のログインをそのままにして、新しく ssh ログインをして正常にログインできるか確認しましょう。
ssh config の設定
ssh でログインするときには、
# ssh hoge@age.fuga.com
としますが、~.ssh/config ファイルを設定しておくことで省略してログインすることができるようになる。
Host age HostName age.fuga.com User hoge IdentityFile ~.ssh/id_rsa # 標準の鍵ファイルなら必要ない
これで
# ssh age
でログインできるようになる。
ssh-agent の使用
秘密鍵にはパスフレーズを設定したほうがいいと思うが、それをすると毎回ログインするときにパスフレーズの入力が必要になり、面倒くさい。
ssh-agent を使用するとパスフレーズを覚えてくれるので毎回パスフレーズを入力する必要がなくなる。
まずは ssh-agent を起動。
# eval `ssh-agent` Agent pid 25908
このコマンドを .bash_profile などに登録しておくとログイン時に自動的に実行される。
秘密鍵ファイルの登録。
# ssh-add ~/.ssh/id_rsa Enter passphrase for /home/hoge/.ssh/id_rsa: Identity added: /home/hoge/.ssh/id_rsa (/home/hoge/.ssh/id_rsa)
これでログインしているシェルから抜けるまではパスフレーズを覚えていてくれる。
ssh-agent が覚えている鍵は ssh-add -l で表示できる。
# ssh-add -l *[~] 8192 SHA256:Z+3xx/WxWwxxxxxxxxxxxxxxxxxxxxxxxsPphbbMIug .ssh/id_rsa (RSA) 2048 SHA256:BPgh9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuZ4 .ssh/id_rsa_nar (RSA)
javascript で特定の範囲だけ印刷
印刷したい部分をIDで指定して、その部分のHTMLを取得、印刷用のページを作って、印刷ダイアログを表示、その後HTMLテキストを元に戻す
function araeprint(area){
var areatext = document.getElementById(area);
var htmldoc = document.body.innerHTML;
window.document.body.innerHTML = areatext.innerHTML;
window.print();
document.body.innerHTML = htmldoc;
}
web-modeで、タグのオートクローズが効かない場合
ターミナル上のemacsではタグがオートクローズされないのが標準の動作
Autopairing, tag autoclosing does not trigger
This is the normal behavior when you run emacs in a terminal (tty). That’s because in text mode, pasting a long text is like inserting it one character at a time. Thus, the consequences can be bad e.g. many auto closing/pairing instead of one. If you wan’t to force autoclosing, autopairing even in a terminal, add (setq web-mode-enable-auto-closing t) and (setq web-mode-enable-auto-pairing t) in your .emacs
init.elに(setq web-mode-enable-auto-closing t) を追加する (setq web-mode-enable-auto-pairing t)
オートクローズの振る舞いの設定
;; auto tag closing
;0=no auto-closing
;1=auto-close with </
;2=auto-close with > and </
(setq web-mode-auto-close-style 2)
(setq web-mode-tag-auto-close-style 2)