2014年8月21日木曜日

例の塩辛のあるお店

以前、坂本真綾さまがDJをやっていらっしゃる、VitaminMという番組で、このお店のことをメールで投稿したら、読んでいただけただけでなく、「興味あり!」とのことでした。

その時は、時間がなくてガラス張りの両脇を中央線が走るところを見られる喫茶店にしかいけなかったのですが、その後、2回、そのお店に行く機会があったので、簡単にレポートします。

旧万世橋駅跡地を利用した、mAAchエキュートという商業施設にこのお店があります。
公式WEBサイト: http://www.maach-ecute.jp/

場所はこちら↓

WEBサイトの地図: http://www.maach-ecute.jp/access.html
Google MAP: https://www.google.co.jp/maps/place/%E6%9D%B1%E4%BA%AC%E9%83%BD%E5%8D%83%E4%BB%A3%E7%94%B0%E5%8C%BA%E7%A5%9E%E7%94%B0%E9%A0%88%E7%94%B0%E7%94%BA%EF%BC%91%E4%B8%81%E7%9B%AE%EF%BC%92%EF%BC%95/@35.696733,139.771425,18z/data=!4m2!3m1!1s0x60188c02d48d40ef:0x91cc59ea7009217b?hl=ja

色々なお店があり、ウィンドウショッピングがお好きな方は、いろいろ楽しめると思います。

その中で、僕が行ったおすすめの場所が、冒頭に記載したN3331カフェバーと表題の塩辛のお店駿河屋嘉兵衛マーチエキュート神田万世橋店です。

まずN3331ですが、動画を見てもらった方が一目でわかると思います。
鉄道マニアならずとも、ちょっと、行ってみたくなりますよね♪





そして、例の60種類の塩辛のお店ですが、お店のメニューとしては60種類の中から厳選した30種類とのことで、「どういうことなの?騙された?」と一瞬、思いましたが、実はこういう事↓でした。

このお店、有限会社駿河屋嘉兵衛という静岡県にある会社が経営しているお店の一つで、その会社が販売している塩辛全てが60種類あるとのことで、「あ、なるほど。そういうことね。」と納得。

しかし、30種類でも凄い!

で、お料理の内容ですが、新鮮な魚料理と日本酒を売りにしていて、これが新鮮でたまらない!
で、2回目の今日は、実は、かみさんのお誕生日のお祝いということで、やってきました。



まずは、のどが渇いていたので、白穂乃香というビール。



桜海老のお刺身。



穴子のお刺身。

穴子というと泥臭いのではと思われがちですが、新鮮であっさりとしています♪



〆サバのお刺身。これも絶品です。(ボキャブラリーが…)



やはり、魚料理には日本酒ということで、巌という群馬のお酒。

このお店では、メニューにないお酒が置いてあるので聞いてみてくださいと店員さんに言われました。



大トロシメサバ炙り押寿司。



ここに来たら、やはり、塩辛を頼まないとということで、生しらすの塩辛。

かなり塩が効いているのと、わさびの茎が入っているので、かなり辛目。これだけで、白いご飯が二杯分いけそうなくらいです。



イカの塩辛に柚子の皮をアレンジしたもの。

これは先ほどの生しらすの塩辛よりはふつうの塩辛に近いかな。



そして華鷹という大分の日本酒。



デザートに桜海老のアイス。

上に乗っかっている桜海老以外に、アイスの中に桜海老を細かく刻んだものが入っていて、味はちょっとチーズっぽい感じ。


そして、お会計がこちら↑。

上記の写真にもあった、穂乃香というビールと桜海老のアイスはかみさんも1つづつ頼んでおり、
かつ、それ以外にかみさんの頼んだ日本酒、而今、死神、鍋島を含めた合計が、
このお値段なら、僕は安いと思います。

とはいっても、しがないサラリーマンには厳しい出費であることは確か。
他のお店で軽く、腹ごしらえをしてから、日本酒と塩辛をちびちびというのもありかな?と思います。














2014年5月10日土曜日

OracleのUNDO表領域が肥大化した時の対処方法

ディスクフルになったシステムの復旧をするのに、まず現在のデータのバックアップを取得したいところだが、ディスクフルの状態では、エクスポートができないので空き容量を増やさなければならないという鶏が先か卵が先か状態に陥るってこと、よくありますよね?(よくはない

そんな時、もし、UNDO表領域が肥大している状態であれば、UNDO表領域を縮小し、Exportできるだけの領域を確保することができるかもしれないということを、Oracleの有識者から聞きかじり、調べた結果、以下を参考にしてなんとか切り抜けることができたので備忘録として残す。(環境はWindows7 pro 64bit)

参考:UNDO表領域の縮小


1.UNDO表領域の縮小を試みる。
(1)UNDO表領域の確認
command prompt> sqlplus /nolog
SQL> conn sys/pasword as sysdba;
SQL> show parameter undo_tablespace
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
undo_tablespace                      string
UNDOTBS1

(2)一時的なUNDO表領域を作成する。
SQL> create undo tablespace UNDOTMP datafile '【表領域のpath】\UNDOTMP1.DBF' size 1G AUTOEXTEND ON;
表領域が作成されました。

(3)一時的なUNDO表領域に切り替える。
SQL> alter system set undo_tablespace='UNDOTMP' sid='orcl';
システムが変更されました。

(4)切り替わったことの確認
SQL> show parameter undo_tablespace
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
undo_tablespace                      string
UNDOTMP

(5)切り替える前のUNDO表領域のサイズを縮小するために、表領域を削除後、再作成する。
SQL> drop tablespace UNDOTBS1 including contents and datafiles;
表領域が削除されました。
SQL> create undo tablespace UNDOTBS1 datafile '【表領域のpath】\UNDOTBS1.DBF' size 4G AUTOEXTEND ON;
表領域が作成されました。

(6)最後に再作成したUNDO表領域に切り戻す。
SQL> alter system set undo_tablespace='UNDOTBS1' sid='orcl';
システムが変更されました。

(7)切り替わったことの確認
SQL> show parameter undo_tablespace
NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
undo_tablespace                      string
UNDOTBS1

(8)一時的なUNDO表領域の削除
SQL> drop tablespace UNDOTMP including contents and datafiles;
表領域が削除されました。



2014年4月14日月曜日

svnadmin verifyでE720002: Can't open file

SVNサーバを移行したところ、
svnadmin verifyで「E720002: Can't open file 'XXXX\format'': 指定されたファイルが見つかりません。」
というメッセージが表示されるようになった。

 移行前のバックアップと比較すると、ORIGINALのファイルがバックアップ先にコピーされていないことが判明。ファイルが壊れているわけではなさそう。

 なので、新しい環境でhotcopyをコマンドラインから実行してみると、
svnadmin: E720002: Failed to create hotcopy at 'XXXX'. The file 'XXXX/db/fsfs.conf' is missing from the source repository. Please create this file, for instance by running 'svnadmin upgrade C:XXXX'
svnadmin: E720002: Can't open file 'C:\XXXX\db\fsfs.conf': 指定されたファイルが見つかりません。
とのこと。

SVNのバージョンの違いが原因っぽいので、以下のコマンドで確認。
> svnadmin --version
新環境は1.8.1 (r1503906)、旧環境は1.6.6 (r40053)…。
そんなに古かったのか…。

ちなみにWinMergeで過去にバックアップされているリポジトリとオリジナルを比較すると、違いがないことから、ファイルが壊れていることはなさそう。

念の為、originalのバックアップを更にローカルに作成し、以下を実行。
> svnadmin upgrade XXXX
Repository lock acquired.
Please wait; upgrading the repository may take some time...
Upgrade completed.
実行後、svnadmin hotcopyとverifyを実施したところ、エラーは発生せず。
念の為、作業コピーについては、全て削除し、チェックアウトし直す。

ちなみに、変更前と変更後のリポジトリの差をWinMergeで確認してみると、dbフォルダの以下のファイルが変更されているのみで、コミット対象自体のフォーマットは変わっていないことを確認。
db\format
db\fsfs.conf   <-新規作成
db\write-lock <-新規作成
以外とあっさり、移行完了。







2014年2月12日水曜日

RubyでLSBfirst

とある機器との通信でLSBit firstで送信する必要があり、Rubyでコーディング。
美しくないけど、これでいいはず…。

  def b_reverse(s_char)
    i_work = 0
    i_ascii = s_char.ord
    8.times {|x|
      i_work += (i_ascii & 1) * 2**(7-x)
      i_ascii >>= 1
    }
    return i_work.chr
  end

2013年9月19日木曜日

Android端末でRubyの学習

Rubyの学習を始めた頃に、電車の中でノートPC広げにくいので「Nexus7(2013)を有効活用できないものだろうか? 」と思ったことがあった。

よくある手段としてはマーケットでオライリーなどの電子書籍を購入するというのがあるけど、どうせならN7上で動作するRubyの環境とかないかな?と探してみたらあっさり、みつかった。

  Ruboto
 画面はこんな感じ。
ちょっと、思いついたことを試すには便利。
サンプルスクリプトも用意されており、中にはRubyからカメラアプリを制御なんてのもあったり。

2013年9月8日日曜日

require 'eventmachine'でcannot load such file

require 'eventmachine'の部分で,'cannot load such file'とエラーになる。RubyMineのruby SDK & Gemsにはeventmachineがリストにある。

そこで、以下のリンクを参考にしてみた。
インストールしたgemがrequireできない - Ruby - 教えて!goo

参考にしたのは以下の部分。
$ rm -r ~/.gem
で消してしまい(このディレクトリは消してもよい)
$ gem update --system
$ gem update
$ gem clean

このあと、RubyMineを起動し。evebtmachineをTools->Quick Install Gemでインストールしたところ、エラーはでなくなった。

2013年9月1日日曜日

Rubyでリングバッファ

超初心者ですので、コードに誤りがあるかもしれないし、もっとRubyっぽく書けるのかもしれませんがとりあえず、意図したことはできていそう。

P_MAX = 10        # 配列の最大個数
class Point
  def initialize
    @x=Array.new(P_MAX)
    @y=Array.new(P_MAX)
    @pointer = -1        # ポインタ
  end

  def x; @x[@pointer]; end   # @xの最新値のゲッターメソッド
  def y; @y[@pointer]; end   # @yの最新値のゲッターメソッド

  # @xの配列ゲッターメソッド
  def getX(n)
    if n >= P_MAX then
      @x[P_MAX-1]
    else
      @x[n]
    end
  end

  # @yの配列ゲッターメソッド
  def getY(n)
    if n >= P_MAX then
      @y[P_MAX-1]
    else
      @y[n]
    end
  end

  # @x,@yの為のセッターメソッド
  def setXY(valueX,valueY)
    @pointer += 1
    if @pointer >= P_MAX then @pointer = 0 end
    @x[@pointer]=valueX
    @y[@pointer]=valueY
    puts "setXY(#{valueX},#{valueY}):@pointer=#{@pointer}"
  end
end

p = Point.new
q = Point.new
puts "p.x = #{p.x} p.y = #{p.y}"
puts "q.x = #{q.x} q.y = #{q.y}"

p.setXY(0,1)
q.setXY(0,-1)
puts 'p.setXY(0,1) q.setXY(0,-1)実施後'
puts "p.x = #{p.x} p.y = #{p.y}"
puts "q.x = #{q.x} q.y = #{q.y}"


p.setXY(1,2)
q.setXY(-1,-2)
puts 'p.setXY(1,2) q.setXY(-1,-2)実施後'
puts "p.x = #{p.x} p.y = #{p.y}"
puts "q.x = #{q.x} q.y = #{q.y}"

n = 0
while n < P_MAX do
  p.setXY(n,n+1)
  q.setXY(-n,-n+1)
  n += 1
end
puts 'p.setXY(n,n+1) q.setXY(-n,-n+1) n=0..9実施後'
puts "p.x = #{p.x} p.y = #{p.y}"
puts "q.x = #{q.x} q.y = #{q.y}"

puts 'getX(n) getY(n) 確認'
n = 0
while n < P_MAX do
  puts "p.getX(#{n}) = #{p.getX(n)}"
  puts "p.getY(#{n}) = #{p.getY(n)}"
  puts "q.getX(#{n}) = #{q.getX(n)}"
  puts "q.getY(#{n}) = #{q.getY(n)}"
  n += 1
end