2024年4月19日金曜日

IPAの登氏いわく ~利用するのでなく、作れることが大事~

 VPNシステムを独自に組み上げる方で、自分も登氏のソフトを利用させていただいた。その方が述べている。

「クラウド人材」とはクラウド技術やクラウドサービスを設計・実装・運用する提供側の人材を意味する。AWSや Azureを活用したり、認定資格を取得したりすることではない。」

https://japan.zdnet.com/article/35217768/ 

 日本は、クラウド人材を育成しようとしたけど、結果的に、クラウド人材できず、高額な使用料を外資系クラウドに払い続けることになってしまった。障害が発生してもブラックボックスなので解決不可能とのこと。

 最初に、ルールを決めてしまったもの勝ちみたいなところは、どうしてもあるのかもしれない。

reactを使ってみた

sudo npx create-react-app react-sample --template typescript

では、だめで、sudoなしだと、うまくいくようだった。

node関連のインストールを行うが、バージョンが合わないといろいろ設定に手間がかかるようだった。

なお、警告が出たので

npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.

npm install tar@6 -gtar としたら、解決



2024年4月18日木曜日

車のエンジンが安定しない

 18年目になる車なので、あちこち不具合も出やすい。一度、プラグがオイル汚れが原因で調子悪かった時があり、修理してもらったが、また似たような症状出ている。イグニッションコイルもまだ大丈夫なはずだし。

 試しに、プラグへのケーブルの差込口すべてに、接点復活材をつけてみたら、少し安定してきたような気もする。イグニッションコイルへのヒューズも念のため、接点復活材をかけておいた。昔、カローラに乗っていたとき、エンジンが安定しないときがあり、ディーラーでもしばらく原因をつかめなかったが、しばらくしてプラグコードの断線が原因だったことが判明。エンジンの不安定は、電気系統が原因になっていることが多い感じもするので、これで、少し様子をみてみたい。

2024年4月16日火曜日

ChatGPTのAPI用コードをC#で

 ネット上には、C#の例がなかったので、curlのサンプルをもとに、ChatGPTも活用しながら、コードをつくったら、うまくいった。

        string apiKey = textBox4.Text;
        string apiUrl = "https://api.openai.com/v1/chat/completions";
        var requestData = new
        {
            model = "gpt-3.5-turbo",
            messages = new[]
            {
       new { role = "system", content = "ウオーキング愛好者です" },
       new { role = "user", content = "東京都内のおすすめな散歩コースは?" }
    }
        };
        string requestDataJson =     Newtonsoft.Json.JsonConvert.SerializeObject(requestData);
        using (var httpClient = new HttpClient())
        {
            var request = new HttpRequestMessage(HttpMethod.Post, apiUrl);
            request.Headers.Add("Authorization", $"Bearer {apiKey}");
            request.Content = new StringContent(requestDataJson, Encoding.UTF8, "application/json");
            var response = await httpClient.SendAsync(request);
            string responseBody = await response.Content.ReadAsStringAsync();
            MessageBox.Show(responseBody);
        }

 あとは、responseBodyのパースを行う方法を実装する予定

2024年4月11日木曜日

vs-code live serverがwslで動作しない

 wslでLive Server使おうとしたらブラウザが開かない現象があった。

settignsを以下のようにしたら解消した。

{
    "workbench.colorTheme": "Default Light+",
    "liveServer.settings.donotShowInfoMsg": true,  
    "liveServer.settings.useLocalIp": true,
    "liveServer.settings.CustomBrowser": "chrome",  
    "liveServer.settings.AdvanceCustomBrowserCmdLine": "/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
}

chrome.exeの場所はWin11の場合です。他のOSだと、調べる必要あるようです。

2024年4月8日月曜日

raspiでdocker(備忘録)

 raspiでもdockerが使えそうなので試してみた。

https://tech-lab.sios.jp/archives/27798

上記が参考になった。ただ、OSは64bitでないとだめだった。dhcpcd.confの設定で手間取った。固定にするための設定が、こちら

interface eth0
static ip_address=192.168.1.ここに数字/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8
profile static_eth0
fallback static_eth0
順不同

sudo docker run -d --name=nginx -p 8080:80 nginx
が正しいコマンド

docker-composeは32bitではうまくいかなかった。それもあって、64bitに入れなおしたのですが。。docker-composeは非常に便利。
sudo docker-compose up と、管理者権限が必要なようだ
この方法で、WordPressなどもインストールができた。
(ただし、64bitならymlではarm64v8/wordpressと指定してやらないとだめだった。)

よく使うコマンドは

docker ps -a (コンテナID表示)
docker stop コンテナID
docker rm コンテナID

docker rmi イメージID

docker image ls
docker login
docker image push [イメージ名] でpush
docker image pull nginx

複数コンポーネントを扱う時は
docker-compose exec wordpress bash

コンテナ内の確認
docker exec -it コンテナ名かID bash   抜けるにはexit
エディタがないのでインストール必要
docker restart コンテナ名 で反映

バックアップしたいときは
docker cp <container-name>:/var/www/html/content /path/to/backup/directory
docker exec <mariadb-container-name> /usr/bin/mysqldump -u <username> -p<password> <database_name> > /path/to/backup/directory/backup.sql
等など 


2024年4月7日日曜日

minikube セット

 https://qiita.com/trtrbohz/items/f7357d44b2b3d08d9c24

リンクを参考に、Wslでセットしてみたが、権限の関係でうまくいかない

minikube start --driver=docker --force として、--forceをつけたらうまくいった。

https://zenn.dev/yukiko_bass/articles/397e3270f1f3de

にあるように、minikube dashboardで、ローカルのリンクをクリックすると

ブラウザで状態を確認することもできるよう。まだまだ奥が深いようで、概要を把握するだけでも、時間はかかりそうです。

※その後、しばらくして 試したら

 Exiting due to HOST_JUJU_LOCK_PERMISSION: というエラー

rm /tmp/juju-*で解決した。rootユーザーと非rootユーザーの切り替えあたりが関係しているとか、ネットにはでている。

コマンドだけで、簡単にサーバが追加できたり、なかなか便利なものだと感心する。そのためのコマンドを理解してないとだめなわけですが。