ホーム » メモ (ページ 5)

メモ」カテゴリーアーカイブ

2024年12月
1234567
891011121314
15161718192021
22232425262728
293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 102,251 アクセス


AS5202T に mono インストール

Synology NAS にもあるので気になっていた mono
以前 MonoDevelop をインストールして少しは試したことがある.
それで,どこまでのものとして入るかをやってみた.
AS5202T App Central Mono

Iwao@AS5202T:/volume1/home/Iwao/test/mono $ ls /usr/local/AppCentral/mono/bin/
al*                        gacutil2*                  mono-api-info*             nunit-console2*
al2*                       genxs*                     mono-boehm*                nunit-console4*
asp-state*                 httpcfg*                   mono-cil-strip*            pdb2mdb*
asp-state2*                ikdasm*                    mono-configuration-crypto* pedump*
asp-state4*                ilasm*                     mono-find-provides*        permview*
caspol*                    illinkanalyzer*            mono-find-requires*        peverify*
cccheck*                   installvst*                mono-gdb.py                resgen*
ccrewrite*                 lc*                        mono-heapviz*              resgen2*
cert-sync*                 macpack*                   mono-package-runtime*      secutil*
cert2spc*                  makecert*                  mono-service*              setreg*
certmgr*                   mconfig*                   mono-service2*             sgen*
chktrust*                  mcs*                       mono-sgen*                 sgen-grep-binprot*
crlupdate*                 mdassembler*               mono-sgen-gdb.py           signcode*
csc*                       mdbrebase*                 mono-shlib-cop*            sn*
csc-dim*                   mdoc*                      mono-symbolicate*          soapsuds*
csharp*                    mdoc-assemble*             mono-test-install*         sqlmetal*
csi*                       mdoc-export-html*          mono-xmltool*              sqlsharp*
dbsessmgr*                 mdoc-export-msxdoc*        monodis*                   svcutil*
dbsessmgr2*                mdoc-update*               monodocer*                 vbc*
dbsessmgr4*                mdoc-validate*             monodocs2html*             wsdl*
disco*                     mdvalidater*               monodocs2slashdoc*         wsdl2*
dmcs*                      mkbundle*                  monograph*                 xbuild*
dtd2rng*                   mod*                       monolinker*                xsd*
dtd2xsd*                   mod-mono-server*           monop*                     xsp*
fastcgi-mono-server*       mod-mono-server2*          monop2*                    xsp2*
fastcgi-mono-server2*      mod-mono-server4*          mozroots*                  xsp4*
fastcgi-mono-server4*      mono@                      mprof-report*
gacutil*                   mono-api-html*             nunit-console*
Iwao@AS5202T:/volume1/home/Iwao/test/mono $                      

AS5202T AppCentral mono bin
mono 使い方」で検索.
mcs test.cs でコンパイル,mono test.exe で実行できるみたい.


2020/06/24
phpinfo() を見てみると mod_mono が読み込まれている.
AS5202T phpinfo() apache2handler mod_mono


mcs で出来上がった exe は Windows のコマンドプロンプトで実行できる.
Mono 環境でできた exe を実行

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

弦と矢と半径 – 10

JavaScript 数値入力で更新.

	<body>

<pre>
c : <input  type='number'  id='in__c'  value='8'  style='width:100px;'  step='any' /> <span  id='out_c'> </span>  <br />
s : <input  type='number'  id='in__s'  value='2'  style='width:100px;'  step='any' /> <span  id='out_s'> </span>  <br />
r : <input  type='number'  id='in__r'  value='5'  style='width:100px;'  step='any' /> <span  id='out_r'> </span>  <br />
</pre>
		<img	src='r_cs.png'	width='300px'>

		<script>

			function	r_cs	(c , s)		{	return	(        ( c*c )  / ( 8*s )  +  s/2 ) ;		}
			function	s_rc	(r , c)		{	return	( r-Math.sqrt(r*r - (c/2)*(c/2) )   ) ;		}
			function	c_rs	(r , s)		{	return	(   Math.sqrt(r*r - (r-s)*(r-s) )*2 ) ;		}

			function	f_c_rs	() {
				var	oc = document.querySelector("#out_c") ;
				var	os = document.querySelector("#out_s") ;
				var	or = document.querySelector("#out_r") ;
				var	ic = document.querySelector("#in__c") ;
				var	is = document.querySelector("#in__s") ;
				var	ir = document.querySelector("#in__r") ;
				var	fc = parseFloat(ic.value) ;
				var	fs = parseFloat(is.value) ;
				var	fr = parseFloat(ir.value) ;
				oc.textContent = "" ;
				os.textContent = "" ;
				or.textContent = "" ;
				os.textContent = s_rc(fr,fc) ;
				or.textContent = r_cs(fc,fs) ;
				}
		//	...
			{
				var	ec = document.getElementById("in__c") ;
				var	es = document.getElementById("in__s") ;
				var	er = document.getElementById("in__r") ;
				ec.addEventListener("keyup",f_c_rs, false) ;
				es.addEventListener("keyup",f_s_rc, false) ;
				er.addEventListener("keyup",f_r_cs, false) ;
				}

			</script>

		</body>

弦と矢と半径 JavaScript 版
https://mish.myds.me/…/r_cs/a/

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

弦と矢と半径 – 9

JavaScript で.

<body>
	c : <input	type='number'	id='in__c'	value='80.0'	size='10'	step='any'	/><input	type='submit'	value='c_rs'	id='c_rs'	/>	<span	id='out_c'> </span>	<br />
	s : <input	type='number'	id='in__s'	value='20.0'	size='10'	step='any'	/><input	type='submit'	value='s_rc'	id='s_rc'	/>	<span	id='out_s'> </span>	<br />
	r : <input	type='number'	id='in__r'	value='50.0'	size='10'	step='any'	/><input	type='submit'	value='r_cs'	id='r_cs'	/>	<span	id='out_r'> </span>	<br />
	<img	src='r_cs.png'	width='300px'>

	<script>
		function	r_cs	(c , s)		{	return	(        ( c*c )  / ( 8*s )  +  s/2 ) ;		}
		function	s_rc	(r , c)		{	return	( r-Math.sqrt(r*r - (c/2)*(c/2) )   ) ;		}
		function	c_rs	(r , s)		{	return	(   Math.sqrt(r*r - (r-s)*(r-s) )*2 ) ;		}

		function	f_c_rs	() {
			var	oc = document.querySelector("#out_c") ;
			var	os = document.querySelector("#out_s") ;
			var	or = document.querySelector("#out_r") ;
			var	ic = document.querySelector("#in__c") ;
			var	is = document.querySelector("#in__s") ;
			var	ir = document.querySelector("#in__r") ;
			var	fc = parseFloat(ic.value) ;
			var	fs = parseFloat(is.value) ;
			var	fr = parseFloat(ir.value) ;
			oc.textContent = "" ;
			os.textContent = "" ;
			or.textContent = "" ;
			oc.textContent = c_rs(fr,fs) ;
			}
		//	...
		{
			var	ec = document.getElementById("c_rs") ;
			var	es = document.getElementById("s_rc") ;
			var	er = document.getElementById("r_cs") ;
			ec.addEventListener("click",f_c_rs, false) ;
			es.addEventListener("click",f_s_rc, false) ;
			er.addEventListener("click",f_r_cs, false) ;
			}
		</script>
	</body>

R S C JavaScript
https://mish.myds.me/…/r_cs/9/

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T VirtualBox – 2

AS5202T の CPU 温度を見るといつもより高い.
「プロセス」情報を見ると VirtualBox が消費している.
AS5202T の「プロセス」状態
VNC で接続すると TiWorker.exe が CPU を食っている.
DevX  TiWorker.exe
丁度 Windows Update のタイミングみたい.
VNC 接続の仮想マシンは遅くて操作できないが,接続しているクライアントからソースなどは見える.
TiWorker が CPU を食っている
前回 の様なネットワークが途切れる状態にはまだなっていない.


「リモートデスクトップ」であれば仮想マシンも操作できた.
落ち着くまでそのままにしておくしかなさそう.


その後「再起動」待ちになっていたので仮想マシンを再起動.
また止まったような表示.
Windows Update の再起動で,止まったような状態?
CPU は食っているのでこのまま様子見.


2020/06/11
そのまま変わらないので,仮想マシンの「電源オフ」.
PC の VirtualBox で再起動.
2020/06 Windows Update
Windows Update での再起動がうまく動作しないのか?


AS5202T VirtualBox の仮想マシンとして起動した時,いつもより時間がかかることがある.
また,ネットワークがうまく接続されていないこともあり.
安定するまで何度か再起動の必要があるのかもしれない.
起動時止まった様に見えても 30 分程度はそのままにして様子を見た方が良さそう.
仮想マシンの CPU や HDD などのリソースへのアクセス状況が見えると良いのに…

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Win10 インストール 用 USB 作成

Win10 インストール用の USB を作成しようと思い調べていたら


Windows 用のインストール メディアを作成する
その先の「Windows 10 のダウンロード」に入り「ツールを今すぐダウンロード」.
ダウンロードしたファイル MediaCreationTool2004.exe を起動.
ライセンス条項に「同意」して,実行する操作を選択.
実行する操作を選択
Windows の種類を選択.
Windows の種類を選択
メディアを選択.
メディアを選択
ドライブを選択.
ドライブを選択
Windows 10 をダウンロード.
Windows 10 をダウンロード
USB メモリに書き込み.メディアの作成時間は 15 分位.
メディアの作成


作成される Windows のバージョンにはご注意ください.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AP がうまく動作しない?

作成した AP がうまく動作しなくなってしまった.
AP がうまく動作しない フリーズ?する
起動はするがメニューの「ファイル」の部分を選択したりするとフリーズ?する.
ハッキリわからないが「オーナードローメニュー」か?


PC を再起動することで動作する様にはなったが,原因などが絞れていないのでメモ.


2020/07/07 同じ現象が発生.
サインアウトして入り直しではダメで,PC の再起動の必要がある.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Win10 2004 インストール

Win10 Ver.2004 があったので VirtualBox 仮想マシンにインストールしてみた.
使用したのは ja_windows_10_business_editions_version_2004_x64_dvd_ee7b2698.iso .


最初,何も考えずにインストールしたら「Microsoft アカウント」と結びついたものになってしまった.
インストール途中で「ローカル アカウント」にする方法は気がつかなかった.


そのため,もう一度やり直し.ネットワークを切断した状態でインストール
今度はうまくいった.
Win10 2004 「ローカルアカウント」でインストール


2020/08/31
ローカルアカウントでインストールするための選択画面
ローカルアカウントでインストールするための選択画面
左下の「オフライン アカウント」を選択する.


2020/09/20
次の画面の場合は「代わりにドメインに参加する」を選択.
Win10 LTSC 2019 「ローカルアカウント」の入力に

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VS 2019 16.6 への更新で失敗

VS 2019 のアップデートがあったので,いつもの様に更新したら何故か失敗.
インストール動作の半分位の所でエラーになってしまった.
実際はアンインストールしてインストールとなるので,アンインストール中かも?


もう一度「スタート」-「Visual Studio Installer」を起動して更新.
「スタート」-「Visual Studio Installer」
一通りのインストールは終わって「再起動」.
VS 2019 インストール   PC 再起動
更新できたみたい.


VirtualBox に入れた Win10 IP の 2004 への更新.
何度か再起動後の 86% の所でエラーとなった.
Win10 IP  2004 への更新で失敗

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows の資格情報マネージャー

久しぶりに Win7 環境から NAS に接続して ??? と思ったのでちょっと調べてみた.


以前 Win7 から NAS に接続する時,いつも面倒と思っていたこと.
Windows で特定の宛先に対して使用する資格情報を資格情報マネージャーに記憶しているにもかかわらず、再度、資格情報の入力を要求される
Win7 は「Iwao」でログインすると入れるが,PC の再起動後などにまた要求される.
Win7 ログオン情報入力
次の様にユーザ名を「…\Iwao」と入力する必要がある.
Win7 ログオン情報入力
Win7 資格情報


Win10 ではちょっと違うみたいだが,はっきりした記述は見つけられなかった.
Win10 資格情報

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

ASUSTOR NAS 上の iconv , whois

ASUSTOR NAS の iconv は Fedora や Synology NAS uconv の -o(出力ファイルの指定)がない.

[Iwao@fedora ~]$ iconv --help
使用法: iconv [OPTION...] [FILE...]
与えられたファイルのエンコーディングをあるエンコーディングから別のエンコーディングに変換します。
 入力/出力形式の指定:
  -f, --from-code=NAME       元のテキストのエンコーディング
  -t, --to-code=NAME         出力用のエンコーディング
 情報:
  -l, --list
                             全ての既知の符号化された文字集合を一覧表示します
 出力制御:
  -c                         出力から無効な文字を取り除く
  -o, --output=FILE          出力ファイル
  -s, --silent               警告を抑制する
      --verbose              経過情報を表示する

  -?, --help                 このヘルプ一覧を表示する
      --usage                短い使用方法を表示する
  -V, --version              プログラムのバージョンを表示する
長い形式のオプションで必須または任意の引数は、それに対応する短い形式のオプションでも同様に必須または任意です。
For bug reporting instructions, please see:
.
[Iwao@fedora ~]$ iconv --version
iconv (GNU libc) 2.30
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
作者 Ulrich Drepper。
[Iwao@fedora ~]$ 
Iwao@AS5202T:/volume1/home/Iwao $ iconv --help
Usage: iconv [OPTION...] [-f ENCODING] [-t ENCODING] [INPUTFILE...]
or:    iconv -l
Converts text from one encoding to another encoding.
Options controlling the input and output format:
  -f ENCODING, --from-code=ENCODING
                              the encoding of the input
  -t ENCODING, --to-code=ENCODING
                              the encoding of the output
Options controlling conversion problems:
  -c                          discard unconvertible characters
  --unicode-subst=FORMATSTRING
                              substitution for unconvertible Unicode characters
  --byte-subst=FORMATSTRING   substitution for unconvertible bytes
  --widechar-subst=FORMATSTRING
                              substitution for unconvertible wide characters
Options controlling error output:
  -s, --silent                suppress error messages about conversion problems
Informative output:
  -l, --list                  list the supported encodings
  --help                      display this help and exit
  --version                   output version information and exit
Report bugs to .
Iwao@AS5202T:/volume1/home/Iwao $ iconv --version
iconv (GNU libiconv 1.14)
Copyright (C) 2000-2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Bruno Haible.
Iwao@AS5202T:/volume1/home/Iwao $

AS5202T iconv help
次の様にリダイレクトして指定すれば良い.
iconv -f CP932 sjis_file.txt > out_file.txt
他にも whois はサーバを指定しないとうまく機能しない?
whois -h whois.apnic.net 27.92.169….

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 8

ある程度 Web の設定が確認できたので,今度は Joomla! のインストール.
Joomla! 3 3.9.5.r1 を選択.もう一つは古バージョン.
Joomla! 3 インストール
手順は以前書いたもの.
https://dev.mish.work/wordpress/2020/03/25/as5202t-setup-4/
データベース設定のユーザ名などがわからなかったが root とadmin .
Joomla! データベース設定
インストールされたディレクトリ名が /Web/joomla3/ となるが,変えられないのか?


続いて J2XML でデータの移行.
https://dev.mish.work/wordpress/2020/03/28/as5202t-setup-5/
「OSMap Free」のインストール.「Login Form」の無効化.
https://dev.mish.work/wordpress/2019/02/07/joomla-install-setting/


「メニュー」を追加.
これでほぼ Synology NAS 上と同じような構造.


2020/04/26
「モジュール」を追加.これは WordPress のサイドバーに似たもの?
以前から場所がわかならかった Joomla! の管理画面の表示内容の設定を見つけた.
Joomla! 管理画面の設定

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

std::fixed でアプリケーションエラー

先日やっていた計算式のコード.これをテストしていてエラーに.
エラーとなるコードの場所は数値を文字列に変換する所.
その部分だけを抜き出したコードは次の様なもの.

bool	test	(c_tstring& str_)
{
	tstring	str = str_ ;
	{
		TCHAR*	endPtr = 0 ;
		double	val = double(_tcstod(str.c_str(),&endPtr)) ;
							std::tout << std::fixed      << val << std::endl ;
	//	if (-1e50 < val && val < 1e50)	{	std::tout << std::fixed      << val << std::endl ;	}
	//	else				{	std::tout << std::scientific << val << std::endl ;	}
		}
	return	true ;
	}

1e300 などの値を std::fixed で表示すると,限られた環境でビルドした exe でエラーになる.
エラーが確認できたのは VC 6 で MFC を使用しないでビルドしたもの.
VC 6 でも DLL でリンクしている場合は,ランタイムの DLL のバージョンにより大丈夫.

Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/mba_20/chk_big $ c++ chk_big.cpp  -Wall
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/mba_20/chk_big $ ./a.out
value ? =1e10
10000000000.000000
value ? =1e100
10000000000000000159028911097599180468360808563945281389781327557747838772170381060813469985856815104.000000
value ? =1e200
99999999999999996973312221251036165947450327545502362648241750950346848435554075534196338404706251868027512415973882408182135734368278484639385041047239877871023591066789981811181813306167128854888448.000000
value ? =1e300
1000000000000000052504760255204420248704468581108159154915854115511802457988908195786371375080447864043704443832883878176942523235360430575644792184786706982848387200926575803737830233794788090059368953234970799945081119038967640880074652742780142494579258788820056842838115669472196386865459400540160.000000
value ? =1e400
inf
value ? =1e307
9999999999999999860310597602564577717002641838126363875249660735883565852672743849064846414228960666786379280392654615393353172850252103336275952370615397010730691664689375178569039851073146339641623266071126720011020169553304018596457812688561947201171488461172921822139066929851282122002676667750021070848.000000
value ? =1e308
100000000000000001097906362944045541740492309677311846336810682903157585404911491537163328978494688899061249669721172515611590283743140088328307009198146046031271664502933027185697489699588559043338384466165001178426897626212945177628091195786707458122783970171784415105291802893207873272974885715430223118336.000000
value ? =1e309
inf
value ? =-1e100
-10000000000000000159028911097599180468360808563945281389781327557747838772170381060813469985856815104.000000
value ? =-1e307
-9999999999999999860310597602564577717002641838126363875249660735883565852672743849064846414228960666786379280392654615393353172850252103336275952370615397010730691664689375178569039851073146339641623266071126720011020169553304018596457812688561947201171488461172921822139066929851282122002676667750021070848.000000
value ? =-1e308
-100000000000000001097906362944045541740492309677311846336810682903157585404911491537163328978494688899061249669721172515611590283743140088328307009198146046031271664502933027185697489699588559043338384466165001178426897626212945177628091195786707458122783970171784415105291802893207873272974885715430223118336.000000
value ? =-1e309
-inf
value ? =1.e-100
0.000000
value ? =1.e-300
0.000000

ASUSTOR NAS で大きな数値の表示

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

NAS 日本語ソースのコンパイル

Synology NAS と違い iconv が存在するので,コンパイルの指定で試してみた.
が,うまく動作しない.

Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/MsgStr/cc_ml_1 $ which iconv
/usr/bin/iconv
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/MsgStr/cc_ml_1 $ g++ -Wall cc_ml_1.cpp -finput-charset=SJIS-WIN
cc1plus: error: conversion from SJIS-WIN to UTF-8 not supported by iconv
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/MsgStr/cc_ml_1 $ g++ -Wall cc_ml_1.cpp -finput-charset=SJIS
cc1plus: error: conversion from SJIS to UTF-8 not supported by iconv
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/MsgStr/cc_ml_1 $ iconv -f SJIS cc_ml_1.cpp  > u8_ml_1.cpp
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/MsgStr/cc_ml_1 $ g++ -Wall u8_ml_1.cpp
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/MsgStr/cc_ml_1 $ ./a.out
名称 3
Iwao@AS5202T:/volume1/home/Iwao/gcc_test/Test/t_linux/MsgStr/cc_ml_1 $         

iconv -f  SJIS  , g++
結局 Synology NAS と同様で,予め UTF-8 に変換しておく必要がある.


iconv -f SJIS-WIN SJ_file.txt ができなかった.
iconv -f CP932 SJ_file.txt ならば通る.
他にも iconv -f SJIS なら通るが,Fedora ではダメだったので CP932 を使用することに.


Windows 上で管理しているソースは,私が作成した次のツールで変換しています.
https://i–tools.blogspot.com/2020/02/copycc202001.html

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 7

VirtualBox が安定しない.
暫く問題なく使えていたのに,また起動しなくなってしまった.
うまく動作しなくなったきっかけは,間違って VirtualBox を OFF にしてしまった.
AS5202T App Central
本当は PHP 7 を OFF にするのを間違えた.


どうすれば確実なのかはわからないが,とりあえず起動したのでメモ.


同じ vdi を Win10 の VirtualBox からも起動可能にしているので,そちらで起動することを確認.
どのタイミングか忘れたが,VirtualBox Guest Additions が 6.0 になっていたのでそれをアンインストール.
いろいろと設定を変更して試したがうまく起動したのが次の様な設定.
チップセット: ICH9 .PAE/NX を有効化.VT-x/AMD-V を有効化.ネステッドページングを有効化.Enable Large Page にチェック.
AS5202T VirtualBox DevX の設定


これで起動を確認.
関係の有無はわからないが VirtualBox Guest Addtions 5.2.22 をインストールしたらまた起動しなくなった.
そのため再度 Win10 の VirtualBox で起動して VirtualBox Guest Addtions をアンインストール.
アンインストール後起動することを確認.


設定により CPU の使用率が減った?
AS5205T  CPU 使用率


2020/05/04
その後少しは良くなった気もするが,完全ではない.
意図せず止まってしまっていて,その後一時起動しなくなってしまった.
それで今日調べてみて気になった所.
ASUSTOR NAS のチュートリアル NAS 249
Virtual Machine Configuration with VirtualBox
次の様に書かれているので,両方の「..アクセラレーション…」にチェックを付けて様子見.
Please first select the [Enable 3D Acceleration] and [Enable 2D Video Acceleration] options and then set the Video Memory to [128 MB].
それから「リモートデスクトップ接続」で,起動中でも接続できることを見つけた.
AS5202T VirtualBox リモートデスクトップ接続


2020/05/05
いろいろ弄っていたらまた不安定に.
一時は VNC など DevX 192.168.1.88 に接続できなくなった.
ICH9 ,I/O APIC を有効化.
PAE/NX を有効化.
Legacy ,VT-x/AMD-V を有効化,ネステッドページングを有効化.
AS5202T VirtualBox


2020/09/21
6.1.12 に更新安定している

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 6

gcc などを入れて a.out はできる様になっていたが,今度は Web サーバの PHP からの呼び出し.
Synology NAS や Windows 環境と同じようにやってみたがうまく動作しない.
設定の問題なのか,環境が異なることによる変更が必要なのかは不明.
3 年位前にやった所からもう一度調べていくしかなさそう.


https://dev.mish.work/wordpress/2017/05/23/synology-web-exe/
この時と同じ php が存在するフォルダに存在する ./a.out の呼び出しはうまく動作した.
http://itl.mydns.jp/…/exec.php
./a.out の呼び出し


htm と php で画像のアップロード.
https://itl.mydns.jp/…/up.htm


http でアクセスした時のユーザ名は admin .
Synology NAS では http .IIS だと IUSER ?


あまり関係ないが PHP 7 をインストール.


Iwao@AS5202T:/volume1/home/Iwao $ which 7z
/usr/builtin/bin/7z
Iwao@AS5202T:/volume1/home/Iwao $ which zip
/usr/builtin/bin/zip
Iwao@AS5202T:/volume1/home/Iwao $ which unzip
/usr/bin/unzip
Iwao@AS5202T:/volume1/home/Iwao $ which convert
/usr/builtin/bin/convert
Iwao@AS5202T:/volume1/home/Iwao $  

フルパスで drawnow を指定すると drawnow.htm は生成される.
https://itl.mydns.jp/i_Tools/tiny/DrawNow/
普通に起動したユーザの場合 %TEMP% が /opt/tmp に設定される.
Web サーバや Synoloty NAS では設定されないので,コードで指定した /tmp になる.


実行ファイルの位置を求める方法がうまくなかった.

	$exe = 	(change_exe	($_SERVER["DOCUMENT_ROOT"] . "/.../" . $exeTitle)	) ;
	$exe_name = $exeTitle ;
	$exe_name = change_exe($exe_name) ;
	$exe =		 	($_SERVER["DOCUMENT_ROOT"] . "/.../" . $exe_name	) ;

2020/04/21
一部動作しない部分があった(::Linux_zip_create).
原因は bash や pushd がないため.
bash の所は sh に.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 5

Web サーバとして外からアクセスするために,先ず AS5202T のファイアウォールの設定.
検索するとわかりやすく書いてあったので次の所を参考に設定した.
ASUSTOR NASのセキュリティを高めるいくつかのポイント
LAN 内接続の許可と,外からは「Web service」の許可を設定.
AS5202T ファイアウォールの設定
AS5202T  Web service
「LAN 2」からの SSH 接続を拒否しての確認.
AS5202T   SSH 接続
まだルータの設定はしていないので,これだけでは外から接続できない.
スマートフォンで VPN 接続して http://192.168.1.xx に接続できることは確認.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

RC1047 , C2679

既存の VC 8 プロジェクトをビルドすると,うまくビルドできなくなっている.
https://itl.mydns.jp/i_Tools/Doc/blog/images/err_2004.txt

1>------ すべてのリビルド開始: プロジェクト: WatchPD, 構成: Debug Win32 ------
1>リソースをコンパイルしています...
1>fatal error RC1047: too many -I# options, 'c:\DP340XPP\D_Drive\Develop\Lib\InkSDK.C80\include'
1>プロジェクト : error PRJ0002 : エラーの結果 1 が 'C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\rc.exe' より返されました。
1>WatchPD - エラー 1、警告 0

先日サーバ環境を変更(共通ソースを DevS から DevX に)したことによる影響.
その時簡単にはテストしたがメインのプロジェクトでは確認していなかった.
RC1047 の原因は,インクルードパスが長すぎるみたい.


もう一つのエラー.

1>------ ビルド開始: プロジェクト: PlnCtrl, 構成: Debug Win32 ------
1>ComUse06.cpp
1>\\devx\public\documents\develop\_.src\_yet\mouse.cxx(1819) : error C2679: 二項演算子 '<<' : 型 'const P2' の右オペランドを扱う演算子が見つかりません (または変換できません)。
1>        c:\program files (x86)\microsoft visual studio 8\vc\include\ostream(656): 'std::basic_ostream<_Elem,_Traits> &std::operator <<<wchar_t,std::char_traits<wchar_t>>(std::basic_ostream<_Elem,_Traits> &,const char *)' の可能性があります。
1>        with
1>        [
1>            _Elem=wchar_t,
1>            _Traits=std::char_traits<wchar_t>
1>        ]
1>

こっちは暫くわからなかった.
afxDump で検索すると 先日書いた記事 が引っ掛かり…
#define afxDump std::terr
これが有効になる条件が間違っていた.
_AFXDLL ではなく _MFC_VER で判断する必要があった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 4

以前 DS115j 用に購入した WLI-UC-AG300N があったので AS5202T に接続して設定してみた.
ADM の「設定」-「ネットワーク」に入ると,接続されているのがわかる.
リストの「Wi-Fi」を選んで「アクション」-「接続」.
AS5202T  Wi-Fi 接続
SSID が列挙されるので,選んで「接続」.「パスワード」を入力して「OK」.
AS5202T  Wi-Fi 接続 パスワード入力
接続されている速度は 6 Mb/s の表示なのでかなり遅い.


これを設定している時に見つけた「デフォルトゲートウェイ」の設定.
「自動」だと違う方になってしまうことがあったので「LAN 1」に設定.
AS5202T デフォルトゲートウェイ

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

計算式で時間が …

個人的なメモです.


以前 C で書いたコード(ベースは K&R 第2版 P.90 )を新しく書き換え.
少し機能も増やし,ある程度書き終えた.
既存のコードと動作速度を比べると「使えない」.チューニング前では 10 倍以上の時間.


データ内の計算式は次の様なものが多く存在する.

(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5))+(P-((((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5)))*2)*0.982936188200278

R を求めるために同じ部分が 4 つある.

(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/
(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5))
+(P-(
(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/
(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5))
)*2)*0.982936188200278

次の様な判断を加えてやっとテストになる許容範囲(前コードでは 2 秒程度で,新しいコードではその倍位).

{
	if (vfp.length() <= 1)		{	return	FERROR ;	}
	TCHAR	c_0 = vfp[0] ;
	if (_istupper(c_0))		{	return	FERROR ;	}	
	}

2020/04/13
次の様なコード(elapsetm.hxx)を追加して計測すると,データにもよるが 2 倍程度.

	ElapseTime	et ;
	v_tstring	drop_files = ::DropFilesTo (hDropInfo) ;
	for (size_t index=0 ; index<drop_files.size() ; index++) {
		// ...
		}
	tstring	et_str = ::To_tstring(et.GetElapse()) ;

今回の変更では一部を除き機能は省いていないと思う.また,旧コードも最低限の新しい機能を付加している.
どちらのコードも共存可能にして,旧コードが使えない場合(今後の新しいコードなど)やループ外では新しいコードを使用する様にするか?


2020/04/15
文字列の終端が正しくないバグ
TcsCpy(val,bufSize,f_val.c_str()) ;
次の様にする必要がある.
TcsCpy (val,bufSize,f_val.c_str()) ;


数値の小数部の 0 を省くコードで,1.00 が 1000 になってしまったバグ.
'0' を指定された時 NOP に.t_tstrng.hxx

tstring	To_tstring_rz	(const tstring& str,const TCHAR sp=_T('\0'))	{
	if (sp == _T('0'))	{	return	str ;	}
	// ...
	}
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

LNK2005 すでに ~.obj で定義…

このエラーは,複数のソースファイルに同じ関数などが定義されている場合に発生します.
別の表現をすると,リンク対象の obj や lib に同じ定義が含まれているということです.


次の様な関数のエラーは,プロジェクトの設定に問題があることがあります.

nafxcwd.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) はすでに LIBCD.lib(new.obj) で定義されています

https://dev.mish.work/wordpress/?s=lnk2005


他に,自前のコードでヘッダファイルに関数の実体を定義した場合にも発生します.
その場合はソースファイルに移すか,inline 関数として定義します.
base64.hxx


以下は個人的なもので,ちょっと異なる使い方で発生した時の対応です.


以前,ソースファイルに定義していたテーブルをヘッダファイルに.

struct	CL_function	{
	LPCTSTR	Lower ;
	int	FType ;
	} ;

CL_function	CL_fnc_tbl[] =	{
	_T("atan2") ,	ATAN2	,
	//  ...
	_T(" ") ,	FERROR	,
	_T("\0") ,	FERROR	,
	} ;
--------------------構成: pf_20 - Win32 Debug--------------------
コンパイル中...
ComPrj01.cpp
コードを生成中...
コンパイル中...
ComUse02.cpp
pf_20.cpp
pf_20Dlg.cpp
コードを生成中...
リンク中...
ComUse02.obj : error LNK2005: "struct CL_function * CL_fnc_tbl" (?CL_fnc_tbl@@3PAUCL_function@@A) はすでに ComPrj01.obj で定義されています
pf_20.obj : error LNK2005: "struct CL_function * CL_fnc_tbl" (?CL_fnc_tbl@@3PAUCL_function@@A) はすでに ComPrj01.obj で定義されています
pf_20Dlg.obj : error LNK2005: "struct CL_function * CL_fnc_tbl" (?CL_fnc_tbl@@3PAUCL_function@@A) はすでに ComPrj01.obj で定義されています
pf_20.exe - エラー 3、警告 0

テーブルを cpp から hpp に移して LNK2005
次の様に static を付けて対応したが,ヘッダには static を書いてはいけない 様な記述が多い.

static	CL_function	CL_fnc_tbl[] =	{
	//  ...
	} ;
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.