僕の名前はぐんです。この家に来る前は野良猫でした。とある保護団体に捕獲/保護されたときは、人生終わった!と思ったけど、意外と良い人たちで、僕と一緒に暮らしてくれる家族を探してくださいました。謝々(=^・^=)/

ぐんちゃん良かったね。お幸せにね(^o^)!!

それで、ぐんちゃんのパパのブログは何を書いているの?読んでもちっとも分からないんだけど..

ゴメンにゃんね。パパに聞いたところ、主に「Webアプリのプログラミング」だそうです。プログラミングしようとする人には良いけど、そうでない人には読んでもしょうがないね。これから、僕がゆっくり分かるように説明していきます。

ぐんちゃんありがとう。お願いしますね。

はじめに

プログラムを組むお仕事には商品に組み込む「組み込み系」や物理や化学などの計算をする「シミュレーション系」、または業務を効率化したり生産性を向上させるような「業務アプリ」などがあります。ここでの「Webアプリ系」とはインターネットを介して、Webブラウザ上で動作するアプリケーションのことです。

Google ChromeのようなWebブラウザから閲覧・操作できるので誰でも簡単に始められます。そのためにはWebサーバーの知識や、クライアントとしてのWebブラウザの知識、それを繋ぐインターネットの知識やセキュリティ対策など幅広く学習していく必要があります。これから順不同で気の向くまま説明していきたいと思います。急がれる方は他のネットや書籍で調べた方が早いと思います。

ネットワーク

TCP/IPプロトコル

プロトコルとは決まりごとのことで、機器やプログラムは決まったルールで作られます。TCP/IPは4層構造となっていて、各層には専門の役割がありますが、完全に独立ではなく相互に関連して動きます。

TCP/IP 階層図

TCP/IPプロトコルとは一つのプロトコルではなく多くのプロトコルからできています。初めてのWebプログラムでは、取り敢えずHTTP/HTTPSプロトコルとポート番号だけ押さえおけば大丈夫かと思います。

あと必要なのは通信するためのサーバーを準備することです。最初は学習用、開発用に内部でサーバーを準備して、それと通信できるようにプログラムを組む練習をします。

クライアント/サーバーシステム

アプリケーション層ではWebページやWebアプリケーションの処理を行います。トランスポート層では安定した通信が行えるようにしたり、ポート番号でアプリケーションの識別を行います。どのポート番号を使うかは分からないとプログラムが動作しないので、最低限この層までは理解が必要でしょうか。

インターネット層はOSのカーネルが行います。またネットワークインターフェース層はOSのカーネルとデバイスドライバが担当する範囲です。

OSについて

Web開発には特にUbuntuがお薦め

2025年2月28日

下位の層はOSに任せておけば良いのですけど、普段どんなOSを使っていますか?Windows10でしょうか、Macでしょうか?Linuxというのもあります。LinuxにはUbuntu、CentOS、Debian Linuxなど色々ありますが、初心者にお薦めはUbuntuで、私はいつもUbuntu22.04を使っています。

Ubuntuは2年に1度、偶数年の4月に「長期サポート版(Long Term Support:LTS)」がリリースされます。バージョン番号は西暦下ふた桁と月を使って「YY.MM」で表現されます。Ubuntu22.04は2022年04月にリリースされたもので、サポート期間も5年と長いのも特徴です。

サポート期間はセキュリティアップデートが提供されますので、安心して利用できます。現時点の最新版はUbuntu24.04ですが、Ubuntu22.04からUbuntu24.04へのUpgradeも自分でできます。全て無料で、Windowsのように7から10とか、10から11とかにアップグレードする度に必要なパソコンの仕様が上がり、買い換えないといけなくなったりしません。同じパソコンスペックで動作し続けることができます。

但し、Windowsでしか動作しないアプリやOffice系アプリ(Word,Excelなど)使いたい場合はWindowsにしてください。Excelと互換のあるアプリ(LibreOffice Calc)もありますが、機能や使い易さはやはりExcelの方が上かと個人的には思います。

TCP/IPプロトコル

アプリケーション層

2025年3月1日

代表的なプロトコル

Webアプリの通信で使うプロトコルはHTTP/HTTPSです。ローカル環境ならHTTPでも大丈夫です。よく見れば メール送受信のプロトコルもあります。普段よく使うLINEのプロトコルはここにはありません。LINEのプロトコルは「SPDY 2.0」といってWebページの読み込み速度を上げるために、Googleが開発したものです。HTTPとも互換があり、現在のHTTP/2の基盤となったプロトコルです。

もし友人か誰かから「LINEとメール何が違うの?」と聞かれたら、それは「プロトコルが違う」というのが良いかもしれません。

また、もしレンタルサーバーを借りるようになると、FTPやSSHを使う機会が増えると思います。
あるいは、Webブラウザ上からメール送信したいときもありますね。その時はメール関連のプロトコルを使うことになります。
DNSやDHCPは無いと困ります。これらは人知れずバックグラウンドで動作しています。

TCP/IPプロトコル

トランスポート層

2025年3月3日

トランスポート層のプロトコル

綿密なやり取りで正確にデータ送受信しているのがTCPで、殆どこのプロトコル上でアプリが動いています。UDPは多少データが欠落しても高速に送信したい時に使います。良くあるのが動画配信で少しぐらいデータが欠落しても画像に少しノイズが入る程度なら我慢できますよね?。

インターネット層

インターネット層のプロトコル

パソコンのネットワークといえば必ず出てくるのがこのIPアドレスですね。重複することなく一意に識別できるので、世界中に届けることができます。詳細を見れば成る程と思えるのですが、数式も出てきて専門家でもないと覚える気もしません。

最低限知っておくことは、IPアドレスには世界で唯一の「グローバルIPアドレス」と、各家庭や職場内のルーターから外に出ていかない内輪の範囲で自由に使える「プライベートIPアドレス」があるということです。プライベートIPアドレスは適当に割り当てて良いので、実際どの機器のものなのか識別するために、機器のMAC(Media Access Control)アドレスと紐付けています。MACアドレスは製造段階でメーカーが付けるもので、これも「グローバルIPアドレス」と同じくユニークな値です。
ここら辺はARPプロトコルが行っています。

因みに、Bluetooth接続はユニークなMACアドレス同士で行われます。

TCP/IPプロトコル

ネットワークインターフェース層

2025年3月4日

この層はハードウェアの取り決めで、規格に則った機器でないと繋がらないよ、と云うことです。色々細かいことが取り決めされていますが、詳細は省きます。身近なものとしてはWiFi機器はどうでしょうか。無線LANの正式な規格名はIEEE802.11といいます。

規格一覧

2.4GHzと5GHzがありますが、速度は5GHzの方が速いですが、障害物があると届きにくいという難点があります。自宅がWiFiが1階でご自分の部屋が2階で使っているなどで電波が届き難いと感じたら、2.4GHz帯に切り替えてみてください。

また、Wi-Fi6対応のスマホもたくさん発売されていますが、WiFi機器もスマホも両方対応していることを確認して使ってくださいね。

WiFiセキュリティ

普段機器側面に貼られた英数字の列からなるパスワード(PSK、パスフレーズとも云う)を打ち込んで使用しています。こんな短いパスフレーズで暗号化しても大丈夫なのかなと思うかもしれませんが、MACアドレスや乱数などとも組み合わせて暗号化したり、それ以外にも工夫しているので、盗聴のリスクは少ないと思います。また、WPA(Wi-Fi Protected Access)も数字が大きい方がセキュリティが高いのでWPA2かWPA3を使いましょう!!

Webサイトの基本

Webサイトを見る流れ

2025年3月5日

今まで説明してきたプロトコルに従って日頃webサイトを見ています。Webサイトを見るとは「WebサーバーからHTML(Hyper Text Markup Language)ファイルや画像データを読み込んで、ブラウザ側で人間が見て分かるように解析」したものを見ているということになります。HTMLは見た目は言語らしくないのですが、Webプログラミングには必須の言語です。

また、Webサイトには「静的(Static)サイト」と「動的(Dynamic)サイト」があります。

「静的サイト」とはWebサーバー上に予め保存されているWebページの事で、「動的サイト」とはWebサーバーにリクエストする毎に、データベースの値を読みに行ったりして、修正が加わり動的に作成されたWebページの事です。「静的サイト」と云っても、JavaScript言語で動的に画面に変化を与えることができます。

また、見た目を綺麗にするCSS(Cascading Style Sheets)もあります。CSSは文字の大きさや色、フォントの種類、背景色や文章全体の配置を決めたりします。

どうでしょうか?興味は湧いてきたでしょうか。急にこんな話でてきたら普通は面倒くさいと感じますよね😢。これを理解しないとプログラムできないの(●`ε´●)💢?と思われると思いますが、最初は何も考えず、いろいろなコード見て、自分で作ってみて動作すれば、徐々に物作りに通じる喜びが湧いてきます。

2025年3月15日

どう?お姉さん。なんとなく伝わったかにゃ?

丁寧に説明してくれて有難う〜💗
でも、やっぱりよくわかんない😢

普段スマホで済ませているし、自宅にはパソコンは1台しかなく、しかもあまり使ってもいないのよねー。

そうなんですか。それだとあまり興味も沸かないし無理ないっすね。そのパソコンがもしWindows10なら2025年10月にサポートが切れるから、Windows11に入れ替える必要があるよ。Windows11はさらに高いスペックのパソコンを要求するけど、そのパソコンは大丈夫かな?

パソコンのスペックなんて分からないよー
どうしよう〜かな!?

うん分かった!今からパパに相談してくるね。ε≡≡ヘ( ´Д`)ノ

あれー!ぐんちゃんもういなくなった!

Windows11に代わるパソコン

Debian(デビアン)系Linux(リナックス)の薦め

2025年3月18日

改めて、無料で使えるOS(Linux)を紹介します!!
長年使ってきた経験上、初心者にお薦めはやはりUbuntu(ウブンツ)とQ4OS(Debian Linux)です。UbuntuはDebianをベースに作られている上に、多くのLinuxディストリビューションはUbuntuをベースに作られています。どちらも初期設定で必要なアプリケーションが一緒にインストールされますので、インストールすれば直ぐに使うことができます。特に初心者にはQ4OS(Aquarius)がお薦めです。

Ubuntuの最新はUbuntu 24.04 LTSです。LTSはLong Term Supportの略で5年間のセキュリティアップデートとメンテナンスアップデートが提供されるバージョンで、長期に渡って安心して使えます。
Q4OSのサポート期間も、長期サポート(LTS)版として最低5年間保証されています。

無料で長期サポートも付いて、安心して使えるなら「これでしょ!!」と思うのですが、パソコンに不慣れな方には「パソコンで何をするの?」「何ができるのか?」と思われていると思いますので、徐々に興味を持って頂けるように日記を書いていくことにします。

Office系の事務処理に慣れる

インストールすれば自動で「LibreOffice」がインストールされます。これはこれでMicrosoftのofficeとも互換があり便利なのですが、お世辞にも使いやすいとは言えません。使ってみて、階層が深く、どこに欲しい機能があるのか探すのが面倒になりました。ExcelやWord、PowerPointを使ってきた人には、より互換性のある方が習得も速いので、WPS Office 2をお薦めします。

参考サイトはこちら

WPS Office Linuxに最適なOfficeソリューション

kingsoftのオンラインショップ

2025/03
  1. Presentation(= PowerPoint)が不要なら
    「Personal Edition」の¥4,190(税込み)が良いでしょう。
  2. Writer(= Word)、Spreadsheets(= Excel)、Presentation全部付けて
    「Standard Edition」を選択しても¥5,690(税込み)です。

※但しこれはWindows、Macのみで、今紹介しているLinux向け
「WPS Office 2 for Linux」は、全て無料で使えます!!

「WPS Office 2 for Linux」の悪い(修正して欲しい)所

漢字変換が少し変で、入力したい箇所で漢字変換されず、少しだけ離れた所で変換され、選択/確定して初めて、入力したい箇所に書き込まれます。一瞬目隠しされているような感じがして使い難さを感じます。

漢字変換の違い

Libre Writer/Word系の漢字変換
入力箇所で分かるように
変換されています。

WPS Writerは、入力箇所とは少し異なる所で漢字に変換されています。

WPS Spreadsheetsでグラフ作成

Excelとの比較

2025年3月21日

操作感はほぼExcelと同じ感覚で使えます。大きな違いは、自動化にマクロが使えないと云うことぐらいで、マクロを利用したファイルは正しく動作しない場合があります。

ここではある雑誌に記載されていた簡単なデータを使って、グラフを作成してみました。実際に操作してみないと良さは分からないと思いますが、結果だけ示すとExcelと同じグラフがWPS Spreadsheetsでも難なくできました。これは凄い!
LibreOffice Calcでは、どこを弄れば良いのか分からず途中で断念しました。😢

グラフ作成で比較

※)同じ結果を並べても意味がないのですが、「Excelと全く同じことができた!」と、少し感動しました。

WPS SpreadsheetsとWriterとの連携

仮のアンケート結果をグラフにして、グラフを付けて報告書を作成することを考えます。SpreadsheetsもWriterなどの複数アプリが、タグで別れているだけなので、探す手間もなく連携作業も簡単です。

仮の報告書

※)レイアウトはあまり良くないかもしれませんが、グラフをテーブルの横に置いたり、上下に置いたりできます。

WindowsとLinux(Q4OS)との対応アプリ一覧

Windowsで有料なソフトもLinuxでは無料であることが多いです。GimpやInkScapeもかなり高機能であり、しかも無料なのでしっかり学習して使いこなしていけば、きっと役に立つと思います!

ご参考まで

Windowsアプリも使える

最新版のWine10.0をインストール(Debian Linux 12)

2025年3月25日

Wineとは「Wine Is Not an Emulator」(エミュレーターではない)の頭文字で、Linux上でWindowsアプリを起動できるようにしてくれるアプリです。これはWindowsアプリが発行するAPIコールをLinuxが理解できるシステムコールに変換する仲介役(互換レイヤー)の役割を担い、Linux上でもOSの違いを意識せず使えるようにしてくれます。簡単に云うと、これをインストールしておけば、Windows時代に使っていたアプリで、Windowsにしか対応していないアプリであっても、今後も使っていくことができる可能性があるということです。素晴らしい😯👏

例えば、Windows時代に良く使っていて重宝しているアプリに"JTrim"(Free)があります。これは画像処理アプリで色々なことが出来てとても使い易いです。わざわざ"GIMP"を使うまでもない時に、「JTrimがあればなぁ」と思ってましたので、今もインストールして使っています。

JTrimの起動画面

但し、これは完璧な仮想環境ではないので、動作するものもあれば、動作しないものもあります。過度の期待は禁物で先ずは試してみるのが宜しいかと思います。

長所(こんなことまでできる)

画像をコピー&ペーストして簡単な処理を"JTrim"で行って、その結果をまたコピーして、WPS OfficeのWriterに貼り付けて使うということが、簡単にできます。

何か当たり前のように聞こえますが、OSが違うので普通は出来ません。Windowsアプリが異なるOSであるLinux上でもシームレスに使えるので作業も捗ります。

注意点

Wine-10.0は2025年1月21日にリリースされた最新版です。これをインストールするにはDebianであればLinux 12が必要です。Q4OSが最新版であることを確認してインストールしてくださいね。

ここでひと休みです。

2025年3月29日

3月ももう終わりか〜 今日は一緒に休みましょう!

Wine-10.0の凄いところ

なんと云っても使いやすい

2025年4月3日

古いDebian Linux 11でソフトウェアセンターからインストールすると、wine-5.0あたりがインストールされます。そこではWineのフロントエンドアプリを起動してそこから操作するので、1枚なにか挟んだ感じで操作しないといけないので、初心者の方は「なんか操作が難しい」と感じるかと思います。もちろん無料でそこまでできるのだから感謝すべきですが、Wine-10.0だとそういった違和感も一気に吹き飛びます。物凄く洗練された感じです。感謝して、有り難く使わせて頂きたいと思います。

アプリのインストールと起動
インストール

Windowsアプリのインストーラをダウンロードして、Wine上で実行します。その実行の仕方は普段使っているファイルマネージャーでフォルダを開き、該当するファイルを「右クリックで選択」→「Wine Windows プログラムローダーで開く」を選択すれば、インストーラが起動します。

起動

起動には2通りあって、(1)先ほどを同じ、ファイルマネージャーで開いて、「右クリックで選択」→「Wine Windows プログラムローダーで開く」で起動する方法。
(2)デスクトップ上にアイコンが作成された場合。その時は、それをダブルクリックすれば起動できます。

実行例

(1) フォルダ内の該当ファイルを右クリックして起動する方法

(2) デスクトップ上にアイコンが作成された場合、ダブルクリックで起動。

この例ではNotePad++をダブルクリックして起動

Linuxで普段使っているファイルマネージャーから操作できますので、Windowsアプリであることを忘れるぐらいです。

アプリの削除

削除は少し面倒かもしれません。必要なものだけインストールして使った方が楽かもしれませんが、どうしても削除したくなった場合は以下の手順で行ってください。

アプリ削除方法

(1) GUIで本体の削除(GUI画面が起動されます)

wine uninstaller

(2) デスクトップアイコン削除

cd ~/.local/share/applications

sudo rm  ./<アプリ名>.desktop

(3) プログラムメニューから削除

cd ~/.config/menus/applications-merged

sudo rm  ./'<アプリ名>.menu'

スマホファーストから見たパソコン

ここまでの整理

2025年4月5日

Windows10は2025年10月14日にサポートが切れます。サポート終了後は、Microsoft からのセキュリティ更新プログラムやテクニカルサポート、無料ソフトウェア更新プログラムの提供が停止されます。そのまま使い続けても構わないのですが、セキュリティー的に問題があり自己責任で使わないといけません。

Windows11にアップグレードするとなるとまた、パソコンスペックが上がり、そのままでは切り替えが出来ない可能性もあります。ハイスペックパソコンを新規購入したら済む話なのですが、お金をかけてまでパソコンをする気にはなれない人もいます。

そこで低スペックパソコンでもインストールできて(パソコンの買い替え不要で)セキュリティーサポートもあるLinuxパソコンをお薦めしてきました。Windowsと同じようなOffice系も使えるし、Windowsアプリに代わる各種アプリも充実している上に、Windowsでしか動作しないアプリも使える仕組みも提供されています。お金掛けずにここまでできるなんて、使わない手はないかと思います。もっと例を上げていくと...

スマホとデータを共有する
  1. Microsoftのスマート連携機能とよく似た機能として、KDE ConnectとかZorin Connectなどがあります。スマホからパソコンを操作したり、逆にパソコンからスマホを呼び出して「どこに置いたか忘れた」スマホを探し出すこともできます。これらはパソコン側には最初からインストールされていますので、スマホ側に専用のアプリをインストールすれば良いだけです。勿論、スマホで撮った写真や動画なども簡単にパソコン側に保存することができます。
  2. MTP(Media Transfer Protocol)によるファイル転送方法:1.ではWiFi環境が必要ですが、これは必要なものはUSBケーブルだけですので、とてもシンプルです。しかし、セキュリティ上の制限でアクセスできないデータも多々あり不便です。WiFi環境がない環境で、MTPしか他に選択肢がない場合の「救済手段」として役に立つことがあります。
  3. samba(サンバ)によるファイルサーバーを活用する。古くて新しい方法で、ファイルの共有はお手の物です。MTPよりも高速ですが、こちらもWiFi環境が必要です。

以上は状況と目的次第で選べば良いのですが、使用頻度が大きいものとしては、やっぱりスマホで撮った画像や動画を共有、保存することだと思います。その前提で話せばやっぱり3.のファイルサーバーによるクライアント/サーバー方式かなぁと思います。一旦サーバーを設定すれば、どのスマホ、どのパソコンからでもクライアントとしてアクセスできて、データの一元管理もできます。

Q4OSの面白いところ

こんな事もできる

2025年4月25日

仲良し

やれやれ...

この尻尾、

じゃまにゃん!

Q4OSの意外な長所

  1. デスクトップをWindows10風にして使える!⇨急にLinuxに変更すると抵抗があるかもしれません。そこで外見をWindows風そっくりに入れ替えることで、とても親しみやすくなります。操作感もばっちりです。
  2. 最新のアプリも増加!⇨以前のOSでは使えなかったアプリも気軽に使えるようになっています。Scratchもv3.x系はWindowsのデスクトップでは使えましたが、以前のLinuxではv1.xしか使えなく物足りなく思っていました。マインドマップが描けるXmindも同じ様にWindows時代では使っていましたが、以前のLinuxでは使えなかったと思います。

普段スマホしか使わない人がパソコンを使いたいと思う時は、大きな画面で軽快に作業したいと思う時ぐらいでしょうか?それでも圧迫してきたスマホの容量を下げたいと思うときは、パソコンの大容量HDDに期待が高まります。これはクラウドストレージと同じですが、大容量となるとそれだけでもそこそこの費用が発生しますからね。

セキュリティの問題

Wineを使えば、古いアプリも再現できますが、セキュリティに気を付けてください。

古いVersionのWindowsアプリには、既知のセキュリティ脆弱性が多数存在する可能性があります。この脆弱性を利用しWineを介して、Debianのシステムコールを実行させ、予期せぬ動作を引き起こす可能性はあります。

また古いCD-ROMのアプリも当時既に存在していたマルウェアが潜んでいる可能性もゼロではないので、CD-ROMの出所や信頼性を慎重に判断し、実行するようにしましょう。

※) Wine-10.0は2025年1月21日にリリースされた最新の安定版ですので、現時点では安心して使うことができます。

※) セキュリティ的に最も安全な方法は、Linux上に仮想環境を作って、そこにWindowsをインストールして使うことです。この場合パソコンのCPUやメモリなどのリソースが要求されますので、手持ちのパソコンスペックで充分かどうか分かりませんし、初心者には少し難易度が高いです。