サイト関連,RL78マイコン,MCU:マイコン,LPCマイコン,Kinetisマイコン,STM32マイコン,PSoC/PRoCマイコン,お知らせ,MSP432マイコン,Cortex-M0+コア,Cortex-M0コア,Cortex-M3コアMCU開発,blog,配慮,心構え

本Blogテーマを、今週~来週にかけて変更中です。期間中は、画面表示が乱れる可能性もありますがご容赦ください😌。Blogツール:WordPressにご興味が無い方は、最後の章:MCU開発顧客満足をお楽しみください。

オープンソースCMSのWordPressによるBlog投稿

Blogテーマ変更理由

本Blogは、WordPressというオープンソースCMS(Contents Management System)を使って投稿しています。テーマとは、Blog表示の見た目を変える、着せ替え洋服のようなものです。テーマ変更理由は、2つです。

  1. 約2年前に導入されたWordPressの新しいGutenbergエディタ対策
  2. 昨年後期から続くサイトマップトラブル対策

Gutenbergエディタ

従来のWordPress標準エディタは、Classicエディタと呼ばれ、Web版無償Microsoft Wordのようなものです。基本的な文章エディタ機能を提供し、使い方も簡単でした。これに対し、新しく標準となったGutenbergエディタは、ブロック単位の編集・加工を行うなど操作性や使い方が大きく変わりました。

※Gutenbergエディタは、15世紀に活版印刷技術を発明したヨハネス・グーテンベルクにちなんで命名されました。WordPressの記事投稿に際し、活版印刷登場ほどインパクトがあると言うことです。

旧Classicエディタを使い続けたい多くのブロガーのために、標準Gutenbergエディタを無効化し、Classicエディタを復活するプラグインが提供され、筆者もこれを使い続けてきました。

但し、Gutenbergエディタは、毎年改良され機能や使い方も進化、この進化系Gutenbergエディタ対応の新しいテーマも増えてきました。

xmlサイトマップ

xmlサイトマップは、GoogleやYahoo、Bingなどの検索エンジンへ、弊社Blogの投稿内容等を知らせる手段です。

原因不明ですが、昨年後半から投稿数は週一で増やしているにも係わらず、サイトマップの有効ページ数が減り続けています。検索エンジンにマップされなければ、投稿しても読者に発見されず苦労が報われません。

ネット情報によると、プラグイン間の相性など様々な原因がありえますが、解決しません。いわゆるPCとアプリケーションとの相性問題と同じようです。

そこで、1のGutenbergエディタ対策時に、新テーマ導入と同時にプラグインを変える/減らすなどして対処しようと考えました。

Blogテーマ変更結果

今回のBlogテーマ変更の結果、WordPressの新Gutenbergエディタは習得しました。

しかし残念ながら、サイトマップトラブルは、更に悪化しました。プラグイン相性だけでなく、新導入テーマにも関係している可能性もありますが、依然として原因不明です。

算定措置として、Gutenbergエディタと新テーマ利用へ変更し、追加プラグインは最小にします。サイトマップトラブルは、継続検討とします。

MCU開発顧客満足

MCU開発でも課題に対し期待する成果が得られない等は、筆者には日常茶飯事です。費やした時間やコストは、戻ってきませんが、実際にやってみなければ本当は判らない事だらけなのがMCU開発業務です。

MCU開発業務は、以下2点の配慮が必要です。

  1. スケジュール立案時は、マージンを織り込む
  2. 成果に直結しない結果でも、今後に活かす

※織り込んだマージンを使わず成果が出た時は、未消化マージンをリフレッシュ休暇に替えます😁。

今回の対策も、年末年始の予定でした。しかし、新テーマの多さやその理解に時間がかかり、結局マージンを使い果たし1月末実施、そして少ない成果となりました。顧客は、自分自身ですが顧客満足は低いです。

しかし、成果に直結しなくても得た(貴重な!?)結果もある訳です。これを今後に活かす事が、費やした時間やコストを無駄にしない唯一の策で、しかも長い目で見れば、顧客満足にも繋がると信じます😤。

MCU開発は、日々の努力が、即成果に結びつかなくても、将来必ず顧客を満足させる結果・スキルになると自分を信じて続ける心構えが重要です(日本では、周囲になかなか理解してもらえないと思いますが😭、欧米開発者は、これがあたりまえの文化でした)。

MCU:マイコンIoTマイコン,ADAS,MCU開発,CTO

現状のMCU開発経験が、将来どのように活かされるかの参考になる記事が、日経XTECH:「技術的負債」の処方箋に記載されました。記事を筆者なりに解釈したのが、下記です。

  • 現状:MCU開発者は、C/C++言語でMCUを動かす
  • 将来:MCU開発者はCTOとなり、日本語/英語で人/組織を動かす
  • MCUソフトウェア開発スキルは、経営、組織マネジメントへ活かせる

CTO:Chief Technical/Technology Officer

CTOとは、ビジネス幹部のポジションで、会社における技術的な役割に焦点をあてたもの。研究開発ディレクターの立場を拡張したものとして、アメリカでは1980年代に登場(Wikipediaより)。日本ではまだ馴染みが少なく、また記事にもあるようにソフトウェア開発経験を持つCTOも少ないです。

日本企業のCTOには、ソフトウェア開発経験が必須で、今後その比重は増すと思います。

Technical/Technologyに対する相対地位の日米の差は、依然かなりあります。例えば、日本企業のAI危機感が足りない?という記事にも表れています。80年代から言われたことですが、現在でもこの日米差は、あまり変わっておらず、依然として日本ではTechnical/Technology軽視傾向があります。

自動運転レベル3

その日本でもTechnical/Technologyの相対的重要さに気が付く環境がスグそこに来ました。自動運転レベル3搭載車発売です。

下記ラベルを貼った自動運行対応車を多く目にし、同じラベルでも搭載Technical/Technologyによる車の違いが目に見えるようになれば、誰でもTechnical/Technologyの重要さを認識すると思います。また、ソフトウェアアップデートやセキュリティ対策により、製品ソフトウェアの更新も重要と認識されるでしょう。

自動運転を示すラベルと搭載装置(出展:レベル3搭載車発売記事)
自動運転を示すラベルと搭載装置(出展:レベル3搭載車発売記事)

※自動車ソフトウェアのOTAアップデートは、関連投稿:5G、Wi-Fi6、NXP、STMの2章などを参照してください。

日本車と言っても、自動車はグローバル市場へ向けた製品です。Technical/Technologyの相対地位が高いグローバルな基準で製品化された結果が、その実力差やシェアとなって現れます。

この日本車に対し、殆どの日本製品のグローバル地位は、低下しつつあります。日本でのTechnical/Technology軽視の証左だと思います。

MCU開発者の将来像

本ブログ読者は、MCUソフトウェア/ハードウェア開発に携わる方が殆どです。ハードウェア担当でも、TP(テストプログラム)を自作するなど、ソフトウェアなしの製品開発は今やあり得ません。この開発作業は、最初の記事にあるように、泥臭く、地道な所作の繰返しです。

しかし、その繰返しで習得するMCUを開発するスキルは、将来必ず経営、組織マネジメントへも活かせます。対象がMCUから人や組織へ、使う言語が、C/C++言語から日本語/英語へ変わるだけです(もちろん、MCUより人の方が複雑怪奇ですが…😅)。

※C++は、C言語をオブジェクト指向プログラミングへ拡張した新言語。Cに比べ、MCU間移植性や拡張性に富む。C/C++ともに英語ベースのため、欧米人の意志伝達/思考との親和性は高い。

※英語キーワード理解があいまいだと、Technical/Technologyの基礎習得にぐらつきが生じる(関連投稿:MCUセキュリティ話題の5章)。英語リーディング能力もMCU開発者に必須。英語が読めると、ソフトウェア開発スキルや思考方法もグローバル開発者レベルに近づく。

現状日本のTechnical/Technology軽視環境は、IoT普及や自動運行対応車が増えるにつれて、いずれグローバルレベルへ変わります。その時は、CTOまたはその補佐役には、ソフトウェア開発経験は必須です。

MCU開発者の皆さんは、将来CTOを目指し開発製品の市場獲得ができるよう、今のソフトウェア開発スキルを磨いてください。

Linux,Windows,PC:パソコンWindows 10,大型更新,Linux Mint,MCU開発,PC OS,アップデートマネジャー,Windows Update

春と秋の年2回大型更新するWindows 10のリリース開始からサポート終了までのライフサイクルは、1.5年です。Windows 10最新バージョン2004へ更新済みの場合、2021年12月14日までは、2回目/3回目の大型更新を延期でき、この間の大型更新トラブルも回避できる可能性があります(COVID-19の影響は除いています)。

一方、Linux Mint 20の大型更新は春の年1回、ライフサイクルは5年です。

本稿は、このPC OSの大型更新を比較し、MCU開発用OSの安定性という観点から、Linux Mintが優位であることを示します(関連投稿:Linux Mintお勧め理由の続編という位置づけです)。

WindowsとLinux Mintの大型更新比較結果

Windows 10(Version 2004) Linux Mint 20(Ubuntu 20.04 LTS)
大型更新回数 年2回 年1回
ライフサイクル 1.5年(2021/12/14まで)

※この間2回の大型更新予定

5年(2025年春まで)

※この間4回の大型更新予定

大型更新方法 Windows Update(手動延期可能) ユーザによるクリーンインストール
大型更新間隔 0.5年 1年
通常更新方法 Windows Update アップデートマネジャー(5章参照)

Windows 大型更新(Windows 10)

2020年2回目の大型更新、Windows 10バージョン20H2の内容が判りました。バージョン20H2も、様々な機能追加・更新の発表があり、大型更新トラブルが少ないことを願っています。一方で、コチラの記事によると、現行バージョン2004では旧バージョンから消えた重要機能も少なくないようです。

※Windowsの機能追加・削除によるMCU開発弊害の例が、関連投稿:FRDM評価ボードOpenSDA接続問題の3章にあります。

Windows 10運用に安定性を求める場合は、1.5年のライフサイクル期間中、大型更新を「手動延期」する方法があります。但し、大型更新毎に変わるメニューやタスクバーなどのPC基本操作が、最新版で無くてもかまわない場合です。職場利用のPCなどは、この運用方法でも良いかもしれません。

個人利用のPCは、大型更新が基本です。Windows Updateは「最新版へ更新」するのがデフォルト設定ですし、巷に溢れるWindows 10情報は、どれも最新版の話題で、ユーザに大型更新バイアスをかけ続けるからです。

但し、プリンタや接続機器も多種多様な個人利用PCの場合、大型更新トラブルの発生確率は、職場利用のPCよりも高くなる傾向があります。

この大型更新トラブル確率が増すにも関らず、デフォルトでは最新版へ更新することが、Windows 10の矛盾点だと思います。

Windows Updateは、OS自身の大型更新と、通常のセキュリティ更新の2機能が混在しています。これは、Windows 10が商用であるがゆえに、より早い競合製品(Apple macOSやLinux)差別化もビジネス的には必要なためか(?)と筆者はあきらめています。

Windows Updateで無理やり大型更新も行うのではなく、ユーザ主体で大型更新が開始できる別ボタン、例えばInstall New Windowsを設ければ、少なくとも大型更新起因のトラブルは回避できると思うのですが…。

Linux Mint大型更新(Linux Mint 20)

Windows と最も異なるのは、Windows Updateに相当するLinux Mintアップデートマネジャーに、OS大型更新機能が無い点です。

Linux Mintのアップデートマネジャーは、稼働中OSの主にセキュリティ関連更新を行います(標準搭載のFirefoxブラウザなどは、このアップデートマネジャーで最新版へ更新されます)。つまり、ユーザが主体的に操作しない限りOS大型更新はできない仕様です。

旧版Mint 19からMint20への更新は、基本的にはOSクリーンインストールで行います。旧Mint 19利用中のユーザ追加アプリケーションやユーザフォルダなどを、新Mint 20へ引き継ぐバップアップツールが標準で用意されています。

また、現行Mint 20と旧Mint 19のOS自体を比較しても、差はデスクトップの色や壁紙程度で、本来のOS部分は、(詳細に見れば別ですが)大差は見当たりません。

Linux Mint 20のリリースノートを読み、大型更新の必要性をユーザが感じなければ、そのままLinux Mint 19を使い続けても最長5年間はセキュリティ更新が受けられます。

MCU開発用PC OS安定性評価

MCU開発用のPC OS として、以下の2点からLinux Mintが優れると評価します。

  • Linux Mint大型更新間隔は、Windows 10の0.5年に比べ1年と長い
  • Linux Mint大型更新は、ユーザが主体的に開始する

MCU開発速度が上がり、MCUソフトウェア/ハードウェア生産性が向上しても、プロジェクト開始から終了まで数か月~1年は要するでしょう。EclipseベースIDEなどのMCU開発ツールも、この間に1回程度は更新がありえます。

これらMCU開発ツールの動作土台となるPCのOSは、少なくてもプロジェクト実行中の1年程度は安定的に、かつ大型更新する場合でもユーザ主体で開始してほしいと願う開発者は、筆者だけではないと思います。

アップデートマネジャーの使い方(Linux Mint 20)

Linux Mintアップデートマネジャーの使い方
Linux Mintアップデートマネジャーの使い方

Linux Mint 20起動時、①アップデートマネジャーを起動しても、「このシステムは最新の状態です」と表示されることがあります。この時は、念のため、②再読込をクリックします。

すると、更新情報を再チェックし、何らかの更新がある場合には、リスト表示されますので、③アップデートインストールをクリックします。

インストール中に「以下のパッケージがインストールされます」と表示される場合は、デフォルトのまま④OKをクリックします。

①~④によりLinux Mint 20へ最新アップデートが適用されます。

※これらの操作はWindows Update「更新プログラムのチェックボタン」を、ユーザ自身で押すことに相当します。

また、ファイアウォールのデフォルトは無効です。「起動する」をクリックし、自宅/会社/パブリック選択後、Statusを変更、有効に変更することをお勧めします。