連立1次方程式

いきなり n元1次方程式を解こうとすると、n次行列の逆行列とかLU分解法など、線形代数を本格的にやるハメになるので中学レベルから始めます。

参考URL: 連立方程式 – 高精度計算サイト

function output() {
  var a1= document.getElementById('a').value;
  var b1= document.getElementById('b').value;
  var c1= document.getElementById('c').value;
  var d1= document.getElementById('d').value;
  var p1= document.getElementById('p').value;
  var q1= document.getElementById('q').value;
  var x1= d1*p1-b1*q1, y1 = a1*q1-c1*p1;
  var z = a1*d1-b1*c1, z1 = Math.abs(z);
  if(z1 == 0) {
    document.getElementById('x').innerHTML = "x = " + a1 + "x + " + b1 + "y = " + p1 + " のすべての解です。";
    document.getElementById('y').innerHTML = "y = " + a1 + "x + " + b1 + "y = " + p1 + " のすべての解です。";
    return false;
  }
  else {
    document.getElementById('x').innerHTML = "x = " + x1/z;
    document.getElementById('y').innerHTML = "y = " + y1/z;
    return false;
  }
}

今は、結果を分数で表示できないか試行錯誤中です。

Andoroid7.0

先週遅ればせながら、手持ちのXperia Z5の更新がきました。

6.0 marshmallow からAndroid7.0 nougat へのアップグレードです。

詳細は下記URL でも紹介されてますので使い心地を感想したいと思います。

http://ap-land.com/wordpress/17034#1

機器上部のステータス表示をスワイプして現れるクイック設定ツールの表示が便利になりました。2段階でアイコンのみと一覧が表示されるので設定に簡単にアクセスできます。

右下の□をダブルタップで、ひとつ前のアプリに移動できることができるようになったのも地味にうれしいですね。

Andoroidのバージョンは、lolipop,marshmallow, nougat と順調に来てますが、次のAndoroid O は何なんでしょうね。Oreo かな?

hostsファイルを編集するシェルスクリプト

/etc/hosts.allow でホスト制限しているとカスペルスキーセキュアコネクションでIPが変わったときにsshdに締め出されるので対策スクリプトを作ってみた。

#!/bin/bash
ipAddress=`/usr/bin/host example.com | awk 'NR==1{print $4}'`
sed -i '/sshd:/d' /etc/hosts.allow
sed -i -e '10i sshd: '$ipAddress /etc/hosts.allow
service sshd restart

クライアントのIPアドレスを/usr/bin/host で取得して変数に格納。hosts.allow の古いIPを含むsshd行を削除、10行目に新しいIPとして追加。このスクリプトをcronファイルとして保存。

00 * * * * /root/scriptname

実行権限を与えてcronに登録します。これでうまく行くはず?

#chmod o+x scriptname
# crontab filename

注)コンソールログオンできないレンタルサーバでの障害発生や正常動作は保証しません。

参考URL:

https://blog.tnmt.info/2011/11/30/hosts-allow-include/
http://blog.glidenote.com/blog/2011/12/28/dyndns-iptables-hosts.allow/

fail2banでSSHのセキュリティ

今回はSSHのセキュリティソフト、fail2ban をご紹介します。

yum でインストール

# yum enablerepo=epel install fail2ban

/etc/fail2ban/jail.conf 設定ファイルを開き、アクセス禁止時間、最大パスワード許容回数をコメント解除します。

[DEFAULT]
bantime = 3600
[SSHD]
enabled =true
maxretry = 5

/etc/fail2ban/fail2ban.local ファイルを作り、以下の設定をします。

[Definition]
logtarget = /var/log/fail2ban.log

サービスとして起動します。

# service fail2ban start

参考URL:http://s.webry.info/sp/vogel.at.webry.info/201506/article_6.html

jQuery の記述

jQueryを使ったスライダーの作り方とその仕組み

のコピペでスミマセン。センセンシャル。

jQuery はDOMが操作可能になるまで待機させるために、ready()メソッドに入れ子で記述すると良いとのこと。これだけは伝えたかった。

<script type="text/javascript">
$(document).ready(function() {
・・・(jQueryの記述
});
</script>

https://stuffy.mydns.jp/~gusachan/javascript/slider.html

JavaScript BMIの判定

久々に JavaScript に触ってみましたが、onClick が効かなくて焦りました。コードのタイプミスが原因でした。他にもHTMLタグのid が予約語や変数名と被るとかいった事でもダメみたいですね。

https://stuffy.mydns.jp/~gusachan/javascript/BMI.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
function calcBMI() {
  var shincho = document.getElementById("height");
  var tiju = document.getElementById("weight");
  var hantei = document.getElementById("result");
  var h = shincho.value/100, w = tiju.value;
  var bmi = w/h/h;
  if (bmi < 18.5) {
    hantei.innerHTML = "痩せすぎ";
  }
  else if (bmi < 25) {
    hantei.innerHTML = "普通";
  }
  else if (bmi < 30) {
    hantei.innerHTML = "肥満度1";
  }
  else if (bmi < 35) {
    hantei.innerHTML = "肥満度2";
  }
  else if (bmi <40) {
    hantei.innerHTML = "肥満度3";
  }
  else if (bmi >= 40) {
    hantei.innerHTML = "肥満度4";
  }
}
</script>
</head>
<body>
<form>身長を入力してください。<input type="text" size="4" id="height"> cm<br>
体重を入力してください。<input type="text" size="4" id="weight"> kg<br>
<input type="button" value="計算" onClick="calcBMI()"></form>
判定:<div id="result"></div>
</body>
</html>

プライバシー設定

Windows10 のインストール後、設定するプライバシーポリシーは再インストール、アップグレードのたびに設定し直すことをお勧めします。

[設定]-[プライバシー]を開き、左ペインの [全般] [カメラ] [マイク] [位置情報] から設定できます。

全般

カメラ

マイク

位置情報

Kaspersky2017

EPSON 機をWindows7 からリカバリーしてWindows10 に再アップグレード、Kaspersky の最新版をダウンロード、インストール、アクティベーション。ここまで、レジストリからキーボードレイアウト変更、IMEの再インストール、パスワード、グループポリシーの設定、バックアップまで完了しました。Kaspersky2017の新機能、セキュアコネクションはWi-Fi接続時のプライバシーを保護する機能らしいです。

 

参考URL:

Windows7でのキーボードレイアウトの指定  untitled document

Windows 10で日本語キーボードが101英語キーボードと認識されてしまう問題

パーソンオブインタレスト一挙放送

「パーソンオブインタレスト:シーズン1-5」
2017年2月18日(土) 12:00~

ひかりTVのAXNチャンネルで一挙放送がされますね。CMなしの永久保存版。見逃したエピソードも録画してまとめてチェック。

パーソン・オブ・インタレスト | AXN Japan

yum のエラー

ふと、yum で update を掛けると

"Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
~httpd-2.2.15-54.el6.centos.x86_64.rpm
~httpd-tools-2.2.15-54.el6.centos.x86_64.rpm

みたいな(正確なエラーログ取ってなかったんで。)のが出たので試行錯誤。

エラーの出てるrpm ファイルをスタンドアローンでダウンロードして1)データベース情報を削除。2)確認。3)dbにhttpdを追加。4)dbの再構築。したところ、5)yum update が通りました。

# rpm -e --nodeps --allmatches --justdb httpd
# rpm -q httpd
# rpm -ivh httpd-2.2.15-54.el6.centos.x86_64.rpm
# rpm --rebuilddb
# yum update

httpdのエラー解決後に今度は、php で下記のエラーが出るので

エラー: パッケージ: php-pecl-apcu-4.0.11-2.el6.remi.5.6.x86_64 (remi-php56)
             要求: php(zend-abi) = 20131226-64
            インストール: php-common-5.3.3-48.el6_8.x86_64 (@updates)
                php(zend-abi) = 20090626
            利用可能: php-common-5.3.3-47.el6.x86_64 (base)
                php(zend-abi) = 20090626
エラー: パッケージ: php-mysqlnd-5.6.30-2.el6.remi.x86_64 (remi-test)
             要求: php-pdo(x86-64) = 5.6.30-2.el6.remi
            インストール: php-pdo-5.3.3-48.el6_8.x86_64 (@updates)
                php-pdo(x86-64) = 5.3.3-48.el6_8
            利用可能: php-pdo-5.3.3-47.el6.x86_64 (base)
                php-pdo(x86-64) = 5.3.3-47.el6
エラー: パッケージ: php-pecl-apcu-4.0.11-2.el6.remi.5.6.x86_64 (remi-php56)
             要求: php(api) = 20131106-64
            インストール: php-common-5.3.3-48.el6_8.x86_64 (@updates)
                php(api) = 20090626
            利用可能: php-common-5.3.3-47.el6.x86_64 (base)
                php(api) = 20090626
 問題を回避するために --skip-broken を用いることができません
 これらを試行できます: rpm -Va --nofiles --nodigest

エラーの出るパッケージを削除してから

# yum remove php-common php-pdo
# yum update

update をかけると

 * remi-php55: mirror.smartmedia.net.id
 * remi-php56: mirror.smartmedia.net.id
 * remi-safe: mirror.smartmedia.net.id
 * remi-test: mirror.smartmedia.net.id
255 packages excluded due to repository priority protections

で止まるので /etc/yum/pluginconf.d/priorities.conf を

[main]

enabled = 0

して yum clean all 。再度、yum update。今度は上手く行きました。php入れ直し。

# yum --enablerepo=remi install php php-devel php-common php-cli php-gd php-ldap php-mbstring php-mysql php-odbc php-pdo php-pear php-pecl-apc php-pecl-memcache php-pgsql php-soap php-xml php-xmlrpc

更新、完了です。

[root@stuffy public_html]# yum --enablerepo=remi install php php-devel php-common php-cli php-gd php-ldap php-mbstring php-mysql php-odbc php-pdo php-pear php-pecl-apc php-pecl-memcache php-pgsql php-soap php-xml php-xmlrpc
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * remi: mirror.smartmedia.net.id
 * remi-php55: mirror.smartmedia.net.id
 * remi-php56: mirror.smartmedia.net.id
 * remi-safe: mirror.smartmedia.net.id
 * remi-test: mirror.smartmedia.net.id
パッケージ php-5.6.30-2.el6.remi.x86_64 はインストール済みか最新バージョンです
パッケージ php-devel-5.6.30-2.el6.remi.x86_64 はインストール済みか最新バージョンです
パッケージ php-common-5.6.30-2.el6.remi.x86_64 はインストール済みか最新バージョンです
パッケージ php-cli-5.6.30-2.el6.remi.x86_64 はインストール済みか最新バージョンです
パッケージ php-mysql は php-mysqlnd によって不要になりました。代わりに php-mysqlnd-5.6.30-2.el6.remi.x86_64 のインストールを試みています。
パッケージ php-pecl-apc は php-pecl-apcu によって不要になりました。代わりに php-pecl-apcu-4.0.11-2.el6.remi.5.6.x86_64 のインストール を試みています。
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package php-gd.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-ldap.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-mbstring.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-mysqlnd.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-odbc.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-pdo.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-pear.noarch 1:1.10.1-9.el6.remi will be インストール
--> 依存性の処理をしています: php-posix のパッケージ: 1:php-pear-1.10.1-9.el6.remi.noarch
---> Package php-pecl-apcu.x86_64 0:4.0.11-2.el6.remi.5.6 will be インストール
---> Package php-pecl-memcache.x86_64 0:3.0.8-3.el6.remi.5.6 will be インストール
---> Package php-pgsql.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-soap.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-xml.x86_64 0:5.6.30-2.el6.remi will be インストール
---> Package php-xmlrpc.x86_64 0:5.6.30-2.el6.remi will be インストール
--> トランザクションの確認を実行しています。
---> Package php-process.x86_64 0:5.6.30-2.el6.remi will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
======================================================================================================================================
 パッケージ                         アーキテクチャ          バージョン                              リポジトリー                 容量
======================================================================================================================================
インストールしています:
 php-gd                             x86_64                  5.6.30-2.el6.remi                       remi-test                    78 k
 php-ldap                           x86_64                  5.6.30-2.el6.remi                       remi-test                    61 k
 php-mbstring                       x86_64                  5.6.30-2.el6.remi                       remi-test                   969 k
 php-mysqlnd                        x86_64                  5.6.30-2.el6.remi                       remi-test                   277 k
 php-odbc                           x86_64                  5.6.30-2.el6.remi                       remi-test                    76 k
 php-pdo                            x86_64                  5.6.30-2.el6.remi                       remi-test                   119 k
 php-pear                           noarch                  1:1.10.1-9.el6.remi                     remi                        365 k
 php-pecl-apcu                      x86_64                  4.0.11-2.el6.remi.5.6                   remi-php56                   81 k
 php-pecl-memcache                  x86_64                  3.0.8-3.el6.remi.5.6                    remi-php56                  101 k
 php-pgsql                          x86_64                  5.6.30-2.el6.remi                       remi-test                   119 k
 php-soap                           x86_64                  5.6.30-2.el6.remi                       remi-test                   228 k
 php-xml                            x86_64                  5.6.30-2.el6.remi                       remi-test                   220 k
 php-xmlrpc                         x86_64                  5.6.30-2.el6.remi                       remi-test                    68 k
依存性関連でのインストールをします。:
 php-process                        x86_64                  5.6.30-2.el6.remi                       remi-test                    63 k
トランザクションの要約
======================================================================================================================================
インストール        14 パッケージ
総ダウンロード容量: 2.8 M
インストール済み容量: 9.4 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
(1/14): php-gd-5.6.30-2.el6.remi.x86_64.rpm                                                                    |  78 kB     00:00
(2/14): php-ldap-5.6.30-2.el6.remi.x86_64.rpm                                                                  |  61 kB     00:01
(3/14): php-mbstring-5.6.30-2.el6.remi.x86_64.rpm                                                              | 969 kB     00:09
(4/14): php-mysqlnd-5.6.30-2.el6.remi.x86_64.rpm                                                               | 277 kB     00:03
(5/14): php-odbc-5.6.30-2.el6.remi.x86_64.rpm                                                                  |  76 kB     00:00
(6/14): php-pdo-5.6.30-2.el6.remi.x86_64.rpm                                                                   | 119 kB     00:01
(7/14): php-pear-1.10.1-9.el6.remi.noarch.rpm                                                                  | 365 kB     00:04
(8/14): php-pecl-apcu-4.0.11-2.el6.remi.5.6.x86_64.rpm                                                         |  81 kB     00:02
(9/14): php-pecl-memcache-3.0.8-3.el6.remi.5.6.x86_64.rpm                                                      | 101 kB     00:01
(10/14): php-pgsql-5.6.30-2.el6.remi.x86_64.rpm                                                                | 119 kB     00:01
(11/14): php-process-5.6.30-2.el6.remi.x86_64.rpm                                                              |  63 kB     00:00
(12/14): php-soap-5.6.30-2.el6.remi.x86_64.rpm                                                                 | 228 kB     00:02
(13/14): php-xml-5.6.30-2.el6.remi.x86_64.rpm                                                                  | 220 kB     00:02
(14/14): php-xmlrpc-5.6.30-2.el6.remi.x86_64.rpm                                                               |  68 kB     00:00
--------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                   81 kB/s | 2.8 MB     00:34
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールしています  : php-pdo-5.6.30-2.el6.remi.x86_64                                                                     1/14
  インストールしています  : php-xml-5.6.30-2.el6.remi.x86_64                                                                     2/14
  インストールしています  : php-process-5.6.30-2.el6.remi.x86_64                                                                 3/14
  インストールしています  : 1:php-pear-1.10.1-9.el6.remi.noarch                                                                  4/14
  インストールしています  : php-pecl-memcache-3.0.8-3.el6.remi.5.6.x86_64                                                        5/14
  インストールしています  : php-xmlrpc-5.6.30-2.el6.remi.x86_64                                                                  6/14
  インストールしています  : php-odbc-5.6.30-2.el6.remi.x86_64                                                                    7/14
  インストールしています  : php-pgsql-5.6.30-2.el6.remi.x86_64                                                                   8/14
  インストールしています  : php-mysqlnd-5.6.30-2.el6.remi.x86_64                                                                 9/14
  インストールしています  : php-soap-5.6.30-2.el6.remi.x86_64                                                                   10/14
  インストールしています  : php-gd-5.6.30-2.el6.remi.x86_64                                                                     11/14
  インストールしています  : php-ldap-5.6.30-2.el6.remi.x86_64                                                                   12/14
  インストールしています  : php-pecl-apcu-4.0.11-2.el6.remi.5.6.x86_64                                                          13/14
  インストールしています  : php-mbstring-5.6.30-2.el6.remi.x86_64                                                               14/14
  Verifying               : php-mbstring-5.6.30-2.el6.remi.x86_64                                                                1/14
  Verifying               : php-pdo-5.6.30-2.el6.remi.x86_64                                                                     2/14
  Verifying               : php-xmlrpc-5.6.30-2.el6.remi.x86_64                                                                  3/14
  Verifying               : php-pecl-apcu-4.0.11-2.el6.remi.5.6.x86_64                                                           4/14
  Verifying               : php-odbc-5.6.30-2.el6.remi.x86_64                                                                    5/14
  Verifying               : php-pecl-memcache-3.0.8-3.el6.remi.5.6.x86_64                                                        6/14
  Verifying               : php-ldap-5.6.30-2.el6.remi.x86_64                                                                    7/14
  Verifying               : php-process-5.6.30-2.el6.remi.x86_64                                                                 8/14
  Verifying               : php-xml-5.6.30-2.el6.remi.x86_64                                                                     9/14
  Verifying               : 1:php-pear-1.10.1-9.el6.remi.noarch                                                                 10/14
  Verifying               : php-pgsql-5.6.30-2.el6.remi.x86_64                                                                  11/14
  Verifying               : php-gd-5.6.30-2.el6.remi.x86_64                                                                     12/14
  Verifying               : php-mysqlnd-5.6.30-2.el6.remi.x86_64                                                                13/14
  Verifying               : php-soap-5.6.30-2.el6.remi.x86_64                                                                   14/14
インストール:
  php-gd.x86_64 0:5.6.30-2.el6.remi      php-ldap.x86_64 0:5.6.30-2.el6.remi          php-mbstring.x86_64 0:5.6.30-2.el6.remi
  php-mysqlnd.x86_64 0:5.6.30-2.el6.remi php-odbc.x86_64 0:5.6.30-2.el6.remi          php-pdo.x86_64 0:5.6.30-2.el6.remi
  php-pear.noarch 1:1.10.1-9.el6.remi    php-pecl-apcu.x86_64 0:4.0.11-2.el6.remi.5.6 php-pecl-memcache.x86_64 0:3.0.8-3.el6.remi.5.6
  php-pgsql.x86_64 0:5.6.30-2.el6.remi   php-soap.x86_64 0:5.6.30-2.el6.remi          php-xml.x86_64 0:5.6.30-2.el6.remi
  php-xmlrpc.x86_64 0:5.6.30-2.el6.remi
依存性関連をインストールしました:
  php-process.x86_64 0:5.6.30-2.el6.remi
完了しました!

参考URL:

https://cloudpack.media/10567

http://qiita.com/masahirok_jp/items/40e685bbafd5f2463992