ラベル Program の投稿を表示しています。 すべての投稿を表示
ラベル Program の投稿を表示しています。 すべての投稿を表示

2014年4月29日火曜日

tmuxでbashの履歴を即座に書き出す設定

function share_history {
    history -a
    history -c
    history -r
}
PROMPT_COMMAND='share_history'
shopt -u histappend

2014年4月6日日曜日

50%の確率でジョブを走らせる


#50%の確率で当ジョブを走らせる
num=`expr $RANDOM % 10`
if [ $num -le 4 ]
then
    logger "job Start...50%"
else
    logger "Job Cancel...50%"
    exit 0
fi

2013年9月23日月曜日

Cookie Clickerで遊んでみた



日本語版はこちら
http://cafe-capy.net/cookieclicker/

貯蔵数が焼いた数を上回っちゃったりしてたから不正とみなされちゃったけど最終的なデータはこちら
MS4wMzZ8fDEzNzk3OTY0MDAxNzZ8MTExMTExfDIuODQyMjMzOTk5Mzk0ODU3M2UrMjg7MjQzODM3NDc4MTg4NjU7MjkyNDsxMDsyNjE5MDI0Njc1NzszMTstMTstMTswOzA7MDswOzY1OzI0NzN8MzI5LDMzMiw1MzcwMTczODQ3MiwwOzIwMSwyMDEsMTc4MDEzMDQ4NiwwOzIwMCwyMDAsMjc0MjQ0ODIsMDsyMDMsMjAzLDk5MzA3NDM3LDA7MTY3LDE2NywzMjk4NDc2NzIsMDsxMDYsMTA2LDM5OTE3NjQyNSwwOzEwNywxMDcsMTI2MzM4Njc5NywwOzExOSwxMTksMTY1NTgwODE5NTksMDsxMjUsMTI1LDEzNzU4NjIxMzM3NSwwOzEzNiwxMzYsMTA4OTYwMzI2OTkwOSwwO3w0NTAzNTk5NjI3MzcwNDk1OzQ1MDM1OTk2MjczNzA0OTU7MjI1MTgwMTk2MTE2ODUxMTs0NTAzNTczNzIzNDc4NTI3OzEwNDg1NzV8NDUwMjQ5ODEwMjQ3Njc5OTsxNzUxMTY1MDE2NDczNQ%3D%3D%21END%21

cookie編集時に使ったスクリプト

2013年7月13日土曜日

squid3でviaヘッダを任意の値に変更する

こんな感じに書けばいいらしい

request_header_access VIA deny all
request_header_replace VIA 1.1 Squid3


http://green-rabbit.sakura.ne.jp/blog/2010/04/28/1320/

2013年4月29日月曜日

ruby mechanizeで画像スクレイピングしてみる

画像収集スクリプト書いた
hogeimgダウンロード => id=nextなオブジェクトクリック => 以下くりかえし

リトライ回数と繰り返し回数は適宜修正すること





2013年4月12日金曜日

opensslでstarttlsのSMTPをコマンド実行

こんな感じでやってみよう
openssl s_client -starttls smtp -crlf -quiet -connect email-smtp.us-east-1.amazonaws.com:587

expectで送る場合はこんな感じ


2013年2月24日日曜日

expectでメールを送ってみる

こんな感じか?

2013年2月10日日曜日

apacheのcombinedログのパース処理

こんな感じか?


やっぱり面倒だからLTSVにするか

2012年12月27日木曜日

起動後一定時間経ったら○○の処理をする

というスクリプトの例
uptimeから取ってくる
以下は3時間経ったらhoge.shを実行する

2012年10月9日火曜日

twitterのbotを作る


そんなに難しくないと思った・・・

1.CONSUMER_KEYとCONSUMER_SECRETの取得
アプリの登録を行う
このページから飛んで適当に入力する

2.ユーザに許可してもらいアクセストークンをもらう
スクリプト実行⇒authページ⇒許可を押す⇒数値をメモ⇒スクリプトに入力

  #!/usr/bin/env ruby
  # coding: utf-8
  require 'rubygems'
  require 'oauth'

  OAUTH_CONSUMER_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXX'
  OAUTH_CONSUMER_SECRET='XXXXXXXXXXXXXXXXXXXXXXXX'

  consumer = OAuth::Consumer.new( OAUTH_CONSUMER_KEY , OAUTH_CONSUMER_SECRET , {
    :site=>"http://twitter.com"
  })
  #optprm = { :oauth_callback=>"(コールバック先のURL)" }
  request_token = consumer.get_request_token
  puts "Access this URL and approve => #{request_token.authorize_url}"

  print "Input OAuth Verifier: "
  oauth_verifier = gets.chomp.strip

  access_token = request_token.get_access_token(
      :oauth_verifier => oauth_verifier
  )

  puts "Access token: #{access_token.token}"
  puts "Access token secret: #{access_token.secret}"

3.後はもらったアクセストークン&コンシューマIDでスクリプトを書く
twitter のgemでもoauthのgemでも簡単なことをやる場合はあんま変わんない感じ

#!/usr/bin/env ruby
# coding: utf-8

require 'oauth'
require 'json'

CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXX'
ACCESS_TOKEN = 'XXXX-XXXX'
ACCESS_TOKEN_SECRET = 'XXXXXXXXXXXXXXXXX'

# 下準備
consumer = OAuth::Consumer.new(
  CONSUMER_KEY,
  CONSUMER_SECRET,
  :site => 'http://twitter.com'
)
access_token = OAuth::AccessToken.new(
  consumer,
  ACCESS_TOKEN,
  ACCESS_TOKEN_SECRET
)

# タイムラインを取得して時系列順に表示
response = access_token.get('http://twitter.com/statuses/friends_timeline.json')
JSON.parse(response.body).reverse_each do |status|
  user = status['user']
  puts "#{user['name']}(#{user['screen_name']}): #{status['text']}"
end

# Tweetの投稿
#response = access_token.post(
#  'http://twitter.com/statuses/update.json',
#  'status'=> 'oauth test post2'
#)
  #!/usr/bin/env ruby
  # coding: utf-8
  require 'twitter'

  # ログイン
  Twitter.configure do |config|
    config.consumer_key       = 'XXXXXXXXXXXXXXXX'
    config.consumer_secret    = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    config.oauth_token        = 'XXXXXXX-XXXXXXXXX'
    config.oauth_token_secret = 'XXXXXXXXXXXXXXXXXX'
  end

  #発言する
  #puts Twitter.home_timeline.first.text
  Twitter.update('hoge')

参考リンク
http://d.hatena.ne.jp/shibason/20090802/1249204953
http://rdoc.info/gems/twitter
http://tech.sayama-yuki.net/archives/166

2012年9月26日水曜日

rubyのバージョン管理 rbenv試してみた

rvmとかあるらしいけど今回はrbenvを使ってみます

 cd
 git clone git://github.com/sstephenson/rbenv.git .rbenv
 echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
 echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

ここで、シェルのリスタート

次にrbenv installが使えるようにbuildプラグインをインストール
mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git

これでrbenv installコマンドが使えるようになります
インストールできるバージョンを確認
rbenv install -l
インストール
rbenv install 1.9.3-xxxxx
使用中のバージョンを確認
rbenv versions
バージョンの切り替え
rbenv global 1.9.2-p290
リフレッシュ変更を反映
rbenv rehash

2012年7月23日月曜日

vimでgitのブラウジングすると便利だよ


という話
gitvというプラグイン:Gitvコマンドからどうぞ

3方向マージ(3 way merge)もGdiffで一発

http://d.hatena.ne.jp/cohama/20120417/1334679297
http://yuku-tech.hatenablog.com/entry/20110427/1303868482

2012年3月23日金曜日

Ruby on Railsのインストール

必要なパッケージのインストール

適当に以下のパッケージをインストール
build-essential imagemagick zlib1g-dev libssl-dev libreadline-dev libmagick-dev libmagickcore-dev
libmagickwand-dev sqlite3 libsqlite3-dev automake bison mysql-server mysql-client libmysqld-dev libmysqlclient-dev libcurl4-openssl-dev
libapr1-dev libaprutil1-dev libxslt-dev libxml2-dev
※この時点ではRubyは入れない

RVMのインストール

RVMはRubyのバージョンのスイッチとか簡単に出来るので便利
公式サイトどおりに以下のコマンドですぐインストールされる
curl -L get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm

Rubyのインストール

rvm install ruby
rvm list
rvm use 1.9.3 --default

必要なGemインストール

gem install bundler
gem install rails
gem install unicron

その他の設定

あとJavaScriptエンジンが足りないとか起こられたら こちらを参照して設定する
Gemfileに以下を追記
gem 'execjs'
gem 'therubyracer'
rails new hoge
cd hoge
rails server