【Python】新しい言語のお勉強
2019.05.27


最近のパソコン事情。
ツールという役割はスマホやタブレットに譲り、
パソコンの用途は機械学習、AI、解析を中心に
人不足を露骨に解消するための機械にシフトしつつあります。
私が最も深く身に着けた言語はDelphiですが、
最近のPC事情がこういった予想外の方向に進みつつあり、
Delphiでは対応しきれない事案が多くなってきました。
そろそろ限界なんですかねぇ・・Delphi(;´∀`)

Delphiといえば強力なデータベース機能、オブジェクト指向によるメンテナンス性、
高速なコンパイル、ランタイムを必要とせずEXE単体で配布が可能な頒布力が魅力です。
ところが人気度ランキングではいつも欄外で肩身が狭い思いをしてきました。
なぜだ・・・(;´∀`)
AndroidやIOS、LINUXなどのクロスコンパイラとして最近は機能を強化してきたのですが、
従来のVCLと違って、FireMonkey (FMX)というちょっと癖のあるIDEを使っての構築に
「新しい言語を覚えたほうがいいんじゃないか?」と思わせるほど苦労します。
どうせ新しい言語を覚えるなら、
最近はやりのPythonはどうなのかちょっと調べたくなってみました。

Pythonといえば情報処理試験でCOBOLの代わりに導入されたのが記憶に新しいです。
Pythonはインタプリタ言語のようで、昔懐かしいN88BASICを彷彿とさせます。
CUIでの操作が基本ということで、これもN88BASICっぽいですね。
教育機関でもその扱いやすさから多くで教えているようです。

Pythonの強みは私が見る限り5つあると思います。
1.無料である。
2.マルチプラットフォームである。(PC、スマホなど機械を選ばない)
3.豊富な資料と強力なライブラリ
4.シンプルなコーディング
5.実行までの手順が軽快

これ以外のメリットは経験してみればわかるのかもしれなけど、
今のところ分からない。

できることも、有志が作ったライブラリが豊富でほぼ何でもできる。
ゲームについてはちょっと力不足を感じるけど、
最近流行りのものは全部対応している形だ。
定番もののライブラリ集をまとめてみる。

【機械学習】
TensorFlow(テンソルフロー)

【組み込みアプリ/GUI開発】
Qt Designer

【Webアプリケーション】
Django

【ゲーム】
Pygame
【ウェブスクレイピング】ネットの情報を抽出し集計する技術

【画像処理】画像や動画を処理するための機能
OpenCV

【統合開発環境】
Anaconda(Spyder) 無料版はサポートはないが機能の制限はなし。

どうやらAnacondaをインストールすると良く使われる外部ライブラリは殆ど入ってくるらしい。
更新も楽なのでDelphiの統合環境を使っていた私は入りやすいかも。
無料のツールなので、コマンドプロンプト(シェル)から
conda update conda
conda update anaconda
の2つをセットを実行するといいようです。簡単ですね。

Anacondaに含まれるPythonの機械学習ライブラリ
NumPy     大量データ配列の処理に特化したライブラリです。
SciPy     NumPyでできる処理に加え、信号処理や統計の処理も可能なライブラリです。
Matplotlib  データをプロットしたグラフ画像を出力できるライブラリです。
Pandas    NumPyのデータに対し、統計処理を実施できるライブラリです。
Scikit-Learn アルゴリズムチートシート」を用いて、機械学習を行えるライブラリです。
Jupyter   「ノートブック」形式のプログラムを実行しながら結果を記録し、分析できるライブラリです。

Delphiのようなグラフィカルな設計をしたいときはQt Designerを使うと良さそうです。

あまり机上の空論だけ述べても詮無きことなのでどういったものなのか実際に体験してみたいと思います。
まずは開発環境を整えてみます。気軽に行動に移せるのが無料の強み(*´Д`)
過去の経験を踏まえて私は開発環境は仮想PC上に作ることにしています。
パソコンが故障したり新しいPCに変えたりしても、時間のロスなく開発を続行できるからです。
今回もその例にもれず、VMWAREのWindows10Professional上に環境を作ります。



Anacondaを入れるだけで殆ど終了です。
あとはわかりやすいようにAnaconda Promptのショートカットをデスクトップに引っ張ってきて、わかりやすいように名前をPython Promptに変える。
あとはリンクもなく奥底に隠れてるQtDesignerのショートカットを作ります。
C:\Users\user\Anaconda3\Library\bin\designer.exe
場所は↑ココ。
次にコンパイラがないと何となく不安なので、PyInstallerも入れておきます。
方法は、先ほどPython Promptに名前変えしたやつを実行し、
その中で「pip install pyinstaller」を打ち込みエンター。
あとは勝手に組み込まれていきます。
入ってしまえば、Pythonプロンプト内で「pyinstaller ***.py --onefile」
とでも打てば単一のEXEファイルの出来上がり~

これで準備はひとまず完了。
「Microsoft Excelは動作を停止しました」の件
2019.01.07


「Microsoft Excelは動作を停止しました」「問題が発生したため。プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWINDOWSから通知されます。」
Excelのこのエラーが猛威を奮っているようです。
今日一日は取引先のこのエラーを解決するために走り回りましたよ。

症状はWindows7とOffice2010の組み合わせで発生します。
※Windodws10でも発生しているPCを後日発見しました
詳しく言うとWindowsUpdateでKB4461627が取り込まれたことが原因です。



組み込まれたアップデートは膨大なのでそこから見つけ出すのは大変ですが
写真のように見つけ出してアンインストールすると直ります。
Googleにフィッシングサイトとして登録されてしまった件
2018.12.20
取引先から「自社のホームページに入ると真っ赤な画面になって警告される」
という連絡を受けました。
話を電話越しで聞いた時、取引先のPCにインストールされているセキュリティソフトがなにか反応したのかな?と思ってたのですが、場所が違う私のPCからみても同じような警告が出ます。



左がFirefoxで開いた場合、右がGoogle Chromeで開いた場合です。
なんか好き放題書かれていますね。
ウチが作ったホームページなのですが、ここは特に複雑な仕組みがあるわけでなく、
会員登録などの入力ページも無い、極々シンプルなHTML+CSSを基本としたホームページです。
あるとすればアクセス解析のCGIくらいでしょうか。

なぜそのような判断に至ったかを知らないと気持ちが悪いです。
もし気が付かない虫が住みついていたら消さないといけないですし。
Googleは独自に調べた健全性を公開するサービスを提供しています。
https://transparencyreport.google.com/safe-browsing/search?url=
いったいどういうことなのかちょっと見てみましょう。



「個人情報を共有したりソフトウェアをダウンロードしたりするよう訪問者を誘導します」
してない、してない(;´Д`)
ソフトウェアのダウンロードなんて無いし、あるとしても自社で作ったPDFくらい。
あとはYoutubeに載せてる動画の表示くらい。
いったいどこらへんを見てそう判断したのだろうか・・

イマイチ状況がつかめないので、Googleに再審査してもらうことにします。
Googleのアカウントに入り、
https://www.google.com/webmasters/tools/home?hl=ja
↑このサービス(Search Console)に入ります。
ここでプロパティの追加により、審査したいホームページを登録します。
すると原因と思われる箇所を細かく教えてくれるのですね。コレすごい(゚д゚)!

見つけましたよ、犯人を
gcalendar-wrapper.php

がGoogleに嫌われているようです。
これはGoogleの予定表を色などをカスタマイズして表示するツールなのですが、
これを使っていることで情報が流れていると判断されたようですね。
実際はどうだかわかりませんよ。無実なのかもしれないし、有罪なのかもしれないし・・
でもね、コレはネットで無償提供しているツール・・・ 怖っ!
早速削除して、再審査申請。
結果は後日(72時間以内)にわかるらしいけど、はたして結果はいかに。

==========================================
結果
==========================================

ギリギリ72時間で状況が変わりました。


無事リクエストが通って警告が解除されたようです。
72時間は長すぎるよ。もっと早く対応して欲しい(;´Д`)
何にせよ復帰してよかった。
HDDの故障率 2017年第2四半期
2017.08.30


2017年第2四半期の
HDD故障率が発表されましたね。

https://www.backblaze.com/blog/hard-drive-failure-stats-q2-2017/

Gigazineで記事としてまとめられてますが、
例の如くSeegateの故障率が目立ちますね。
他社は0.55%以下の故障率に収まっていますが
Seegateは0.98%以上。
ひどい製品では30%を超えていますね。
この数値を高いか低いか、どのように捉えるかは
個人の判断に任せるとして、
このようなデータを見た後に
「他社よりたくさん出荷しているのだから、
故障台数が増えるもの当然」
と言う方がまだいます。
このように言う方は大抵ブランド信者です(;´Д`)

確かに故障台数が増えるのはその通りですが、
出されているデータは率なので
台数が多ければ多いほど
正確な故障確率が出るだけの話です。
壊れやすさは変わりません。
NEC NS700/AのSSD換装
2017.06.15
なぜか「NEC NS700/A」の換装記事がネットに無いので、
ここにメモしておきます。

HDDからSSDへ、システムデータのコピーについては
既に完了しているものとして話を進めます。

最近のNECは背面のネジを4つ外して、
キーボードパネルを剥がすことでHDDにアクセスできます。



問題はキーボードパネルの脱着。
これは背面のネジ4つを外せば、
あとは爪だけなので、根性で引き剥がすわけですが、
力任せにやると割れてしまうので、
薄くて固くてしなりのある板を
ぐるっと一周、キーボードの端をなぞらせて
外していく必要があります。



私はプラスチックでできているピンセットを使っています。
先が極端に薄く弾性があるので、パネルに過度な負担をかけずに
爪を外すことができます。
車の内張剥がしよりも薄いですよ。

問題は、ピンセットの先を1mm以下の隙間にどう入れるかですが、
テレホンカードのような固いカードを差し込んで
ちょっと煽ると隙間がでできるので
そこに先を差し込むといった算段です。


キーボードを浮かせると赤矢印のところにコネクタがありますので注意



この手のタイプのコネクタは外し方が何種類かありますが、
白い部分を手前に起こすタイプです。

キーボードを外すとHDDとご対面。
ネジは2か所。赤矢印のところを外してください。
ネジの種類が背面のネジと違いますが、
色も違いますし、2本しかないのですぐ判断つきますね。



ネジを外したらHDDを固定金具ごと上にスライドさせれば外れます。
あとは、固定金具をHDDから外してSSDに付けるだけ。

- CafeNote -