參考網址:精讚
按下 F5是重新整理但使用cache,但按下CTRL+F5是全部重新載入
參考網址:Neo Insight
如果你想要從Command(命令提示字元)直接執行Powershell然後使用管理員模式,你必須使用下列方式執行Command (命令提示字元) 。
下方的命令是打在Dos Command裡。
Start-Process powershell -ArgumentList '-File C:\ABC.ps1' -Verb runAs
原理上是透過命提示字元(一般身分)先呼叫Powershell.exe(一般身分)去執行Powershell(管理員身分)來跑 ABC.PS1程序
參考網址:凡走過就該留下痕跡
sql語法中常會用到 in (11,12,13,14) 的語法
一般會將列表的值放在陣列中,要如何組成sql的語法呢?
可以這樣寫
//組合組別字串給sql用 //傳入組別陣列 //傳回組合字串(11,12,13,14) function get_in_str($g_arr) { //$sql_in_str = "("; foreach($g_arr as $k => $v) { if($sql_in_str) $sql_in_str .= ",{$v}"; else $sql_in_str = $v; } $sql_in_str = "(".$sql_in_str.")"; return $sql_in_str; }
今天發現一個更好用的方法
$var = array(11,12,13,14); $check_str = implode(",", $var); //組成 11,12,13,14
參考網址:wibibi
在 PHP 中取得目前網址的方式可以透過 $_SERVER 組合的方式取得,這樣的方式稍微有點麻煩,不過使用起來還算相當簡單,首先我們先來認識幾個常用到的 $_SERVER。
$_SERVER[‘HTTP_HOST’]
$_SERVER[‘REQUEST_URI’]
$_SERVER[‘PHP_SELF’]
$_SERVER[‘QUERY_STRING’]
假設我們的網址是 http://www.wibibi.com/test.php?tid=333
則以上 $_SERVER 分別顯示結果會是
echo $_SERVER[‘HTTP_HOST’]; //顯示 www.wibibi.com
echo $_SERVER[‘REQUEST_URI’]; //顯示 /test.php?tid=222
echo $_SERVER[‘PHP_SELF’]; //顯示 /test.php
echo $_SERVER[‘QUERY_STRING’]; //顯示 tid=222
透過這幾個 $_SERVER,我們已經取得了網址的各個部分,接著就是把網址給組合起來
$URL='http://'.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
echo $URL;
這樣就可以順利取得現在的網址囉!這只是個簡單的範例而已,如果網址結構較為複雜,可以調用更多的 $_SERVER 來取得詳細的部分,請參考 php.net 的 $_SERVER 介紹。
目前寫PHP程式的測試環境是用uniform server,架設及操作使用皆十分方便,唯一的缺點是執行效能,點個網頁得等上2-3秒的時間,爬文也沒找到解決的方案。最近WSL2興起,於是想想是不是可以用來架設測試環境,經過幾天的嘗試,發現效能竟然不錯。以下是架設的過程。
手動下載 Windows 子系統 Linux 版散發版本套件 https://docs.microsoft.com/zh-tw/windows/wsl/install-manual
使用ubuntu 16.04
安裝散發版本 PowerShell Add-AppxPackage .\app_name.appx
★★★安裝相關套件
apt update
apt install tasksel
安裝LAMP server
apt install phpmyadmin
★★★在 Windows 10 中將 WSL(Ubuntu) 重設
https://blog.0t2.me/reset-wsl-in-windows-10/
windows設定 –>應用程式 –>ubuntu16.04 –> 進階選項–>重設
★★★Ubuntu 14.04更改Apache網站根目錄 https://www.itread01.com/p/163145.html
修改檔案:/etc/apache2/sites-enabled/000-default
在文件中找到 DocumentRoot 在後面修改你要放置網頁檔案的目錄
DocumentRoot /mnt/d/sport
大多數教程只是到了這一步!!然而這樣是有問題的。
還需要配置Apache2.conf檔案![這裡寫圖片描述](http://img.blog.csdn.net/20160407143221995)
<Directory /mnt/d/sport/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
修改完後重啟apache2伺服器即可,重啟命令: sudo /etc/init.d/apache2 restart
★★★WSL檔案放在
%LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx
CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc
C:\Users\sairwolf\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu16.04onWindows_79rhkp1fndgsc\LocalState
★★★https://blog.miniasp.com/post/2020/07/26/Multiple-Linux-Dev-Environment-build-on-WSL-2
關閉 WSL Distro 執行
關閉特定 WSL Distro 執行
wsl -t WLinux
關閉所有 WSL Distro 執行(等同於關閉 VM 執行)
wsl –shutdown
移除 WSL Distro 版本
注意:所有該 WSL Distro 下所有的檔案,都會被全數刪除,刪除後無法復原喔!
wsl.exe –unregister WLinux2
★★★安裝php5.6
http://dchesmis.blogspot.tw/2016/09/ubunt-1604php5x.html
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml php5.6-gd php5.6-zip
從 php7 切換到 php5:
sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
用 phpinfo(); 查看版本
CLI:
sudo update-alternatives -set php /usr/bin/php5.6
sudo php -v
ppa:ondrej/php 已不支援ubuntu 16.04(2022/10/29補記)
https://launchpad.net/
★★★設定mysql 模式
關閉Ubuntu預設mysql5.7版的strict mode設定方法(嚴格模式)
1、SSH連線到伺服器的root,找到以下路徑,並建立一個disable_strict_mode.cnf檔案
/etc/mysql/conf.d/disable_strict_mode.cnf <-建立檔案
2、打開文件並寫入以下語法:
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
3、輸入指令重新啟用mysql
sudo service mysql restart
為了確認strict mode模式是不是已經被關閉了,可以在phpMyAdmin的sql中輸入SELECT @@GLOBAL.sql_mode進行測試
如果顯示IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FO則表示strict mode模式已經被關閉,恭喜您可以脫離苦海了。
★★★phpmyadmin設定連線時間
一、修改 /etc/php.ini
設定系統逾時的秒數
session.gc_maxlifetime = 86400
重啟 apache 生效
二、修改 /path/to/phpmyadmin 設定檔
到你安裝phpmyadmin的目錄/etc/phpmyadmin
理論上在 phpmyadmin的根目錄下應該有 config.inc.php 這個檔案,如果沒有的話,請將sample設定檔拿來用:
# cp config.sample.inc.php config.inc.php
修改config.inc.php
最上面加入一行,設定時間(秒數)即可
$cfg[‘LoginCookieValidity’] = 86400;
★★★目前未解決的問題
1.無法設定固定IP:暫時用hEdit_x64編輯hosts檔,新增wsl 指向動態IP來解決
2.ssh連入時無法用密碼登入,只能用public key [修改/etc/sshd_config 設定 PasswordAuthentication yes 就可以了]
3..sh檔無法執行 解決方法寫bat
例service_start.bat
REM wsl.exe --shutdown wsl.exe -u root service ssh start wsl.exe -u root service mysql start wsl.exe -u root service apache2 start PAUSE
hosts
127.0.0.1 localhost ::1 localhost ::1 lo ::1 w.lo
localhost 會自動導向wsl主機,如要少打一些字記得加入 ::1 的轉向。
w.lo可以讓瀏覽器認得這是一個網址,直接打lo瀏覽器會當成搜尋字串。
在windows 的CMD命令提示字元視窗執行wsl指令就可以進ubuntu
目前WSL2沒有像VM那樣的網路橋接器功能,所以其他機器無法透過IP存取WSL2裡的資源,翻了github找到一個解法,用windows的netsh把port映射到WSL2。
參考文件:Joe Huang
1.開啟power shell 執行外部script的權限
以系統管理員身份執行power shell並執行以下指令
PS C:\> Set-ExecutionPolicy RemoteSigned
選擇全部皆是
2.執行下面的script
其他的機器可以成功的連入,檔案通知的機制也能正常運作
$remoteport = bash.exe -c "ifconfig eth0 | grep 'inet '" $found = $remoteport -match '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'; if( $found ){ $remoteport = $matches[0]; } else{ echo "The Script Exited, the ip address of WSL 2 cannot be found"; exit; } #[Ports] #All the ports you want to forward separated by coma $ports=@(80,443,10000,3000,5000); #[Static ip] #You can change the addr to your ip config to listen to a specific address $addr='0.0.0.0'; $ports_a = $ports -join ","; #Remove Firewall Exception Rules iex "Remove-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' "; #adding Exception Rules for inbound and outbound Rules iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Outbound -LocalPort $ports_a -Action Allow -Protocol TCP"; iex "New-NetFireWallRule -DisplayName 'WSL 2 Firewall Unlock' -Direction Inbound -LocalPort $ports_a -Action Allow -Protocol TCP"; for( $i = 0; $i -lt $ports.length; $i++ ){ $port = $ports[$i]; iex "netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr"; iex "netsh interface portproxy add v4tov4 listenport=$port listenaddress=$addr connectport=$port connectaddress=$remoteport"; }
更換預設語系
阿舍的隨手記記 Ubuntu 用指令設定終端機顯示中文訊息
sudo locale-gen zh_TW sudo locale-gen zh_TW.UTF-8 sudo dpkg-reconfigure locales sudo update-locale LANG="zh_TW.UTF-8" LANGUAGE="zh_TW"
用locale指令可以查得目前的語系設定
參考網址:
【NB-IoT】是什麼呢? 【NB-IoT】(窄帶物聯網 ,Narrow Band -Internet of Things)
中華電信行動物聯網 https://www.cht.com.tw/home/Campaign/M-IoT/index.html
參考網址:https://randomnerdtutorials.com/projects-esp32/
webserver https://randomnerdtutorials.com/esp32-web-server-arduino-ide/
阿玉Web:Bit研究區 https://sites.google.com/site/wenyuwebbit/14-arduino-ide-huan-jing/01-esp32-web-server
參考網址:
製作好的webduino自訂積木,要分享給大家使用,可以透過github來完成。
就像法蘭斯一樣https://github.com/fustyles/webduino/blob/master/CustomBlock.txt
範例
(新版) QR code辨識 (instascan)
https://fustyles.github.io/webduino/instascan.js_20201012/blockly.json
申請好github帳號後,並沒有開啟github的網頁功能,得自行設定。
GitHub Pages
首先新增一個sairwolf.github.io的Repository
在sairwolf.github.io中新增index.html檔案
就可以用https://sairwolf.github.io看到網頁了
再來就是將倉庫部署到github pages
如何將你的github倉庫部署到github pages
例如進入myBlocks repository ,點右上角的setting
找到github pages的區塊,設定好後按save就可以了。
參考網址:硬pi製作
http://digiland.tw/viewtopic.php?pid=12101
http://aron.ws/projects/lirc_rpi/
http://alexba.in/blog/2013/03/09/raspberrypi-ir-schematic-for-lirc/ 這一篇介紹了如何安裝與使用
http://www.raspberries.tw/post/48939062042/raspberry-pi-lirc-implement
這兒有一篇中文使用說明https://digiland.tw/viewtopic.php?id=2591
這一篇寫得很清楚 嗯唉欸斯的MEMO
看來有些複雜,還是用webduino smart 比較簡單