JSプラグインを作ってみた、今回はANA旅割JSプラグイン(またかよ)。

20170930

Logging

JSプラグインを作ってみた、今回はANA旅割JSプラグイン・・・。
またかよと言われそうなのですが、試しに作ってみたりした。
本当はもっと簡略化できるのだけど、あえてこれを参考に作る人にも
ある程度、参考になるかなというぐらいの代物です。
昨日、datetimepickerというプラグインを仕事で見ていて最初、取り出し方などが
わからず試行錯誤してなんとか取り出すことが出来たのですが、これでは駄目だな。
前、なんか書いていたけど使わなかったらやはり忘れてしまうので
本日から一週間ぐらい、しょぼいJSプラグインを何個かリリースします。
大量のコードは仕事終わってから書くことは出来ないかもしれないけれど
サンプルプログラム程度は簡単にコードが書けるように
しておかないと行けないなという気持ちもあります。
そしてjQueryから自前のjQueryプラグインへ
仕事でもシフトしていくつもりです。
やはりコチラのほうが慣れれば楽かなと感じます。
トイウコトでANA旅割JSプラグインは
こちらからダウンロードを行なってください。
ちなみに作りかけなので、これから再編集してもらっても
構いません。なんせ適当ですから:)
https://zip358.com/tool/ana_js_p/

(function($){
    var ana_tabai = {
        ana75:function(d){
            var dd = [];
            dd[0] = d[0];
            dd[1] = d[1];
            dd[2] = d[2];
            var dt = new Date(d[0],d[1],d[2]);
            dt.setFullYear(dt.getFullYear());
            dt.setMonth(dt.getMonth());
            dt.setDate(dt.getDate()-74);
            dd = mumu(dt.getFullYear(),dt.getMonth(),dt.getDate(),dd);
            return [dd[0] + "年",dd[1] + "月",dd[2] + "日"];
        },
        ana55:function(d){
            var dd = [];
            dd[0] = d[0];
            dd[1] = d[1];
            dd[2] = d[2];
            var dt = new Date(d[0],d[1],d[2]);
            dt.setFullYear(dt.getFullYear());
            dt.setMonth(dt.getMonth());
            dt.setDate(dt.getDate()-54);
            dd = mumu(dt.getFullYear(),dt.getMonth(),dt.getDate(),dd);
            return [dd[0] + "年",dd[1] + "月",dd[2] + "日"];
        },
        ana45:function(d){
            var dd = [];
            dd[0] = d[0];
            dd[1] = d[1];
            dd[2] = d[2];
            var dt = new Date(d[0],d[1],d[2]);
            dt.setFullYear(dt.getFullYear());
            dt.setMonth(dt.getMonth());
            dt.setDate(dt.getDate()-44);
            dd = mumu(dt.getFullYear(),dt.getMonth(),dt.getDate(),dd);
            return [dd[0] + "年",dd[1] + "月",dd[2] + "日"];
        },
        ana28:function(d){
            var dd = [];
            dd[0] = d[0];
            dd[1] = d[1];
            dd[2] = d[2];
            var dt = new Date(d[0],d[1],d[2]);
            dt.setFullYear(dt.getFullYear());
            dt.setDate(dt.getDate()-27);
            dt.setMonth(dt.getMonth());
            dd = mumu(dt.getFullYear(),dt.getMonth(),dt.getDate(),dd);
            return [dd[0] + "年",dd[1] + "月",dd[2] + "日"];
        },
        ana21:function(d){
            var dd = [];
            dd[0] = d[0];
            dd[1] = d[1];
            dd[2] = d[2];
            var dt = new Date(d[0],d[1],d[2]);
            dt.setFullYear(dt.getFullYear());
            dt.setDate(dt.getDate()-20);
            dt.setMonth(dt.getMonth());
            dd = mumu(dt.getFullYear(),dt.getMonth(),dt.getDate(),dd);
            return [dd[0] + "年",dd[1] + "月",dd[2] + "日"];
        }
    };
 $.fn.tabiwari = {
     ana:function(d){
        if(d.split("-").length==3){
            var a = d.split("-");
            console.log(a);
            s = [ana_tabai.ana75(a),ana_tabai.ana55(a),ana_tabai.ana45(a),ana_tabai.ana28(a),ana_tabai.ana21(a)];
            var str="";
            var days = [75,55,45,28,21];
            for(var i = 0;i < s.length;i++){
                str += days[i] + "days ::" + s[i] + "<br>";
            }
            return str;
        }else{
            return "no!! :( ";
        }
    }
 }
})(jQuery);
function mumu (y,m,dy,dd){
    console.log(dd);
    dd[0] = !m?dd[0]:y;
    dd[1] = !m?dd[1]:m;
    dd[2] = !m?dy:dy;
    return dd;
}
<!doctype html>
<html lang="ja">
<head>
  <meta charset="utf-8">
  <title>zip358.com:ANAJSぷらぐいん</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=10.0, user-scalable=yes">
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="ana_tabiwari.js"></script>
  <script>
      $(function(){
          $("#ana_input").change(function(){
            var str = $("#ana_input").tabiwari.ana($(this).val());
            $("#ana").html(str);
          });
      });
  </script>
  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-71682075-1', 'auto');
  ga('send', 'pageview');
</script>
</head>
<body>
    <input id="ana_input" type="date">
    <div id="ana">
    </div>
    <a href="ana_tabiwari.js" download="ana_tabiwari.js">ANA旅割JSプラグインダウンロード</a>
</body>
</html>

 

タグ

AM, ANA旅割JSプラグイン, B06XNQCW7B, console.log, d.split, datetimepicker, dt.getDate, dt.setDate, fn.tabiwari, function, jquery, new Date, return dt, return str, s.length, var ana_tabai, var days, var dt, var str, トイウコト,


Let’s Encrypt の無償のSSLメモ!!

20170930

Logging


Let’s Encrypt の無償のSSLメモ!!自分用
SSL認証導入のメモです。分かる人にはわかる。メモしてくださいφ(..)メモメモ。
ちなみにオレオレ認証の方法を以前、掲載していたと思いますが、Chrome58以降
あの方法では駄目みたいです、オレオレ認証できないなどと検索すると対処法が
書かれていますが、まだ検証していませんがたぶん、あの方法でうまくいくかもしれない。
ちなみに緩いブラウザではオレオレ認証を通すことは可能かと思います。
例えばローカルサーバでオレオレ認証が必要な場合などはブラウザを限定してあげることで
対応することも可能です。ChromeはSSLを結構厳しく見ている・・・?
正直な所、ローカルサーバでSSLが必要なこともあるので、開発者用ではゆるく見ることのできる
設定をオプションで持たせることぐらい出来たはずではと思ってしまいます。
トイウコトでzip358.siteをSSL化しましたよ。

yum install epel-release
yum install certbot python-certbot-apache
certbot certonly --webroot -w /home/www/zip358.site/ -d zip358.site
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): メールアドレスを入力
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: N
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/zip358.site/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/zip358.site/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/zip358.site/chain.pem
firewall-cmd --add-service=https --zone=public --permanent
firewall-cmd --reload
crontab -u xxxx -e
0 5 1 * * certbot renew
systemctl restart httpd

タグ

a founding partner of the Let's Encrypt, certbot certonly, certbot renew, Enter email address, firewall-cmd, in order to register with the ACME, letsencrypt, organization that develops Certbot, our work to encrypt the web, Please read the Terms of Service, protect its users and defend digital rights, Saving debug log, systemctl restart httpd, used for urgent renewal and security notices, We'd like to send you email about, Would you be willing to share your, yum install certbot python-certbot-apache, yum install epel-release, zip358.site,