Skip to content

Instantly share code, notes, and snippets.

@clicube
clicube / extconf.rb
Last active August 29, 2015 14:03
POSIX Semaphore with Ruby...
require 'mkmf'
$CFLAGS << " -std=c99"
create_makefile 'semaphore'
#! /usr/bin/ruby
# coding: utf-8
IP_ADDRESS = "192.168.111.102"
LASTSEEN_FILE = "/tmp/lastseen.txt"
OUTPUT_FILE = "/tmp/house.html"
require 'serialport'
OUTPUT_TEMP = <<EOS
@clicube
clicube / main.c
Last active August 29, 2015 14:05
RasPi-ExtBoard
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#include <string.h>
#include "uart.h"
#define UART_BAUD_RATE 9600
#define CMD_BUFFER_LEN 32
#define PROMPT "Raspi-ExtBoard> "
@clicube
clicube / MyEnterFunc.vim
Created August 22, 2014 17:30
Vim: Enterキー押下時、カーソルの右がとじ括弧だったら括弧の外側で改行
"----------------
" Enterキー押下時、カーソルの右がとじ括弧だったら括弧の外側で改行
"----------------
function! MyEnterFunc()
let pos = getpos('.')
let c = getline('.')[pos[2]-1]
if(c =~ "[\\)\\]]")
return "\<Right>\<Enter>"
endif
return "\<Enter>"
@clicube
clicube / dputs.rb
Created November 23, 2014 20:56
printfデバッグの出力が目立たないので赤くする
lambda{
header = lambda{|color| "\e[#{color}m" }
footer = lambda{ "\e[0m" }
add = lambda{|name|
dname = ("d" + name.to_s).to_sym
Kernel.send :define_method, dname do |*args|
begin
print header.call(31)

[Ruby] 動作中のRubyプロセスにコマンドを送れるgemを作りました

ずっと動いているタイプの(デーモンみたいな)Rubyプログラム、 現状の状態をうかがい知るためにはログを丁寧に出力させなければいけなくて、 かといって細かいログまで出力させると必要性の低いものもどんどん出てきてしまう。

show_status みたいなコマンドを打って、状態をぱっと出力できたら便利だなあと思ったので作ってみました。

動作中のプロセスに対して「あれしろ、こうしろ」って後から指令を送る用途にも使えそうです。 「一時停止しろ」とか「接続しろ」とか「終了しろ」とか。

module StartStopDaemon
# Start or stop daemon process.
#
# * command (String or Symbol):
# [start] Create new instance with arguments ,call #start and create PID file.
# [stop] Call #stop, send TERM signal and remove PID file.
# [restart] Do stop and start.
# [status] Show whether the process is running nor not.
# [-h|--help|help] Show usage.
@clicube
clicube / happy.sh
Created April 5, 2015 12:26
実行すればするほどどんどんハッピーになるシェルスクリプト
#!/bin/sh
echo "echo happy" >> $0
@clicube
clicube / Rakefile.rb
Last active August 29, 2015 14:25
Dockerのコンテナを操作するRakefile
NAME = File.basename(File.dirname(__FILE__))
IMAGE = "#{ENV['USER']}/#{NAME}"
DIR = File.dirname(__FILE__)
DOCKER_OPT = ""
task "status" do
puts get_status
end

キャプチャ時系列

  • 0:00 キャプチャ開始
  • 0:05 マッチングスタート
  • 0:16 マッチング終了
  • 0:33 バトル開始
  • 3:33 バトル終了
  • 4:03 つづける?
  • 4:13 やめるを選択