2018年7月2日月曜日

ExcelVBAでクローリング

もうじき、私が書かせていただいたExcelVBA本をある出版社さまより出版していただくことになっております。

ExcelVBAでクローラーを開発するための本です。
クローラーは最近の流行りのようでして、巷には多くの優秀なクローラー本があふれております。それら既存の本とは一線を画すため、プログラミング言語として非プログラマーでもふれる機会がもっとも多いと思われるExcelVBAを選択しました。

ExcelVBAを使ってインターネット上からWebデータをかき集めてくるには、ExcelVBAからInternet Explorerを操作するのがもっともかんたんです。このWebデータをかき集めてくることを「クローリング」といい、クローリングするプログラムのことを「クローラー」と言います。
第一部では、まずはExcelVBAを使ってさまざまなHTMLオブジェクト(たとえばテキストボックスやチェックボックスなど)を操作する方法を説明します。
また、インターネット上で取得可能なデータは、HTMLで書かれたテキストファイルだけではありません。CSVファイルやXMLファイル、ExcelブックやWordドキュメント、PDFファイルなど、さまざまです。本書では、これらHTMLファイル以外のファイルをExcelVBAから読み込む方法についても説明します。

第二部では、クローリングによって収集したWebデータを解析する方法を紹介します。クローリングによって収集したWebデータを解析することを「スクレイピング」と言います。
本書では、クローリングによって収集したテキストデータを、「マルコフ連鎖」によって文章要約したり、「ベイズ推定」よってスパムメールかどうかを判別するための方法を説明します。
少々数学的要素が強く、私自身、この執筆のために統計学の入門書を何冊か読みました。40なかばになると、なかなか新しい知識を身につけることは難しいことを再度実感しましたが、とてもよいサンプルプログラムを書くことができました。この苦心作のサンプルプログラムは、すべてある出版社さまのWebサイトからダウンロードできるようになるはずです。

とても良い本が書けたと思います。出版日が決まりましたら、再度お知らせいたします。

570冊の本を買い取ってもらいました

先週末、自分の部屋にあった600冊以上の本をブックオフに買い取ってもらいました。

結果、何十冊の本には値がつかず、大半が1冊5円、オライリーの分厚い本も100円にもなりませんでした。

結果、570冊を21,790円で買い取ってもらいました。


何の根拠もなく、「30,000円はいくだろう」と思っていましたが、甘かったようです。

2018年1月13日土曜日

新人データベースエンジニアのための本を書きました

新年、あけましておめでとうございます。
本年も宜しくお願いします。

さて、もうすぐ私の新作となる著書が、技術評論社様より発売となります。
タイトルは、

新人エンジニアのための データベースのしくみと運用がわかる本


です。
私はデータベースの分野が専門のため、書かせていただいた書籍の多くはデータベースを取り扱ったものが多いのですが、今までの書籍は実際のデータベースエンジニアの仕事の内容までは触れていなかったため、高専や大学のゼミで使用されるケースの方が多かったようです。
しかし、今回書かせていただいたこの書籍は、実際のデータベースエンジニアの仕事をメインに取り扱っています。

「データベースエンジニアの仕事って何だろう」
「データベースエンジニアとして、さらなるステップアップを目指したい」

そのような読者を対象としております。
データベースアプリケーションに関するお客様からのトラブル対応の手順についても取り扱っています。

新人データベースエンジニア、必見です。

2017年11月29日水曜日

採用試験に人工知能が用いられている!?

 以前、某ニュース番組にて、「いくつかの大企業では採用試験の書類選考に人工知能を利用している」と報道しているのを観ました。
その番組では、「採用試験に人工知能が用いられることについて、賛成か反対か」の多数決を取っていましたが、結果、複数のニュースキャスターのなかでは1人を除いて「賛成」で、視聴者の多数決の結果は「反対」となりました。

さて、私の個人的な意見は「反対」です。
その理由は、「その人工知能がどのようなアルゴリズムによって動作しているのかが不明だから」です。人工知能といえどもしょせんは人が作ったプログラム、そのアルゴリズムどおりにしか動かないのです。おそらく、その人口知能はスパムメール判別で利用されるベイズ推定によって文章を解析しているのではないでしょうか。
その人工知能は、今までの合格者の履歴書を解析してその特徴をつかみ、その特徴から履歴書を選別するとのことだったのですが、要は今までの合格者の履歴書のなかから出現頻度の高い単語を収集し、合否判定の際にそれらの単語が多く使われているかを基準にしているだけなのかもしれません。
となると、たとえば今までの合格者の傾向として、「努力」「部活」「アルバイト」といった単語の出現頻度が高かった場合、その単語を使って文章を構築すればよいのです。極論すれば、文章かどうかなど関係ないかも知れません。自己紹介欄に、ただ延々と「努力、部活、アルバイト、努力、部活、アルバイト、努力、部活、アルバイト、...」などと書かれている自己紹介欄に対し、合格を出してしまうような単純なアルゴリズムかも知れないのです。

 それでもまだ、人工知能に自分の将来を左右する重大な採用判定を任せられますか?

2017年10月22日日曜日

Excel方眼紙(通称:ネ申Excel)は何が悪い?

最近、Excel方眼紙(通称:ネ申Excel)に関する記事をネット上で多く見かけます。
そのほとんどが、批判的な記事です。
しかし、いったいExcel方眼紙の何が悪いのでしょうか。

批判的な記事を読むと、
・デザインを修正しづらい
・プログラムで制御しづらい
・そもそも、Excelは表計算ソフトであって、こんな使い方には適していない
などの意見が見受けられます。

しかし、まずは最初の1点目について。
これは、デザインの仕方に問題があるだけで、工夫次第で対処可能です。
修正しづらいデザインの場合、方眼の目が大きいために、ほんのちょっとだけある入力項目の幅を変更したい場合に、同列にある別のセルまで一緒に変更されてしまい、確かにイライラしてしまいます。
私の場合、方眼の目はかなり小さくしており、ある入力項目の幅を変更する場合は、結合するセルの数を増減して対処します。
実際、セルの結合や罫線の印字、セルに色を付けたりするだけで、修正がしやすくかつ美しいデザインが作成可能です。
「Excel方眼紙でデザインする時間がもったいない」
などの意見も見かけたことがありますが、慣れの問題です。
私は、業務システムで使用する帳票のデザインにはActiveReportsという帳票ツールを使っていますが、ActiveReportsよりもExcel方眼紙でデザインしたほうが、私にとってははるかに簡単です。

次に2点目。
これは、何を言っているのでしょうか。
確かに、ループ文でぐるぐる回しながら上のセルから下のセルまで順番にプログラムで制御できれば作成するプログラムは楽ですが、なぜExcel方眼紙を使うのかといった論点とはずれています。
Excel方眼紙を使う人は、表のような単純なデザインではなく、凝ったデザインが作成したいのです。

最後の3点目。
デザインするならデザイン専用のアプリを使えということでしょうか。
Excelは表計算だけやらせていればよいということでしょうか。
確かにデザイン専用アプリを使えば、Excel方眼紙よりもさらに凝ったことができるかもしれません。
ただ、納品書テンプレートや履歴書テンプレートの作成程度であれば、Excel方眼紙でも十分です。

ネ申Excelとはよくいったものですが、Excelをバリバリに使いこなしている本来の神業を会得したExcelマスターのなかにも、Excel方眼紙の使い手は多くいるのではないでしょうか。
いまのところ、Excel方眼紙の批判的な意見ばかりが目立ちますが、肯定的な意見をもった方もきっといるのではないかと思い、記事にしました。

2017年10月21日土曜日

まだVB6で教えてるの?

先日、私が勤めている会社に、コンピューター関連の専門学校生が職場見学に来ました。
その生徒いわく、プログラムの授業はVB6で習っているとのこと。
ちょっとびっくりです。

専門学校は、どういう意図があって生徒にVB6で教えているのでしょうか?
まだVB6のニーズがあるから?
それとも、プログラミングの先生がVB6しか知らないから?
昔からVB6でしか授業していないから、誰も変えようとしていないから?

VB6は、Windows 10でも問題なく動作します。実行環境としては、Microsoft社からも保障されています
しかし、開発環境としてはWindows 7の時から、とっくに保障されていません。
VB6の全盛期は、1990年代です。もう、20年も前です。私が社会人として働き始めたころです。

今、将来のある若者にVB6で授業をするとは何事でしょうか。
VB6で開発された遺産は、すでに若者だったころから20年経過した、私のような中年が保守すればよいのです。

VB6ならば、ExcelVBAで授業していたほうが、まだましです。
専門学校に通う2年間に習うプログラミングで、社会人になった際に少しでも技術面で他人に優位に立たせるためにも、授業の内容を見直すべきでしょう。

2017年4月27日木曜日

「Windows自動処理のためのプログラミングガイド」の増補改訂版が発売されます!

2009年6月に発刊された「Windows自動処理のためのプログラミングガイド」の増補改訂版が、5月2日に発刊されます!

前著にて好評いただきました「共通モジュール」をさらにパワーアップしました。ふだんWSHでスクリプトを書いている方には、開発工数を大幅に削減することができます。

また、巻末資料として、WMIのクラス一覧を公開しました。
「WSHでプリンタ情報を取得するためにWMIを利用しようと思うんだけど、どうやればいいんだっけ?」
「そもそも、WMIクラスにはどんなものがあるの?」
といった、WSHのヘビーユーザーにも喉から手が出るほど有用な情報が満載です。

まずは、以下のAMAZONのリンクより、書籍の内容をご確認ください。そして、ぜひともお買い求めいただければ幸いです。

Windows自動処理のためのプログラミングガイド[増補改訂版]