ubuntu 24.04 文字入力が重なる

ChatGPTに問い合わせながら行った所、対策ができました。

原因
Ubuntu 24 系の「ibus+日本語(Mozc) の不具合」
ibus と Mozc が衝突している

対策
fcitx5 に切り替えると直る

操作
sudo apt update
sudo apt install fcitx5 fcitx5-mozc fcitx5-config-qt

im-config -n fcitx5

sudo reboot

ubuntu 指定のフォルダーを開く

いつも使うフォルダーをエクスプローラで一気に開けると便利です

端末から

nautilus /home/ubuntu/….

のような形で、開くことができます。

手順としては、メモなどに上記を記述しておいて

それを、コピーして、端末を開いて

ペーストして実行となります

端末を開くには Ctrl + Alt + Tキー同時押し

ペーストはShift+Ctr+V

となります

Ubuntu 24.02 でmd2googleslides

ttps://qiita.com/pyon_kiti_jp/items/da5080e9c7454e935aeb

ttps://qiita.com/k0kubun/items/0381ff8569e1efcc2b47

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash ls -l ~/.nvm | grep ins* source ~/.bashrc echo $NVM_DIR command -v nvm

を、参考にして、md2googleslidesを、使ってみる

npm install -g md2gslides md2gslides slides.md –title “Talk Title”

ubuntu 24.04 空のファイルを作れるようにする

右クリックをした時に、空のファイルを作れるようにする

ホームフォルダの中にある『テンプレートまたは、Templates』フォルダにファイルを入れると、そのファイルをもとに新しいファイルを作成できるようになります。ファイルマネージャやデスクトップの右クリックメニューから簡単に作成できます。

sudo touch ~/テンプレート/空のドキュ メント

または

touch ~/Templates/空のドキュメント

修正前

修正後

参考ページ

ttps://qiita.com/outou_hakutou/items/0a59b539457ccf084593#:~:text=Ubuntu%2022.04%20LTS%20%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%BE%8C%E3%81%AE%E3%80%81%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E5%9F%BA%E6%9C%AC%E8%A8%AD%E5%AE%9A%E3%82%92%E3%81%BE%E3%81%A8%E3%82%81%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%20%20%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E5%90%8D%E3%82%92%E8%8B%B1%E8%AA%9E%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%20,%20Dock%20%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A1%A8%E7%A4%BA%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E4%B8%80%E7%95%AA%E4%B8%8A%E3%81%B8%E7%A7%BB%E5%8B%95%E3%81%99%E3%82%8B%20%20%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%92%E5%85%A5%E5%8A%9B%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%20*%20%E5%8F%B3%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%81%8B%E3%82%89%E7%A9%BA%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B

動画の文字起こしと、ドキュメント化

Zoom会議などで、行った内容は

文字起こしして、ドキュメントの整理をしておくとあとで便利である

そこで、文字起こしの方法としては

1,Vrewを使って文字化する

2,Youtubeにプライベートでアップローソして文字起こしする

3,無料のアプリケーションを活用する(Mac系なら whisper transcription)

4.プログラム(Python)で、文字化する

無料の範囲で、動画が短い場合(1分程度)には

1,2,4がよいようである

1時間以上のものであれば、動画を分割して行うか

4当たりになるようである

また、ドキュメント化したものは、文章が不明確なものは

ChatGPTやClaudなどに読み込んで、精査してもらうといい

この時に、内容により、見出しを付けてもらったり

Q&Aの形式にしてもらったり

質疑応答の形などに整理してもらうと後で使いやすくなる

ネタ集めにGoogleフォームを使う

思いついた、ネタや、SNSに使う画像や、SNSで参考になる画像や

広告で流れてきた、画像など、取っておきたいことがある

また、後で、どこかよかったなどは、その時でないと忘れてしまうことがあるので、ためておきたい

そんな時には、Googelフォームを活用するといい

Googelフォームには、画像をアップロードする機能もあるかてである

作成、手順などを、整理していきたいと思う

ネットで調べてみる。キーワードは Googleフォーム アップロード

ttps://form.run/media/contents/googleform/google-form-image-attachment/

ttps://blog.form-mailer.jp/useful/google_attaching_file/

参考ページを参考にして作ってみた

確認する所は、登録後の一覧が見れるか

スマホからもアップできるかなど、確認します

ためしに入力してみます

添付した画像ファイルはGoogleDriveに格納され

管理用のシートには、GoogleDriveの画像URLが格納されました

回答からフォルダー表示にすると、格納画像の一覧が見れます

スマホ(iPhone)からも、画像の登録(アップロード)が

できましたが、一度、Googleアカウントでのログインが必要なようです

2回目からは、不要でした

LazarusとMysqlを使って、銀行口座データの仕分けを行う

月単位(月次)の収支の分析を行う仕組みを作って見る

流れとしては

銀行口座(GMOあおぞらネット銀行)の情報をCSVでダウンロードし、それを、Mysqlにアップロードし

内容別に、仕分けを行い、月単位(月次)の決算を行えるようにしたい

CSVのデータをMysqlへのアップロードする処理は、前回 PHPにて作成したため、Lazarusによる、仕分け設定の画面を作る

仕分けは、最終的な決算報告書に使えるように、費目勘定費目にして、さらに、分析できるように2階層にしたいが、当面は、1階層とする

勘定費目の内容も、DBにて管理したいが、当面は、Lazarus内の属性設定のデータとする

はじめに、属性を設定できる部品を作成する

コンボボックスにて、作成できるが、Lazarusの場合、HTMLの場合

のように、値と表示内容を持つことができるが

Lazarusの場合、値だけなので、StringGridとセットで扱うことにする

Lazarusで、新しいプログラムを作る時は、はじめにからのフォルダを作って

例:sortinng (仕分け)

Lazarusを起動し>

まず、部品として、ボタン、コンボ、Editbox1,Editbox2,StringGridを配置

StringGridに、属性の名前と値を設置する

Comboboxの機能確認

ボタン1をクリックして、名称をコンボボックスにセットする

ボタン1を押すと、abc,efgがセットされ

ボタン2を押すと、opq,rstがセットされる

次は、ボタン3で、StringGridの内容を、

ComboBoxにセットしてみる

まずは、ハードコーディングにて

うまくいったので、動的に行ってみる

次は、comboBoxで選択された内容の属性を取得してみる

これで、Comboxの内容をEdit2に、それに対応する値をEdit1にできた

StringGridを追加して、データーベースから読み込む

Google Spread Sheetでデータベスを作る

GoogleSpreadSheetを元に、Mysqlのデータベースを作るプログラムを作ってみる

対応は

タイトル名 ー> データベース名

シート名 ー> テーブル名

シートの中は、

フィールド名

フィールドの型

コメント

データ

として、1列目に、上記内容を指定できる書式とする

フィールド名 ー> fieldname

フィールドの型 ー> fieldtype

テーブルのコメント ー> table comment

フィールドのコメント ー> fieldcomment

SQLのテンプレート -> template

データ ー> >

コメント ー> #

言語はPHP

データはGoogleSpreadSheet

取得方法はGoogleAPI

作成はMysql

とする

データの元となるGggleSpreadSheetを使って、閲覧許可にして置く

ID を、取得しておく

以下を参考にして

https://www.otsuka-bs.co.jp/web-creation/blog/archive/20230904-03.html

接続とタイトルの取得確認をする

シートの内容は、以下のような感じ

実データを書き込むと以下になる

fieldtypeを2行にしてみました

作成した、シートは閲覧許可にしておく

データを参照するプログラムは以下となる

では、

テーブル名と

フィールドの行を見つける

フィールドのタイプを見つける

Create文を作ってみる

フィールド名の位置はどは、ハードコーディングですが

これで、デーブルの作成と、データのインポートができました

一応数値が空の時の処理も、無事対応できているようです

あとは、一度にテーブルを読む込できるようにします

2回目で、不要なテーブルは先頭に-(マイナス)を付けておいて、スルーするようにしよう

また、テーブルをDropして、強制書き換えもできるが、必要なときには、機能を追加してみます

PHPでCSVファイルによりMysqlを更新

前回の続きで、PHPを使ってメールでアップロードしたCSVファイルでデータベースを更新する処理を作ってみます

行う内容としては

1,CSVファイルの解析

2,対象となるデータベース、テーブルの特定

3,データベースの更新(追加)

4,結果のレポート

となります

まず、CSVファイルの解析は

ファイルを開いて、データーの取得です

ファイルの大きさにもよるのですが

PHPには、CSVを読み込む関数があるので、それを使ってみる

また、1行目がフィールド名になっている事が多いので、

1行目は特別とします

データは、以下のような形式になります

ファイルを扱う場合、文字コードも意識しないと行けないのですが

文字化けに注意しながら進めてみる

ファイル名を

inp_file.csv

とすると

まずは、データベースを固定して

追加の文章を作ってみよう

insertとupdateがあるが全てinsertとしよう

ただし、以前にアップロードしたデータについては

除外することにする

1行目のヘッダーとカラムの対応表が必要になる

INSERT INTO テーブル名 (列名1, 列名2,…) VALUES (値1, 値2,…);

となるので、列名と値の対応が必要になる

列名を、ヘッダーに合わせて、順番を変更するか

あるいは、確定して、行く方法もあるが、順番は確定として

進めることにする

次に、重複を避ける方法として、レコードを特定するユニークなコードがあればいいが、必ずしもあるとは、限らないため

データの一致にて行うことにする

つまり、フィールドが全て、同じ場合は、見送りとし

カラムがわずかでも変わっていた場合には、新規に追加するものとする

INSERT INTO テーブル名 (列名1, 列名2,…) VALUES

まで、固定で、

(値1, 値2,…);

を、入力したデータにて変更するよになる

SQL文を、文字列で作成する方法もあるが、エラーチェックは、インジェクション処理などの処理を含まれた、処理を行う

データベース名
openbook

テーブル名
tp_gmo_corp

“日付”,”摘要”,”入金金額”,”出金金額”,”残高”,”メモ”

データベースへの書き込み(insert)はで行う

文字化けしたので

mb_convert_encoding($line,”utf-8″,”auto”)

を、追加した所、エラーとなった

sudo apt-get install php-mbstring

で、行ったが、やはりダメ

sudo apt install php7.4-mbstring

で、上手く行った

次は

could not find driver

のエラーになった

sudo apt-get install php7-mysql

では、読み込めなかったので

sudo apt-get install php7.4-mysql

で、解消した

これで、CSVに従って書き込んでいたら

数値カラムのInsertでエラーになった

$culum=””;

で、数値のカラムに入れるとエラーになる

””のときは、0に書き換える必要があるとると

カラムの属性情報も管理しないといけない

手抜きは、できないようである

まずは、ハードコーディングで、サンプルを書き込む所まで

行ってみる

ファイルを開けて、追加してみる

2つの処理を合体してみよう

これで、複数行の挿入ができた

次に、重複チェックを行う

既に登録済の行は登録しないようにする

行を特定する、カラムがないので、全てのカラムの一致で、除外するようにしてみる

一応できたが、データ依存性が大きいので、これをいかに、汎用化するか

まずは、ヘッダーにより、フィールドの定義を行う

これをもとに、前回のプログラムを書き換えてみます

重複検索のカラムの範囲と、挿入するカラムの範囲の処理はこれから

Stripのときには、不要なカラムが多いのと、ユニークカラムがあるので、この時に活用していく予定です

データディクショナリーは、Jsonに落として、外部にする事もできそうです

既存のデータを調べて、重複部分から、テーブルを特定する方法もあるが

当面は、この方法で

また、データディクションリーから、新規テーブルも作れるが

はじめの1回なので、後でいいかな