The Peripheral:接続された未来。 #アマプラ

2022.11.08

Logging

おはようございます、昨日の朝はなんだか寒かったですね🫠。

ペリフェラル -接続された未来のシーズン1の一話だけ観ました、一話だけなのでココから面白くなるかも知れませんが、ちょっとグロいシーンが一話の最後あたりにあったりして自分はこれからもこういうシーンが出てくるのかなと思い一話観ただけでお腹いっぱいになり観るのが止まっています。

The Peripheral Season 1 – Teaser Trailer | Prime Video
The Peripheral:接続された未来

ストーリーは面白いけど、結末は現実か仮想なのかが分からなくなって主人公が潰れてしまう気がします。もし自分が現実と仮想世界か見分けがつかないゲームにハマったら多分、一話目で潰れて人格が崩壊してしまいそうです😨。

でも、その内、そういう世界になるという事だけは確かな事です。脳にダイレクトに信号を送り仮想ゲームを楽しめるようになると・・・(何故、言い切れるかといえばこういう事が出来だしたからです「脳波から言葉を生成するAI「Brain-to-Text」 “声道”への指令を解読、言葉に変換」)。

そういう事への警鐘を鳴らす作品だと思います。

トイウコトデ、二話以降は時間の合間、合間に見ていこおうと思っています。

タグ

, AI, Brain, Peripheral, The, アマ, ゲーム, ココ, これ, シーズン, シーン, ストーリー, ダイレクト, プラ, ペリフェラル, , 世界, 主人公, , 人格, 仮想, 信号, , 崩壊, 接続, 昨日, 最後, , 未来, , 現実, 生成, 結末, , 脳波, 腹いっぱい, 自分, 言葉,

phpでソケット受信をする事だけ覚えとけば良い。#php #code

2022.10.27

Logging

おはようございます。Socket.ioというサービスをご存知ですか。あれ良いですよね。

さて、Socketとはいう意味は割愛させて頂き、知っていることを前提に話しますとPHPでSocketサーバーは立てれないじゃないかなって今のところ思っています。localhostや0.0.0.0とかならSocketサーバーは立てれるけど、ドメイン有りきでは難しいような気がします。

なので、Socket.ioなんかを使用してnode.jsなんかでサーバーを立てるのが定石かと思います。尚、webSocketのサーバーに対してPHPで送受信は可能です。要するにクライアント側はPHPでも可能ですね。

自分もAPIサーバーに対して常時通信処理を行っています。

PHPライブラリの使用して接続を確立しています、ライブラリはratchetという有名所のライブラリを使用しています。

composer require ratchet/pawl
<?php

require __DIR__ . '/vendor/autoload.php';

\Ratchet\Client\connect('wss://example.com')->then(function($conn) {
    $conn->on('message', function($msg) use ($conn) {
        echo "Received: {$msg}\n";
        $conn->close();
    });

    $conn->send('Hello World!');
}, function ($e) {
    echo "Could not connect: {$e->getMessage()}\n";
});

上記のようなPHPのソースコードで送受信が可能です😋

タグ

0.0.0.0, API, Code, Composer, io, JS, localhost, node, php, ra, ratchet, require, Socket, webSocket, あれ, クライアント, こと, ご存知, サーバー, サービス, ソケット, ところ, ドメイン, なん, ライブラリ, , , 使用, 処理, 前提, 割愛, 受信, 可能, 名所, 定石, 常時, 意味, 接続, , , 確立, 自分, 送受信, 通信,

インターネットが常時接続が当たり前になって数年。

2022.09.24

Logging

おはようございます、予約するのを忘れて今記事を書いています🫠。

先日、ふと思ったことを記載しますね、インターネットの常時接続が当たり前になってから、10年以上の時間が経過しています。

そんな中、この頃TVの劣化が酷いなと感じることもあります、それぐらい劣化している気がします。番組も健康商品などの通販TVが多く感じます、また、コマーシャル(CM)も健康商品か保険のCMが多い気がします。

『天才の頭の中: ビル・ゲイツを解読する』予告編 – Netflix

これはどの局も同じで、どんどんとTVが劣化していっている証拠なのかもしれません。もうTVを見るのは高齢者ばかりになっている気がします。因みに私達の世代ももうインターネットでYOUTUBE等を見る割合が増えているらしいです。

そう思うと自分達が老人になる時にはTVって存在感がますます薄れていくのか、TVがインターネットへ寄り添う形、例えば今、実験的に始まっているTVの放送をインターネットに流す試みを定着させるしか他ならないような気がします。

何にせよ、あと数十年後にはYOUTUBEが老人のプラットホームになることは間違いないでしょう🫠、その頃、若者たちはVR等の違うプラットホームで生きていると思います。

時代の流れを感じる今日此の頃でした。

タグ

10, CM, TV, youtube, インターネット, こと, コマーシャル, これ, それぐらい, 世代, , 予約, , 保険, 健康, 先日, 割合, 劣化, 商品, 存在感, 定着, , 常時, 当たり前, , 接続, 放送, , , 時間, , 番組, , , 経過, 老人, 自分, 記事, 記載, 証拠, 通販, , 高齢者,

物体認識ではラズパイが必ず必要でもないとふと思った。

2022.06.24

Logging

おはようございます。記事の投稿の時間帯から変えようか悩んでいます。

さて、今日のお題は「物体認識ではラズパイが必ず必要でもないとふと思った。」です。Iot(Internet of Things)で脚光を浴びたのが小さなパソコンとも言われるラズベリーパイです。これを使用して温度計や湿度、気圧などを測ったりそれを記憶出来たりします。ラズパイにカメラを接続し機械学習させて物体認識なども可能です。

ただ、物体認識に言えばお使いのWindowsやMacの入ったパソコンでもそういや出来てしまうなと思ったので、それを記事にしました。物体認識で重要なのはやはり学習なのですが世の中にはオープンソースで機械学習をある程度してくれているモデルが出回っています。なので、そちらをベースに再学習させる事により学習が可能かと思います。

物体認識するためには、WEBカメラが必要ですし、機械学習が出来る環境構築も必要になります。例えばTensorFlow(テンソルフロー)が動作出来る環境だとか、、、因みに古いパソコンでもTensorFlow(テンソルフロー)のバージョンを変えれば動きます。githubのmasterを使用せず古いバージョンを使いさえすれば。

タグ

Internet, IoT, Mac, of, te, Things, web, Windows, オープン, お使い, カメラ, これ, ソース, そちら, それ, ため, はい, パソコン, ベース, モデル, ラズ, ラズベリー, , , , 今日, 使用, 可能, 学習, , 必要, 投稿, 接続, 時間, 構築, 機械, 気圧, 温度計, 湿度, 物体, 環境, 脚光, 記事, 記憶, 認識, 重要, ,

wifi6にルーターを買えてから数ヶ月して使用感。

2022.06.22

Logging

good morning all(皆さん、おはようございます).英語がわからなくてもITエンジニアにはなれます。

さて、wifi6の機能があるルーターに買い替えてから数ヶ月経過しましたので使用感を書いときます。まず、前より快速でネットワークに繋がります。そして何よりコリジョン(wifi通信の衝突)しなくなりました。これは一番、買い替えて良かったと思う部分です。

「これであなたもザックリ Wi-Fi 6 が分かる!? Wi-Fi 6奮闘記 納得編」第1352話

多くの端末をwifi接続しているとコリジョンが発生しwifiを再接続しないと通信が出来なくなったり遅延が発生します。この現象はwifiに接続数が多くなるほど発生率は高くなります。

なので、自宅でwifiを使用していて遅延や接続が出来ないなどの事象があればwifi6のルーターに変えた方が賢明かと思いますし、数年前のwifiルーターにはセキュリティ欠陥などもありますからね。

因みにwifi6対応のルーターは5000円から買える感じです。

タグ

5000, 6, all, good, IT, morning, wifi, エンジニア, コリ, これ, ジョン, セキュリティ, ネットワーク, ルーター, 事象, 使用, 使用感, , 多く, 対応, 快速, 感じ, 接続, , , 機能, 欠陥, 現象, 発生, 皆さん, 端末, 経過, 自宅, 英語, 衝突, 通信, 遅延, 部分,

開発環境はクラウドに持つべきか?いなか?悩ましすぎる問題🤔。

2022.05.29

Logging

おはようございます。

今まで開発環境はオンプレでしていましたが、外で開発した時やパソコンを買い替えるとデータなどをそのたびに移行しないといけなくなるという手間が発生したり、今ではあまり起きないのですがデータが消えたりする場合もありますよね。そう思うともうクラウドに開発データを移行しようかなって思っています。

MacBook Pro 14" M1 Pro Review For Programming

いろいろ調べた結果、開発データは手持ちのデータを使用してクラウドを使用する方法はあったのだけども全部クラウドで完結できる方法はイマイチ・・・、クラウドPCの中で開発するしか無さそうですね。実際、クラウドPCを使用したことがないのでなんとも言えないですが、それだと遅延などが発生しそう。

よってこの方法がベストかと思いました。

  1. 個人開発なのでローカルのデータをクラウドサーバーに転送後、削除。
  2. VScode拡張機能のsftpをインストールしてリモートでサーバーに接続。
  3. リモート側のデータを直接修正する。
  4. デプロイしたい場合はデプロイしたいサーバーへ転送。

因みにこんなサービスあるにはあります。githubを使用したりして・・・。

タグ

PC, SFTP, VScode, いなか, いまいち, いろいろ, インストール, オン, クラウド, こと, サーバー, それ, たび, データ, パソコン, プレ, ベスト, リモート, ローカル, , , 使用, 修正, 個人, 全部, 削除, 問題, 場合, , 完結, 実際, 手持ち, 手間, 拡張, 接続, 方法, , 機能, 環境, 発生, 移行, 結果, 転送, 遅延, 開発,

期待しているけど。どうなるかな○×○×庁の今後は🤔

2022.05.04

Logging

おはようございます。

デジタル庁事務方トップに浅沼尚氏が就任されましたね。ITのことを理解されている方が就任された事は本当に良かったと思います。ここから、どうなっていくのかな?サーバーはやはりAWSを使う感じですね、2ch創設者のひろゆき氏は国産サーバーにこだわっていましたが、まぁAWSが妥当だと思います。

これから先、首都直下型地震が起きてもホームページやWEBアプリなどは安定に稼働できるでしょう。首都直下型地震が起きても今はスターリンクがありますからね。衛生通信からネット接続が行えると思います。国産サーバーが何処にサーバーを設置しているか分かりませんが、日本は何処で地震が起きても可怪しくないわけですから、AWSを使うのはそういう面でも妥当だと思います。

因みにいまのマイナポータルはかなり使いづらいですよね。マイナポータルアプリ内で完結できないと恐らくポイント貰ったあとは何も使わないアプリになると思います。浅沼尚氏もそういう側面は分かっていると思うので徐々にアプリは改善されていくと思います。

浅沼尚デジタル監就任会見(令和4年4月26日 )

タグ

○×, 2, AWS, ch, IT, web, あと, アプリ, いま, かなり, ここ, こと, これ, サーバー, スター, デジタル, ドップ, ネット, ひろゆき, ポータル, ホームページ, ポイント, マイナ, リンク, , 事務, , 今後, , 何処, , 創設者, , 国産, 地震, 安定, 完結, 尚氏, 就任, 感じ, 接続, , 日本, 期待, 本当, 浅沼, 理解, 直下, 稼働, 衛生, 設置, 通信, , 首都,

SSDが破損しましたのでm.2 ssdにしたお話。

2021.08.17

Logging

先日、ワクチン接種を行いました。最初は全然問題ない感じだったけど数時間後、注射をした腕が痛くなりました?。ちなみに痛みは和らぎましたが、まだ痛みがあります。

さて、昨日の朝、パソコンの電源ボタンを押したところ、起動はするもののSSDが認識されない。何度、やっても電源がつかないのでOSの入ったSSDを取り出して他のパソコンで認識するか、USB接続をしてみた所、やはり認識がかなり不安定になっていたので仕方なくパソコン専門店さんにm.2を購入しに行きました。

SSD買うよりm.2 ssdの方が爆走に早いということは知っていたので、どうせ同じぐらいの値段なら起動速度などの早いm.2 ssdを買ったほうがマシだと思い購入しました。1万2800円の出費です。働いていたらどうってことのない金額でも今は結構痛い額です。

早速、m.2 ssdに取り替えてみた所、やはり爆速ですね????。こんなにも早いとは思いませんでした、超絶に早い!!!サクサクと動きます。

でも痛い額です。パソコンの性能が上がっても使っている人が技術を持ってなくては何も意味がないですよねぇとまじで思います。

タグ

, 2, 2800, OS, SSD, USB, お話, かなり, こと, ところ, パソコン, ボタン, まし, ワクチン, , 不安定, , , 何度, 値段, 先日, 出費, 専門店, 感じ, , 接種, 接続, , , 昨日, 最初, , 注射, 爆走, 爆速, 破損, , 認識, 購入, 起動, 超絶, 速度, 金額, 電源, ,

wifi中継機とルーターのブリッジモードの違いを知らずに散財した過去?

2021.08.09

Logging

髪の毛がたいぶ伸びてきて、うざく感じるようになってきたので来週には床屋さんに行きたいなと思っているのですが、何せ無収入?なので出費がヤダなと思っています。

さてwifi中継機とルーターのブリッジモードの違いを知らずに散財した過去?の話を書こうと思います。昔、ルーターのブリッジモードを使用しルーター同士をwifiで繋げれるだろうと思い、ルーターを二台購入し試してみた結果、駄目だったという切ない思い出があります。ブリッジモードは簡単に言えば親の通信を引き継ぐことが可能だけど優先LANケーブルで親と子を接続しないといけない、それとは違い中継機はDHCP機能もあったりする、wifi中継機の場合は当然、wifiで親とリンクしてインターネットに繋ぐことも可能だ。

要するにwifi中継機は一階に親のwifiがあり二階にwifi中継機があった場合などは長いLANケーブルを二階まで這わさず(はわさず)にインターネットの通信環境を整えることが出来るのだ。そこが中継機とブリッジモードの大きな違いでもある。あまり専門用語を使わずにwifi中継機とブリッジモードを話を書きましたが、分からない人はやはり専門の人に問い合わせすることをオススメします。

尚、wifi中継機などでA社やR社のショッピングで検索するといろいろは会社の中継機があるけど、なるべく新しい中継機を選ぶことをオススメします。その理由はセキュリティーがしっかりしているという事です。あと、購入後もファームウェアを最新の状態にするように説明書を読みながら設定することも大事になります。

【爆速】WiFi6ルーターを導入してみたら自宅マンションのネット回線が改善した話

因みにwifi6の機能があるwifiルーターを購入すると良いです、無線通信(wifi)が従来よりも早いらしいです。

タグ

DHCP, LAN, wifi, イブ, インターネッ, インターネット, ガタ, ケーブル, こと, それ, ブリッジ, モード, リンク, ルーター, ワザ, , 中継機, , 使用, 優先, 出費, 収入, 可能, 同士, 場合, , 床屋, 思い出, 接続, 散財, , 来週, 機能, 簡単, 結果, , , 購入, 通信, 過去, 違い, 駄目, 髪の毛,

外部VPSサーバーからさくらレンタルサーバーのDBに接続する方法。

2020.12.04

Logging

外部VPSサーバーからさくらレンタルサーバーのDB(データベース)に接続する方法は下記のコードだけでは上手く動かない。だけど、tmpファイルを生成時にパーティションにu+xの権限を与えればこのコードは要件をみたします。因みにプロセスが残ったままになるので接続が終わったら、プロセスを削除してあげてください。なのでどのプロセスを削除する機能として追加しないと使えないかな?、時間があれば完成したコードをアップします。

なお、変数の初期値はご自身で入れてください。あとポート開放expectが入っていない場合はyumなどでインストールする必要もあります。

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<meta name="Description" content="Enter your description here" />
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css">
	<link rel="stylesheet" href="assets/css/style.css">
	<title>ssh sqli</title>
</head>

<body>
	<?php
	print ssh_sqli_connect();
	?>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>

</html>
<?php
function ssh_sqli_connect()
{
	global $dblink,$dbname,$sshuser, $sshhost, $sshpassword,$host,$sshport;
	$ret = null;
	$cmd = "#!/usr/bin/expect -f
set timeout 3
expect -c \"spawn ssh -f -N -L $sshport:$host:3306 $sshuser@$sshhost -oStrictHostKeyChecking=no
expect \\\"$sshuser@$sshhost's password:\\\"
send \\\"$sshpassword\\n\\\"
\"
";

	$tmpfname = tempnam(sys_get_temp_dir(), 'ssh');

	$handle = fopen($tmpfname, "w");
	fwrite($handle, $cmd);
   	shell_exec("sh $tmpfname");
	sleep(3);
	$dblink = db_connect();
	try{
		for($id = 1 ;$id<=99;$id++){
			$ret = $dblink->query("SELECT * FROM $dbname.X.xtbl where $dbname.X.xtbl.id=$id;");
			if ($cnt = (int) mysqli_num_rows($ret)) {
			  $row = mysqli_fetch_assoc($ret);
			  print ($row["id"].", ".$row["name"]);
			}
		}
	}catch(PDOException $e){
		echo "失敗: " . $e->getMessage() . "\n";
	}

	fclose($handle);
	unlink($tmpfname);

	db_close();
	return "未完成";
}

function db_connect()
{
	global $dblink, $host, $user, $password, $dbname,$sshport;
	try {
		$dblink = new  mysqli("127.0.0.1", "$user", $password, $dbname ,$sshport);
		//$dblink->set_charset("utf8");
		return $dblink;
	} catch (PDOException $e) {
		echo "接続失敗: " . $e->getMessage() . "\n";
	}
}

function db_close()
{
	global $dblink;
	$dblink->close();
}

タグ

8, charset, db, DOCTYPE, en, expect, gt, head, html, lang, lt, meta, name, quot, tmp, UTF-, vie, VPS, yum, アップ, インストール, コード, ご自身, サーバー, さくら, データベース, パーティション, ファイル, プロセス, ポート, まま, レンタル, 下記, 初期, 削除, 場合, 変数, 外部, 完成, 必要, 接続, 方法, 時間, 権限, 機能, 生成, 要件, 追加, 開放,

マウスの動きをトラッキング(追跡)する。

2020.11.17

Logging

サイトのマウスの動きをトラッキングして行動パターンを知りたいという案件がクラウドでありました。応募はしていませんが考え方はこのような感じだと思います。ただ楽天サイトだという制約があったのでクロスサイトへ接続可能なのかはわからないけれど…ね?。

考え方のソースコードとdemoサイトのリンクを貼っときます、因みにIPを取れるJSライブラリもあるみたいなので、それを使用すると案件の内容が完結すると思います。
尚、PHPで再度、返却していますが、実際トラッキングする場合はPHP側でJSから送ったデータを保存処理を行う処理とクライアントが開いている状態のページの画面をキャプチャする機能などが必要になるかと思われます。そういう処理をPHP側で行わないといけないので、実際はJS側ではマウスのトラッキングとクライアントがブラウザで開いた画面サイズもPHP側に送信する必要はあるかなと。そういう事をPHP側に追加すれば良いのかと・・・感じました。

Demo22:: https://zip358.com/tool/demo22/

window.onload = function(){
	document.body.addEventListener("mousemove",(e)=>{
		var timeInMs = Date.now();
		document.querySelector("#log").innerHTML = navigator.userAgent + "<br>" + "x=" + e.offsetX  + "y=" + e.offsetY;
		var data = {timeInMs:timeInMs,userAgent:navigator.userAgent,x:e.offsetX,y:e.offsetY};
		move_xy(data).then(function(response){
			console.log(response);
		});
		
	});
};

async function move_xy(data){
	return await new Promise(function(resolve) {$.ajax({
		type: "POST",
		dataType: "json",
		url: "./move_xy.php",
		data: data,
		success: function (response) {
			if(response.res==="ok"){
				
				resolve(response);
			}
			resolve(false);
		},
		error:function(XMLHttpRequest, textStatus, errorThrown){
			resolve(false);
		}
	});});
}
<?php
$obj["timeInMs"] = $_POST["timeInMs"];
$obj["userAgent"] = $_POST["userAgent"];
$obj["x"] = $_POST["x"];
$obj["y"] = $_POST["y"];
$obj["res"] = "ok";

print json_encode($obj);

タグ

demo, IP, JS, php, あるかな, キャプチャ, クライアント, クラウド, クロス, コード, サイズ, サイト, ソース, それ, データ, トラッキング, パターン, ブラウザ, ページ, マウス, ライブラリ, リンク, , 使用, 保存, , 内容, 再度, 処理, 制約, 可能, 場合, 完結, 実際, 必要, 応募, 感じ, 接続, 案件, 楽天, 機能, 状態, 画面, 考え方, 行動, 返却, 追加, 追跡, 送信,

音飛びしないブルートゥースは?

2020.07.27

Logging

音飛びしないブルートゥースの選び方を教えます?、パソコンにブルートゥースで接続する場合、ブルートゥースの規格は双方同じバージョンにするべしです。まず、ヘッドホンのブルートゥース5.0推奨の場合でパソコンのほうがそれよりバージョンが低いブルートゥース4.0とか使用していると音飛びが必ず発生します。ブルートゥースには下位のバージョンとの互換性はあるもののブルートゥース5.0と4.0では伝送通信速度にはかなりの差があります。

例えばYOUTUBEの動画の音源をブルートゥース4.0でワイヤレス(ブルートゥース)ヘッドホンに飛ばす場合、4.0で音データを飛ばすよりブルートゥース5.0で飛ばすほうが飛躍的にデータ量を飛ばすことができます。

例えるならYOUTUBEを4G回線で見るとたまに遅延しますよね、それと同じ現象がブルートゥース4.0で起きているのです。だから音飛びが発生するのです。なので音楽を音飛びしないで聞きたい場合はブルートゥース5の規格を選ぶことを強くお勧めします。それでも音飛びがする場合、初めて外部の妨害電波か機器がブルートゥース5.0非対応もしくは機器の故障を疑いましょう。

タグ

4, 4.0, 5, 5.0, youtube, かなり, こと, それ, たま, データ, バージョン, パソコン, ブルートゥース, ヘッドホン, ワイヤレス, 下位, 互換性, 伝送, 使用, 動画, 双方, 回線, 場合, , 接続, 推奨, 現象, 発生, 規格, 通信, 速度, 遅延, 選び方, , 音楽, 音源, 音飛び,

言いにくいbluetooth[ブルートゥース]が音飛びするよ。

2020.07.06

Logging

言いにくいbluetooth[ブルートゥース]が音飛びするよ。最初に解決方法を教えます。緩衝しているであろう電波の遮断とブルートゥースを再接続することで解決するということです。ぐぐるとその情報が上位に表示されるので間違いでしょう。あのSONYのサイトでも同じ解決方法ですからね。

確かにそれは解決方法として間違っていないようにも思うのだけど、PCとヘッドホンをミリ秒単位?でブルートゥースは通信を行っていると思うです、大体、音飛びする時の音って情報量が多い音源のような気がします。シンセサイザーみたいな音源だと比較的に音飛びが発生する確率が上昇するような気がするのですが、皆さんどうでしょうか?

ブルートゥースで音楽聞かないひとには分からないかもしれないけれど、ノイズや音飛びは結構、イラってする事があります。特にそれが頻発したらヘッドホンを買い換えようと考えるぐらい思うのですから、本当に音を気にする人は有線ヘッドホンを使っていると思うのですが…。

パソコンで作業をしながらって人は有線は結構邪魔な存在です。因みに少し前までは有線で頑張っていましたが無線(ブルートゥース)に切り替えました。ブルートゥースヘッドホンは充電式なので就寝前に充電すれば問題なく一日使えます。そろそろ1万円代のブルートゥースヘッドホンに変えようかなとか思っています。

タグ

bluetooth, PC, SONY, イラ, こと, サイト, シンセサイザー, それ, ノイズ, ひと, ブルートゥース, ヘッド, ヘッドホン, ミリ, 上位, 上昇, , , 単位, 大体, 情報, 接続, 方法, , 最初, 有線, 本当, , 発生, 皆さん, 確率, , 緩衝, 表示, 解決, 通信, 遮断, 電波, , 音楽, 音源, 音飛び, 頻発,

機械学習なら何とかなりますよと思った。

2020.06.16

Logging

あんぽんたんな自分でも機械学習なら何とかなりますよと思わせたYOUTUBEが結構ある。何とかなりそうだと思えると結果何とかなることが自分は多い。

なので多分、機械学習は何とかなりそうだ。

【機械学習】lightgbm・ランダムフォレストで競馬予想【Python】

そしてこの頃、思った。機械学習で学習できそうなYOUTUBE動画、日本ではあまりないのだが海外はかなりの量のYOUTUBE動画が投稿されていていて、ほんと今はネットが常時接続可能な環境であればなんでも勉強できると思えた。

それは機械学習だけではなくあらゆる分野の学問が無料で習うことが可能だということです。あの小学校に行かない子供も何とかなりそうだとこの頃、思えるようになった。彼が勉強が大事だと本気で思って本気で勉強すれば何とかなる世の中になっているだなと、、、。インターネットって本当に凄いな。

西森 雅峰【LightGBMの特徴と仕組み】KLab株式会社

タグ

youtube, あんぽんたん, インターネット, かなり, こと, それ, ネット, ほんと, , , , 分野, 勉強, 動画, 可能, 大事, 子供, 学問, 学習, 小学校, 常時, , 投稿, 接続, 日本, 本当, 本気, 機械, 海外, 無料, 環境, 結果, 自分, , ,

phpのPDOでバインドする時、こうすれば楽。

2020.02.28

Logging

phpのPDOでバインドする時、こうすれば楽ですよね(・(ェ)・)という記述です。前の職場ではsqliでDB接続していたのですが、バインドして作られていたかは忘れてしまいました。ちなみに前の職場のPDOに改修するのは面倒くさいだろうなと感じます。何がめんどくさいかと言えば、今まで導入していたもの全てに対応するというのは、超面倒くさいと思います。

余談:
前の職場を何故辞めたかのお話します。突発的に辞めたと思う人もいるかもしれませんが、基本的に突発的辞めることはないです。突発的に辞めたかのように見えて前々から考えてきっかけを理由に辞めました。具体的な理由に関してはここでは書きません。突発的に辞めたかのように見せかけて計画的です(・(ェ)・)


ソースコードは下記になります。

<?php
ini_set("display_errors",1);
class mysql {
    static $dbh = Null;
    static $host = "localhost";
    static $id = "あいーでぃー";
    static $pass= "パスワード";
    static $dbname = "test";
    static $sql = array(
        "id"=>array("data"=>PDO::PARAM_INT,"val"=>""),
        "name"=>array("data"=>PDO::PARAM_STR,"val"=>"")
    );
    static function connect()
    {
        /* 接続状況をチェックします */
        try {
            static::$dbh = new PDO('mysql:host='.static::$host.';dbname='.static::$dbname.';', static::$id, static::$pass);
            static::$dbh->query('SET NAMES utf8');
          } catch (Exception $e) {
            echo "Failed: " . $e->getMessage();
          }
    }
    static function insert_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("insert into test1 (id,Name) values(:id,:name);");
        //バインド
        foreach(static::$sql as $key=>&$val){
            $stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        $stmt = null;
     }
     static function update_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("update test1 set Name= :name where id = :id;");
        //バインド
        foreach(static::$sql as $key=>&$val){
            $stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        $stmt = null;
     }
     static function select_query(){
        //プリペアドステートメント
        $stmt = static::$dbh->prepare("select * from test1 where id = :id;");
        //バインド
        foreach(static::$sql as $key=>&$val){
            if($key==="id")$stmt->bindParam(":$key",$val["val"],$val["data"]);
        }
        $stmt->execute();
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            printf ("%d (%s)<br>", $row["id"], $row["Name"]);
        }
        $stmt = null;
     }
    static function close(){
        static::$dbh = null;
    }
}
mysql::connect();
// for($i = 0 ;$i<=99;$i++){
//     mysql::$sql["id"]["val"] = $i;
//     mysql::$sql["name"]["val"] = "テスト$i";
//     mysql::insert_query();
// }
for($i = 0 ;$i<=99;$i++){
    mysql::$sql["id"]["val"] = $i;
    mysql::$sql["name"]["val"] = "テスト<font color='red'>$i</font>";
    mysql::update_query();
}
for($i = 0 ;$i<=99;$i++){
    mysql::$sql["id"]["val"] = $i;
    mysql::select_query();
}
mysql::close();

タグ

, class, db, dbh, display, errors, ini, lt, MYSQL, PDO, php, quot, set, sqli, static, お話, きっかけ, コード, ここ, こと, ソース, バインド, もの, 下記, , , 余談, 全て, , 前々, 対応, 導入, 接続, 改修, , 理由, 職場, 記述,

Bandicamで画面録画(キャプチャー)じゃなくてコレで録画している。

2020.02.05

Logging

いま、自分がYOUTUBE録画で使っているのはこちらのソフトを使っています。YOUTUBEを撮ろうかなぁと思っているときに、たまたま、そのソフトを開発している企業がキャンペーンしていて無料でそのソフトを購入したので経費0円です。実際買うと4000円弱します。ちょっと不安なのは中国製品だということ、まぁ仕方がない。

ソフト名はVideoProcです。良い所はPCの画面録画と当時にウェブカメラも接続できるのでこれで録画しています。良くあるこういう画面が撮影可能。これで価格も安いです。

YOUTUBE動画の画面操作はこれで撮っています。そして撮ったものをAdobeのPremiere Proで編集をしてUPしています。いまの所、顔出しする意味はあまり無いかなと思っています。Facebookみれば自分の顔写真上げているのでそれで良いかなと・・・。自分の声を編集している理由は聞き取りにくいから調整しています。

ちなみにVideoProcはこういう機能があります。

いまはVersion3.5ですが自分が使用しているのは3.4です、アップデートすると費用がかかるので上げてません。画面録画するぐらいで必要だから不自由ないですね。編集はAdobeの方で対応すれば良いので何も不自由しないです。

タグ

0, 4000, Adobe, Bandicam, Facebook, PC, Premiere, Pro, UP, VideoProc, youtube, いま, ウェブ, カメラ, キャプチャー, キャンペーン, こちら, こと, これ, コレ, ソフト, とき, もの, 不安, 中国, 企業, 価格, 動画, 可能, , 実際, 当時, 意味, , 接続, 撮影, 操作, 無料, 理由, 画面, 経費, 編集, 自分, 製品, 調整, 購入, 録画, 開発, 顔写真, 顔出し,

phpでイマドキDB接続の仕方なの?

2019.07.20

Logging

実行していないので上手く動いているかは
未知数ですが、コードの書き方はイマドキの書き方に
しています。PHP公式ではこう書かれています。

プリペアドステートメントのパラメータに変数をバインドすると・・・。
i 対応する変数の型は integer です。
d 対応する変数の型は double です。
s 対応する変数の型は string です。
b 対応する変数の型は blob で、複数のパケットに分割して送信されます。

<?php
$servername = "hostname";
$dbname ="dbname";
$dbusername = "root";
$dbpassword = "pass";
if($conn = mysqli_connect($servername,$dbusername,$dbpassword,$dbname)){
    $sql = "select username from mastertbl where uid =? and password = ?";
    $stmt = mysqli_stmt_init($conn);
    if(mysqli_stmt_prepare($stmt,$sql)){
        mysqli_stmt_bind_param($stmt,"ss",$uid,password_hash($password,PASSWORD_DEFAULT));
        mysqli_stmt_execute($stmt);
        mysqli_stmt_store_result($stmt);
        if($cnt=mysqli_stmt_num_rows($stmt)){
            $result = mysqli_stmt_get_result($stmt);
            for($i=0;$i<$cnt;$i++){
                $row = mysqli_fetch_assoc($result);
            }
        }
    }
    mysqli_stmt_close($stmt);
    mysqli_close($conn);
}

タグ

blob, conn, connect, db, dbname, dbpassword, dbusername, double, hostname, if, Integer, lt, mysqli, pass, php, root, select, servername, SQL, string, user, イマドキ, コード, バインド, パケット, パラメータ, プリペアドステートメント, 仕方, 公式, 分割, , 変数, 実行, 対応, 接続, 書き方, 未知数, 複数, 送信,

プロセス残してSSHログアウトする方法。

2018.11.11

Logging

screenっていうコマンドを使用するとプロセス残してSSHログアウトする事ができます。ちなみにscreenというコマンドは仮想ウィンドが立ち上げる機能です。
まずscreenをインストールし、実行したいコマンドを実行します。
実行すると仮想ウィンドが立ち上がります。
立ち上がっている画面の確認はlsで確認することが可能。
その画面を読み込むときは-r を使用します。
lsで表示されているプロセスID(PID)を記入してコマンドを実行することで再接続することが可能となります。
追記:こんな方法もあります。
Linuxでプロセス残すなら!

yum -y install screen
screen php test.php
screen -ls
screen -r PID

タグ

-r, -y, ID, install, Linux, ls, php, PID, screen, SSH, test, yum, インストール, ウィンド, こと, コマンド, とき, プロセス, ログアウト, , 仮想, 使用, 可能, 実行, 接続, 方法, 機能, 画面, 確認, 表示, 記入, 追記,

部屋の温度と湿度をリアルタイムでうぅううします。

2018.09.01

Logging

https://zip358.com/tool/kion_shitudo/
IOTとかいう奴ですね、Raspberry Piを使用して部屋の温度と湿度を
90秒置きに表示するようなものを作りました。
あぁぁエアコンとか平日はつける事はないので
部屋の温度はこの時期、汗だくです・・・。
ふふふうふ?。
ちなみに温度センサーのプラスとマイナスをRaspberry Piに反対接続して
なんか温度センサーが熱い状態になってましたが
何とか問題なくいまは動いてます・・・・。
あとはPHPとPythonでそれぞれプログラムコードを書いて
ゴニョゴニョしてサーバ側に表記しています。
 

タグ

-Physi, 01, , 4, 90, asin, Clear, com, CSFZ, Decker, IoT, JG, jp, kion, model, php, Pi, ple, Python, Raspberry, shitudo, tool, zip358, あと, いま, エアコン, ケース, コード, ゴニョゴニョ, サーバ, セット, センサー, それぞれ, ふうふ, プラス, プログラム, ポート, マイナス, もの, リアルタイム, , 使用, 反対, , 対応, 平日, 接続, 時期, 温度, 湿度, 状態, 表示, 表記, 部屋,

このサイトは安全に接続できません。

2018.01.13

Logging


このサイトは安全に接続できません。という表示がされて開発が思うようにできない。
最初はサービス提供元の問題かなと思っていたのですがどうもそんな感じではないような気がしてきた。
サービス提供元と自分のレベルを考えた所、どう考えても自分の技術の方が劣っているはずだと・・・考えた際・・・。
おそらく自分のコードが駄目なんだろうと、ブラウザではこのような表示が出るけれど・・・プログラム実行時にはうまく動くように出来ているように作成されているのではないかと思うようになってきた。
となると・・・・。
自分のコードが駄目なんだろうと。
週明け見直してみないといけないな・・・。
追伸.英語から日本語へブログ記事を元に戻しました。
理由はボットが大量に流れ込むようになったからというのが理由です。
英語で記事を書くサイトを設けました。
https://zip358com.hatenablog.com/ [不定期掲載?]

追記:SSL(https)対応ではないと接続は安全ではありませんのような事が表示されるようにChromeが対応を行うらしいですね。
あんまり嬉しくはない機能をChromeは導入するのでしょう。WEB業界は一時的に潤うかもしれませんが・・・?
尚、業者にボッタクられないように言っとくと、SSL対応費は基本無料でも出来ますので、あとはホームページ内のリンクなどを修正費用が一度だけ発生します。そこらへんの説明無しで高額な費用が発生した場合、おそらくボッタクリな金額を請求されています。お気をつけて・・・(*´ω`*)

タグ

358, com, hatenablog, https, SSL, zip, コード, サービス, サイト, パス, ブラウザ, ブログ, プログラム, ボット, レベル, 不定期, 作成, , 問題, 大量, 安全, 実行, 対応, 感じ, , 技術, 接続, 掲載, 提供, , 日本語, 最初, , 理由, 自分, 英語, 表示, 記事, 追伸, 追記, 週明け, 開発, , 駄目,

SSH.NETでSFTPとSSHの接続を確立させるまでの過程。

2016.12.11

Logging

SSH.NETでSFTPとSSHの接続を確立させるまでの過程。
ソースコードは下記です、あくまでも触りなのでココからご自分で考えて作り変えてください。ちなみにSSH.NETのライブラリを入手するには拡張機能からNuGet Package Managerという拡張機能を追加するとツールのNuGetパッケージマネージャーが現れるので、ソリューションのNuGetパッケージ管理からSSH.NETと検索しインストールすることによりライブラリが使用できます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Renci.SshNet;
using Renci.SshNet.Common;
using Renci.SshNet.Sftp;
namespace ftp
{
    public partial class Form1 : Form
    {
        String Host = "168.192.11.1";
        int Port = 22;
        String RemoteFileDIR = "/root/";
        String LocalDestinationDIR = "C:\\Users\\hoge\\Documents\\BACKUP\\";
        String Username = "admin";
        String Password = "hogehoge";
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            ssh_cmd();
        }
        private void dl(string filename) {
            using (var sftp = new SftpClient(this.Host, this.Port, this.Username, this.Password))
            {
                sftp.Connect();
                using (var file = File.OpenWrite(this.LocalDestinationDIR + filename))
                {
                    sftp.DownloadFile(this.RemoteFileDIR + filename, file);
                }
                sftp.Disconnect();
            }
        }
        private void ssh_cmd() {
            SshClient ssh = new SshClient(this.Host, this.Username, this.Password);
            ssh.Connect();
            string command = "cd /root && ls";
            string[] str_result;
            string str_results;
            char ptn ='\n';
            int i =0;
            var result = ssh.RunCommand(command);
            //MessageBox.Show(result.Result);
            str_results = result.Result;
            str_result = str_results.Split(ptn);
            ssh.Disconnect();
            for ( i = 0; i < str_result.Length; i++) {
                //MessageBox.Show((str_result[i]));
                if (str_result[i] != "")
                {
                    dl(str_result[i]);
                }
            }
        }
    }
}

タグ

Collections, ComponentModel, data, Drawing, Generic, Linq, Manager, net, NuGet, Package, SFTP, SSH, System, Tasks, Text, Threading, using, インストール, コード, ココ, こと, ご自分, ソース, ソリューション, ツール, パッケージ, マネージャー, ライブラリ, 下記, 使用, 入手, 拡張, 接続, 検索, 機能, 確立, 管理, 追加, 過程,

MONACAでらくらくアプリ開発。{HTML、JavaScript、PHP}

2016.06.22

Logging


MONACAでらくらくアプリ開発。
出来そうな予感がします。一度、触ってみて頓挫していたのですが外部連携や端末のDB接続等などもできるみたいなのでこれだけで、簡単なものやそれほどゴリゴリ書くものではなければアプリ開発ができそうな気がしてきたので
土日でアプリの開発を行ってみたいなと思ってます。
HTMLやjavascriptなどでアプリが開発できる時代ってほんと、凄いなと、ちなみにajaxを使い外部サイトとの連携も出来ちゃうのでPHPなどでも必然的に使えちゃうっていうことになります。(インラインフレームで表示する方法もあり)
?

タグ

ajax, db, html, javascript, Monaca, php, アプリ, インライン, こと, これだけ, サイト, フレーム, ほんと, もの, 一度, 予感, 土日, 外部, 接続, 方法, 時代, , 端末, 簡単, 表示, 連携, 開発, 頓挫,