Perl・Javascript・python、サーバー管理メモ TW↑B
|1ページ目/2|次のページへ(12・)



■■■記事一覧■■■
2021.02.10PythonでPowerPointを作るライブラリ「python-pptx」が色々活用出来そう。
2021.01.15PerlでSlackに投稿する方法 /2
2020.12.05ZipファイルのクラックするPythonコード /2
2020.11.04さくらのレンタルサーバーにJSON.pmをインストール /1
2020.11.02pythonでマインクラフトを制御できるMOD「Raspberry Jam Mod」 /1
2020.10.29HTML(Javascript)とperlでドラッグ&ドロップでファイルをアップロードする最小スクリプト /1
2020.10.22さくらのレンタルサーバーにNet::twitterを入れたり、5個以上のcronを設定したり
2020.10.20さくらのレンタルサーバーのキャパシティーが大幅向上 /3
2020.10.13最近のPerlでは配列やハッシュに対するdefined関数によるチェックが廃止されていてエラーが出る。 /1
2020.08.06SlackのAPIが仕様変更。「channel.history」ではチャンネルのログが閲覧出来なくなり「conversations.history」を使う必要 /1
2020.06.25Perl 7発表。来年にも四半世紀ぶりのメジャーアップデート /4
2020.04.14プログラム言語ごとの電力/計算効率、実行速度、メモリー使用量を比較した研究結果 /11
2020.04.0910ステップでSlackのAPIからチャンネルの履歴を取得する。 /1
2020.03.20Perlから「はてな」のブックマーク数を取得時に「slv3 alert handshake failure」が出て取得出来ないので他のサーバーに投げて代わりにwgetで取得されるメチャクチャな方法でごまかした個人的メモ /7
2019.06.26うちのサブサーバー(さくらVPS)で何かのスクリプトが暴走していたみたい /2
2019.02.07ターミナルを楽しくするLinuxコマンドトップ10 /2
2018.11.26Perlでタグの外側だけ対象に置換する /2
2018.11.1930年前のBASICで「0.01を10000回足したら100.003」になると書いてあったので、今の環境で試してみたら同じ結果だった話 /12
2018.11.02Perlから外部のhttpsにアクセス出来なくなった時の対応メモ /14
2018.03.07ヒントはソースコードだけ。全34言語を収録した「プログラミング言語かるた」が出資募集中。3000円でもらえる /9
2018.01.29Activeperlメモ、スクリプトと同じ場所にあるモジュールを自動認識しなくなってる。 /1
2018.01.05流行のAIに必須言語「Python」を絵本で学べる本「Pythonの絵本 Pythonを楽しく学ぶ9つの扉」発刊へ /1
2017.12.26Web開発者がJavaScriptでゲームプログラミングを始めるための第一歩 /2
2017.09.07Perlで人工知能プログラミングを行うAI::MXNet、Phyton版と同じインターフェイスでGPUも使用可能 /41
2017.07.15ソースコードを見てどのプログラミング言語なのかを特定するクイズ「Language Identification Quiz」 /16
2017.07.14Perlで人工知能プログラミングを行うAI::MXNetの出来が凄そうだ /60
2017.06.30wgetはFTPも、ミラーリングも、レジュームも、passive接続、リトライ、再帰的ダウンロードも対応していて超優秀! /4
2017.06.12ソーテック社、「Minecraftで楽しく学べるPythonプログラミング」を発刊 /1
2017.06.06面接官「では、自分を拡張子に例えると何ですか?」 /4
2017.02.12Rを使えるようになるための10のこと /3
2017.02.08Z会主催、サンフランシスコのトップエンジニアと学ぶ3日間のプログラミング講座(2017年3月開催) /28
2017.02.07プログラミング用等幅フォント「Fira Code」がモダンで素敵、Webフォントとして使う方法 /1
2017.01.27暗号化HTTPSまかせだと、ネコにもネズミにも聞かれそうなので、少し悪あがきしてみた /6
2017.01.10Javaの低下続く、1月プログラミング言語ランキング /2
2016.11.11文字コードで困ってます。 /23
2016.10.03ActivePerlなどを出しているActiveStateからActivePython登場 /3
2016.09.07JavaScriptコードを圧縮・最適化・難読化するGoogle開発の「Closure Compiler」 /8
2016.08.05HTMLで簡単にMP3を再生するaudio.js /2
2016.01.30Excelで作られたシートをHTML/JavaScriptにしてくれるソフトウェア「excel2js」 /2
2016.01.13「Pythonista」iOS上で動作するPython統合開発環境がv2.0にアップデート!その物凄い内容とは /1
2015.12.10Phyton上で動くOpenCVを使うと22行で顔認識するスクリプトが書けるらしい。 /2
2015.09.21pythonで美しいグラフ描画 -seabornを使えばデータ分析と可視化が捗る その1 /2
2015.07.08JavaScriptの業務スキルレベル5段階判別表 /8
2014.10.27現代的なPerlの記述方法一覧〜サンプルコードによるPerl入門〜 /5
2014.04.18良記事:今から3分で,HTML5のドラッグ&ドロップAPIと File APIを習得しよう(JSの実装サンプル付き) /2
2014.04.08自分が書いた正規表現が正しいか、その場でチェックできるサイト「RegExr」 /1
2014.01.18Twitterが1月15日頃から仕様変更でAPI呼び出しがSSLオンリーに。PerlのNet::Twitterの修正方法 /26
2013.12.21PerlでGPUを使って演算を行うためのモジュール「PerCUDA」 /50
2013.06.13TwitterがAPI1.0を廃止。動かなくなったPerlスクリプト(Net::Twitter使用)を再び動かす方法
2013.02.263月5日から既存Twitter API(ver.1.0)が使用不能に。新APIはアクセスポイントも変更 /1



2021.02.10

PythonでPowerPointを作るライブラリ「python-pptx」が色々活用出来そう。↑BTW

例えば時間ばかりかかる不毛なスケジュール管理とか普段はクラウド上のExcelファイルででも実務データソースとして管理しておいて、どっかに報告が必要な時とかはcsv出力してワンクリックでガントチャート形成とか。Excelを直接読み込めるライブラリーもあるらしい。

使った事無いんだけど、こういうのMicrosoft Projectとかってソフトなど便利に出来るのかな?

WindowsにPythonを入れる

python-pptxをインストール
pip install python-pptx

Python-pptxのドキュメントはこちら
矢印のシェイプを1個載せたファイルを作る場合のスクリプトだと
#必要なライブラリ読み込み
from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE
from pptx.util import Inches
#
prs = Presentation()
title_only_slide_layout = prs.slide_layouts[5]
slide = prs.slides.add_slide(title_only_slide_layout)
shapes = slide.shapes

shapes.title.text = 'Sample Title xxxxx'
#矢印の場所をインチで指定
left = Inches(0.93)
top = Inches(0.0)
width = Inches(1.75)
height = Inches(0.05)
#矢印を出力
shape = shapes.add_shape(MSO_SHAPE.CHEVRON, left, top, width, height)
#ファイルにセーブ
prs.save('test.pptx')


う〜んお手軽。あとは適当なファイルを読み込んでループさせて適切な場所に矢印を出力するだけ

俺は一生Perl使いで行きたいのに色々な事がPythonで便利に出来るようになってPythonで書かざるを得なくて、PerlとPythonとJavascriptの文法が脳内で混乱しまくって逆に生産効率落ち気味・・・・・困った。。。。。3つとも文法の類似点が多すぎるんだよねぇ。

言語と違って微妙な間違いでエラー出るし。そういうの補正して修正案をポップアップしてくれるエディタ作れそうな気がする。もしかしてある?Perlは「Perl Editor」ってで書いてるけどJavascirptとPythonは普通のエディタの「Mery」で書いている。

 Keyword:Java/40
   コメント書き込み・記事単独表示


2021.01.15

PerlでSlackに投稿する方法↑BTW

作ったAPPSのPermissionsのscopeに「chat.write」と「chat.write.customize」を加える。

$Set{'token'}='xxxxxxxx';
$Set{'text'}='ほげほげ';
$Set{'channel'}='yyyyyyy';
$Set{'username'}='usePocket Update BOT'; #投稿するボットの名前
my $HtmlData=&WebAccessPOST('https://slack.com/api/chat.postMessage',\%Set); #※適当にWebアドレス宛にPOSTするサブルーチン用意してください。

あ、Perl要素がどこにもなかった(^^;

細かいところは下記と同じ
すげー簡単。
個人的メモ

 Keyword:Access/18
   コメント書き込み・記事単独表示(2〜)


2020.12.05

ZipファイルのクラックするPythonコード↑BTW

   コメント書き込み・記事単独表示(2〜)


2020.11.04

さくらのレンタルサーバーにJSON.pmをインストール↑BTW

標準じゃJSON.pmも使えないのか。

↓これと一緒

cpanmを非rootでインストールして
./perl5/bin/cpanm JSON
でJSONのインストール完了。

perlにて「use JSON」する前に
use lib '/home/xxxxxx/perl5/lib/perl5/';
と書いておく。

   コメント書き込み・記事単独表示(1〜)


2020.11.02

pythonでマインクラフトを制御できるMOD「Raspberry Jam Mod」↑BTW

 Keyword:マインクラフト/17
   コメント書き込み・記事単独表示(1〜)


2020.10.29

HTML(Javascript)とperlでドラッグ&ドロップでファイルをアップロードする最小スクリプト↑BTW

個人的メモ。スマホでは使えないのが残念。
HTML側↓※タグの<>を大文字で表記しております。


---------------------------------
<html><head><meta charset="UTF-8"><head>
<script src="http://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript">
function PageLoad(e) {
var dropFrame = document.getElementById('DropFrame');
dropFrame.addEventListener('dragover', onDragOver, false);
dropFrame.addEventListener('drop', onDrop, false);
}
function onDragOver(e){
e.preventDefault();
}

function onDrop(e) {
e.stopPropagation();
e.preventDefault();
var files = e.dataTransfer.files;
for(var i= 0;i < files.length;i++){uploadFile(files[i]);}
}
function uploadFile(file){
var formData = new FormData();
formData.append('file', file);
$.ajax({
async: true,
type: 'POST',
contentType: false,
processData: false,
url: 'drop.cgi',
data: formData,
dataType :'html'
}).done(function(html){
alert(html);
});
}
$(function(){
PageLoad();
});
</script></head>
<body>
<div id="DropFrame" style="border:solid 1px; width:360px; height:240px;">drop file here</div>
</body></html>
---------------------------------


Perlスクリプト「drop.cgi」側

---------------------------------
#!/usr/local/bin/perl
use File::Basename;
use File::Copy;
use CGI;

#転送最大サイズ
$CGI::POST_MAX = 1024 * 100000; #100MB
$q = new CGI;

print "Content-type: text/html\n\n";
binmode STDOUT;

if (!defined($filename) and $error = $q->cgi_error){
print 'file size error';
exit;
}
my $fp = $q->upload('file');
my $fname = basename($q->param('file'));
if ($fname eq "./"){
print 'file error';
exit;
}
copy ($fp, "./data/$fname");
undef $q;
print "ok upload!".$fname;
exit;
------------------------------------

HTML5とかでもっと簡単に出来るんだっけ?

  • アップロードの進捗をリアルタイム表示
  • 複数ファイル同時転送
出来るとなお良いんだけど。。。。。

   コメント書き込み・記事単独表示(1〜)


2020.10.22

さくらのレンタルサーバーにNet::twitterを入れたり、5個以上のcronを設定したり↑BTW

だいたい全ての課題はこれで解決出来たかな。

下記にならって
[Perl][cpanm]さくらインターネットでcpanmを使用する | さるぢえ

CPANMってCPANの計量版(?)をrootじゃない状態でインストール
curl -L http://cpanmin.us | perl - App::cpanminus
で完了。

パス通って無いので直接指定でNET::Twitterをインストール
./perl5/bin/cpanm Net::Twitter

Perlのモジュールのフォルダにもパス通って無いので
perlスクリプトの最初に
use Net::Twitter;
の前に
use lib '/home/xxxxxx/perl5/lib/perl5/';
と記載。

さくらのレンタルサーバーはコントロールパネルからcronを5個だけ実行可能という中途半端な仕様なんだけどsshでログインしたら普通にcrontabが実行出来て何個でも登録出来た。
ただしcronは監視されているようでコントロールパネルに
実行頻度が1時間以内に連続する場合や、CPU処理時間が60秒以上連続で利用される場合、予告なく設定解除される場合があります。
との記載あり。1回60秒を超えるスクリプトが1日1回あるんだよな。。。あとまとめて実行して負荷が連続しないように、わざわざ分割して1分おきに毎時60回実行させているんだけどなぁ。。。。。制限されるなら回数減らして子プロセス発生させて分散すればいいのか?自動で検出出来ないだろ?

もう俺のやりたいことにさくらのVPSじゃないと出来ないことは何も無い事が分かったのでレンタルサーバーに完全移行します。安いし。

   コメント書き込み・記事単独表示


2020.10.20

さくらのレンタルサーバーのキャパシティーが大幅向上↑BTW

最安のプランでも200のドメイン、1日160GBの転送量までOK

今、重い腰を上げて全てのサイトをhttps対応すべくサーバー移行を進めているんだけど、5つの会社の5つのサーバーに総額月額5000円以上かけて運営していたサイトが、さくらレンタルサーバーの月額524円プランに全部入りそうw

俺がWebに公開しているファイルが80万個あった件についてw

   コメント書き込み・記事単独表示(3〜)


2020.10.13

最近のPerlでは配列やハッシュに対するdefined関数によるチェックが廃止されていてエラーが出る。↑BTW

  • if (defined(%hogehoge)){
を単純に
  • if (%hogehoge){
ってすればOK。さくらのレンタルサーバーで20年前から使っているjcode.plが通らなかったw
ついでに↓これも対応しないとひっかかった。
さくらのレンタルサーバー、制御UIが洗練されていて良いね。現在管理しているWebサイトを片っ端から移転させてSSL対応っさせてます。
↓一つ完了(※まだhttp://へのリンクが多数残ってますが)

 Keyword:blog/216
   コメント書き込み・記事単独表示(1〜)


2020.08.06

SlackのAPIが仕様変更。「channel.history」ではチャンネルのログが閲覧出来なくなり「conversations.history」を使う必要↑BTW

これ↓

すでに設置されているAPIは来年2月まで使えるけど、新しくAPIは設置出来ないらしい。
SNS側の仕様変更に追いつくだけでヤレヤレだよ。

やれやれ。

 Keyword:SNS/102
   コメント書き込み・記事単独表示(1〜)


2020.06.25

Perl 7発表。来年にも四半世紀ぶりのメジャーアップデート↑BTW

なんかリンク先の記事に悪意を感じるんだけどw、use strictをバカにしてる?(怒)笑。スペル違うし

Perl6の計画があったのは知らなかった。下位互換が無いので途中でRakuって別の名前に変更されたらしい。信者の逆鱗に触れたんじゃね?

最近Python2とPython3の文法の違いで混乱しまくり、下位互換じゃないなら名前変えやがれ。printが関数ちっくじゃないと許せないとかBASICあがりには許せない。

がんばれPerl!!!!このサイトはperlで動いております!

   コメント書き込み・記事単独表示(4〜)


2020.04.14

プログラム言語ごとの電力/計算効率、実行速度、メモリー使用量を比較した研究結果↑BTW


出典:Energy efficiency across programming languages: how do energy, time, and memory relate?(DOI: 10.1145/3136014.3136031)

電力/計算効率、実行速度はC言語を1とした時、必要なメモリー容量はPascalを1とした時の各言語の相対数値が示されています。Javaでさえ電力/計算効率でC言語の2倍なのか。Perlは80ですか(^^;。

AndroidとiOSって同じ処理をさせた時にAndroidが電力消費で2倍程度不利って理解であってる?

 Keyword:Android/569
   コメント書き込み・記事単独表示(11〜)


2020.04.09

10ステップでSlackのAPIからチャンネルの履歴を取得する。↑BTW

Step.1:https://api.slack.com/にアクセスして右上の「Your Apps」をクリック、中央の「Create an App」をクリック


Step.2:アプリの名前を適当に付ける(App Name)、今回は「get_history_usepocket」と名付けている。アプリを使いたいワークスペースを選択(※アプリはワークスペースごとに作成する必要、そのワークスペースにログインしてないとここに表示されない)


(省略されています。全文を読む

 Keyword:アプリ/717
   コメント書き込み・記事単独表示(1〜)


2020.03.20

Perlから「はてな」のブックマーク数を取得時に「slv3 alert handshake failure」が出て取得出来ないので他のサーバーに投げて代わりにwgetで取得されるメチャクチャな方法でごまかした個人的メモ↑BTW

PerlからのHTTPSアクセスまわりがもう末期的な感じで、黄昏の言語なのかなと思っちゃう今日この頃。
しかし20年を超えるWeb運営の中で組んだ巨大で複雑怪奇なシステム群を別の言語で書き直すのも面倒だしねぇ・・・・、ここ数年でも何度かアクセス出来ないサーバーが出てきてPerlとか色々とアップデートしたらどうにかアクセス可能になったんだけど、直近だと「はてな」のAPIサーバーとかOSもPerlまわりも自動で出来るかぎり最新にしてもアクセス出来ないorz。

(省略されています。全文を読む

 Keyword:orz/229
   コメント書き込み・記事単独表示(7〜)


2019.06.26

うちのサブサーバー(さくらVPS)で何かのスクリプトが暴走していたみたい↑BTW

画像はさくらのコントロールパネル。

ここ1年ぐらい重いなー、共有サーバー込み合ってきたのかなぁ。トラフィックは増えてないはずだけどなーと思っていたら、何かのスクリプトが暴走しっぱなしだったみたい(汗)。再起動(数年ぶり?)したら快適なレスポンスになりました(笑)再起動後半日経ちましたが、すぐに負荷が増えてくることは無いみたい。

どうやらさくらVPSは各アカウントのCPU占有時間が2sを限界に制御されているみたいだね。
再起動後のCPU占有タイムは8分の1の250msぐらい?(この単位の分母は何だ?/secかな?複数コアのCPUだから1超えられるのかな?)この該当サーバーはこのサイトの一部のカテゴリーやら、俺のやっている他のブログ置いてあり、自前のデータ収集スクリプトとかFacebookとかTwitterの情報収集スクリプトとか、他のサーバーとのデータ共有、バックアップ用スクリプトが常時(合計で10スクリプトぐらい)スケジュール実行されています。

スクリプトは全てperl、確かにプロセスリストを表示させると終了しそこなったスクリプトがじわじわ増えていくんだよね。運用開始してから10年近く?数年単位で放置しても大丈夫みたいだけど、今回はやっかいな感じでスクリプトが死に損ねたんでしょうか?

DISKのREAD&WRITEですごいピークがあるのは定期的に実行されている全記事のアクセス状況調査スクリプトだと思われます。

サーバーと外部の入出力はピークREADが500kbpsぐらい、ピークWRITEが100kbpsぐらい?早朝に派手にREADされているのは何だろう?閑散期だと思って何かor誰かが派手にクローリングかけてる?

さっそく死に損ないスクリプト数を監視するスクリプトを組んで走らせようと思います。

VPSもどうにか使いこなすのに成功して安定運用しているけど、すっかりノウハウが記憶の彼方でメンテナンスが大変なんだよね。。。。。

 Keyword:Facebook/154 ブログ/175
   コメント書き込み・記事単独表示(2〜)


2019.02.07

ターミナルを楽しくするLinuxコマンドトップ10↑BTW

楽しくしてどうする?w
lolcatはいいな。

   コメント書き込み・記事単独表示(2〜)


2018.11.26

Perlでタグの外側だけ対象に置換する↑BTW

s/((?:\G|>)[^<]*?)ここにマッチ配列/$1置換後/g;

くっそ、週末の貴重な時間を2時間消費した。

情報元:

   コメント書き込み・記事単独表示(2〜)


2018.11.19

30年前のBASICで「0.01を10000回足したら100.003」になると書いてあったので、今の環境で試してみたら同じ結果だった話↑BTW

マジか。

   コメント書き込み・記事単独表示(12〜)


2018.11.02

Perlから外部のhttpsにアクセス出来なくなった時の対応メモ↑BTW

さくらVPSのサーバーを5年ぐらい放置して運用していたんだけど、昨今のhttpsの証明書に関わる問題によりperlからLWPでhttpsアクセス出来ないサイトが増えてきました。

Step.1:Webminから全ライブラリをアップデート
これで一部はアクセス出来るようになったけどまだアクセス出来ないサイトあり

Step.2: エラーメッセージを見ると「IO::Socket::SSLが無いぞ、インストールしろ」と出ていたので
yum -y install perl-IO-Socket-SSL
これでさらにアクセス出来るサイトが増えた。

Step.3:残りのアクセス不可のサイトのエラーメッセージは「certificate verify failed」ってやつ
このサイト↓を参考にperlのスクリプトに
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
を追加したら見れるようになりました。

ライブラリのアップデートが不可なレンタルサーバーとかで許可されていたら
`/usr/bin/wget --no-check-certificate -q -O $filename $targetUrl`;
でwget呼び出してファイル経由で取得したりすることもある。

RSSまでhttps化する流れ何なの?バカなの?

個人的メモ

 Keyword:RSS/83
   コメント書き込み・記事単独表示(14〜)


2018.03.07

ヒントはソースコードだけ。全34言語を収録した「プログラミング言語かるた」が出資募集中。3000円でもらえる↑BTW

3000円の出資でもらえる。5000円の出資でもらえるTシャツが欲しいかも

   コメント書き込み・記事単独表示(9〜)


2018.01.29

Activeperlメモ、スクリプトと同じ場所にあるモジュールを自動認識しなくなってる。↑BTW

32bit版のv5.16.3では動いていた自作スクリプトが
64bit版のv5.26.1では動かない。

新しいバージョンではスクリプトと同じ場所にある.pmファイルのモジュールを認識してくれないみたい。
スクリプトの最初に
use lib './';
を足すと動くようになる。

   コメント書き込み・記事単独表示(1〜)


2018.01.05

流行のAIに必須言語「Python」を絵本で学べる本「Pythonの絵本 Pythonを楽しく学ぶ9つの扉」発刊へ↑BTW

Pythonって何が優れているわけ?

   コメント書き込み・記事単独表示(1〜)


2017.12.26

Web開発者がJavaScriptでゲームプログラミングを始めるための第一歩↑BTW

良記事かと

   コメント書き込み・記事単独表示(2〜)


2017.09.07

Perlで人工知能プログラミングを行うAI::MXNet、Phyton版と同じインターフェイスでGPUも使用可能↑BTW

どこかに分かりやすくPerlでのデモンストレーションを紹介しているページ無いかな?

   コメント書き込み・記事単独表示(41〜)


2017.07.15

ソースコードを見てどのプログラミング言語なのかを特定するクイズ「Language Identification Quiz」↑BTW

   コメント書き込み・記事単独表示(16〜)


2017.07.14

Perlで人工知能プログラミングを行うAI::MXNetの出来が凄そうだ↑BTW

   コメント書き込み・記事単独表示(60〜)


2017.06.30

wgetはFTPも、ミラーリングも、レジュームも、passive接続、リトライ、再帰的ダウンロードも対応していて超優秀!↑BTW

知らなかった、こりゃいいや!Windows版も欲しいな
あった!

   コメント書き込み・記事単独表示(4〜)


2017.06.12

ソーテック社、「Minecraftで楽しく学べるPythonプログラミング」を発刊↑BTW

ふと思いついて、Minecraftのマップデータを3Dプリンタに持って行く方法を探したら「Mineways」というのが人気らしい

 Keyword:プリン/149
   コメント書き込み・記事単独表示(1〜)


2017.06.06

面接官「では、自分を拡張子に例えると何ですか?」↑BTW

う〜ん、俺は.cgiかな、遅くてオブジェクト指向何ソレで、スパゲッティーコードでバグだらけだけど、色々出来るw

 Keyword:2ch/230
   コメント書き込み・記事単独表示(4〜)


2017.02.12

Rを使えるようになるための10のこと↑BTW

すっかりバイオ屋さんには必需品になりました。

   コメント書き込み・記事単独表示(3〜)


2017.02.08

Z会主催、サンフランシスコのトップエンジニアと学ぶ3日間のプログラミング講座(2017年3月開催)↑BTW

   コメント書き込み・記事単独表示(28〜)


2017.02.07

プログラミング用等幅フォント「Fira Code」がモダンで素敵、Webフォントとして使う方法↑BTW

   コメント書き込み・記事単独表示(1〜)


2017.01.27

暗号化HTTPSまかせだと、ネコにもネズミにも聞かれそうなので、少し悪あがきしてみた↑BTW

 この前、中国人な知り合いと話していたんだけど、中国からだと、インターネットアクセス自体が検閲されていて、しかも、HTTPS接続は禁止されていて、でも今時不便すぎるから指定のproxy経由でアクセスする事が可能とのこと、それって、この前知った、proxy利用してHTTPSの中身を傍受するman-in-the-middleじゃね?って話をしたら、衝撃受けてた。

 アメリカ入国時にブログやSNSの登録求められるような世の中だし、何か出来ることはないかと考えたんだけど(別に悪いことしないけど)、どうせ、キーワードでトラップしたり、ひっかかるとログ保存されるようなシステムだろうから、簡単に解読出来るとしてもキーワードでひっかかりにくくすれば良いんじゃねと思い、このブログに投稿するシステムに少し悪あがきしてみた。

ちなみにちょっと前に相談したけど、復元時に、WAVE DASH問題とか言って、JavascriptがShift-JIS→utf-8変換時に「〜」の変換を間違って、ff5eとして送られてくるので、unicode表に乗っている301cに書き換えるというプロセスを入れています。

いんたーねっとの偉い人、コメント、ご指導あったらよろしく。

●原理
Webから送信(GET/POST)する時に、Javascriptでプチ暗号化して、それを送信、サーバー側で復元する。具体的には「あいうえお」って送られるところが「19A1,19A2,19A3,19A4,19A5」みたいな文字列にブラウザにより変換されて送信される。

これだと暗号キーは公開されているから、少し頑張れば簡単に解読出来るだろうけど、少なくともキーワードでひっかかって、目を付けられる可能性は減ると思う

●HTML側(HTML部分)
<form method="post" action="xxx.cgi">
<input type="text" id="commentdummy" value=""> ※入力される部分、nameが無いので送信されない
<input type="hidden" name="comment" value=""> ※実際に送信される部分、非表示
<input type="button" value="send" onclick="return chk(this.form)">※送信ボタン、Javascriptを呼び出すだけ
</form>
●HTML側(Javascript部分)
<script type="text/javascript">
var str2array = function(str) { ※プチ暗号化部分、文字ごとに文字コードを2倍して16進数にして、カンマでつなげているだけ
var array = [],i,il=str.length;
for(i=0;idummy=str.charCodeAt(i)*2;
array.push(dummy.toString(16));
}
return array;
};
function chk(frm){※送信ボタンで呼び出される、commentdummyに入力された内容をプチ暗号化してcommentに入れて、送信する
frm.elements["comment"].value=str2array(document.getElementById('commentdummy').value);
frm.submit();}
</script>

 Keyword:nico/33 nico./35 中国/345 アメリカ/478
   コメント書き込み・記事単独表示(6〜)


2017.01.10

Javaの低下続く、1月プログラミング言語ランキング↑BTW

PerlがPHPより上で、JavaScriptに迫っているだと!Perl信者(つか、それが一番得意なだけ)な俺としては嬉しい。

この手のランキングは色々なものがあるけど、他の結果と違うような。「検索エンジンの結果から、どの言語が一番話題になっているか」のランキングらしい。

Raspberry PiにPerlがインストール出来なくて悲しんでいるんだけど、下記のページを見つけたのでもう一度やってみよう(個人的メモ)

   コメント書き込み・記事単独表示(2〜)


2016.11.11

文字コードで困ってます。↑BTW

「〜」とかのみ文字化けするのですが何が原因なのでしょうか?これって機種依存文字?
色々理由あってShiftJISベースなのですが、最近はJavaScriptを使う必要があり

ShiftJISのWebページで入力された文字列をJavascriptで処理し(ここでUnicodeになっちゃう)、Perlで受けてShiftJISに戻しています。

偉い人教えてー

   コメント書き込み・記事単独表示(23〜)


2016.10.03

ActivePerlなどを出しているActiveStateからActivePython登場↑BTW

Raspberry PiでPerlがうまく動かないので、最近Pythonを使うことが多い。

俺のような日曜プログラマは脳が混乱するのであまり習得言語数は増やしたくないんだよなぁ・・・・

   コメント書き込み・記事単独表示(3〜)


2016.09.07

JavaScriptコードを圧縮・最適化・難読化するGoogle開発の「Closure Compiler」↑BTW

このアプリ自身もJavaScriptで動くらしい。

 Keyword:Google/290
   コメント書き込み・記事単独表示(8〜)


2016.08.05

HTMLで簡単にMP3を再生するaudio.js↑BTW

こりゃ、便利だ。

 Keyword:MP3/7
   コメント書き込み・記事単独表示(2〜)


2016.01.30

Excelで作られたシートをHTML/JavaScriptにしてくれるソフトウェア「excel2js」↑BTW

素晴らしい。

関数はSUM,AVERAGE,IF,MIN,MAX,VLOOKUPだけとのこと。
独自機能としては「Cookie保存、URL生成、角丸表示、スマホ表示対応」だってさ。

   コメント書き込み・記事単独表示(2〜)


2016.01.13

「Pythonista」iOS上で動作するPython統合開発環境がv2.0にアップデート!その物凄い内容とは↑BTW

   コメント書き込み・記事単独表示(1〜)


2015.12.10

Phyton上で動くOpenCVを使うと22行で顔認識するスクリプトが書けるらしい。↑BTW

CVとはComputer Visionの略とのこと。

Phytonは最近Raspberry Piでお世話になっているのでちょっと試してみようかな。

   コメント書き込み・記事単独表示(2〜)


2015.09.21

pythonで美しいグラフ描画 -seabornを使えばデータ分析と可視化が捗る その1↑BTW

個人的メモ

   コメント書き込み・記事単独表示(2〜)


2015.07.08

JavaScriptの業務スキルレベル5段階判別表↑BTW

   コメント書き込み・記事単独表示(8〜)


2014.10.27

現代的なPerlの記述方法一覧〜サンプルコードによるPerl入門〜↑BTW

   コメント書き込み・記事単独表示(5〜)


2014.04.18

良記事:今から3分で,HTML5のドラッグ&ドロップAPIと File APIを習得しよう(JSの実装サンプル付き)↑BTW

   コメント書き込み・記事単独表示(2〜)


2014.04.08

自分が書いた正規表現が正しいか、その場でチェックできるサイト「RegExr」↑BTW

これは使える。2バイト文字にも対応してます。

   コメント書き込み・記事単独表示(1〜)


2014.01.18

Twitterが1月15日頃から仕様変更でAPI呼び出しがSSLオンリーに。PerlのNet::Twitterの修正方法↑BTW

うちのサイトの色んな所が止まってました。

PerlのNet::Twitterを使っている人は
Net::Twitter->new(ssl=>1,・・・・・);
を追記することで動きます。今後のバージョンではデフォルトでSSL経由になるとのこと

   コメント書き込み・記事単独表示(26〜)


2013.12.21

PerlでGPUを使って演算を行うためのモジュール「PerCUDA」↑BTW

普通に計算させると10分以上かかる演算を0.3秒で終わらせるデモが紹介されています。

   コメント書き込み・記事単独表示(50〜)


2013.06.13

TwitterがAPI1.0を廃止。動かなくなったPerlスクリプト(Net::Twitter使用)を再び動かす方法↑BTW

最新のNet::Twitterをインストールして
my $twit = Net::Twitter->new(traits=['API::REST','OAuth'],・・・・);
とか書いてある部分を
my $twit = Net::Twitter->new(traits=>[qw/API::RESTv1_1 WrapError/],・・・・);

に変えたら動きました。

参考:

   コメント書き込み・記事単独表示


2013.02.26

3月5日から既存Twitter API(ver.1.0)が使用不能に。新APIはアクセスポイントも変更↑BTW

迷惑過ぎる。RSS廃止とか、Tweetを表示する時はアイコンとタイムスタンプとリプライボタン表示を義務付けとか。

   コメント書き込み・記事単独表示(1〜)



次のページへ[12・]