@aoi_ptmlから飛んでくださった方へ

@aoi_ptmlは 桃色技術音楽堂が運用するネット上の無垢なる媒介者です。笑い男の模倣者とも言います。botです。

沢山の方がリプライをくださってとても嬉しく思っています。苦情や報告等ありましたらorder66.rgxa2あっとgmail.comまでお願いします。

検索するとその検索ワードをポストしちゃうHP

Elgoog

検索すると @elgoogr に検索ワードをポストします。

息子にだまされて始めた81歳のツイッターがおもしろいと話題に にインスピレーションを得ました。

PHPを使って作ったHP第一弾。PHP便利すぎて引いた。Rubyも素敵な言語だとは思うけど、HPをさくっと作りたい場合はPHPに分があるかなぁ・・・。さくらサーバーはPHPもRubyも利用可能ですがね!

ベル数を求めるスクリプト

ベル数を求めるよー

B(n) を求めるから下のテキストボックスに n の数値を入れてね。大きな数を入れすぎるとブラウザが止まっちゃうかもよ!気をつけてね!



あんさ~↓

スターリング数を求めるのに再帰関数使ってるから処理が重い?答えがJavaScriptの限界を超える桁数だった場合の動作は未確認。
うちのパソコン(Celeron SU2300 1.2GHz)だとnが30越えたあたりから動作がかなり怪しいです。

リカーシブでない関数を使うことによって大幅な動作のスピードアップを実現!!
第2スターリング数は全射の総数を求める際に導出するP(n,m)式と同義であり、そのP(n,m)を求める際には漸化式を用いない方法(シグマと2項係数で解ける)が存在する。

ソース覗けばスクリプト見られるけど、一応貼っておくよ!ポイントください><
ちなみに貼ってあるソースは再帰関数を用いた方の関数。実装してるのはこっちじゃないよ!ちょっとややこしいね・・・


//異なる n 個のものを k 個の箱に詰めるときの詰め方の数を第2種スターリング数と言うらしい。
//第2種スターリング数を求める関数。下記のサイトのC言語を参考にした。
//http://chaste.web.fc2.com/Reference.files/Algo.html
function Stirling2(n, k)
{
	var ans;
	
	if (k < 1 || k > n) 
		return 0;
	if (k == 1 || k == n)
		return 1;
	
	ans = k * Stirling2(n - 1, k) + Stirling2(n - 1, k - 1);
	return ans;
}

//ベル数を求める関数
function Bell(loop_num)
{
	var i = 1;
	var ans = 1;

	if(loop_num == 0 || loop_num == 1)
		return ans;
	else
	{
		while(i < loop_num)
		{
			ans += Stirling2(loop_num, i);
			i++;
		}
	}
	return ans;
}

同じ物をR言語でも作ったよ。・・・標準関数にないのだろうか・・・?


Stirling2 <- function(n, k){	#第2種スターリング数を求める関数
	if (k < 1 || k > n) {return(0)}
	if (k == 1 || k == n) {return(1)}
	
	ans <- k * Stirling2(n - 1, k) + Stirling2(n - 1, k - 1)
	return(ans)
}

Bell <- function(num){	#ベル数を求める関数
	if(num == 0 || num == 1) {return(1)}
	else{
		i <- 1
		ans <- 1
		while(i < num){
			ans <- ans + Stirling2(num, i)
			i <- i + 1
			}
		}
		return(ans)
}

基本統計量の計算スクリプト

データの数・平均・分散・標準偏差・ニ乗和・共分散・相関係数を計算します。

とりあえず二種類のデータの計算と共分散・相関係数を求められるようにした。対応しないテキストボックスに数値を入れたときの共分散の振る舞いはわかんね

左側がyで右側がx

データの数

平均

分散

標準偏差

ニ乗和

共分散

相関係数


注意書き

カップサイズ判定

逢坂大河

カップサイズとは・・・ここを見て勉強するのだ!!

カップサイズ を測るので、T, U の値を入力してください。




計算結果

Twitter_oauthを使用してRubyでTwitterBot作成

誰でもできるTwitter Botの作り方を買って作成しました。

書籍内ではタスク機能を使ってbot運用していましたが、自作のスクリプトではsleepを使って”強引に”bot運用させてます。

カスみたいなスクリプトですが、心優しき誰かが校正してくれることを信じて公開します。当然のことながら問題が起きても一切こちらは関知しません。詳しくはreadmeで

ダウンロード

※さくらサーバーを借りてからはcronを利用して定期的にrubyスクリプトを実行してbot運用しています。アオイ君もそうです。
基本的には下のコードに手を加えただけです。ポストするときだけ実行されるのでsleepはもちろん使ってません。とてもシンプルになりました。暇があればそれのコードとかも・・・

以下参考のためbot_main.rbを表示


#! ruby -Ks

#-------------------------------------
#これを実行するとbotが稼動します。
#動作環境はruby 1.8.7です。twitter_oauthもgemコマンドで導入してください。
#-------------------------------------

require 'rubygems'
require 'twitter_oauth'
require 'kconv'

#自作ライブラリ
require 'myposts'
require 'authorize'
require 'reply'
require 'post'
require 'follow'


client = myAuthorize	#まずオーソライズするよー

counts = 0	#何回実行したかを記憶する変数

loop do	#無限ループします。・・・つまり終わらせたければコンソール終了かctrl+shift+Cを押してくださいってこと。
  post(client)
  reptest( client )
  if counts % 6 == 0	#この設定だと一時間に1回search_followとrefollowを行う。初回起動時は問答無用でsearch_followとrefollowを行う。
    search_follow(client, "検索したい語句を入れてちょ")
     refollow(client)
  end
  
  counts += 1
  print("Complete!! ", "実行回数 = ", counts)
  puts
  sleep(600)	##ここで600秒、つまり10分間止まる。要するにこのbotは10分に1回つぶやく。
end

Twitterタイムライン取得&投稿

TwitAPI.jsを使っています。

最初に「OAuth認証/TL取得」からOAuth認証してください。クッキーは使用していません。


@AnywhereからTweet

実は小難しいコード書かなくても、@Anywhereっていう便利なツールがあったらしい。。。

以下はそれを使ったツイートボックス