目前分類:NetYea (74)

瀏覽方式: 標題列表 簡短摘要

影片



TB6612FNG是東芝生產的馬達驅動與控制IC,內部包含兩組H橋式電路,可驅動和節制兩個小型直流馬達,或一個雙極性步進馬達。

1.jpg

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

OpenVino概念
1.png

圖改自https://www.learnopencv.com/using-openvino-with-opencv/#openvino-opencv
將已經訓練好的深度進修model經由Model Optimizer優化後
(何謂優化請見下面Model Optimizer條目)
經由Inference Engine  跟 硬體(CPU/ GPU /VPU)
到達加快Inference 的目標

★ Model Optimizer
      ●摘錄自:【AI_Column】運用 Intel OpenVINO 土炮自駕車視覺系統
       協助去除已練習好的模子中的冗餘參數,並可將 32bits 浮點數的參數降階,
      以犧牲數個百分點准確率來換取推論速度提拔數十倍到百倍。

   ●把深度進修框架Train出來的model, 轉換成 Inference Engine 可以用的IR file
       目前支援的深度進修框架有 Caffe*, TensorFlow*, MXNet*, and ONNX*.
     ●之前以為所有由Caffe*, TensorFlow*, MXNet*, and ONNX* 練習出的model
     都可以由Model Optimizer轉換成IR file  ,但看了 的Supported Models章節
     好像不是這麼一回事,需找一個底下沒提到的model來實驗看看
     有成效我再更新
      Supported Models
        For the list of supported models refer to the framework or format specific page:
•        Supported Caffe* models
•        Supported TensorFlow* models
•        Supported MXNet* models
•        Supported ONNX* models
•        Supported Kaldi* models
   ●有script可以 configure Model Optimizer  以導入
     所有OpenVino supported的深度進修框架或單一深度學習框架
       若要手動configure Model Optimizer也有文件可以參考 ->  Model Optimizer Developer Guide.

★ IR file
   包含train model的topology 跟weight,利用者只要知道如何將
   練習好的model change to IR file,就可以利用OpenVino加快Inference

★ Inference Engine
   用來run 最佳化後的深度學習model
   C:\Program Files (x86)\Intel\openvino_2021.4.689\
   deployment_tools\inference_engine\samples底下有放一些IE的samples   
   各Samples說明  
   延伸浏覽 → 如何run Inference Engine Samples
★ VPU plugin
    這份文件好像在講如何的model能被vpu 支援
■OpenVino不供應Model Training
   OpenVino的model來曆以我的理解就以下這幾種
   1.自己用OpenVino supported的深度進修框架去train  model
      或去Model Zoo下載所需model
1.        Caffe [ Model Zoo ]
2.        Tensorflow [ Model Zoo ]
3.        MxNet [ Model zoo ] 連結失效
4.        Open Neural Network Exchange (ONNX) [ Model zoo ]
   2.OpenVino裡面附的pre-trained model  
      不外不一定有符合你需求的
   3.OpenCV DNN sample model
■相幹名詞
★ OpenVino用的是CNN( Convolutional Neural Networks )模子 ;
   還包括了Deep Learning Deployment Toolkit (Intel® DLDT).
    2.png
      Convolution:影象->filter->擷掏出特徵,好比邊沿。
      此種進程叫做Convolution
★ OpenCV和OpenVX有什么联系和区别?
★ 機械進修
   機械學習理論首要是設計和剖析一些讓電腦可以主動學習的演算法。
    機械進修演算法是一類從資猜中自動闡明獲得紀律,並利用規律對未知資料進行預測的演算法。
★ 深度學習
   是機械進修的分支。 深度進修框架對照
■如何安裝OpenVino
照著 安裝步調做即可 (英文看不懂請自行降服)
-------------------------------------------------------------------------------------------------------------------------------
上述的器材都認識以後,接下來最先DEMO OpenVino附的兩個script
■Run the Image Classification Verification Script
   ★在C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\demo下
   可以找到demo_squeezenet_download_convert_run.bat。
   這個demo使用squeezenet model 判定照片中的Object屬於什麼種別
   可判斷的類別有一千種,有哪一千種可以看底下這個檔案
   C:\Program Files (x86)\Intel\openvino_2021.4.689\
   deployment_tools\demo\squeezenet1.1.labels
   *路徑中的openvino_2019.1.148的2019.1.148這數字代表版本, 是以若安裝的OpenVino版本跟我分歧,那數字也會分歧
   *若安裝不只一個版本的OpenVino,分歧版本的OpenVino會有屬於自己的資料夾
   而openvino阿誰捷徑會指向最後安裝的那個版本
    3.png
★這個batch的內容以下
   Step1 :  下載SqueezeNet model (使用downloader.py)
   Step2: 用 Model Optimizer 把SqueezeNet轉成IR file。
                (利用mo.py)
   Step3: Build Inference Engine samples
                batch檔履行過程當中, 會看到cmd 畫面卡在
                Build Inference Engine samples using MS Visual Studio (MSBuild.exe)一段時候
                請耐煩等待 。此步會產生 classification_sample.exe
   Step4: 把car.png & IR file看成iInference Engine的input 來闡明car.png
   ↓This is car.png
    
4.png
   ↓針對比片中的Object,分類前十名的結果依序從Prob.高到低排列
   分類結果最高分數是sport car

   5.png
★重跑demo_squeezenet_download_convert_run.bat
   跑過一次batch以後,若再執行一次batch,
   因為某些檔案跑過一次batch以後就已存在了
   batch裡的寫法偵測到某些檔案存在之後就會疏忽掉某些Step
   若想要完全地再跑一次,需刪除以下檔案
   ●刪除model
   C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models
    \models\FP32\classification
   底下整個squeezenet 資料夾刪掉
   注意:FP32是針對CPU device的,若是VPU devide ,對應到的folder name是FP16

   ●刪除 IR       
   C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models\ir\FP32
    \classification\squeezenet\1.1\ 底下全部caffe 資料夾刪掉
   注意:FP32是針對CPU device的,若是VPU devide ,對應到的folder name是FP16
------------------------------------------------------------------------------------------------
■Run the Inference Pipeline Verification Script
★demo_security_barrier_camera.bat 這個batch的內容如下
Step1 : 下載 three pre-trained models IRs
Step2:build Security Barrier Camera Demo Inference Engine來分析car1.bmp
Step3: 圖片裡的object會被第一個model判定成是車輛,
              這個判定成效被看成input 導入到下一個model,
              這個model可以指出車輛的一些屬性 ex:車牌
              最後 車牌被看成input導入到第三個model,這個model可以把車牌的字元辨認出
              會被稱做Pipeline 我想應當是辨認成效從第一個model傳到第三個model
             像水流在管線裡活動一樣吧...

        
★重跑全部bat
  跑過一次batch以後,有些step會被疏忽掉,因為某些檔案已存在了
  若要乾乾淨淨的再跑一次,需要刪除以下檔案
  ●刪除 IR      
  C:\Users\$(username)\Documents\Intel\OpenVINO\openvino_models\
  ir\FP32\classification\squeezenet\1.1\
  底下全部caffe 資料夾刪掉

----------------------------------------------------------------------------------------------------------
以上範例是使用openvino在 CPU
若用其他intel 硬體, 好比movidius gpu vpu  FPGA or MYRIAD
請參考安裝文件中 Optional Steps這部份
-----------------------------------------------------------------------------------------------------------
■OpenVino PreTrained Model
★OpenVINO供給好幾個pre-trained models
可以用Model Downloader 或到
https://download.01.org/opencv/2019/open_model_zoo/ 去下載
下載的model是被優化過的model,稱作IR file( xml 檔+ bin 檔)

★可在這邊 https://docs.openvinotoolkit.org/latest/_demos_README.html
Demos that Support Pre-Trained Models章節
看各個pre-trained model support哪些Device
Object Detection Models
裡面包含好幾個model可以用來偵測object
包括:人臉,人,車輛
Object Recognition Models
用來分類或特徵辨識,使用在其他detector以後。好比先做人臉偵測,再做年歲/性別辨識

Semantic Segmentation Models
原文網址:https://kknews.cc/zh-tw/tech/mgqvl9.html
語義分割(Semantic Segmentation)的目標是給定一張圖片,對於圖片中的每一個像素做分類。
例如圖1(a)中給出的原始輸入圖片,語義分割算法對圖片中的每個像素分類,
獲得如圖1(b)的成果。在圖1(b)中,不同色彩代表不同類別:
如紅色代表行人,藍色代表汽車,綠色代表樹,灰色代表建築物等。網頁設計
語義分割問題在良多運用場景中都有著十分主要的感化(例如圖片理解,自動駕駛等)

6.png

Instance Segmentation Models
INSTANCE SEGMENTATION可以知道同類object的數目(不同色彩表示)
https://arxiv.org/pdf/1405.0312.pdf
 8.png
9.png
Human Pose Estimation Models
Image Processing
提高影象品質
10.png

Text Detection
Action Recognition Models
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
■Trouble Shooting
● 安裝時碰到CMake*/ Python* version  xxx or higher is not detected.
       11.png

      ->Fixed by 安裝如提醒的CMake & Python版本後
      再重安裝一次OpenVino
● 電腦已有安裝Python3.6.5了
      還是會出現Python* version  xxx or higher is not detected.
      ->Fixed by 再安裝一次Python >選Modify  >勾選Add Python.....
      ->再安裝一次OpenVino就可以了

      12.png

● 履行demo_squeezenet_download_convert_run.bat前
      若沒有安裝cmake 會泛起以下Error
       'cmake' is not recognized as an internal or external command,
       operable program or batch file.
       ->Fixed by 安裝cmake
       請參考 Install CMake* 3.4 or higher章節
  ● 執行demo_squeezenet_download_convert_run.bat發生以下Err
      target_precision = FP32
      Python 3.6.6
      ECHO is off.
      PYTHONPATH=C:\Program Files (x86)\IntelSWTools\openvino\python\python3.6;
      [setupvars.bat] OpenVINO environment initialized
      INTEL_OPENVINO_DIR is set to C:\Program Files (x86)\IntelSWTools\openvino
      Python 3.6.6
      ECHO is off.
      Collecting pyyaml
      Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by       'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Proxy Authentication Required (         Forefront TMG requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )',))':                 /simple/pyyaml/
       ...
      Could not find a version that satisfies the requirement pyyaml (from versions: )
      No matching distribution found for pyyaml
      ->Fixed by 更改proxy設定
      按照Cannot connect to proxy這個訊息判斷應當是proxy問題
      本來我是使用公司內網run script
      後來將proxy調劑成以下設定&連手機熱門就能夠執行了  
       13.png
  ● 泛起以下Error
     ###############|| Generate VS solution for Inference Engine samples using cmake ||###############

     Waiting for 2 seconds, press a key to continue ...
     Creating Visual Studio 15 2017 x64 files in      
     C:\Users\$(userName)\Documents\Intel\OpenVINO\inference_engine_samples_build...
     CMake Error at CMakeLists.txt:7 (project):
     Generator
     Visual Studio 15 2017
     could not find any instance of Visual Studio.
     -- Configuring incomplete, errors occurred!
     ->fixed by reboot
    因為在安裝openvino之前我有開visual studio installer去 modify設定
    設定完後沒有按照指示重開機
    因此呈現以上issue
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
●其它參考連結
  - OPENvINO with openCV
  - 既跨平台又開源 英特爾開啟智慧視覺創新
    跨越20個預先訓練的模型,以及針對OpenCV和OpenVx的最佳化電腦視覺庫。
    OpenVINO東西套件可透過CPU、GPU、FPGA、Movidius VPU(AI晶片 )等硬體進行佈置,
    加強視覺系統功能和機能
-   SqueezeNet
     SqueezeNet 是圖片分類模型,最適合參數較少及較小的模型使用,相較於現代圖片分類模子 (AlexNet),
     不會犧牲品質。
-   C:\Program Files (x86)\Intel\openvino_2021.4.689\documentation

 

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

DEMO圖片
2.png

Strength.js 套件能用在註冊時就先檢查密碼的強度,現在很多網站都有會員機制,很多人怕暗碼會忘掉或是偷懶都會用一些很簡短簡單的暗碼,這樣就讓其它歹意的利用者就有機可趁,這也讓網站的經管者很頭大。

此套件首要的標準分數為:
暗碼必需包括8個字符以上
密碼必需包含1個小寫字母
暗碼必需包含1個大寫字母
暗碼必需包括1個數字
固然有非凡的字元也是加分的要害

利用方式:
第一步 載入 JavaScripts 和 CSS 的樣式檔案

  1. <!-- 樣式檔案 -->
  2. <link href='strength.css' rel='stylesheet' type='text/css'>
  3. <!-- 利用 Google 的 API 獲得 jQuery-->
  4. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  5. <!-- Strength.js 的主程式檔案-->
  6. <script type="text/javascript" src="strength.js"></script>
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

良多網站成立早期,利用YAHOO或GOOGLE搜索引擎搜索本身網站,卻發目前YAHOO或GOOGLE搜索引擎輸入網站名找不到本身網站,花了大把銀子請網頁設計公司作網站,卻無法到達曝光的效果,下面介紹若何哄騙免費網站 SiteTag:http://sitetag.us/ 來讓本身網站提拔排名及暴光。
首先,進步前輩入到 SiteTag:http://sitetag.us/ 官方網站
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

1.png

網頁設計本日把http轉成https


到後台編纂時發現沒法瀏覽伺服器及上傳圖片





到ckeditor目次下,找到config.js

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

網頁設計

比來被MAIL SERVER搞得焦頭爛額
逐日到CPANEL官方問問題
成績都是沒找到被GAMIL及HOTMAIL檔信問題
也處置懲罰不了
找了小洲教員,他說只有做SmartHost relay或換IP



進入WHM -> Exim Configuration Manager -> BACKUP
備份設定檔


比來被MAIL SERVER搞得焦頭爛額
逐日到CPANEL官方問問題
成果都是沒找到被GAMIL及HOTMAIL檔信問題
也處理不了
找了小洲先生,他說只有做SmartHost relay或換IP



進入WHM -> Exim Configuration Manager -> BACKUP
備份設定檔

1.png

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

申明:在Linux下把excel數據導入到mysql數據庫中,這其實是很搞笑的一個勾當!幾乎很少有法式員研究過這個問題吧?如斯反常的問題,估計我是第一個研究的!呵呵,完滿是自找苦吃~~,然則今天完了這項太有挑戰性的工作!
先清算一下思緒先,~~
起首:需要把文件上傳到辦事器上
然後:讀取excel數據列顯示出來
然後:讓用戶選擇字段的對應關係
然後:提交數據,讀取字段的對應關係
最後:批量導入數據,刪除姑且文件
一共是以上五步驟!我們一步步剖析~~~
第一步:下載附件中的phpexcelparser4.rar ,這個文件是上傳excel盜辦事器上並以web情勢展示出來的!這個一般沒有問題的!問題是法式的做法是把表存為且則表而沒有真正留存下來,所以起首要更改法式代碼為

 

  1.  
  2. //uc轉換成html
  3. function uc2html($str) {
  4.    $ret = '';
  5.    for( $i=0; $i<strlen($str)/2; $i++ ) {
  6.        $charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
  7.        // $ret .= '&#'.$charcode;
  8.        if($charcode<127)
  9.          $ret .=chr($charcode);
  10.        else
  11.            $ret .= iconv("utf-8","utf-8",u2utf8($charcode));
  12.    }
  13.        return $ret;
  14. }
  15. //html轉成utf8
  16. function u2utf8($c) {
  17. $str="";
  18. if ($c < 0x80) {
  19.   $str.=$c;
  20. } else if ($c < 0x800) {
  21.   $str.=chr(0xC0 | $c>>6);
  22.   $str.=chr(0x80 | $c & 0x3F);
  23. } else if ($c < 0x10000) {
  24.   $str.=chr(0xE0 | $c>>12);
  25.   $str.=chr(0x80 | $c>>6 & 0x3F);
  26.   $str.=chr(0x80 | $c & 0x3F);
  27. } else if ($c < 0x200000) {
  28.   $str.=chr(0xF0 | $c>>18);
  29.   $str.=chr(0x80 | $c>>12 & 0x3F);
  30.   $str.=chr(0x80 | $c>>6 & 0x3F);
  31.   $str.=chr(0x80 | $c & 0x3F);
  32. }
  33. return $str;
  34. }
  35.  
  36. if (trim($_POST["cmd"])=="upload")
  37. {
  38. $err_corr = "Unsupported format or file corrupted";
  39. $excel_file_size;
  40. $excel_file = $_FILES['excel_file'];
  41. $uploadservername=$UploadAbsPath."tmpexcel/".$_FILES['excel_file']['name'];
  42. echo($uploadservername);
  43.      if (!is_writeable($UploadAbsPath."tmpexcel/"))
  44.      {
  45.      echo "目次弗成寫!"; exit;
  46.      }
  47.      else
  48.      {
  49.      echo "目次可寫!";
  50.      }
  51. if (move_uploaded_file($_FILES['excel_file']['tmp_name'], $uploadservername))
  52. {
  53.     echo("上傳成功");
  54. }
  55. else
  56. {
  57.     echo("上傳失敗");
  58. }
  59. $excel_file=$uploadservername;
  60. //if( $excel_file )
  61. //    $excel_file = $_FILES['excel_file']['tmp_name'];
  62.  
  63.  
  64. if( $excel_file == '' ) fatal("No file uploaded");
  65.  
  66.  
  67. $exc = new ExcelFileParser("debug.log", ABC_NO_LOG);//ABC_NO_LOG ABC_VAR_DUMP);
  68.     //echo($excel_file."|");
  69.    
  70. $style = $_POST['style'];
  71. if( $style == 'old' )
  72. {
  73.     $fh = @fopen ($excel_file,'rb');
  74.     if( !$fh ) fatal("No file uploaded");
  75.     if( filesize($excel_file)==0 ) fatal("No file uploaded");
  76.     $fc = fread( $fh, filesize($excel_file) );
  77.     @fclose($fh);
  78.     if( strlen($fc) < filesize($excel_file) )
  79.     fatal("Cannot read file");
  80.    
  81.     $time_start = getmicrotime();
  82.     $res = $exc->ParseFromString($fc);
  83.     $time_end = getmicrotime();
  84. }
  85. elseif( $style == 'segment' )
  86. {
  87.     $time_start = getmicrotime();
  88.     $res = $exc->ParseFromFile($excel_file);
  89.     $time_end = getmicrotime();
  90. }
  91.  
  92.  
  93. switch ($res) {
  94.     case 0: break;網頁設計
  95.     case 1: fatal("Can't open file");
  96.     case 2: fatal("File too small to be an Excel file");
  97.     case 3: fatal("Error reading file header");
  98.     case 4: fatal("Error reading file");
  99.     case 5: fatal("This is not an Excel file or file stored in Excel < 5.0");
  100.     case 6: fatal("File corrupted");
  101.     case 7: fatal("No Excel data found in file");
  102.     case 8: fatal("Unsupported file version");
  103.  
  104.  
  105.     default:
  106.     fatal("Unknown error");
  107. }
  108.  
  109.  
  110. /*
  111. print '<pre>';
  112. print_r( $exc );
  113. print '</pre>';
  114. exit;
  115. */
  116.  
  117.  
  118. show_time();
  119.  
  120.  
  121. echo <<<LEG
  122. <b>Legend:</b><br><br>
  123. <form name='doform' action='' method='post'>
  124. <input type='hidden' name='action' value='do'>
  125. <input type='hidden' name='excel_file' value=$excel_file>
  126. <input type='hidden' name='style' value=$style>
  127. <table border=1 cellspacing=0 cellpadding=0>
  128. <tr><td>Data type</td><td>Description</td></tr>
  129. <tr><td class=empty>&nbsp;</td><td class=index>An empty cell</td></tr>
  130. <tr><td class=dt_string>ABCabc</td><td class=index>String</td></tr>
  131. <tr><td class=dt_int>12345</td><td class=index>Integer</td></tr>
  132. <tr><td class=dt_float>123.45</td><td class=index>Float</td></tr>
  133. <tr><td class=dt_date>123.45</td><td class=index>Date</td></tr>
  134. <table>
  135. <br><br>
  136.  
  137.  
  138. LEG;
  139. /*
  140. print "<pre>";
  141. print_r ($exc->worksheet);
  142. print_r($exc->sst);
  143. print "</pre>";
  144. */
  145.     for( $ws_num=0; $ws_num<count($exc->worksheet['name']); $ws_num++ )
  146.     {
  147.     print "<b>Worksheet: \"";
  148.     if( $exc->worksheet['unicode'][$ws_num] ) {
  149.     print uc2html($exc->worksheet['name'][$ws_num]);
  150.     } else
  151.     print $exc->worksheet['name'][$ws_num];
  152.  
  153.  
  154.     print "\"</b>";
  155.     $ws = $exc->worksheet['data'][$ws_num];
  156.  
  157.  
  158.     if( is_array($ws) &&
  159.          isset($ws['max_row']) && isset($ws['max_col']) ) {
  160.      echo "\n<br><br><table border=1 cellspacing=0 cellpadding=2>\n";
  161.  
  162.  
  163.      print "<tr><td>&nbsp;</td>\n";
  164.      for( $j=0; $j<=$ws['max_col']; $j++ ) {
  165.     print "<td class=index>&nbsp;";
  166.     if( $j>25 ) print chr((int)($j/26)+64);
  167.     //這裡要顯示一個下拉列表來顯示數據
  168.     //注意是輪回數據<br />
  169.     echo("\n<select name='".$j."'>");
  170.     echo("\n<option value='0'>不選擇</option>");
  171.    echo("\n<option value='costomernum'>客戶編號</option>");
  172.    echo("\n<option value='name'>客戶姓名</option>");
  173.    echo("\n<option value='phone1'>電話1</option>");
  174.    echo("\n<option value='phone2'>德律風2</option>");
  175.    echo("\n<option value='address1'>地址1</option>");
  176.    echo("\n<option value='address2'>地址2</option>");  
  177.    echo("\n<option value='company'>公司</option>");
  178.    echo("\n<option value='levelc'>職稱</option>");   
  179.    echo("\n<option value='ps'>備註</option>");
  180.    
  181.     echo("</select>");
  182.     print "</td>";
  183.      }
  184.  
  185.  
  186.      print "<tr><td>&nbsp;</td>\n";
  187.      for( $j=0; $j<=$ws['max_col']; $j++ ) {
  188.     print "<td class=index>&nbsp;";
  189.     if( $j>25 ) print chr((int)($j/26)+64);
  190.     print chr(($j % 26) + 65)."&nbsp;列名</td>";
  191.      }
  192.  
  193.  
  194.  
  195. //表頭輸出終了
  196.     if ($ws['max_row']>9)
  197.     {
  198.     $shownum=9;
  199.     }
  200.     else
  201.     {
  202.     $shownum=$ws['max_row'];//只輸出前10條數據
  203.     }
  204.      for( $i=0; $i<=$shownum; $i++ ) {
  205.      print "<tr><td class=index>".($i+1)."</td>\n";
  206.      if(isset($ws['cell'][$i]) && is_array($ws['cell'][$i]) ) {
  207.          for( $j=0; $j<=$ws['max_col']; $j++ ) {
  208.  
  209.  
  210.     if( ( is_array($ws['cell'][$i]) ) &&
  211.          ( isset($ws['cell'][$i][$j]) )
  212.          ){
  213.  
  214.  
  215.      // print cell data
  216.      print "<td class=\"";
  217.      $data = $ws['cell'][$i][$j];
  218.  
  219.  
  220.      $font = $ws['cell'][$i][$j]['font'];
  221.      $style = " style ='".ExcelFont::ExcelToCSS($exc->fonts[$font])."'";
  222.  
  223.  
  224.          switch ($data['type']) {
  225.     // string
  226.     case 0:
  227.         print "dt_string\"".$style.">";
  228.         $ind = $data['data'];
  229.         if( $exc->sst['unicode'][$ind] ) {
  230.         $s = uc2html($exc->sst['data'][$ind]);
  231.         } else
  232.         $s = $exc->sst['data'][$ind];
  233.         if( strlen(trim($s))==0 )
  234.         print "&nbsp;";
  235.         else
  236.         print $s;
  237.         break;
  238.     // integer number
  239.     case 1:
  240.         print "dt_int\"".$style.">&nbsp;";
  241.         print $data['data'];
  242.         break;
  243.     // float number
  244.     case 2:
  245.         print "dt_float\"".$style.">&nbsp;";
  246.         echo $data['data'];
  247.         break;
  248.     // date
  249.     case 3:
  250.         print "dt_date\"".$style.">&nbsp;";
  251.  
  252.  
  253.         $ret = $data[data];//str_replace ( " 00:00:00", "", gmdate("d-m-Y H:i:s",$exc->xls2tstamp($data[data])) );
  254.         echo ( $ret );
  255.         break;
  256.     default:
  257.         print "dt_unknown\"".$style."> &nbsp;";
  258.         break;
  259.          }
  260.      print "</td>\n";
  261.     } else {
  262.         print "<td class=empty>&nbsp;</td>\n";
  263.     }
  264.          }
  265.      } else {
  266.     // print an empty row
  267.     for( $j=0; $j<=$ws['max_col']; $j++ )
  268.         print "<td class=empty>&nbsp;</td>";
  269.     print "\n";
  270.      }
  271.      print "</tr>\n";
  272.      }
  273.  
  274.  
  275.      echo "</table><br>\n";
  276.     } else {
  277.     // emtpty worksheet
  278.     print "<b> - empty</b><br>\n";
  279.     }
  280.     print "<br>";
  281.  
  282.  
  283.     }
  284.     echo("<input type='submit' name='Submit' value='轉換' />");
  285.     echo("</form>");
  286. /*    print "Formats<br>";
  287.     foreach($exc->format as $value) {
  288.     printf("( %x )",array_search($value,$exc->format));
  289.     print htmlentities($value,ENT_QUOTES);
  290.     print "<br>";
  291.     }網頁設計
  292.  
  293.  
  294.      print "XFs<br>";
  295.     for( $i=0;$i<count($exc->xf['format']);$i++) {
  296.     printf ("(%x)",$i);
  297.     printf (" format (%x) font (%x)",$exc->xf['format'][$i],$exc->xf['font'][$i]);
  298.  
  299.  
  300.     print "<br>";
  301.     }
  302. */
  303. }
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

1.jpg
php5與php7的區分是什麼?下面本篇文章就來給人人對比一下php5與php7,介紹php5與php7之間的區別。有必然的參考價值,有需要的朋友可以參考一下,但願對你有所輔助。
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

假如編譯直行時呈現以下訊息,就是電腦與 Arduino 板子沒法溝通

1.png

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9f


1.USB 有沒有毗鄰。(看 Arduino 板子上的燈有沒有亮就可以確認這點)
2.有無設定 Arduino 的驅動程式。

3.Arduino Board 的板型是否准確 (選擇 Arduino IDE 功能表中的 Tool/Board 確認板型)
4.COM port 設定是否准確。
選擇 Arduino IDE 功能表中的 Tool/Serial port 確認 port
您可以用裝置管理員看看 (Windows 中選 裝配管理員/連接埠/),由於我的 Arduino-UNO 用 USB 摹擬為 COM11,是以我在 Tool/Serial port 必須選擇 COM11


5.最後是PROCESSOR是否拔取准確

文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

2023 調整 Chrome 設定方式

今朝 Chrome 版本,防止自動從頭載入分頁的方式已比力簡單,請見下圖:

1.png

chrome.png (170.45 KB, 下載次數: 0)

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

1.jpg

IPFS和Filecoin都是由和談實行室打造的明星項目,IPFS是一種點對點、版本化、內容尋址的超媒體傳輸和談, 其所要構建的是一個散佈式的web 3.0;

Filecoin是一個基於IPFS的去中心化存儲收集,是IPFS上獨一的激勵層,是一個基於區塊鏈手藝刊行的通證。IPFS和Filecoin是相輔相成的,IPFS的強大和普及有益於為Filecoin帶來更多的客戶資本,Filecoin也能推動收集朝著更有規律性、更具鼓勵性、更有協作性的方向發展。


IPFS和談從2015年1月發布至今五年有餘,手藝也越來越成熟,作為下一代互聯網底層通訊和談,IPFS已經成功運用在數據存儲、文件傳輸、收集視頻、社交媒體、去中間化生意業務等各個範疇,這些APP、應用、平台,正在重構全部互聯網,今天,我們就來介紹有哪些應用使用了IPFS和談。


1、搜索引擎
1、谷歌瀏覽器
谷歌瀏覽器(Google Chrome)是今朝世界上使用率和市場佔有率最高的瀏覽器。2019歲首年月,IPFS 伴侶上架谷歌網上利用店,這個插件可以用來簡化IPFS 資本接見的瀏覽器擴展。
IPFS伴侶(IPFS Companion)是由IPFS官方應用社區孵化出來的一個瀏覽器插件,可以輔助用戶在當地更好的運行、經管自己的節點,並隨時查看IPFS節點的資本信息。無需下載,一鍵挪用。


2、BRAVE
這是一款具有壯大告白阻擋功能的瀏覽器,不僅能阻擋告白,還具有追踪回護的功能。
這個功能首要是隨時能夠屏障垂釣網站,供應的私有云可以用匿名告白庖代網站本來的告白,可以說一切告白在這個瀏覽器上都不存在,所有告白都被阻擋了,大大加速了網頁的加載和瀏覽速度,給用戶帶來更好的收集體驗。現已嵌入IPFS插件。

3.jpg


BRAVE官網地址:https://brave.com/


3、Firfox火狐瀏覽器
2018年1月26日,火狐WebExtensions 產品司理Mike Conca 在Mozilla 官網發布了文章(Extensions in Firefox 59),羅列了火狐59的最新擴大(今朝發佈於測試版)。個中一項特征是支撐包羅IPFS在內的分佈式和談。
2018年頭,Firefox新增了“ipfs://”協議的支撐。


4、Opera瀏覽器
Opera在本年5月的時辰就宣布支撐IPFS了。兩邊合作延續,估計本年歲尾之前在其Android版Opera瀏覽器中推出IPFS撐持。值得注意的是,Opera在瀏覽器中開發了加密錢包,有Android、iOS和桌面版。可見Opera很早就結構了區塊鏈生態撐持。

4.jpg
5. IPSE
IPSE是一款基於IPFS收集的搜刮引擎,致力於打造下一代互聯網的流量入口。在IPSE上可以搜索IPFS網絡的文件,由於採用哈希標註手藝,可讓內容的哈希地址轉化為文字題目,快速訪問。另外IPSE仍是使用區塊鏈手藝的搜刮引擎,搜刮將謝絕廣告跟踪,同時用戶還能獲得通證鼓勵。

5.jpg
IPSE 官網地址:https://www.ipse.io/



6、Poseidon
一個基於IPFS收集的中間化的散佈式搜刮引擎,可讓用戶快速檢索IPFS收集上的文件,尋找到所需要的數據,同時用戶參與挖礦還能獲得通證激勵。被譽為區塊鏈版Google。

6.jpg


二、內容平台

1、Netflix
Netflix成立於1997年,首要供給超大數目的DVD並免費遞送,除此以外它的用戶也可以經由過程小我電腦、電視、iPad、iPhone等聯網收看其電影、電視節目。近些年來風靡全球的政治題材電視劇《紙牌屋》就是由奈飛出品。2019年10月,Netflix位列2019福布斯全球數字經濟100強榜第46名。
近日,IPFS宣布與全球最大的流媒體平台Netflix告竣合作。作為一家地位和實力非統一般的企業為什麼選擇和IPFS進行合作呢?
在IPFS Camp 2019之後,Netflix便和IPFS最先了手藝上的合作,將IPFS系統中的對等辦事等手藝整合到奈飛的東西中,使用IPFS的手藝加快雲的構建、設計和測試。
Netflix想要解決的容器分發挑戰:若何在大範圍,多區域情況中有用地提取容器圖象。圖象層凡是位於不同的區域,使用IPFS作為點對點CDN,可使Netflix根本架構內的節點進行協作並將配合的種子播種到相鄰節點,從而有助於更快地分發容器。
Netflix官網地址:https://www.netflix.com/
7.jpg
2、D.Tube
IPFS最拉風的運用之一“D.Tube” ,對標YouTube,內容太殘暴了。
D.Tube 是第一個加密散佈式視頻平台,建立在STEEM 區塊鍊和IPFS 點對點網絡之上,將來會撐持FIlecoin收集,它旨在成為YouTube 的替代品,允許用戶在IPFS/FIlecoin 基礎上旁觀或上傳視頻,並在不可變的STEEM 區塊鏈長進行分享或評論,同時賺取加密通證!Look,即削減了存儲本錢又能賺token ,多麼愉快!
D.Tube官網地址:https://d.tube/

8.jpg


3、Ujomusic
對標蝦米音樂和咪咕音樂的Ujomusic,是一個IPFS上的音樂家的區塊鏈市場。
2015年,Ujo幫助音樂家Imogen Heap用區塊鏈刊行了作品“Tiny Human”。粉絲可以購置許可權,下載、試聽,也能夠用於混音等用途;並且粉絲支付的錢會自動分配給Heap和該作品的合作方。該草創企業還和許多品牌合作,為了“在開源區塊鏈系統中將這些目錄從新數字化”,同時鼓動勉勵開辟者在平台上開辟運用。
Ujomusic官網地址:https://ujomusic.com/


9.jpg


4、Viewly
一個沒有煩人廣告、尊敬用戶隱私的平台。在那裡,社區蓬勃成長,粉絲和創作者之間的互動遭到高度鼓勵。擁有小型、中型或大型觀眾的創作者可以經由過程現代貨幣化來維持自身的保存:將無摩擦的微付出、粉絲資助、資助支撐和商業相連系。經由過程跳過中心商、資助創作者和直接支撐他們的社區,企業可以提高廣告效力和下降本錢。Viewly是一個渙散的視頻平台,由區塊鍊和對等視頻同享手藝支撐。
Viewly 官網地址:www.viewly.com/

10.jpg


5、Dlive
DLive 創立了一個更公允的視頻平台社區。DLive 平台不收取任何佣金,用戶可以經由過程平台貨幣直接打賞內容創作者。另外,視頻社區的其他進獻者也會受到相應的獎勵——好比給視頻點贊,介入評論辯論等,也都會贏得Token。這類去中間化的評價體係不但最大化保障了創作者的利益,也能使觀眾直接介入視頻內容的打分,讓好內容更容易被人人看到。
在這類自治自主烏托邦式的社區構思下,像LegendofTotalWar 和PewDiePie 如許的硬核頭部主播紛紛插足。今朝,DLive 上的主播數目已到達了3.5 萬。



6、Primas
Primas是一個去中心化項目,致力於用區塊鏈技術解決互聯網經濟帶來的一系列問題,諸如假新聞、剽竊、洗稿、標題黨、低質量內容等。Primas獨創的散佈式可信內容協議(DTCP),將把可信、高質量的信息帶回互聯網,重塑互聯網內容價值生態。我們相信,傳播由人類聰明、情感締造的高質量信息,將增進人類社會的成長。15.jpg

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

在架設了DNS後


該若何肯定該網域是否被GOOGLE接管呢?


到該網址
https://www.whatsmydns.net/

輸入網域就能夠知道具體內容了

網頁設計

網頁設計1.png

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

1.jpg
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()



ESP32 節制 TB6612FNG 直流馬達驅動∕控制板 請看這篇

 

使用Android手機若何用Arduino藍芽連線ESP32節制蜘蛛機械人
需要使用雙電源
假如利用單電源,電流會被馬達抽走
ESP32晶片電流不足會沒法正常運作
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

網頁設計
1.jpg
您的網站為何總是排名在後面呢?除了買告白之外,有無什麼撇步呢?網店日報來告知您,有哪些根基的SEO優化技能,做好這6個步調,您的網站SEO就可以事半功倍!
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

1.png

法式員的蒼茫-找尋不到價值

在浩蕩的軟件世界裡,作為一位普通法式員,顯得十分細微,甚至會感到渺茫。我們心裏崇敬手藝,卻也對日新月異的手藝抱有深深的驚駭。手藝市場就像這喜怒不定的老天爺,今世界個大數據雨,明天掛小我工智能風,面臨琳瑯滿目的手藝海潮的衝擊,法式員不免深感無力,深怕錯過了技術潮水從而失去了職場競爭力。
有時辰我會思慮難道在手藝範疇內接續緊跟新潮,不休提陞技術就是我的價值地點?那麼我是手藝的主人照樣技術的奴隸?人之所以迷茫往往是找不到工作生活的重心,感觸感染不到工作或糊口的價值。那麼什麼是價值呢?說的大一點就是我改變了世界,說的小一點就是我的所作所為改良了某些問題。若是不清晰本身的行為、目的、價值三者的關係,那麼又何來重心?又若何能分得清重要性與優先級呢?

程序員的迷茫不單單是面對手藝繁雜的無力感,更主要的是因為長期湮沒於軟件世界的浩蕩的分工系統中,沒法看清從營業到軟件架構的價值鏈條,沒法清楚定位本身在分工系統的位置,處置懲罰欠好本身與技術、營業的關係所致
良多法式員打心底不喜好營業,這一點我曾經也經歷過,我更寧願從事框架東西、技術組件研究的相幹事情。我有個伴侶常常吐槽我說:"你們每天加班加點寫了那麼多代碼,然後呢?有改變什麼嗎?還不是寫出了一堆垃圾。"仔細想一想很多時刻營業在我們腦海中存留的只是邏輯和流程,我們丟失的是對業務場景的感觸感染,對用戶痛點的體味,對業務發展的思慮。這些都是與價值慎密相幹的部份。我們很自然的用戰術的勤勞袒護計謀的懶惰!那麼如許的後果就是我們把自己限死在流水線的工位上,閹割了本身能夠發現業務價值的能力,而過量關注新技術對職場競爭力的價值。這也就是我們面臨複雜手藝,而產生技術進修焦炙症的底子緣由


業務、手藝與軟件系統的價值鏈


那麼什麼是營業呢?就是指某種有目標的工作或工作項目,營業的目標就是解決人類社會與吃喝住行息息相關的領域問題,包羅物資的需乞降精力的需求。
使開展業務舉動的主體和受眾都能獲得好處。通俗的講營業就是用戶的痛點,是營業供應方(比如公司)的盈利點。而手藝則是解決問題的對象和手段。
好比為領會決用戶隨時隨地購物的營業問題時,法式員利用web技術構建電子商務App,而當需求進級為接濟用戶快速選購商品時,法式員會哄騙數據算法等手藝手段構建推薦引擎。
手藝如果離開了營業,那麼手藝運用就沒法很好的落地,手藝的研究也將落空場景和標的目的而業務脫離了手藝,那麼營業的展開就變得極其昂貴和低效

所以回過甚來我們想想本身沒日沒夜寫了那麼多的代碼從而構建起來的軟件系統,它的價值何在呢?
說白了就是為領會決營業問題,所以當你所從事的工作內容其實不能為解決營業問題帶來多大幫助的時辰,你應當要及時做出調整。
那麼軟件系統又是若何表現它本身的價值呢?在我看出處以下方面體現:

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

網頁設計

1.先安裝NANO的驅動程式
找到Tools - > Boards manager
1.png

2.左邊輸入nano
安裝 Arduino AVR Boards 1.8.X
2.png


3. 找到准確型號
Tools -> Processor -> ATmega328P(Old Bootloader)
3.png


4. 替換COM PORT
Tools -> Port -> COM 10(每台電腦顯示分歧)
這時候插上Arduino nano 已顯示連線
4.png


5.安裝LIB (liquid-crystal-i2-c.h)
載點
https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c


SKETCH -> ADD .ZIP Library...
把檔案上傳便可

5.png

果燒錄出現毛病請看這篇
毛病訊息:stk500_getsync() attempt 10 of 10: not in sync: resp


文章出處:網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計

 

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

記錄一下批量抓取 Google 搜尋成績裡的連結的方式。


假如還沒有安裝以下,要先下載安裝:
 

  1. pip install beautifulsoup4
  2. pip install google
文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

前台看到 相幹商品

1.png

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()

有在利用Google Maps的人,多若幹少必然都有利用到Google地圖找四周景點餐廳。

 

文章標籤

codym31ccng1 發表在 痞客邦 留言(0) 人氣()