Skip to content

Instantly share code, notes, and snippets.

View hdemon's full-sized avatar

Masami Yonehara hdemon

  • LINE
  • Fukuoka, Japan
  • 02:33 (UTC +09:00)
View GitHub Profile
@hdemon
hdemon / nginx-install.sh
Created September 8, 2011 04:10
Nginx install script
#!/bin/bash
sudo aptitude install -y paco
# Download source.
wget http://nginx.org/download/nginx-1.0.6.tar.gz
tar xvzf nginx-1.0.6.tar.gz
cd nginx-1.0.6
# Congifure and make
@hdemon
hdemon / manual.markdown
Created September 9, 2011 16:18
CentOS 5.5 さくらVPS

#SSHと権限の設定 http://d.hatena.ne.jp/rubellum/20100901/1283321253 に従って、SSHの設定とrootログインの禁止をする。

##sudo

Default env_keep+="PATH"

この一文を/etc/sudoersに入れると、sudo時に現在のPATHが引き継がれる。

@hdemon
hdemon / dropbox
Created September 12, 2011 02:48
REHL用Dropbox起動スクリプト /etc/init.d/dropbox
# chkconfig: 345 85 15
# description: Startup script for dropbox daemon
#
# processname: dropboxd
# pidfile: /var/run/dropbox.pid
# config: /etc/sysconfig/dropbox
#
### BEGIN INIT INFO
# Provides: dropboxd
@hdemon
hdemon / mixin.rb
Created September 18, 2011 10:23
非破壊的mixinメソッドをRubyで。
require "ruby-debug"
def mixin_non_destructive(targetObj, overWriteObj)
output = Marshal.load(Marshal.dump(targetObj))
if targetObj.instance_of?(Hash)
overWriteObj.each_key { |key|
overWriteObj[key] = mixin(targetObj[key], overWriteObj[key])
output[key] = overWriteObj[key]
}
else
output = overWriteObj
@hdemon
hdemon / file.rb
Created October 15, 2011 13:38
Json読み書き簡易メソッド
module File
EXT_BACKUP = 'bak'
def readJson(fileName)
begin
f = open(fileName, "r" )
json = f.read
f.close
JSON.parse(json)
@hdemon
hdemon / convert-time.rb
Created October 16, 2011 12:39
時間計算メソッド
# -*- encoding: utf-8 -*-
require 'ruby-debug'
require 'date'
require 'time'
module ConvertTime
def self.parse(method, &block)
count = 0
@hdemon
hdemon / gist:1301405
Created October 20, 2011 15:18
Railsでやること

Gemfile書き換え

  • mysql 5.5等を使うなら、mysql->mysql2
  • ついでにconfig.ymlもmysql->mysql2
  • Test::Unit -> rspec-rails
    • rails generate rspec:install
  • gem 'therubytracer'
  • rakeのバージョンを0.8.7に指定
  • sporkを入れる。
@hdemon
hdemon / dynamic.rb
Created November 7, 2011 15:30
Mongoidで動的にクラス名を設定して生成したかったけど、できなかった。
require 'mongo'
require 'mongoid'
Mongoid.configure do |config|
dbname = "test"
host = "localhost"
config.master = Mongo::Connection.new.db(dbname)
config.persist_in_safe_mode = false
end
@hdemon
hdemon / libxml-test.rb
Created November 9, 2011 11:55
そのXMLが階層化されてない場合限定の、libxmlストリーム方式で属性と値をまとめて取得するためのRubyスクリプト。
# ニコ動RSSバージョン。例えば http://ext.nicovideo.jp/api/getthumbinfo/sm1097445 とか。
# テストはしてないので、このままじゃたぶん動かない。
require 'xml'
require 'net/http'
# ...
def parse(host, entity, param)
response = Net::HTTP.start(host, 80) { |http|
@hdemon
hdemon / update_by_innerjoin
Created November 18, 2011 10:13
MySQLでは自己相関サブクエリが使えないらしいので、内部結合を使って自分のテーブル内のカラムを集計し、別のカラムに入れる。
UPDATE movie_log
INNER JOIN (
SELECT
item_id,
date,
view +
(
comment *
(