2018年10月2日火曜日

windows8.2pro+Hyper-Vでdebian8xfceを動かしたときに仮想スイッチにはまるもナントカ抜け出たぜぃ

 会社ではやむなくwindowsを使わされているが、linuxでやれば効率よく、やれそうなことがある。そこで、お仕着せのwindows8.2proにHyper-Vをインストールし、VMとしてdebian8を入れてみた。ネット接続のために「仮想スイッチ」を作る訳だが、「内部」にするのか、「外部」にするか、プライベートネットワークにするのかときかれたので、会社のプロキシーを通すため、内部にするしかないだろうとやってみた。ところが、これだけでは接続はできなかった。いろいろとぐぐっているうちに、とあるページでプライベートIPアドレスの設定が必要だったことがわかり、そのとおりにしてみると、見事にネット接続できてしまった。仮想スイッチのIPv4のプロパティの画面で、固定IPアドレスを指定してやる。プライベートIPアドレスならば、どれでもOKだが、このときは192.168.137.1を指定した。そして、DNSサーバもその環境でのDNSサーバのIPアドレスを指定する。そして、VM上のDebian Linuxのネットワーク設定でも、先ほどの192.168.137.1を指定すれば、いいのだ。ちやん、ちゃん。これで、つながるよ。ブリジッジの設定とかしなくていいんだよ。
 さくらももこが亡くなった。いろいろな偲ぶ記事を読み、「神のちから」(小学館)が品切れ、「ちびしかくちゃん」(集英社)では自ら作り出したキャラクターをパロッていたという。凄すぎる。

2018年8月23日木曜日

EXCEL VBAよりrubyは早くて実にシンプルかつ高速

 仕事ではやむを得ず、EXCEL VBAを使うことが多い。EXCELシートにあるデータを簡単に使えるからだ。でも、とても遅い。そこで、rubyで書き換えてみた。
 その手法は、以下のとおり。
1)EXCELシートにあるデータは、Win32OLEのADOで、SELECTで1行ずつ、取ってくる。
2)VBAにはない、「ハッシュ」(連想配列)を、ユニークなキーごとの集計などに活用し、高速化する。
3)集計結果などはEXCELシートに書かず、CSVとして、出力する。これもまた、高速化のためである。
 今回、一番、手間がかかったのが、小数点第一位での四捨五入の書き方である。
 rubyは、型宣言をしないため、どのように記述すれば、実現できるのか、試行錯誤の連続だった。答えは、「割り算のメソッドとして、.divではなく.quoを使う」ということだ。divは結果が整数となる(つまり、例えば1.5が2にならず、1になってしまうのだ)が、quo は浮動小数になるのだ(だから、1.5はちゃんと2になるのだ)。わからにくいぜよ。
 ちなみに、くだんのEXCEL VBAのプログラムは40秒もかかっていたが、書き換えたrubyでは1秒もかからず、一瞬で終わる。1秒としても40倍の速さだ。凄いね。
 さて、皆さん、EXCEL、いやMS Officeは捨てて、rubyの街に出掛けよう。
 先日、星野 道夫さんの写真展を見た。アラスカの自然とそこで生きる人々。星野さんによれば、2つの自然があるという。身近のそれと遠く、訪れることないそれ。まったく、そのとおりだ。記念として、霜で白くフチどられたカラフルな葉っぱが並んだポストカードを購入。

2018年4月20日金曜日

IE自動運転でIEの開発者向けF12キー活用でWebページをカンタンに解析する

maygirl
  見えているものに気がつかず、遠回りをして、苦労することがある。IEの開発者向けF12キーのことだ。そして、最近やっと気が付いたのだが、そこにある「検索窓」。役割がないアイテムはない。     「物語に銃が出てきたら、撃たれなけらばならない。」
  そ、そうなんですよ。
  その「検索窓」に「INPUT」って打ち込むと、そのWebページにあるINPUT<タグ>をすべて、手繰ることができる。検索ボタンについている「名前」もわかる。なんでもわかるンだよね。
 原田マハの「風のマジム」には南大東島のさとうきびで作るラム酒がでてくる。ラムには2つの種類がある。さとうきびのしぼり汁に水を加えてそのまま発酵させる、アグリコール ・ラムと、さとうきびの絞り汁から糖を採取後のしぼり汁を発酵させる、インダルトリアル・ラムだ。説明を聞いただけで、アグリコール・ラムを試してみたいと思った。
後日、アグリコール・ラムを求めて色々な酒屋を巡ったのだが、ついぞ、その姿を見ることができないでいる。

2018年2月24日土曜日

gentooのカーネル設定make menuconfigで改めて気がついた文字列サーチの/

見えている筈なのに気がつかなかった。gentooのカーネル設定(make menuconfig)で文字列サーチができる。メニューにでてるのに。




</> for Searchとね。
そこで/と叩いてみたら。









そしてwacomと打ち、どこにあるのじゃろときいてみたら。










なるほどです。

 村上 春樹の「騎士団長殺し」を読んだ。とても心に響いたフレーズがあったので自分のために残しておく。 下巻23ページにある。「時間が奪っていくものもあれば、時間が与えてくれるものもある。時間を味方につけることが大事な仕事になる。」
 そうだ。そのとおり。まるで好きな人の前で話したいことがふっと消えてしまい、無口になるように。
 

2017年12月22日金曜日

EXCEL+VBAでIEを自在に操る、IE捕捉とページ解析

mugi-chan
mugi-chan powered by gimp on gentoo
社内システムをIEで巡回しつつ、日常業務をこなす際、ワンパターンな操作はEXCEL VBAにやって貰うと、ラクチンである。
そんなときに、とても簡単なのは、社内システムにログオンした後のIEを捕まえて、意のままに操作する、というアプローチだ。ま、たんにログイン処理のセキュリティ突破が大変なので、回避するのが早道というだけだ。
まずは、起動中のIEを捕まえるコードは、以下のとおり。

Sub GETIEpage()
  Dim objWindow,objShell,objIE,e,s As Object
  Set objShell  = CreateObject("Shell.Application")
  For each objWindow In objShell.Windows
     If TypeName(objWindows.document) = "HTMLDocument" Then
         Set objIE = objWindows
         Debug.print objIE.document.Title
         If objIE.document.Title = "攻略ターゲットの画面名" Then
            Exit For
         End  If
     End If
  Next
End Sub
次に、目的のページで「検索ワード」を入れたり、「検索実行ボタン」をクリックする訳だが、このためには、ターゲットのページを解析する必要がある。それを可能にするのは、IE の開発者向けF12キーの活用である。IEのツールタブにある「F12キー」を押下すると、ブラウザの画面の下半分に以下のデバッグ画面が登場する。
IE-F12 KEY Screen
F12キーにより、攻略ターゲットの画面のINPUTタグ(検索キーワードや検索ボタンなどはINPUTタグで記述されている)の名前(name)を見つけたら、あとは、例えば、以下のコードみたいに、検索ワードを設定し、検索実行ボタンをクリックさせれば、あっという間にIEを自在にあやつるコードの完成だ。探している部分がハイライトされるように「□に矢印」マークを有効にしておくのがミソだ。そして、GetElementsByTagName関数にINPUTを指定すると、INPUTタグが上から順番に見つかるので、F12キーでみつけた名前になったら、クリック(e.Click)すればよい訳だ。簡単でしょ。このGetElementsByTagName関数をFor Eachで回し、特定のワードでオブジェクトを見つけて.Clickする必勝ループをぜひ、モノまねしてくださいね
For Each e In objIE.document.GetElementsByTagName("INPUT")
   Debug.Print e.Name
   If e.Name = "Searchbutton" Then Set s = e  /* keep s the click button object */
   If e.Name = "SearchWord" Then
      e.Value = "じゃがじゃが" 
      s.Click
   End If
Next
ここまでのコードを作り込むのに、使ったのは、「ブレークポイントの設定」と、「Debug.print」、「ウォッチ式による確認」という、 EXCEL VBAにおけるデバッグの唯一無二の三点セットだ。

さて、ここで、ちょっと一息のコーナーだ。
いつかの朝日新聞web版の「心にガンジー、動きは古武術・・・」での言葉が、とても響いた。
- 明日、死ぬかのように生きよ。永遠に生きるかのように、学べ。Live as if you were to die tomorrow, learn as if you were to live forever.  ・・マハトマ・ガンジー
-与えられる ものは有限。求めるものは無限。Given is limited,seeking is infinite
 「与えられたことで満足するのではなく自分で求めていく」。・・・小平 奈緒

 人生は短い。自分がやりたいように生きたい。地味に、工夫しながら、着実に。



2017年12月10日日曜日

gentoo OpenRC xfce4 shutdownボタンを有効にする

gentoo OpenRC xfce4 shutdownボタンを有効にするためにはdbus,ConsoleKitパッケージを入れる。
emerge --ask dbus
emerge --ask consolekit
rc-update add dbus default
恩田陸の「蜜蜂と遠雷」では、トタン屋根を叩く雨音の描写が妙に印象に残っている。

2017年12月4日月曜日

gentoo snippets

- PostgreSQL useful commands
-- /etc/init.d/postgresql-9.6 start
-- psql -U postgres -ddb1
-- SELECT bunrui,SUM(tanka1) AS uriage,SUM(tanka2) AS shiire FROM table1 GROUP BY bunrui ORDER BY uriage DESC ;
--  \q
-- etc/init.d/postgresql-9.6 stop
- Kernel  reconfiguration commands
-- cd /usr/src/linux
--  make && make modules_install
-- make install
- install package
--  etc-update
-  rc-update add dbus default