会社ではやむなく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年10月2日火曜日
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つの自然があるという。身近のそれと遠く、訪れることないそれ。まったく、そのとおりだ。記念として、霜で白くフチどられたカラフルな葉っぱが並んだポストカードを購入。
その手法は、以下のとおり。
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 |
そ、そうなんですよ。
その「検索窓」に「INPUT」って打ち込むと、そのWebページにあるINPUT<タグ>をすべて、手繰ることができる。検索ボタンについている「名前」もわかる。なんでもわかるンだよね。
原田マハの「風のマジム」には南大東島のさとうきびで作るラム酒がでてくる。ラムには2つの種類がある。さとうきびのしぼり汁に水を加えてそのまま発酵させる、アグリコール ・ラムと、さとうきびの絞り汁から糖を採取後のしぼり汁を発酵させる、インダルトリアル・ラムだ。説明を聞いただけで、アグリコール・ラムを試してみたいと思った。
後日、アグリコール・ラムを求めて色々な酒屋を巡ったのだが、ついぞ、その姿を見ることができないでいる。
2018年2月24日土曜日
gentooのカーネル設定make menuconfigで改めて気がついた文字列サーチの/
見えている筈なのに気がつかなかった。gentooのカーネル設定(make menuconfig)で文字列サーチができる。メニューにでてるのに。
</> for Searchとね。
そこで/と叩いてみたら。
そしてwacomと打ち、どこにあるのじゃろときいてみたら。
なるほどです。
村上 春樹の「騎士団長殺し」を読んだ。とても心に響いたフレーズがあったので自分のために残しておく。 下巻23ページにある。「時間が奪っていくものもあれば、時間が与えてくれるものもある。時間を味方につけることが大事な仕事になる。」
そうだ。そのとおり。まるで好きな人の前で話したいことがふっと消えてしまい、無口になるように。
</> for Searchとね。そこで/と叩いてみたら。
そしてwacomと打ち、どこにあるのじゃろときいてみたら。
なるほどです。
村上 春樹の「騎士団長殺し」を読んだ。とても心に響いたフレーズがあったので自分のために残しておく。 下巻23ページにある。「時間が奪っていくものもあれば、時間が与えてくれるものもある。時間を味方につけることが大事な仕事になる。」
そうだ。そのとおり。まるで好きな人の前で話したいことがふっと消えてしまい、無口になるように。
2017年12月22日金曜日
EXCEL+VBAでIEを自在に操る、IE捕捉とページ解析
![]() |
| mugi-chan powered by gimp on gentoo |
そんなときに、とても簡単なのは、社内システムにログオンした後の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 |
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
-- /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
登録:
投稿 (Atom)




