メモ:Electron 5 リリース

Electron | Build cross platform desktop apps with JavaScript, HTML, and CSS.

Web技術を活用したソフトウェアが作成できるアプリケーションフレームワークがバージョンアップしていたようです。

以前から興味はありましたが、中々手が付けられなく今に至る。そろそろ実験的に何かやってみたいと思っている。

メモ:Node.js 12 リリース

Node.js

新しいNode.jsがリリースされていたようだ。

Node.jsって何?と聞かれたら、「サーバーサイドjavascript」と返ってくる。でも、これがよくわからない。理解している範囲では、「Googleが開発したV8JavaScriptエンジンをベースに、サーバークライアント間のデータ通信を非同期で行うプラットフォームである。何かイベントが発生した場合、その都度動作する。処理はシングルスレッドで行われるため、メモリ消費が少ない。そのためリアルタイムを求められるアプリケーション開発に向いている。」というところだろうか?

現在、私の開発環境にはバージョン10.xがインストールされている。少し触った時期もありましたが、ただいま放置状態。つまりすっかり忘れている。いい加減にじっくり試してみたいのだけど・・・。

VBAには型宣言記号による型宣言方法が存在する

型宣言記号?

カルチャーショックという程でもないけど、VBAには古いVBの名残り?として「型宣言記号」というものが存在した。VBAを勉強して数年は経っているにも関わらず知らなかった。軽く後頭部を叩かれたような気分になったので、メモることにした。

Option Explicit

''型宣言記号の確認コード
Sub TypeSymbol()

    ''文字列型
    Dim ss As String
    Dim ss_$ 'ドルマーク
    
    ''整数型
    Dim n As Integer
    Dim n_% 'パーセント
    
    ''長整数型
    Dim l As Long
    Dim l_& 'アンパサンド
    
    ''単精度浮動小数点型
    Dim f As Single
    Dim f_! 'エクスクラメーション
    
    ''倍精度浮動小数点型
    Dim d As Double
    Dim d_# 'シャープ
    
    ''通貨型
    Dim m As Currency
    Dim m_@ 'アットマーク
    
    ''バリアント型
    Dim v As Variant
    Dim v_ '型宣言記号をつけない
    
    ''型確認
    Debug.Print TypeName(ss) ' String
    Debug.Print TypeName(ss_$) ' String
    
    Debug.Print TypeName(n) ' Integer
    Debug.Print TypeName(n_%) ' Integer
    
    Debug.Print TypeName(l) ' Long
    Debug.Print TypeName(l_&) ' Long
    
    Debug.Print TypeName(f) ' Single
    Debug.Print TypeName(f_!) ' Single
    
    Debug.Print TypeName(d) ' Double
    Debug.Print TypeName(d_#) ' Double
    
    Debug.Print TypeName(m) ' Currency
    Debug.Print TypeName(m_@) ' Currency
    
    Debug.Print TypeName(v) ' Empty
    Debug.Print TypeName(v_) ' Empty

End Sub

上記コードでは各種型別に、通常の方法と型宣言記号による方法の2パターンの変数を記述した。型宣言記号は宣言した変数に続き付加する。例で用いた宣言方法の場合、変数名と型宣言記号の間にアンダーバーが含む。これは違いを区別するために使用しているだけである。本来つける必要はない。つまり文字列型の場合、ss$と記述して良い。

後半は、宣言した変数の型確認をおこなっている。見事に同じ型名が返ってくる。それ以上の発見は無かったが、まだまだ知らないことがたくさんあることを実感した。

ところかわり・・・

さて、型宣言記号の存在を知らなかったわけだが、知ったところでコードに優位性が生まれる気がまったくしなかった。もちろん記号による省略でコード記述量が減るため、負担軽減と時間短縮には貢献するのだろう。しかしこの記述方法は使用することによりコードの可読性を低下させる可能性がある。結果として負担が増えるのでは?と疑問を感じた。

これは今よりもコンピュータに積むメモリが少なかったことに起因しているように思う。VBAの登場は1994年前後。その頃は2~8MBぐらいが主流。メモリリソースがシビアだったころの面影かな?

ひとりでコードを書くならば、ちょっと特殊なコードを書いて「オレ、かっこいい!」みたいな中二病的自意識過剰自己満足全開でもよいだろう。しかし2020年代はプログラミング人口が増え始めると想定される。誰もがプログラムを書く時代になろうとしている。そして、いつ誰が自分のコードを参考にするか分からない。その時、合理的で読みやすい整った平均的なコードであれば、それを真似てより良いコードを書く人が増えるのではないだろうか。

何はともあれ、嫌われプログラミング言語No.1の汚名を持つVBA(VB)を題材にこんなことを書いている時点で、説得力はあまり感じてもらえないだろう。Officeのデファクトスタンダード言語かもしれないけど、将来はモダンな言語へ移行をお願いしたいところです。

Microsoft Wireless Mobile 4000

Microsoft Wireless Mobile 4000

ノートパソコン用にワイヤレスマウスを購入。

特徴

  • BlueTrack Technology採用青色LEDセンサー
  • 縦横4方向スクロールボタン
  • コンパクトで持ちやすい形状デザイン
  • 小型USBコネクタタイプのトランシーバー

購入動機

「やっぱりマウスはマイクロソフトだよね!」

現在使用しているノートパソコン(サブ)はThinkPad X220。長年使っている都合で、タッチパットやトラックポイントが徐々に誤動作するようになった。それが顕著になったのは今年に入ってから。ここ数か月騙し騙し使ってきた。ただ使用中に誤動作に気が取られ、キーボード操作が集中できない場面が多々あった。それも我慢の限界に達したため、購入に至る。

最初は、パソコンいじりも兼ねてキーボード部分のパーツ交換を考えました。モノ自体は4000~5000ぐらい。キーボード部分は特に不具合が出ていない。タッチパットとトラックポイントのために交換すべきなのか。特にトラックポイントこそがThinkPadの最大の特徴であり頂点(※X220等で採用されていた7列キーボード自体がノートパソコン史上伝説級に名高い。X230以降は・・・) 。それが使えないとなればThinkPadすら名乗れない。脳内無限ループ状態半月経過。

結論「もうマウスでいいや」

キーボード操作時、キーボードポジションから離れてマウスを操作する余計な動作を嫌っていましたが、もう古い機種なのでそこまでお金をかけないことで結論にいたる。

そして、使いやすい安価なマウスを求めた結果、このマウス購入に至りました。

ガタガタなThinkPad X220。無線LANもダメダメ、バッテリも2時間持たないかも。

久しぶりにマイクロソフトのマウスを触りましたが、「ああ、このフィット感!コレだよ!」と妙に懐かしく感じてしまった。

ThinkPadに限らず、他のノートPCでも使えるので、良い買い物ができてよかったと思うおっさんでした。

macOS Mojaveへ移行

macOS Mojave

・・・したら、HomebrewとXcodeが動作しなくなった。他のアプリケーションは今のところ影響ないようだ。

原因は不明だが、仕方ないので両方を再インストール。
昨日から何度インストール作業させるつもりなのか?

ところ変わって、Mojaveの感想。

噂?のダークモードは思ったよりいいんじゃないかな?目に優しそう。なんとなく没入感が増して集中しやすくなった・・・ような気がする。

ダイナミックデスクトップ?どうでもいいです。目障りなのでは?

スクリーンショットのスナップ機能が増えたらしい。画像加工時に試してみようかな。

なんか標準アプリケーションが増えたようだが、どうでもいいです。おそらく使わない。

Mac App Store・・・これは使いやすくなったのか?慣れの問題なのか?これはよくわかりません。

他にもいろいろ改善?しているらしいが、見栄え的インパクトではダークモードが一番印象深かった。

思ったこと淡々と書いたけど、基本的に何も変わっていない。変わらないことは良いことであり悪いことでもある。今回も同様に変わったのだろうが、もうmacは若者のような先進的なOSではなく、大人のような保守的なOSになったということかもしれない。