パソコン・インターネット

2009年9月29日 (火)

source-highlight

昨日、"source-highlight" というコマンドプログラムがあるのを知りました。

早速、私のパソコン (Ubuntu) にもインストールしてみました。

"Ruby" のコードは問題なく読み込まれて、"htlm" の形で出力されました。結果は以下のとおりです。

# -*- coding: utf-8 -*-
require 'math_tool'
 
class Array
  # 配列の中から同じ要素を n 個持つグループを見つける。
  def check(n)
    return false if self.size < n
    arr = self.map{|a| [a, a.to_a.sort.to_i]}.sort_by{|a| a[1]}
    while arr.size > n
      part = arr.take_while{|a| arr[0][1] == a[1]}
      return part.map{|a| a[0]}.sort if part.size == n
      len = part.size
      arr = arr.drop(len)
    end
    return false
  end
end
 
d = 10
arr = Array.new
1.upto(1/0.0) do |i|
  num = i ** 3
  # 同じ桁の数を arr に集めていく
  if num < d
    arr.push(num)
    next
  end
  ans = arr.check(5)
  if ans
    puts ans[0]
    break
  end
  d = d * 10
  arr = [num]
end

"htlm" のソースコードはやたら長くなりますが、色がついて、ちょっとは見やすくなったかな?

2009年1月28日 (水)

Subversion : memo

私は Subversion を使用しています。家のパソコンと職場のパソコンの同期も兼ねて、リポジトリを USB メモリに入れています。

今日、コミットしようとしたら "svn failed: Can't read file '/media/disk/svn-repos/db/txn-current': End of file found" というエラーが出て受け付けてくれませんでした。USB メモリを抜き差しするときにやらかしたようです。

svnadmin recover しても効果なし。 svnadmin verify しても異常なし。でも受け付けてくれない……。

あきらめて、以前とっておいたバックアップからデータベースを再構築しようかとも思いましたが、ダメもとで試した方法がうまくいったので、忘れないようにここに書いておきます。

  1. いつもの様に、ダンプファイルを抽出してバックアップをとる。→ svnadmin dump
  2. 前のリポジトリと同じ名前で空のリポジトリをつくる。→ svnadmin create
  3. 新しいリポジトリにバックアップしてあったデータをリストアする。→ svnadmin load

以上のやり方で、リポジトリが復活しました。問題なくコミットもできたので、大丈夫だと思います。

何はともあれ、よかった。

2016年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
フォト

最近のトラックバック

無料ブログはココログ