start

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
start [2021/07/12 11:35] ともやんstart [2023/09/10 13:25] (現在) ともやん
行 1: 行 1:
 <html> <html>
-  <script src="/_media/javascript/requirejs/require-2.3.6.min.js?cache=recache"></script> +  <script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.min.js"></script> 
-  <script> +  <script src="/_media/javascript/ua-parser-js/ua-parser-0.7.28-gpu-ex.js"></script>
-    //self.DEBUG = true; +
-    var startTime = (new Date()).getTime(); +
-  </script> +
-  <script src="/_media/javascript/requirejs/settings.js?cache=nocache"></script>+
   <!-- Tomoyan.net Vue.js app start -->   <!-- Tomoyan.net Vue.js app start -->
 +  <script>const startTime = new Date();</script>
   <style>   <style>
     #kakunin_kun div.table {     #kakunin_kun div.table {
       overflow-x: scroll;       overflow-x: scroll;
 +    }
 +    #kakunin_kun table {
 +      font-size: 12px;
 +      line-height: 14px;
     }     }
     #kakunin_kun table th {     #kakunin_kun table th {
行 15: 行 16:
     }     }
     .font_half {     .font_half {
-      font-size: 50%;+      font-size: 10px;
     }     }
   </style>   </style>
行 27: 行 28:
 <WRAP prewrap 100% #kakunin_kun> <WRAP prewrap 100% #kakunin_kun>
 <html> <html>
-  <div id="tomoyan_net_app">+  <div id="tomoyan_net-app">
 </html> </html>
-^ IP アドレス (<html>{{ ip_ver }}</html>)\\ <html><span class="font_half">REMOTE_ADDR</span></html>  | <html>{{ remote_addr }}</html>  |+^ IP アドレス (<html>{{ ip_ver }}</html>)\\ <html><span class="font_half">REMOTE_ADDR</span></html>  | <html><code>{{ remote_addr }}</code></html>  |
 ^ ゲートウェイ名\\ <html><span class="font_half">gethostbyaddr(REMOTE_ADDR)</span></html>  | <php>echo '<a href="https://www.aguse.jp/?url='.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'" target="_blank">'.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'</a>';</php>  | ^ ゲートウェイ名\\ <html><span class="font_half">gethostbyaddr(REMOTE_ADDR)</span></html>  | <php>echo '<a href="https://www.aguse.jp/?url='.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'" target="_blank">'.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'</a>';</php>  |
-^ CPU Cores\\ <html><span class="font_half">navigator.hardwareConcurrency</span></html>  | <html>{{ cpu_cores }}</html> +^ CPU Cores\\ <html><span class="font_half">navigator.hardwareConcurrency</span></html>  | <html><p v-if="!(cpu_cores === '')"><code>{{ cpu_cores }}</code> core</p><p v-else="cpu_cores === ''">取得不能</p></html> 
-^ [[https://ja.wikipedia.org/wiki/%E7%94%BB%E9%9D%A2%E8%A7%A3%E5%83%8F%E5%BA%A6|画面解像度]]\\ <html><span class="font_half">screen & window</span></html>  | <html>{{ display_resolution }}</html> +^ [[https://ja.wikipedia.org/wiki/%E7%94%BB%E9%9D%A2%E8%A7%A3%E5%83%8F%E5%BA%A6|画面解像度]]\\ <html><span class="font_half">screen & window</span></html>  | <html><code>{{ display_resolution }}</code> pixel</html>\\ <html>(ブラウザ表示サイズ <code>{{ browser_resolution }}</code> pixel)</html> 
-^ ダークモード\\ <html><span class="font_half">CSS @media (prefers-color-scheme: dark)</span></html>  | <html>{{ dark_mode }}</html> +^ ダークモード\\ <html><span class="font_half">CSS @media (prefers-color-scheme: dark)</span></html>  | <html><code>{{ dark_mode }}</code></html> 
-^ [[https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88|User Agent]]  | <html>{{ user_agent }}<br /><div id="mincode"><pre>{{ ua_parser }}</pre></div></html>  | +^ [[https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88|User Agent]]\\ [[https://faisalman.github.io/ua-parser-js/|UAParser.js]] ([[javascript:json|JSON)]]  | <html><code>{{ user_agent }}</code></html><accordion><panel type="default" title="UAParser (JSON)"><html><div class="wrap_mincode"><pre>{{ ua_parser }}</pre><pre>{{ versions }}</pre></html></panel></accordion | 
-<php>echo '<input id="remote_addr" type="hidden" value="'.$_SERVER["REMOTE_ADDR"].'" />';</php>+^ [[https://html5test.com|The HTML5 test - How well does your browser support HTML5?]]  ||
 <html> <html>
   </div>   </div>
   <!-- Tomoyan.net Vue.js app end -->   <!-- Tomoyan.net Vue.js app end -->
 +</html>
 +<php>echo '<script>const REMOTE_ADDR = "'.$_SERVER["REMOTE_ADDR"].'"; </script>';</php>
 +<html>
 +  <script>
 +    const { createApp } = Vue
 +    let ua_parser;
 +    const tomoyan_net_app = createApp({
 +      data() {
 +        return {
 +          remote_addr: REMOTE_ADDR,
 +          cpu_cores: '',
 +          display_resolution: '',
 +          browser_resolution: '',
 +          user_agent: navigator.userAgent,
 +          ua_parser: '',
 +          versions: '',
 +          vue_ver: Vue.version,
 +        }
 +      },
 +      created() {
 +        this.get_display_resolution();
 +        this.get_cpu_cores()
 +
 +        window.UAParser = UAParser;
 +        let ua_result = ua_parser = new UAParser();
 +        let ua_json = ua_result.getResult();
 +        this.ua_parser = JSON.stringify(ua_json, null, '  ');
 +
 +        this.versions = 'Vue.js version: ' + Vue.version + '\n' +
 +          'UAParser version: ' + UAParser.VERSION + '\n';
 +      },
 +      computed: {
 +        ip_ver() {
 +          return REMOTE_ADDR.indexOf(':') !== -1 ? 'IPv6' : 'IPv4';
 +        },
 +        dark_mode() {
 +          if (matchMedia('(prefers-color-scheme)').media == 'not all') {
 +            return '未対応';
 +          }
 +          else {
 +            return matchMedia('(prefers-color-scheme: dark)').matches ? 'はい' : 'いいえ';
 +          }
 +        },
 +      },
 +      methods: {
 +        get_display_resolution() {
 +          this.display_resolution =  screen.width + ' x ' + screen.height;
 +          this.browser_resolution =  window.innerWidth + ' x ' + window.innerHeight;
 +        },
 +        get_cpu_cores() {
 +          this.cpu_cores = (!!navigator.hardwareConcurrency ? 
 +                            navigator.hardwareConcurrency :
 +                            '');
 +        },
 +      },
 +      mounted() {
 +        window.onload = () => {
 +          let diffLoadTime = Date.now() - startTime; 
 +          console.log('Load:', diffLoadTime / 1000);
 +        }
 +        /*window.onready = () => {
 +            let diffReadyTime = Date.now() - startTime; 
 +            console.log('Ready:', diffReadyTime / 1000);
 +        }*/
 +      },
 +      setup() {
 +        window.addEventListener('resize', this.set_display_resolution)
 +      },
 +      beforeDestroy() {
 +        window.removeEventListener('resize', this.set_display_resolution)
 +      },
 +    }).mount('#tomoyan_net-app')
 +  </script>
 </html> </html>
 </WRAP> </WRAP>
行 45: 行 119:
 ====== Dokuwiki Top (内部) ====== ====== Dokuwiki Top (内部) ======
 ^DokuWikiの使い方^^ ^DokuWikiの使い方^^
-|[[playground:playground|書き込みの練習場所]]  |  |+|[[playground:playground|✍️書き込みの練習場所]]  |  |
  
 ^ 生活 ^^^ ^ 生活 ^^^
-|[[internal_users_area:pharmacy|お薬関連]]  | [[internal_users_area:fee_calculation|料金計算]]  | [[internal_users_area:other|その他]] +|[[internal_users_area:pharmacy|💊お薬関連]]  | [[internal_users_area:fee_calculation|💰料金計算]]  | [[internal_users_area:other|🌾その他]] 
-|[[internal_users_area:medical_science|医学関連]]  |  |  |+|[[internal_users_area:medical_science|👨🏻‍⚕️医学関連]]  |  |  |
 </ifauth> </ifauth>
  
 <ifauth @confidential> <ifauth @confidential>
-[[doku_maintenance|DokuWikiメンテ部屋]]\\+[[doku_maintenance|🛠DokuWikiメンテ部屋]]\\
  
 ^ その他 ^^^ ^ その他 ^^^
-|[[confidential_area|機密領域]]  |[[system_manage|システム管理]]  |[[info_arrange|情報整理(管理者専用)]] +|[[confidential_area|🔑機密領域]]  |[[system_manage|⚙️システム管理]]  |[[info_arrange|📝情報整理(管理者専用)]] 
-|[[kodomo_area|子供向けサーバー構築]]  |  |+|[[kodomo_area|👶子供向けサーバー構築]]  |  |
 </ifauth> </ifauth>
  
 ====== Dokuwiki Top ====== ====== Dokuwiki Top ======
 <php> <php>
-function curlGet($url) {+function curlGet($url, $referer='') {
   $curl = curl_init();   $curl = curl_init();
      
行 69: 行 143:
   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // curl_execの結果を文字列で返す   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // curl_execの結果を文字列で返す
 +  curl_setopt($curl, CURLOPT_REFERER, $referer);
      
   $response = curl_exec($curl);   $response = curl_exec($curl);
行 77: 行 152:
  
 //$json = curlGet('https://www.gaitameonline.com/rateaj/getrate'); //$json = curlGet('https://www.gaitameonline.com/rateaj/getrate');
-$json = curlGet('https://info.finance.yahoo.co.jp/fx/async/getRate'); +//$json = curlGet('https://info.finance.yahoo.co.jp/fx/async/getRate'); 
-$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');+//$json = curlGet('https://finance.yahoo.co.jp/web-fx/ajax', 'https://finance.yahoo.co.jp/quote/USDJPY=FX'); 
 +$html = curlGet('https://www.google.com/finance/quote/USD-JPY'); 
 +//$html = curlGet('https://www.google.com/finance/quote/CNH-JPY'); 
 +$html = mb_convert_encoding($html, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 
 +preg_match_all('/AF_initDataCallback\(\{.*?(?<json>.*?)\}\);/', $html, $matchs); 
 +$html = $matchs['json'][3]; 
 +$json = json_encode($matchs['json']); 
 +//$json = json_decode($matchs['json'][1], false); 
 //$usdjpy = json_decode($json, true)['quotes'][20]; //$usdjpy = json_decode($json, true)['quotes'][20];
-$usdjpy = json_decode($json, true)['USDJPY']; +echo '<script>'; 
-$cnhjpy = json_decode($json, true)['CNHJPY'];+echo 'var quotes = ' . $json . ';'; 
 +echo '</script>'; 
 +$usdjpy = []; //json_decode($json, true)['USDJPY']; 
 +$cnhjpy = []; //json_decode($json, true)['CNHJPY'];
  
 +//print_r($matchs['json']);
 +//print_r($json);
 +//print_r($html);
 //print_r($usdjpy); //print_r($usdjpy);
  
行 96: 行 185:
 echo '<div class="table" style="word-break: break-word;"><table class="inline">'; echo '<div class="table" style="word-break: break-word;"><table class="inline">';
  
-echo '<thead><tr><th colspan="6"><a href="https://info.finance.yahoo.co.jp/fx/detail/?code=USDJPY=FX" target="_blank">米ドル/円 - Powered by Yahoo!ファイナンス</a></th></tr></thead>';+echo '<thead><tr><th colspan="6"><a href="https://info.finance.yahoo.co.jp/fx/detail/?code=USDJPY=FX" target="_blank">💹米ドル/円 - Powered by Yahoo!ファイナンス</a></th></tr></thead>';
 echo '<tbody>'; echo '<tbody>';
 echo '<tr><td>Bid(売値)</td><td>'.$usdjpy['Bid'].'</td>'; echo '<tr><td>Bid(売値)</td><td>'.$usdjpy['Bid'].'</td>';
行 106: 行 195:
 echo '</tbody>'; echo '</tbody>';
  
-echo '<thead><tr><th colspan="6"><a href="https://info.finance.yahoo.co.jp/fx/detail/?code=CNHJPY=FX" target="_blank">人民元/円 - Powered by Yahoo!ファイナンス</a></th></tr></thead>';+echo '<thead><tr><th colspan="6"><a href="https://info.finance.yahoo.co.jp/fx/detail/?code=CNHJPY=FX" target="_blank">💹人民元/円 - Powered by Yahoo!ファイナンス</a></th></tr></thead>';
 echo '<tbody>'; echo '<tbody>';
 echo '<tr><td>Bid(売値)</td><td>'.$cnhjpy['Bid'].'</td>'; echo '<tr><td>Bid(売値)</td><td>'.$cnhjpy['Bid'].'</td>';
行 118: 行 207:
 echo '</table></div>'; echo '</table></div>';
 </php> </php>
-[[https://sec.himawari-group.co.jp/report/weeklycalendar/|経済指標|マーケット情報|ひまわり証券 (https://sec.himawari-group.co.jp/)]]\\+<html><a href="https://sec.himawari-group.co.jp/report/weeklycalendar/">🌻経済指標|マーケット情報|ひまわり証券 (https://sec.himawari-group.co.jp/)</a></html>\\
  
 ^ 関連サイト  ^^ ^ 関連サイト  ^^
-| [[https://redmine.tomoyan.net|ともやんRedmine]]  | [[https://repos.tomoyan.net|ともやんRepository]]  |+| [[https://redmine.tomoyan.net|🦚ともやんRedmine]]  | [[https://repos.tomoyan.net|🕊ともやんRepository]]  |
  
 ^ DokuWikiの使い方  ^^ ^ DokuWikiの使い方  ^^
-| [[wiki:syntax|整形記法]]  | [[wiki:dokucrypt_plugin|Dokucryptプラグイン(暗号化機能)]] +| [[wiki:syntax|☮️整形記法]]  | [[wiki:dokucrypt_plugin|🛡Dokucryptプラグイン(暗号化機能)]] 
-| [[http://www.dokuwiki.org/ja:dokuwiki|Dokuwiki本家]]  | [[SyntaxTest|書式テスト]]  |+| [[http://www.dokuwiki.org/ja:dokuwiki|🏡Dokuwiki本家]]  | [[SyntaxTest|📝書式テスト]]  |
  
 ^ カテゴリー別  ^^^^ ^ カテゴリー別  ^^^^
 ^ OS  ^^^^ ^ OS  ^^^^
-| [[linux|Linux 関連]]  | [[linux_zaurus|Linux Zaurus 関連]]  | [[network|ネットワーク関連]]  | [[windows:regex|正規表現]] +| [[linux|🐣Linux 関連]]  | [[linux_zaurus|Linux Zaurus 関連]]  | [[network|ネットワーク関連]]  | [[windows:regex|正規表現]] 
-| [[mac|Mac 関連]]  | [[ios|iPhone/iOS 関連]]  | [[android|Android 関連]]  |  | +| [[mac|🍔🍟Mac 関連]]  | [[ios|🍍iPhone/iOS 関連]]  | [[android|🤖Android 関連]]  |  | 
-| [[windows|Windows 関連]]  |       |+| [[windows|🍱Windows 関連]]  |       |
 ^ 言語  ^^^^ ^ 言語  ^^^^
-| [[python|Python 関連]]  | [[python:django|Django Framework 関連]]  | [[php|PHP 関連]]  | [[ruby|Ruby 関連]] +| [[python|🐍Python 関連]]  | [[python:django|🎸Django Framework 関連]]  | [[php|🐘PHP 関連]]  | [[ruby|💍Ruby 関連]] 
-| [[html_css|HTML5 CSS3 関連]]  | [[javascript|JavaScript 関連]]  | [[c_cpp|C/C++ 関連]]  | [[golang|Go 関連]]  | +| [[html_css|🚾HTML CSS 関連]]  | [[javascript|🈁JavaScript 関連]]  | [[c_cpp|🍋C/C++ 関連]]  | [[rust|🦀Rust 関連]] 
-| [[programming_language|プログラミング言語関連]]  ||||+| [[golang|🐭Go 関連]] [[java|☕Java 関連]]  || [[programming_language|💻プログラミング言語関連]]  |
 ^ テクノロジ  ^^^^ ^ テクノロジ  ^^^^
 | [[web|Web 関連]]  | [[dotnet|.NET 関連]]  | [[hardware|ハードウェア関連]]  | [[charset|文字コード]]  | | [[web|Web 関連]]  | [[dotnet|.NET 関連]]  | [[hardware|ハードウェア関連]]  | [[charset|文字コード]]  |
-| [[algorithm|アルゴリズム]]  | [[database|データベース関連]]   |   |+| [[algorithm|アルゴリズム]]  | [[database|データベース関連]] [[open_source|オープンソース]]  |   |
 | [[ai|人工知能関連]]  | [[security|セキュリティ関連]]  |     | | [[ai|人工知能関連]]  | [[security|セキュリティ関連]]  |     |
 ^ その他  ^^^^ ^ その他  ^^^^
行 151: 行 240:
 | [[currency|通貨関連]]  |  |  |  | | [[currency|通貨関連]]  |  |  |  |
  
-<html> +\\ 
-  <script> +このサイトを広告なしで見るには...\\ 
-    let tomoyan_net_app; +[[web:vivaldi|Vivaldi - 超絶便利。タブ管理や広告で悩まないブラウザ]]\\ 
-    require(['Vue', 'UAParser'], (Vue, UAParser) => { +[[web:brave|Brave - プライバシーを重視した高速かつ安全な次世代ブラウザ]]\\ 
-      tomoyan_net_app = new Vue({ +の利用をお勧めします😉\\
-        el: '#tomoyan_net_app', +
-        data: { +
-          user_agent: navigator.userAgent, +
-          ua_parser: '', +
-          display_resolution: '', +
-          remote_addr: this.remote_addr.value, +
-        }, +
-        created: function() { +
-          this.set_display_resolution(); +
-           +
-          let ua_json = (new UAParser()).getResult(); +
-          this.ua_parser = JSON.stringify(ua_json, null, '  ');  +
-        }, +
-        computed: { +
-          ip_ver: function() { +
-            return this.remote_addr.indexOf(':') !== -1 ? 'IPv6' : 'IPv4'; +
-          }, +
-          cpu_cores: function() { +
-            let cpu_cores = (!!navigator.hardwareConcurrency ?  +
-                                 navigator.hardwareConcurrency : +
-                                 ''); +
-            let cpu_cores_tr = this.$el.querySelector('#kakunin_kun .row2'); +
-             +
-            if (cpu_cores == '') { +
-              //cpu_cores_tr.hidden = true; +
-              //cpu_cores_tr.setAttribute('style', 'display: none;'); +
-              cpu_cores = '取得不能'; +
-            } +
-            else { +
-              cpu_cores += ' core'; +
-            } +
-             +
-            return cpu_cores; +
-          }, +
-          dark_mode: function() { +
-            if (matchMedia('(prefers-color-scheme)').media == 'not all') { +
-              return '未対応'; +
-            } +
-            else { +
-              return matchMedia('(prefers-color-scheme: dark)').matches ? 'はい' : 'いいえ'; +
-            } +
-          }, +
-        }, +
-        methods: { +
-          set_display_resolution: function() { +
-            const display_resolution = +
-              screen.width + ' x ' + screen.height + ' pixel ' + +
-              '(表示サイズ ' + window.innerWidth + ' x ' + window.innerHeight + ' pixel)'; +
-             +
-            this.display_resolution = display_resolution; +
-          }, +
-          window:onload = function() { +
-            let diffTime = (new Date()).getTime() - startTime;  +
-            console.log(diffTime / 1000); +
-          }, +
-        }, +
-        mounted: function() { +
-          window.addEventListener('resize', this.set_display_resolution) +
-        }, +
-        beforeDestroy: function() { +
-          window.removeEventListener('resize', this.set_display_resolution) +
-        }, +
-      }); +
-    }); +
-  </script> +
-</html> +
- +
-このサイトを広告なしで見るには [[web:brave|Brave - プライバシーを重視した高速かつ安全な次世代ブラウザ]] の利用をお勧めします\\+
  
  • start.1626057354.txt.gz
  • 最終更新: 2021/07/12 11:35
  • by ともやん