Pebble Coding

ソフトウェアエンジニアによるIT関連技術や数学の備忘録

WEBプログラミング

python3 で hmac-sha512を計算する

python3.6.4を用いています。 import hmac import hashlib sk = str("secret").encode('utf-8') msg = str("message").encode('utf-8') sig = hmac.new(sk, msg, hashlib.sha512).hexdigest() print(sig) print(len(sig)) 1bba587c730eedba31f53abb0b6ca589e…

JSONRPC をpython で体験する

RPC(リモートプロシージャコール)とはRESTと同じような、 特定フォーマットのHTTPリクエストを受け取り、レスポンスを返すプロトコルの一種です。 フォーマットには XML, JSON, protocol buffer, messagepack などあります。 最後の2つはバイナリフォーマッ…

Monacoin を MacBook Pro で CPU マイニングできるか試してみた

この記事は2018-1-28時点のものです。備忘録として手順を残しておきます。 マシン: MacBook Pro 2017 モナコインのウォレットをダウンロード Monacoin project ここからmacOSX版のウォレットをダウンロードします。 立ち上げると全トランザクションのダウン…

python で有限体Fpでの楕円曲線上の有理点の群構造を調べる

ここでは、有限体 (p=5) 楕円曲線 (a=0,b=1,c=1) の有理点をpythonで調べています。 有理点の数は9です。(無限遠点を含む) 無限遠点はOと出力しています。 加法公式を用いて、有理点{P1, P2, ... P8}を2倍,3倍,...,9倍した点も示しています。 この計算の途中…

macOS 10.12 jupyer notebook でグラフを描画する(Fpにおける楕円曲線の解の個数)

matplotlibをインストールします。 ~$ pip install matplotlib %matplotlib inline import numpy as np import matplotlib.pyplot as plt # 乱数を生成 x = np.random.rand(100) y = np.random.rand(100) # 散布図を描画 plt.scatter(x, y) plt.show() うま…

macOS sierra 10.12 で Jupyter Notebook を立ち上げるまで

macOS sierra 10.12 に Jupiter Notebook をインストールする。 ~$ brew install python ~$ brew link python ~$ python --version Python 2.7.10 ~$ which python /usr/bin/python ~$ ls -l /usr/bin/python -rwxr-xr-x 1 root wheel 66576 4 29 08:36 /usr…

lets encryptでエラーが出ていたので修正

lets encrypt で https 化していたサイトがあと1ヶ月で切れますよメールがきて、どうやら自動更新に失敗していると気がつく。 /root/letsencrypt/letsencrypt-auto certonly --webroot --webroot-path /home/onsenlife/public -d onsenlife.info --renew-by…

make_moonsで生成されるものを見てみる(scikit-learn)

macOSXにpipをインストールする sudo easy_install pip scikit-learnをインストールする sudo pip install scikit-learn make_moonsでデータを生成してみる bash-3.2$ python >>> from sklearn import datasets, linear_model >>> datasets.make_moons(10, n…

digital oceanでipv6を追加したらDNS解決できなくなった話[RESOLVED]

digital oceanに作ったCentOS6のVPSにipv6を追加したところDNS解決できなくなりました。 CentOS7の方は手順通りでうまくいったのですが、CentOS6の方は、 ping google.com が効きません。 /etc/resolve.conf にはGoogleのipv6のDNS2つが定義されています。 n…

CentOS7にNewRelicのnginxプラグインをセットアップする

まずyumでプラグインを入れないといけないですが、そのためにまずリポジトリを追加しないといけません。 以下ファイルを編集します。 /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/ gpgc…

IPv6環境のActionMailerでのgmail送信でNet::OpenTimeoutエラー発生

IPV6環境のActionMailerでgmail送信すると Net::OpenTimeout (execution expired): となってしまい送信できない。 telnet smtp.gmail.comを実行すると分かるが、まずIPv6で接続をトライし、60秒くらいでタイムアウトした後、IPv4で接続トライする。 最初から…

macOS環境でrustを学習する

以下の日本語ドキュメントで学習します。 プログラミング言語Rust インストール ~$ curl -sSf https://static.rust-lang.org/rustup.sh | sh rustコンパイラのバージョン確認 ~$ rustc --version rustc 1.11.0 (9b21dcd6a 2016-08-15) vimシンタックスハイラ…

シェルキーバインド

ずっと探してたけど、これだ。Ctrl + AとCtrl + Eはよく使いそう。 Ctrl + A で行頭に戻る Ctrl + E で行末に移動 Ctrl + B で一文字前 Ctrl + F で一文字後 Ctrl + D で削除 例えば、 ~$ ln -s /cevelop/XVim/XVim/XVimMarks.h XVimMarks.h ここまで打ってd…

jQuery $(function() {...});とは何なのか

例えば、jQueryでこんなサンプルを見かけます。 この$(function() {... });のイディオムはなんために存在するのか? <body> <script> $(function() { $( "#selectable" ).selectable(); }); </script> <ol id="selectable"> </ol> </body> $()関数はドキュメントツリーが完成したタイミングで実行されるようです。 $()…

rails で各コントローラー毎のcss,jsを読み込むようにする。

ほぼ参照サイトままです。 やったことは、3つ app/views/layouts/application.html.erb に以下の2行を追加。 <%= stylesheet_link_tag controller.controller_name, media: "all" %> <%= javascript_include_tag controller.controller_name %> app/assets…

JavaScript return文がsyntaxエラー

以下のJavaScriptにはバグがある。 print(1);if( true !== true ){ return; }; print(2); SpiderMonkeyで実行すると、return文がSyntax errorだと言われる。 js> if( true !== true ){ return; }; print( 1 ); typein:11: SyntaxError: return not in functi…

JavaScript Array.some

Array.some

JavaScriptのバージョン年表

厳密にはJavaScriptのバージョンはFireFoxブラウザで実装されたものを指し、ECMAScriptはすべてのブラウザで対応すべき仕様という意味合いのようだ。 JavaScript ( ECMAScript ) のバージョンがどのくらい古いものなのかよく分からないのでまとめる。 JavaSc…

jqXHR.success(),jqXHR.error(),jqXHR.complete()はjQuery1.8以降非推奨

メモ 非推奨勧告 jQuery1.5から実装されたjqXHR.success(), jqXHR.error(), jqXHR.complete()コールバックメソッドはjQuery1.8以降非推奨となります。 これらが削除される前にあなたのコードでは、jqXHR.done(), jqXHR.fail(), jqXHR.always()を代わりに使用…

jQuery ドキュメントの見方

jQuery公式サイトのjQuery()を見ましょう。 jQuery() | jQuery API Documentation バージョンが少し古いですが、日本語訳がありました。 jQuery() / $() - jQuery API Documentation 日本語訳 jQueryは$と同じですが、引数に何を与えるかによって、動作が決…

DOM、jQueryの動作確認環境(Safari)

DOMとjQueryの動作確認はspidermonkeyではできないので、ここではSafari8(MacOSX 10.10最新)を使います。以下環境構築手順です。 1) jQueryのサイトからをjquery-1.11.2.jsというファイルをダウンロードします。 具体的には「Download the uncompressed, dev…

JavaScript オブジェクトのメソッド名を連想配列を使い文字列を使って呼び出す

var sports = { swim : function( arg1, arg2 ){ print( "swim " + arg1 + " km " + arg2 ); }, walk : function( arg1, arg2 ){ print( "walk " + arg1 + " km " + arg2 ); } }; sports['swim']( 1, "feel good!" ); // swim 1 km feel good! sports['walk'…

JavaScript 繰り返し処理

keys Array.forEach このサイトすごく分かりやすくていい。 オブジェクトをfor in で回した時、要素にはプロパティ名が入る var coffee = { coffee_type: 'cafe late', coffee_price: 350, coffee_sugar: 1, coffee_pour : function() { print("pour"); } };…

Safari拡張 ツールバー項目の意味

Safari拡張を作る上で、ツールバー項目の意味がよく分かっていなかったが、理解できたのでメモしておく。 「ツールバー項目」には複数の項目が設定できるが、例えば3つのツールバー項目を作り、3つとも「デフォルトで取り込む」のチェックをつけた場合、ブ…

JavaScript 関数を引数に取る関数

関数を引数に取る関数の複雑なケースです。 function process(f) { f( function(name, g) { print( name ); g( 100 ); }); } process( function(h) { h( "hoge", function(value){ print( 2 * value ); }); h( "fuga", function(value){ print( 3 * value );…

JavaScript addEventListener(),removeEventListener()

addEventListener(),removeEventListener()というのはWindowオブジェクト、Documentオブジェクト、Elementオブジェクトに存在するメソッド。(他にもある) 引数の数と型は以下の通り。 addEventListener( 'hoge', f, false ); removeEventListener( 'hoge', f…

JavaScript 関数リテラルをその場で呼び出す

無名関数リテラルをその場で呼び出すというJavaScriptイディオムがあります。 性質を見てみます。 (function () { function hoge() { print( "fuga" ); } hoge(); // fuga })(); hoge(); // typein:25: ReferenceError: hoge is not defined 関数内で宣言さ…

JavaScript関数もオブジェクトなのでプロパティを追加できる

JavaScriptの関数はオブジェクトなのでプロパティを追加できます。 名有り関数を定義して呼び出しています。 関数名が自分自身の関数オブジェクトを表します。 1) 関数内部で識別子プロパティを追加するケース function obj() { obj.fuga = 4; print( obj.fu…

JavaScriptでthisに渡されるもの

JavaScriptでのthisはどのようにして呼ばれるかによって、それが指すものが決まる。 1. トップレベルコードで呼び出した場合はthisにはグローバルオブジェクトが渡される。 printf( this ); // [object global]; グローバルオブジェクトはただ一つ存在するも…

JavaScript get演算子/set演算子

get演算子/set演算子 オブジェクトにプロパティを追加する時に使用できる。 見た目がメソッドのように見えるがメソッドではないので注意。 var coffee = { get price() { return 3; }, set milk( val ) { // do something } } print( coffee.price ); // 3 c…

プライバシーポリシー

お問い合わせ

スポンサーリンク