メモ日記

実生活やネットで経験したこと調べたことをまとめたサイト

C#を勉強しながら"何か"を作り始めた

プラグイン開発

"何か"について具体的にはちょっと説明はできないけれど、 普段使っているツールがC#で機能を拡張できるとのことで、 それを今試そうといろいろ始めたという話。

機能拡張のためのプログラムのことをプラグインと呼んでいて、 実際にはVisual StudioでDLLを作り、それをそのツールから読み込ませる。 すると、そのツールを立ち上げたときに、 例えばDLLでウィンドウの記述をしていると、ウィンドウが立ち上がったりといった感じ。 そのツール界隈でオーバーレイとか呼ばれている機能があるけれど、 これはただウィンドウを透明にして常にトップに表示させたりしてるだけだったりしてて、 自分が今まで知らなかっただけなのだけれど、 調べれば調べるほどいろいろできそうな気分になっちゃって、 作り始めたという。

今作っているものの概要はテキトーにいうと、あるサイトからデータを取得(HTMLから解析)、 それを上記のようなウィンドウに表示させるというもの。

コンパイルエラーになったり、C#での記述方法を知らなかったり、 Visual Studioの使い方がわからなかったりと結構大変な感じだけれど、 調べながら少しずつ進んでいる。

HTMLの解析部分のみPythonで書いたりしたりもしている。 C#でのやり方がよくわからなかったので。 ただ、HTMLのダウンロードの部分はC#で書いたりしているので、 ちょっとめんどくさい感じになっている。

なぜダウンロードの部分をC#で書いたかというと、 データのダウンロード元が結構Javascriptで動きがある感じになっているので、 単にPythonでダウンロードするだけだとデータが取れなかったため。 それで思いついたのが、Seleniumというブラウザ操作の自動化ツールで 一旦ウェブサイトをブラウザで開き、開けたところでその状態のhtmlを 取得するという方法。これで一応データはとれたけど、微妙な感じがする。 htmlの解析部分をC#で行えば、すべてC#で完結できるので、 この辺はあとで調べてみようと思った。

Ruby

上記のhtml関連の処理をPythonで書いたと言っているけれど、 Pythonで行うまえはRubyを検討していた。

Rubyは今まで使ったことが全くなくて(Hello Worldくらいはあるかも)、 ちょっと興味がわいたといのもあって調べてた。 それで調べていくうちに、Rubyがもう勢いがないというネットの記事をみつけちゃったりして、 やっぱPythonでいいやみたいになり、今の状態になった。

その上記のRubyはもう勢いがないみたいなネットの記事には驚いた。 数年くらい前はRuby on Railsというフレームワークが有名で、 私が借りているレンタルサーバー屋さんのサーバーでもrails対応とかがあったり、 Rubyがすごいとか言っている人がまわりにいたりで、 すごい勢いのあるイメージがあったのだけれど、それが結構廃れているらしいとのこと。 ウェブ関連の技術は隆盛や衰退の感じが半端ないのかもしれない。

素人考えだけれど、ウェブサイトの動作ってクライアントのブラウザーから アクセスがあったときに、サーバーからデータを返すだけと思っていて、 動作としてすごい変化がこれまで起こっているように思えないんですよね。 それなのにそれを実現するプログラミング言語がPerlやPHPやRubyといっぱいあって、 さらにそこからフレームワークとかが枝分かれ的にあって。 なんかすごい覚えなきゃいけないことが多そうに見える。 しかも、聞いただけの知識だけれど、Javascriptでサーバーサイドも作れるとのことで、 またさらに言語が増えるという。 クライアント側は言語だけでみればJavascript、HTML、CSSがおそらく中心と思うので、 過去の遺産も活かせそうだし、新しい技術がでても、 根本から新しい言語を覚えなきゃいけないとかはなさそうと思うけれど、 サーバーサイドは結構そういうのがありそうなので大変そうだなと思った。 プロはどう考えているのかわからないけれど。 アクセス数が昔よりかなり増えているからそれに応じていろいろ覚えなきゃということなんでしょうか。