Perl・Javascript・python、サーバー管理メモ TW↑B



■■■記事一覧■■■
|1ページ目/2|次のページへ(12・)
2021.12.05中国のSippedが50ドルQVGAののToFカメラユニットを今年中に出荷開始。UVC、UART/SPI出力
2021.12.05Pythonのコードをワンラインで実行形式に変換してくれるPyInstaller /1
2021.12.03チャート、グラフを書くのに良さそうなGoogle Chart以外のJavascriptライブラリ5つ /3
2021.11.18まだ使ってる?今は非推奨となったJavaScriptの書き方。document.writeが強く非推奨だと!!!? /4
2021.10.19PerlのGD::Image->new()は画像じゃないデータを読み込ませるとエラーになることがあるので事前に手動で画像であることを確認した方が良い /1
2021.10.12【解決済み】ヨドバシとかZOZOのサイトにどうやってもスクリプトからアクセス出来ない /16
2021.08.31現代的なPerlの記述方法一覧
2021.07.09JavaScriptでワンタッチで仮想キーボードを表示する /2
2021.02.10PythonでPowerPointを作るライブラリ「python-pptx」が色々活用出来そう。 /22
2021.01.15PerlでSlackに投稿する方法 /6
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を設定したり /3
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



2021.12.05

中国のSippedが50ドルQVGAののToFカメラユニットを今年中に出荷開始。UVC、UART/SPI出力↑BTW


世界が変わるモジュールな気がする。

 Keyword:QVGA/2 VGA/8 中国/416


2021.12.05

Pythonのコードをワンラインで実行形式に変換してくれるPyInstaller↑BTW

PyInstaller Quickstart ? PyInstaller bundles Python applications 6 users25イイネ

Windows, GNU/Linux, Mac OS X, FreeBSD, Solaris and AIX対応

 Keyword:Linux/19


2021.12.03

チャート、グラフを書くのに良さそうなGoogle Chart以外のJavascriptライブラリ5つ↑BTW

チャート、グラフを書くのに良さそうなJavascriptライブラリ6選 - Qiita 40 users

Google Chartが無料で使えるのは知っているんだけど、その他のやつのライセンスが
Apache 2.0 / MIT / Creative Commons 3.0 (個人利用では無料)
とかあってよく分からない。うちみたいなWebサイトで使っても良い?使うには何か条件ある?

Google Chart APIもライブラリのソース見ると「MITライセンス」って書いてあるね。Google Chart APIってライブラリをダウンロードして使ってよいのかな?オフラインで使いたいこともあるんだよね。

 Keyword:Google/316 Java/50


2021.11.18

まだ使ってる?今は非推奨となったJavaScriptの書き方。document.writeが強く非推奨だと!!!?↑BTW


2021.10.19

PerlのGD::Image->new()は画像じゃないデータを読み込ませるとエラーになることがあるので事前に手動で画像であることを確認した方が良い↑BTW

my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new("GET",'http://xxxxx/xxx.jpg');
my $Image=$ua->request($req)->content;
if (ord(substr($Image,0,1))==255 && ord(substr($Image,1,1))==216){
my $GDImage = GD::Image->new($Image);
if ($GDImage == undef){エラー処理}


基本はGD:Image->new(xxx)した時に失敗すると作った画像オブジェクトがundefineになって失敗したことが分かってスクリプトも落ちないんだけど、gzip圧縮された何かとか、テキストとか読み込ませた時も、何かのきっかけでエラーでスクリプト止まっちゃうことがある。

解決法としては、JPEGファイルの最初はFF(255)D8(216)で始まるらしいので、それを利用して画像っぽくない時はGD:Imageに進ませないようにしたらエラー出なくなった。

参考:


2021.10.12

【解決済み】ヨドバシとかZOZOのサイトにどうやってもスクリプトからアクセス出来ない↑BTW

https://www.yodobashi.com/product/100000001002798135/
https://zozo.jp/shop/xti/goods-sale/28300279/

上記は一例なんですが、perlのHTTP::Requestどころか、wgetでもアクセス出来ないん。もちろんWebブラウザではアクセス可能。どんな必要要件があるんですかね?教えて偉い人!!!!

例えばPerlだと

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
my $can_accept = HTTP::Message::decodable;
my $response = $ua->get('http://xxxxxx', 'Accept-Encoding' => $can_accept,);
if ($response->is_success) {
print $response->decoded_content;
}else{
print $response->status_line;
}

でアクセスするとタイムアウトしちゃう。

タイムアウト設定しないとデフォルトのタイムアウト(180秒)まで戻ってこない。
wgetだと永遠にレスポンスが返ってこない。

別にスクレイピングしようとかってわけじゃないんですが、このサイトはURLは自動でリンク先からサムネイル画像とってきてリンク生成する機能があるんで、URL書くとリンク生成する段階で固まっちゃうんだよ。困った。。。

追記
両方アクセス出来ました。みんなありがとー。ヘッダーを下記のように挿入したらアクセス出来ました。
my $can_accept = HTTP::Message::decodable;
my $response = $ua->get('https://xxxxxx',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36',
'Accept-Language' => 'ja,en-us;q=0.7,en;q=0.3',
'Accept-Encoding' => $can_accept,
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9');

しかし上記のヘッダーのうちどれがマストか検証してないけど少なくともこのUser-Agentが必須だった。これは今使っているChromeが出力しているもの。

または下記のように挿入。
$ua->default_header('User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36','Accept-Language' => 'ja,en-us;q=0.7,en;q=0.3','Accept-Encoding' => $can_accept,'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9');

と指定も可能。

下記はもともとのスクリプトで設定されていたUser-Agent。
Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0.1

これだとはじかれる念の入れよう。ボット対策かねぇ・・・・

PerlでWebページにアクセスする方法の俺的最新版は↓

 Keyword:Apple/180


2021.08.31

現代的なPerlの記述方法一覧↑BTW

仕事ではプログラムはしないんだけど、最近趣味でのプログラムでPerlとJavaScriptとPythonの文法がごちゃごちゃになってつらい・・・・

 Keyword:blog/243


2021.07.09

JavaScriptでワンタッチで仮想キーボードを表示する↑BTW

この前、アプリの仮想キーボードをインストールしたけど、こういう選択肢もあるね。

 Keyword:タッチパネル/38 アプリ/784


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」で書いている。


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/19


2020.12.05

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


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/';
と書いておく。


2020.11.02

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

 Keyword:マインクラフト/26


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とかでもっと簡単に出来るんだっけ?

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


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


2020.10.13

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

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


2020.08.06

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

これ↓

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

やれやれ。

 Keyword:SNS/124


2020.06.25

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

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

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

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

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


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/608


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」と名付けている。アプリを使いたいワークスペースを選択(※アプリはワークスペースごとに作成する必要、そのワークスペースにログインしてないとここに表示されない)


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


2020.03.20

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

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

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

 Keyword:orz/239


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/171 ブログ/180


2019.02.07

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

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


2018.11.26

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

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

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

情報元:


2018.11.19

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

マジか。


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/87


2018.03.07

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

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


2018.01.29

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

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

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


2018.01.05

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

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


2017.12.26

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

良記事かと


2017.09.07

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

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


2017.07.15

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


2017.07.14

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


2017.06.30

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

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


2017.06.12

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

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

 Keyword:プリン/163


2017.06.06

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

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

 Keyword:2ch/247


2017.02.12

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

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


2017.02.08

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


2017.02.07

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


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/35 nico./37 アメリカ/507


2017.01.10

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

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

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

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


2016.11.11

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

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

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

偉い人教えてー


2016.10.03

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

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

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


2016.09.07

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

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


2016.08.05

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

こりゃ、便利だ。

 Keyword:MP3/7


2016.01.30

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

素晴らしい。

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


2016.01.13

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


2015.12.10

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

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

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


2015.09.21

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

個人的メモ



次のページへ[12・]