end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

状態遷移図 / 状態遷移表によるメールアドレスのチェック

javascript によるデザインパターン - ステートパターン - end0tknr's kipple - 新web写経開発 FSM (有限ステートマシン) からの behavior tree - end0tknr's kipple - 新web写経開発 GoFのステートパターンの振り返り ( ≒ FSM ? ) - end0tknr's kipple - 新…

yum install whois to centos8w

リポジトリの追加が必要ですので、以下の通り $ cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) $ sudo yum install epel-release $ sudo yum install whois

windowsにおいて、丸やゼロで変換される ○ , ◯ , 〇 , ❍

excelで記入されたアンケートを集計したら、 同じ丸(まる、マル)でも複数の文字コードがあり、少々、手間取りました。 特に「ゼロ」で変換すると、漢数字の「〇」が表示されることは、すっかり忘れていました。 以下は、複数の「丸」の文字コードをurl encod…

kanren for python による論理プログラミング (パズルの解法)

https://www.oreilly.co.jp/books/9784873118727/ またまた、上記url の 6章の写経の続き。 「パズル」と言っても、歯抜けの条件群を定義した上で、 ウサギの飼い主を求めます。 #!/usr/local/python3/bin/python3 # -*- coding: utf-8 -*- from kanren impo…

kanren for python による論理プログラミング (家系図の解析)

https://www.oreilly.co.jp/books/9784873118727/ 上記url の 6章の写経の続き。 以下の家系図を定義し、「John」の父親(≠義父)を求めます John─Megan │ ┌──────────┼─────────────┐ William─Emma David─Olivia Adam─Lily ┌─┤ ┌─┬─┴─┬──┬──┐ │ Cris Stephani…

kanren for python による論理プログラミング (素数の判定)

https://www.oreilly.co.jp/books/9784873118727/ 上記url の 6章の写経の続き。 「23, 4, 27, 17, 13, 10, 21, 29, 3, 32, 11, 19」から素数を抽出します。 #!/usr/local/python3/bin/python3 # -*- coding: utf-8 -*- import itertools # イテレータ関数群…

kanren for python による論理プログラミング (数式の照合)

https://www.oreilly.co.jp/books/9784873118727/ 上記url の 6章の写経。 「数式の照合」として、数式の変数(a,b,c)の値を算出します。 論理プログラミングというと、prologの方が記述しやすいと思いますが、 pythonの場合、算出後のデータ加工等が容易な為…

python の module を src から ( not pip ) install

普段、pip ばかりでは、忘れてしまうので https://pypi.org/project/kanren 上記 kanren を例にすると、以下の通り $ wget https://files.pythonhosted.org/packages/f7/28/????/kanren-0.2.3.tar.gz $ tar -xvf kanren-0.2.3 $ sudo /usr/local/python3/bin…

aws s3 の static website hosting で、独自ドメインを利用する場合、「バケット名 = ドメイン名」 とする

ポイントは バケット名 = ドメイン名 とする jsonで記載するバケットポリシー https化する場合、別途、CloudFront を利用 バケット名 = ドメイン名 とする 以下の通り jsonで記載するバケットポリシー { "Version":"2012-10-17", // AWSから指定されている文…

pythonによる経路探索 ( 深さ優先 or 幅優先 )

1) pgRouting を使用した 幾何学図形に対する経路探索 - end0tknr's kipple - 新web写経開発 2) 最短経路探索アルゴリズムの A* (A-STAR)を perlで試す - end0tknr's kipple - 新web写経開発 3) Algorithms with Python / 集合, グラフ, 経路の探索 経路探索…

swi-prolog + clpfd による ナップザック問題 (knapsack)

http://www.nct9.ne.jp/m_hiroi/prolog/clp02.html 上記urlには、swi-prolog + clpfd による様々な制約プログラミングが、 分かりやすく記載されています。 その中に swi-prolog + clpfd による ナップザック問題もありますが、 流石 prolog という程、簡潔…

perlとpythonで範囲指定による配列(list)作成 - 「..」in perl 「range()」in python3

以下の通り、その他の注意点としては同じ「1 ~ 9」で範囲指定しても pythonでは「8」までしか表示されません perl #!/usr/local/bin/perl use strict; use warnings; use Data::Dumper; main(); sub main { print "a" x 5 ,"\n"; for my $int ( 1 .. 9 ){ p…

perlとpythonにおける同一文字列の連続(繰り返し)出力 - 「"a" x 5」in perl 「"a" * 5」in python3

perl #!/usr/local/bin/perl use strict; use warnings; use Data::Dumper; main(); sub main { print "a" x 5 ,"\n"; } python3 #!/usr/local/python3/bin/python3 # -*- coding: utf-8 -*- def main(): print("a" * 5 ); if __name__ == '__main__': main()

python 3.7 における多重sort - 「lambda x:(-x[0],x[1])」と「key=cmp_to_key(cmpstr)」

ちょっと迷ったのでメモ。 lambda x:(-x[0],x[1]) による方法 以下は、2次元配列の 第1要素で降順 & 第2要素で昇順 sort します。 seisan_date_candidates_tmp = \ sorted(seisan_date_candidates, key=lambda x:(-x[0],x[1])) seisan_date_str = seisan_dat…

openpyxl for python による excel 読み込みを高速化 - wsheet.iter_rows()

xlrd for python で excel (xlsx) を読む - end0tknr's kipple - 新web写経開発 上記エントリに倣い openpyxl for python で excel (xlsx)を読むと速度が遅く、 特にレコード数の多い excelデータではこれが致命的。 どうやら cell = wsheet.cell(row=row,co…

「三隣亡」算出の元となる「二十四節気」は、国立天文台が毎年2月の官報で発表

「三隣亡」日の算出は、グレゴリオ暦 → QREKIによる旧暦算出... のように考えていましたが、 単純な計算では無理っぽい。 平成32(2020)年暦要項の発表 | 国立天文台(NAOJ) によれば 国立天文台は、毎年2月の最初の官報で翌年の暦要項(れきようこう)を発…

Web::Scraper for perl 経由で www.whatismybrowser.com を使い、access_log にあるuser agentを分析

perl scriptとしては、以下の通り。 apacheのaccess_logに user agentが記載されていますが 最近のuser agent 文字列は複雑で、「結局、OSやブラウザは何?」となった為、 書いてみた。 これまで 同様のscriptを複数回、書いていますが、 最近では、www.whati…

負荷テストツール - siege ver.4.0.4

これまで負荷テストには、 apache bench (ab)を使用してきましたが、 ランダムなurlにアクセスすることで、より本番に近い負荷を発生させたい為、 siege を試してみます。 https://github.com/JoeDog/siege install $ wget https://github.com/JoeDog/siege/…

bashで特定プロセスのCPU(%), MEM(%), 該当プロセス数 を表示

簡単なscriptはperlで書くことが多いのですが、 今後、perlがない環境で使用するかも知れませんので、bashで #!/usr/bin/bash echo "YYYY-MM-DD HH:MM:SS cpu(%) mem(%) procs count" while true do datetime=`date "+%F %T"` cpu=`ps aux | grep "/httpd/bi…

IISサーバのログを自力で集計

iisサーバのログ書式 - end0tknr's kipple - 新web写経開発 「今どき、ログファイルベースのアクセス分析って、古いよねぇ」と思いつつ、 上記エントリの関連で、以下の perl script & ddl (sql)を書いてみた #!/usr/local/bin/perl use utf8; use strict; u…

apacheのmpmを prefork -> event に変更

https://end0tknr.hateblo.jp/entry/20170814/1502686286 上記urlのentryにあるように、 以前から apacheのmpmには prefork を 使用してきましたが、eventに変更。 apache の mpm = {prefork , worker , event} については 次のurlが分かりやすいです。 http…

selenium + IEDriverServer.exe で ie11を起動する場合、「保護モードを有効」に

#!/usr/local/bin/python # -*- coding: utf-8 -*- import getopt import os import sys from selenium import webdriver from time import sleep CONF = \ {'web_driver':'c:/home/end0tknr/tmp/SELENIUM/IEDriverServer.exe'} def main(): browser = init_…

python 3.7 for win 付属 の pipで 認証付きproxy経由で installする

以下のようにやれば、OKみたい C:\Users\end0tknr > pip install selenium \ --proxy http://ないしょID:ないしょPW@proxy.example.com \ --trusted-host pypi.org \ --trusted-host pypi.python.org \ --trusted-host files.pythonhosted.org

perl による 素朴な csrf 対策用 token発行 と 照合

http://www.kent-web.com/perl/crypt/step05.html 上記urlを参考に、以下のような methodを活用すれば、良い気がします use Digest::MD5; sub get_csrf_token { my ($self) = @_; # 8文字のランダム文字列をsaltに使用します my @salt_chars = ('a' .. 'f', …

perl に install済 module 一覧を version付きで表示する one liner

標準モジュールは、Module::CoreList ( corelist ) を利用 $ perl -le 'system("corelist -v $^V")' The following modules were in perl v5.30.0 CORE Amiga::ARexx 0.04 Amiga::Exec 0.02 AnyDBM_File 1.01 App::Cpan 1.672 App::Prove 3.42 App::Prove::S…

emacsにおける window 切替えを「C-x o」から「C-t」に変更

.emacsへ以下のように記載すれば、OK。 「C-t」デフォルトで、隣の文字との入れ替えを行う「transpose-chars」に割り当てられており、 私は全く利用しないので、問題なし ; window 切り替える。 初期値 は transpose-chars (define-key global-map (kbd "C-t…

OWASP ZAP 2.8.0 で BASIC認証サイトへの脆弱性SCAN

忘れてたので、メモ STEP1 - まずはスクリプトの追加 STEP2 - 次にスクリプト名等の設定 STEP3 - 最後にスクリプトの記述 上記のテキストエリアには次のように入力します。 ただし「????????」部は、「$USER_ID:$PASSWD」をBASE64エンコードしたもの org.par…

excelの条件付き書式で、土日に色を付ける

条件となる数式を忘れるので、メモ =OR(WEEKDAY(D4)=1,WEEKDAY(D4)=7)

Re: Tomcat7から9へのアップグレード

Tomcat7から9へのアップグレード | GMOアドパートナーズグループ TECH BLOG byGMO 正に上記urlの通りだった。tomcatをverion up したら、エラー発生。 なので $ sudo vi cd /usr/share/tomcat8/conf/context.conf <Context></Context>ブロックの末尾(ファイル末尾)に、↓の行を…

openssl ver.1.1.1 で 「Using -iter or -pbkdf2 would be better.」や「bad decrypt」 error

以前、記載した entry の openssl ver.1.1.1 版. openssl でファイルの暗号化と復号化 - end0tknr's kipple - 新web写経開発 openssl ver.1.0 で暗号化したファイルを openssl ver.1.1.1 で復号化しようとしたところ、以下のエラー。 $ /usr/local/openssl_1…