プログラマ・アゲイン blog

還暦を過ぎたけどプログラマ復帰を目指してブログ始めました

Javaの開発・実行環境をWindowsに作りました

Java の勉強を以下の入門書でしだして、やはり Java の開発・実行環境を持つ必要が出てきました。

そこで、Windows 10 パソコンに、Java の開発・実行環境を作りました。

手順については、先程の入門書でガイドを用意されていて、以下のページを参考にしました。

sukkiri.jp

Java の実行環境という事で、JVM はかなり重いのではないかと思っていましたが、Windows 10 パソコンで問題なく動いています。但し、まだ勉強中なので、大きなプログラムは作成していませんが。

今回 JDK17 を選択したため、実際の手順はガイドと違っていたので、JDK を導入してセットアップするまでの手順を記録したいと思います。

  • JDKのダウンロード
    • Oracleサイト
    • プロダクト・バージョンの選択
    • ダウンロード・ファイルの選択
    • ダウンロードの開始
  • JDKの導入
    • Installerの起動
    • 宛先ファルダ―の選択
    • インストール
  • 導入確認
    • バージョンの確認
    • Javaの確認
  • ソースのエディター

 

続きを読む

やっとオブジェクト指向の意味が分かった気がする

やっと今になって、Java の勉強をしました。

と言っても、入門書を読んだだけですが、その入門書の約半分に Java の文法の事が書かれており、あと半分はオブジェクト指向の事が書かれていました。

オブジェクト指向:OO(Object Oriented)については、約30年前に勉強したことがありましたが、当時は概念だけだったので今一つ理解できませんでした。

今回、Java の入門書を読むことで、Java言語にオブジェクト指向の概念がどのように実装されているのか、クラスやインスタンスやオブジェクトなどの言葉の意味は何なのか、カプセル化や継承などはどういうことなのか、などの長年ボヤっとしていた事が少しハッキリしました。(完全に理解できたかというと、それにはもう少し時間がかかりそうですが)

取り敢えず、入門書を一冊読み終えたので、その入門書を紹介したいと思います。

  • Javaの入門書
    • 入門書の目次
    • この本の感想
  • オブジェクト指向で分かった事
    • 引用
    • 理解した事
  • 今後に向けて

 

続きを読む

ブログのタイトルを画像にしてみました

ブログのタイトル下の Google Adsense広告を外してみて、改めてブログのタイトルがシンプルすぎると感じました。

以前のイメージは、こんな感じです。

f:id:hanasakag:20220303143857p:plain

 

そこで、ブログのタイトルに画像を使ってみようと思います。と言っても、デザインのセンスがあるわけではないので、個人的興味からですが。

取り敢えず、ネットで調べて設定してみたので、記録に残したいと思います。

 

続きを読む

ブログ・タイトル下の Google Adsense 広告を止めてみました

Google Adsenseの広告許可を、やっと昨年いただきました。

早速、はてなブログに広告が貼り付けられるように自動広告の設定をしたのですが、その後あまりブログを更新していませんでした。

久しぶりにブログを作成しようと、今までに作ったブログを見たところ、ブログ・タイトルと記事タイトルとの間に大きく広告が表示されるようになっていました。また、ブログのページによっては、広告が表示されずブログ・タイトルと記事タイトルとの間に大きく空白があるものもありました。

広告が表示されるページは、広告するという意味では良いのですが、いきなりタイトルの下に広告が表示されるのはどうかと思います。また、大きく空白が表示されるページは、何?どうしたの?と、とても見た目が悪いです。

いろいろ対応方法はありそうですが、今回ブログ・タイトルと記事タイトルとの間に表示される広告を削除することにしました。

削除自体は簡単でしたが、手順を調べるのに時間がかかったので、削除手順を残しておきます。

  • 変更前
  • 削除手順
    • Google Adsenseへのログイン
    • 自動広告の設定
    • サイトへの適用
  • 変更後

 

続きを読む

Open Object REXXの環境をWindowsに作ってみた

IBM製のメインコンピュータのz/OS上で稼働するバッチ・プログラムを、REXX言語で開発することにしました。

しかし、メインコンピュータは汎用大型機なので、自分の自由な時間に使用してプログラムを開発する事が出来ません。

そこで、REXXの特徴である、あらゆる OS上にポーティングされていて、z/OSでも Windowsでも同じ REXXプログラムが稼働するという事で、使用している PC(Windows 10)上に REXXの開発環境を作りました。

ここでは、Windows 10上に REXX環境を作った時のログを残しておきたいと思います。

  • REXXのおさらい
  • ooREXXの導入
    • ダウンロード
    • インストール
    • 稼働確認
    • アンインストール

 

続きを読む

正規表現を使ってみて

正規表現は、英語だと Regular Expression ですが、Regularには「規則的」などの意味もあるので、英語の方がしっくりきそうです。ただ、どちらにしても最初は何のことかさっぱりでした。

でも、Perlの流れをくむ Rubyにとって、正規表現は非常に重要な技術だと思います。この正規表現が使えるからこそ、文字列処理が格段に簡単になります。Rubyのプログラミングをするうえで、避けては通れない技術の一つだと思います。

正規表現は奥が深くて、本当に勉強しようとしたら以下のような本を買って勉強する必要があると思います。

ただ、ある程度は通常のプログラミング本で説明されている内容で、使ってみることができます。使ってみると非常に便利でした。

ここでは、この未熟な私でも使った一部の正規表現について、理解した内容を残したいと思います。

  • 正規表現の基本
    • 基本的な書き方
      • パターン
      • オプション
    • キャプチャの書き方
  • 使った正規表現
    • パターン
      • 数字
      • 英数字
      • メタ文字
      • 範囲指定
      • 選択
      • 組み合わせ
    • マッチング
      • =~ !~
      • case
    • キャプチャ
      • gsub
      • scan

 

続きを読む

ちょっと一服:プログラミングの勉強はどうするのが良いのか

プログラミングの勉強を再開してみて、徒然に感じたことを「ちょっと一服」として書き残しておきたいと思います。

あくまでも個人の感想ですので、今更と思われる方は読み飛ばしていただければと思います。

  • 何でプログラミングの勉強?
  • 個人的プログラミング勉強の歴史
    • プログラミング勉強のし始め
    • 就職して
    • 最近の勉強
      • プログラミング勉強の障壁①
      • プログラミング勉強の障壁②
  • 基本的な勉強方法
    • ロジック力をつける
    • 面白いと思う
    • 人のまねをする
    • 自分なりの変更をする
    • 自分の得意を作る
    • 継続する
    • 体系的に勉強する
      • 書籍
      • オンライン本

 

続きを読む

RMagicライブラリーの導入方法

以前のブログ「rubyXLを使用したExcel操作」で、画像情報を抽出して Excelに書き出すのに RMagickを使用していることを書きました。

RMagickとは、ImageMagickRubyで扱えるようにした gemであり、Ruby用のImageMagickインターフェースといったところです。

ImageMagickとは、コマンドラインから画像処理を可能にするツールです。多くの画像ファイル形式に対応しており、サイズの変更や画像の合成、画像の分析、画像の作成などができます。

RMagickの説明は、以下のページに書かれています。

techacademy.jp

今回 Windows 10環境に RMagickを再導入した時に苦労したので、記録しておきます。

  • RMagic導入時のエラー
    • 4.2.2の場合
    • 2.16.0の場合
  • ImageMagickの導入
    • バージョンの選択
    • ダウンロードと導入
    • 環境変数の設定
      • 設定
      • 確認
  • RMagickの導入
    • 導入
    • 導入確認
      • gemの確認
      • 稼働確認
  • トラブル対応
    • 設定変更
      • gem pristine
      • LD_LIBRARY_PATH
    • RMagickの再導入
      • uninstall
      • install
      • 稼働確認

 

続きを読む

rubyXLを使用したExcel操作

今回は、rubyXLライブラリーを使用した Excel操作について、説明したいと思います。

前にも書きましたが、rubyXLは、Excel用の gemライブラリーです。したがって、gemコマンドで導入しておく必要があります。今導入しているバージョンは、3.4.15 です。

rubyXLとは、バージョン 3.4.18 の readmeでは、以下のように書かれています。

このgemは、xlsxファイル(Open XML形式)での操作をサポートします。 OOXML構造全体を適切に解析できますが、現在の主な重点は、MS Excelによって生成されたファイルの読み取り、ファイルへの小さな変更、および可能な限り多くの構造を保持しながらファイルを保存して再度開くことです。

独自のバイナリxls形式はこのgemではサポートされていないことに注意してください。 これらのファイルを解析する必要がある場合は、スプレッドシートgemを試してください。

尚、Excelを操作する gemには、rubyXL以外にも Roo(読み込みのみ)や AXSLX(新規作成のみ)というものがあるようです。

  • Excel佐々木希を描く with Ruby
    • 作成したソース
    • 実行の準備
      • RMagick
      • クラスの読み込み
    • Excelファイルへの操作
      • Excelワークブックの作成
      • 保存
    • Worksheetの操作
      • セル (cell)の操作
      • 列の幅変更
      • 行の高さ変更
    • その他
  • その他のrubyXLコーディング
    • worksheetの作成
    • フォントの変更
    • 罫線の変更
  • win32oleの場合
    • 作成したソース
    • WIN32OLERuntimeError
    • Colorプロパティ
    • 幅と高さの指定
      • 列幅の指定
      • 行高の指定
    • 実行結果

 

続きを読む

win32oleを使用したExcel操作

RubyプログラムからExcelファイルを操作する方法については、以下のような沢山のWebページがあり参考になりました。

magazine.rubyist.net

objectclub.jp

今回は、それらを基に自分でコーディングした、win32oleライブラリーを使用したExcel操作について、説明したいと思います。

  • コーディング・サンプル
  • 実行の準備
    • クラスの読み込み
    • Excel定数の設定
    • Applicationオブジェクトの操作
  • Excelファイルへの操作
    • オープン
    • 保存
    • クローズ
    • Excelの終了
  • Worksheetの操作
    • ワークシート (worksheet)
    • セル (cell)プロパティ
      • 値の挿入
      • 色づけ
      • 列の幅調整
    • Rangeオブジェクト
      • 色づけ
      • 罫線
    • その他
      • Rowsプロパティ
      • ClearContentsメソッド
      • 最終行

 

続きを読む

requireで読み込むRubyライブラリー

メイン・モジュールの最初に記述するrequireメソッドで、実行に必要となるRubyライブラリーを読み込んでいます。

今回は、読み込んでいるライブラリーについて説明したいと思います。

  • 読み込んでいるライブラリー
  • ライブラリー内容
    • logger
    • json
    • date
    • open3
    • win32ole
    • rubyXL
  • ユーザー・ライブラリーの読み込み

 

続きを読む

自分なりのRubyプログラムの構造

Rubyのプログラムを開発するにあたり、先ずは仕様として大まかな開発スタイルを決めました。

というのも、他の人が開発したRubyプログラムを見た時、余りにもオブジェクト指向が強すぎて読みずらかったのと、自分のレベルではそのコーディングはできないと感じたからです。

そこで、後から読んでも分かり易く、バグった時に追いかけやすく、シンプルだけど冗長でない、自分のレベルにあったプログラム構造とコーディング・スタイルを決めました。

ただ、これはあくまでも私の理解レベルでの仕様なので、Rubyプログラムとしては適正でないとか、こういうコーディングは効率が悪いとか、いろいろご指摘事項はあろうかと思いますが、そこはご容赦ください。

また、私のレベルが上がれば、当然この仕様は見直されると思います。

  • プログラム構造
    • プログラム・モジュール
      • メイン
      • ライブラリー
    • メインとライブラリーの配置
  • コーディング・スタイル
    • メイン・モジュール
      • 1行目
      • 2行目
      • 3行目
      • 4行目~11行目
      • 12,13,23,24行目
      • 15行目~23行目
    • ライブラリー・モジュール
      • 1行目
      • 2行目
      • 3行目~5行目
      • 6-9、10-13、14-17行目
      • 18行目

 

続きを読む

Rubyプログラミングしてみました

前回の投稿以降、本業が忙しくなり、やっと二年弱ぶりにブログを書く時間が取れるようになりました。

 

前回投稿したブログはスマート・スピーカーの話だったので、ブログはそれの続きを書こうと思っていたのですが、やっぱり本来のプログラミングの内容に戻ろうと思います。

と言うのは、本業の仕事の関係で、自分用のRubyプログラムを100本以上作ったからです。そのプログラムを使って、仕事の効率を上げることができました。

実際に使用するプログラムを作る(勉強とかではなく)ことにより、Rubyプログラミングについていろいろ勉強したので、記録の為にもそれをブログに書いていこうと思います。

ただ、ブログを書くのが久しぶりすぎて、書き方を忘れているので、ほぼ初心に帰ってます。(~ ~);

  • 開発にあたり
    • 何故Ruby
    • 参考書
  • 実際に開発してみて
    • Rubyの稼働環境
    • 開発量

 

続きを読む

スマートスピーカーを買って使ってみたら面白かった

スマートスピーカーというのは、Wikipediaによると「対話型の音声操作に対応したAIアシスタント機能を持つスピーカー」という事だそうです。

ja.wikipedia.org

普段から物静かな(?)私は、何でしゃべらなければいけないのだろうと思ってましたが、実際に使ってみると面白いという事に気が付きました。どういうところを面白いと感じたかを、まとめておきたいと思います。

 

  • どのスマートスピーカーを使ってみるか
  • Google Home Mini のセットアップ
  • Google Home Mini を使ってみて
    • 疑問に思ったことを質問する
    • 挨拶(おはよう)をする
    • タイマーを設定する
    • テレビへ写真や動画をストリーミングする
    • 音楽を流す
    • Epsonプリンターとのリンク
  • 結論

 

続きを読む

好奇心旺盛ですみません(_ _)。プログラミング以外の内容も書きます。

プログラミングに関することを書きたいとブログを始めたのですが、そういう制約を設けることよりもブログを書くことを目的にした方が良いと思いなおしました。

  • 何故プログラミング以外の内容も書くのか
  • 何を書くか
    • ブログを始めた時の思い
    • ブログの記事の候補
  • 次回に向けて
続きを読む