プログラムのお話(その3)

C#

Delphiでツールを作ったのは2007年の冬、次に作りたい欲が沸いたのが2013年の秋でした
またDelphiでと思ったけど、6年も経過していたので、再度リサーチをしてみると
MicrosoftVisualStudioExpressという統合開発環境が無償提供されているとの情報
昔は言語ごとに別アプリだったんだけど、統合されてたんですね
作りたい欲が無い時は、一切開発界隈の情報見に行かないので、毎回変化に驚きますw
VisualStudioでBasicに戻るのも悔しいw初めてだけど、なんか面白そうってだけで
C#を選択してブログの自動更新ツールを作ることにしました

https://ja.wikipedia.org/wiki/C_Sharp

今↑のwikipedia見て知ったんですけど、C#はDelphiの開発陣が作った言語でした
だからなのか!ものすごく親和性が高かったんですよ
何を作ったのかと言うと、当時使っていたFC2ブログを更新するにあたって
それまではカテゴリー分けしかできなかった所に、タグっていう新しい分類手段が出てきて
今でいうSEO対策に有効って話を聞いて、簡単にタグ付けが出来ると良いな
でも無料レンタルブログだと、投稿ページのUIを勝手にいじることは出来なくて
じゃあWindowsアプリとしてオフラインで投稿内容を作ってファイルへ保存
ブラウザでそのファイルを開いて自動更新、これが一番簡単に出来るんじゃないのか!
そんな感覚で作ってみました
前回作ったツールは再配布前提だったので細心の注意をしながら丁寧に作ったのですが
今回のツールは完全自分用、作り終えて使ってエラーが出ても、細かい部分なら放置
自分用だと無駄に大きいダイアログになったりして管理が大変でしたが
ブログ更新の頻度が上がって中々使えるアプリを作ることが出来ました

Chorome拡張機能

WEBブラウザ「Google Chorme」の拡張機能は自作出来ます
↑のブログ自動更新アプリの派生ですべてブラウザで完結させるために勉強しました
Chrome拡張の開発言語はJavaScriptです、インタプリタ型なのでデバッグもしやすいです
ただし、JavaScriptには難点があって、難点というか、マイクロソフトのせいで問題がというか
マイクロソフトのIE(インターネットエクスプローラー)では動くけど、Chromeでは動かない
そんな関数が数多くあるので、開発時に、解説サイトの作成時期等を厳密に確認しないと
Chrome拡張を作っているのに、IEでしか動かない関数で書いて動かなくてドツボにはまる
※IEでしか動かないJavaScriptの事をJScriptって呼びます

スポンサーリンク
https://ja.wikipedia.org/wiki/JavaScript

GAFA(ガーファ)っていう言葉があるでしょ?主要IT企業ってやつ
ここにマイクロソフトが入っていないのは、おそらくオープンじゃないからなんだと
独占禁止法に引っかかるようなことを多々やって来た会社ですからね
OSで市場を独占してWEBブラウザで過去に市場を独占した時期に、独自の関数を数多く作って
業界を混乱させたんですよ

https://ja.wikipedia.org/wiki/GAFA

Chrome拡張ではWEBスクレイピングという技術を使った機能を作ってみました
既存のページの内容を解析して必要な情報だけを取り出す技術です
例えば、YouTubeの動画を自分のサイトに乗せたい場合、手作業なら動画再生ページの
共有ボタンを押して、そこに出てくる埋め込みコードをコピーして、自分のサイトに貼りつける
これの「共有ボタンを押して埋め込みコードをコピーして自サイトに貼る」ここを自動化するとか
Amazonの商品ページの商品コードを読み取って、ヨドバシや楽天で価格差を比較するとか

https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A7%E3%83%96%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0

Arduino IDE

これは今までの物と少し毛色の違う開発言語です
プロのプログラマーでも知らない人は知らない物
「Arduino」というワンボードマイコンを操る言語です

スポンサーリンク
https://ja.wikipedia.org/wiki/Arduino

これまで紹介した数々の言語はどれも、パソコンの中だけですべてが完結する物でした
最初のAutoLispはパソコンで動くAutoCAD上でしか動かない物
VisualBasic、Delphi、C#はどれもパソコン上でしか動かない物
でもこのArduino IDEは「Arduino」というマイコンボード上でしか動かない物

Arduino IDEはC言語の派生言語なので、記述ルールはC言語同等
電子工作ってあるでしょ?半田ごて握って、LED光らせたりするやつ
ここにプログラム制御もできるようにしたのがArduinoです

著者のプロフィール
noheyaのアバター