2023年1月27日金曜日

最近話題のChatGPTを触ってみた

 

どうも。ひっくです。

ChatGPTという人工知能のサービスが最近話題を集めています。

興味を惹かれたので、私もChatGPTを試してみました。その感想を今回は書こうと思います。

ChatGPTとは


ChatGPTとは、米国のOpenAIが開発した対話式言語システムを採用するAIです。

2022年11月に公開され、わずか1週間も経たないうちに登録ユーザー数がなんと100万人を突破したそうです。

以下のようなことができるとされています。

  • 対人のような会話
  • Excelマクロの生成やプログラムコードの生成
  • 文章(小説や脚本等)の生成

 

ChatGPTを使用する


  1. ユーザー登録する

    こちらから登録します。(電話認証あり)

     

  2. チャット入力欄で質問を記載します。

    日本語に対応しているため、入力は日本語でOKです。

    実際に使用してみた動画が以下になります。

    途中フリーズしたので、再実行しています。(再実行時に回答が変わる点にも注目してください。)

     

 

使用してみた感想、まとめ


会話がかなり自然にできるということには率直に驚きました。

回答が長文傾向にありますが、「簡潔にしてみて」というと要約して短くしてくれます。

文の添削用途にも活用できそうです。

 

とはいえ、ChatGPTからの回答は正しくない、適切でないことも多くあるというのが使ってみての感想です。

強化学習によりユーザーとの対話の中で適切に修正されていくこともありますが、ユーザーが誤った情報を

正しいと教えてしまった場合には、応答結果が誤ったものとなる可能性は常にあります。

ファクトチェックは欠かせない、ということに気を付けましょう。(自分の専門範囲外の内容は特に)

 

興味を持った方は実際に使ってみてください。

今回はこのへんで。ではまた!

2023年1月22日日曜日

腰痛とデスクチェアの寿命

 こんにちは、やっまむーです。

先週の頭から腰痛が続いて日々の生活がつらいです。
仕事中もたびたび痛みを感じて、集中しにくい状況です。
姿勢の悪さが原因だと思いますが、こんなにつらいとは思いませんでした。

デスクチェアにも寿命

最初は自宅のデスクから立ち上がった際に尾てい骨付近に痛みを感じました。
その後、徐々に腰や背中、太ももの方まで痛みだしました。
背中や太ももは、痛みをカバーするために変に力が入っているのかなと推測。
そして数日すごして気づいたのが、職場よりも自宅のデスクチェアの方が座っているのが辛いことがわかりました。

調べてみると理由に納得。

触っている場所が丁度普段座っている部分ですが、クッション性がほとんどありません。
体重で中のウレタンフォームが完全にへたっています。
更に一部には突起物の感触があります。

座面の板と、隙間からネジが飛び出ていました。
ネジが刺さることはありませんが、クッション性がなくなった座面では触るとうっすら感触があります。
板の上に座っているような状況になっており、これで姿勢悪く座れば具合が悪くなるのも納得です。

購入から4年、そのうち1年はテレワークで毎日8時間以上座っていました。
外観は目立った劣化はありませんが、座面がこのような状態では長時間座ることはしんどいので買い替える事にしました。
今使用しているゲーミングチェアは価格だけで決めたので、次は座面の質などもじっくり検討しようと思います。

皆さんも腰をお大事に。
ではではー。

2023年1月15日日曜日

GAS(Google Apps Script)でYouTubeのデータ取得

こんばんは。ざわです。

今回はGAS(Google Apps Script)を使って YouTube のデータ取得をしてみようと思います。


作業の流れ

  1. GASのプロジェクト作成
  2. プロジェクトにYouTube Data API のサービス追加
  3. YouTube Data API を利用して個別動画の情報を取得

GASのプロジェクト作成

 GASを使うのは今回が初めてなので、プロジェクトの作成方法から書いていこうと思います。
 YouTubeから取得したデータは最終的にGoogleスプレッドシートに表示しますので、
 GoogleスプレッドシートにGASを紐づけて使用する方法(コンテナバインド型)で作成していきます。

 1.Chromeで自身のGoogleアカウントでログインし、Googleドライブを開く。


 2.マイドライブで右クリックし、[Googleスプレッドシート]>[空白のスプレッドシート]を選択。




 3.スプレッドシートで[拡張機能]>[Apps Script]を選択し、GASの画面を表示する。





プロジェクトにYouTube Data API のサービス追加

 1.サービスの「+」ボタンをクリックし、「YouTube Data API v3」を選択してサービスを追加する。



YouTube Data API を利用して個別動画の情報を取得

 ・今回は弊社の AIMEKチャンネルの「特急「しまかぜ」個室で行く伊勢志摩【社員旅行2022】」の動画情報を取得してみます。
 ・個別動画の情報を取得するので Videos リソースを使用します。
 ・取得する情報は以下とします。取得情報のプロパティはAPIリファレンスを参考に。
   ・タイトル
   ・再生回数
   ・いいね数
   ・コメント数
   ・投稿日時
   ・概要

function myFunction() {
  // 動画のURL
  const url = "https://www.youtube.com/watch?v=UdNCHGaWcb4"

  const sheet = SpreadsheetApp.getActiveSheet();
 
  // スプレッドシートにヘッダ行をセット
  sheet.getRange(1, 1).setValue("タイトル");
  sheet.getRange(1, 2).setValue("再生回数");
  sheet.getRange(1, 3).setValue("いいね数");
  sheet.getRange(1, 4).setValue("コメント数");
  sheet.getRange(1, 5).setValue("投稿日時");
  sheet.getRange(1, 6).setValue("概要");

  // 情報取得
  const {
    title,
    publishedAt,
    description,
    viewCount,
    likeCount,
    commentCount
  } = getVideoData(url)

  // 取得値をスプレッドシートに出力
  sheet.getRange(2, 1).setValue(title);
  sheet.getRange(2, 2).setValue(viewCount);
  sheet.getRange(2, 3).setValue(likeCount);
  sheet.getRange(2, 4).setValue(commentCount);
  sheet.getRange(2, 5).setValue(publishedAt);
  sheet.getRange(2, 6).setValue(description);
}

function getVideoData(url) {
// URLからビデオIDを取得
const urlArray = url.split('?v=')
const videoId = urlArray[urlArray.length - 1]

// YouTube Data APIにて情報を取得
const results = YouTube.Videos.list('snippet,statistics', { id: videoId });
const { items } = results
const { statistics, snippet } = items[0]
const { title, publishedAt, description } = snippet
const { viewCount, likeCount, commentCount } = statistics

return { title, publishedAt, description, viewCount, likeCount, commentCount }
}

 上記を実行した結果のスプレッドシートがこちらになります。




今回は1つの動画の情報だけを取得しましたが、
次はチャンネル内の複数の動画の一覧を取得をしてみたいと思います。
それではまた。

2023年1月6日金曜日

C#でFTP接続するならFluentFTPを使おう

 

どうも。ひっくです。

C#でFTP接続する機能を実装する場合、検索するとFtpWebRequestを使用する例が良く出てきます。

しかし.NET 6 以降では、FtpWebRequestは使用が非推奨となり、FTPはサードパーティライブラリの使用が勧められているようです。

今回は、サードパーティライブラリで使い勝手が良さそうな「FluentFTP」について紹介します。

FluentFTPについて


NuGetでリリースされるFTP 、 FTPS ライブラリです。

MITライセンスのため、商用利用も可能です。

広範な FTP コマンドに対応しており、以下のようなことができます。

  • ファイルのアップロード/ダウンロード
  • SSL/TLS 接続
  • ディレクトリ リストの自動解析
  • ファイルのハッシュ/チェックサム
  • ファイルのアクセス許可/CHMOD etc.

 

詳細は公式のREADME.mdを参照してください。

 

FluentFTPを使用する


  1. NuGetでFluentFTPをインストールします。
  2.  

  3. using ディレクティブを追加します。
  4. using FluentFTP;
    

FluentFTPの使用例


  1. FTPサーバーへの接続確認、接続権限有無の確認

    // FTPクライアントを作成して、FTP接続。
    using var conn = new FtpClient("192.168.131.222", "ftpUser", "ftpPass");
    conn.AutoConnect();
    
    // FTPサーバーへの接続結果を確認
    var isSuccess = conn.IsConnected;
    
    // 指定ユーザー、パスワードでの接続結果を確認
    isSuccess = conn.IsAuthenticated;
    
  2. ファイルアップロード、ファイル移動

    using var conn = new FtpClient("192.168.131.222", "ftpUser", "ftpPass");
    conn.AutoConnect();
    
    // ファイルアップロード
    conn.UploadFile(@"C:\UploadFile.pdf", "/docs/UploadFile.pdf");
    
    // ファイル移動
    conn.MoveFile("/docs/UploadFile.pdf", "/docs/sub/UploadFile.pdf");
    
  3. ファイル存在確認、ファイル削除

    using var conn = new FtpClient("192.168.131.222", "ftpUser", "ftpPass");
    conn.AutoConnect();
    
    // ファイル存在確認
    if (conn.FileExists("/docs/UploadFile.pdf"))
    {
        // ファイル削除
        conn.DeleteFile("/docs/UploadFile.pdf");
    }
    

 

上記は1例となります。

他の使用例については、公式のサンプルを参照してみてください。

 

まとめ


FTP操作をしたい場合、FluentFTPは使い勝手が非常に良いと思います。

C#でFTP接続する機能を実装する場合、使用してみてはいかがでしょうか。

 

今回はこのへんで。ではまた!

2022年12月25日日曜日

ルーターのペアレンタルコントロールを考える

こんにちは、やっまむーです。

子供のクリスマスプレゼントにポケモン スカーレットを買いました。
今のところ決められた時間を守ってプレイしているので、親として五月蠅く言うことはありません。
ただ、今後ゲームを進めていった時、大きくなった時も守ってくれるかはわかりません。
というわけで、我が家でできるペアレンタルコントロール機能について検討していました。

ルーターでできるペアレンタルコントロール

Nintendo Switch本体で設定するペアレンタルコントロールについては、公式に情報があるのでそれを参考に設定します。

みまもり設定(保護者による使用制限)

次に検討するのは、スマホやタブレットの利用時間です。
布団の中に持ち込んでこっそりと利用する、そんな時期が私にもありました。
(そして見つかって没収される・・・)

SNSやソシャゲを利用する際はネットに繋がることが前提となるため、端末単位で利用時間の制限を設けます。
利用時間の制限については、最近のルーターだと標準装備になっているようで、我が家のAsus製ルーターにもペアレンタルコントロール機能がありました。

一つはアクセスできるサービスを制限するフィルタリング。
MACアドレスによる端末指定で、利用できるコンテンツに制限をかけます。
子供が利用する可能性があるものは、成人向けフィルターを設定するのが基本になりそうです。

もう一つが利用時間帯を制限する時間設定。
こちらは指定した曜日や時間だけネットに繋がるようにするものです。
深夜の時間帯は基本的に除外し、年齢によって制限を緩めていく使い方になります。

ここでは時間帯しか選べませんが、メーカーによってはタイマー式で「〇時間だけ利用可能」という設定ができるものもあります。

ルーターを選ぶ際、通信速度以外あまり意識することはありませんが、お子さんがいる家庭ではこういった機能についても検討してみてはいかがでしょうか。

ではではー。

2022年12月18日日曜日

NAS(Synology DS218j)を3年ほど使ってみた感想

 

こんにちは。よっしーです。

自宅でNASを運用してから、今年の冬で3年がたちます。

基本はスマホやPCのデータ置き場として使用しているため、

あまり機能を使いこなしているとは言えませんが、

低価格なのにいろいろ出来ちゃうので、良いと思うところをご紹介。


■■■ 外部からNASに簡単アクセス ■■■

NASって家のローカルサーバというイメージでしたが、

外部からもアクセスが可能です。ファイル共有はもちろん、

QuickConnect機能を使えば、リモート接続もでき、

NASの再起動やシャットダウンなども行えます。

(ブラウザからQuickConnectサイトにアクセスし自分のNASのIDで接続するだけ)

(NASに接続できました)

(管理メニューからソフトをインストールしたり、シャットダウンなんかもできる)


■■■ ブラウザでファイルを公開できる ■■■

外部とのファイルの受け渡しをNAS上で行うことができます。

サイズの大きいデータなどを受け渡しするとき、置き場所に困ったりしますよね。

NASがあれば解決です。しかもブラウザ経由で簡単にアクセスできます。

(NAS上のファイルの共有メニューでリンクアドレスが出ます)

(公開する期間やアクセス許可数なども決めることが可能です)

(ブラウザからアクセスするとダウンロード画面になります)

■■■ 簡単にRAIDが組める ■■■

NASには耐久性のあるNAS向けのHDDを使う方が多いと思いますが、

ちょっとお高めなので、私は通常のPC向けのHDDをNASに使っています。

基本、24時間365日稼働させるサーバなので、故障するリスクを考えて

RAIDを組みました。NAS構築時にメニューから選択するだけで

簡単にRAID構成を組むことが出来ます。

(6TのHDDをRAID1(ミラーリング)で運用しています)

3年間、ほぼ休みなしで今のところ故障することなく動作を続けています。


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

NASを運用してみて、一番大きいと思った恩恵は「外から繋ぐことが出来る」

ということですね。

頻繁には使わないですが、いざという時に外からアクセスできて、

ファイルを出し入れできるのが素晴らしいと思います。


PCを組むよりも遥かに安上がりですので、

自宅でNAS運用を皆さんも始めてみませんか?

ではまた~。

2022年12月12日月曜日

『NAKED FLOWERS 2022 秋 世界遺産・二条城』で次世代型アート体験してきました

こんばんは。ざわです。

今回は、先月末(2022年11月)に訪れた『NAKED FLOWERS 2022 秋 世界遺産・二条城』について書かせてもらいたいと思います。

こちらは、公式サイトから引用しますと、
京都エリアを一つの“庭”として捉え、リアルとメタバースのバーチャル世界がクロスオーバーし、
さまざまなエリアで京都を楽しむことができる次世代型アートプロジェクト「NAKED GARDEN ONE KYOTO」を京都各所で開催中で、
その中の特別イベントが『NAKED FLOWERS 2022 秋 世界遺産・二条城』とのことです。

実は、当日会場に入るまで
リアルとメタバースのバーチャルがクロスオーバーする次世代型アート体験イベント??
よく分かっていませんでした・・

入口辺りで QRコードからアクセスしたサイト(NAKED GARDEN)でアカウント登録をしたり、アバターを選択したりする必要があります。
(何のためにするんかいな?と思いつつ、、周りからは「これしないとあかんの?」って言っている人の声も聞こえてきたり・・)

プロジェクションマッピングで演出された重要文化財「唐門」や庭園のライトアップを観ながらすすんでいき、
内堀に着いたときに上記サイトにアクセスした意味が分かりました。

NAKED GARDENのサイトで、お花の種からお花を咲かせて好みの色を選択します。
そこに表示されるQRコードを、会場に設置している機械にかざすことで、自分のお花が内堀のプロジェクションマッピングに映し出される仕組みになっているのです!

このプロジェクションマッピングがすごくすごく綺麗でした。
動画の最初のほうで水面から咲いていくお花が、自分や会場の皆さんが咲かせたお花ってことなんですね。



プロジェクションマッピングを堪能した後、
清流園の紅葉のライトアップを観ながらすすんでいきますと台所前庭に着きます。

ここでは「DANDELION」という世界と繋がるアートを体験できました。

先程と同じように、サイト上で自分の好きなアルファベットの文字(名前とかメッセージとか)を入力して
QRコードを機械にかざすと、タンポポの綿毛とともにその文字が舞い上がって表示されます。
綿毛がネットワークを通じて世界中に舞い各地に設置された「DANDELION」のそばで花を咲かせる、とのことです。


そういえば、最初にアバターを選択したのはなんだったんだろ、と思い
NAKED GARDENのサイトを見るとバーチャル会場がありました。
唐門や内堀にアバターを移動させてプロジェクションマッピングを観たりすることができました。
(グレーの丸部分を動かすとアバターがガシガシ動く。顔が無表情で怖い・・)
これがメタバース体験ですね。


この二条城のイベントは12/4までで終わっていますが、また来年も行きたいなと思えるイベントでした^^/