[sport]扯鈴計分

參考網址:
席次法https://goo.gl/dzUMCR

發表於 程式設計 | 發表迴響

sublime

參考網址:
官網
https://www.sublimetext.com/


外掛
emmet
https://github.com/emmetio/sublime-text-plugin#readme

 

Sublime Text 的安裝設定及入門操作 – [ 下篇 ]
http://www.flycan.com/article/free-resource/sublime-text-setup-2-2077.html

emmet所有指令
https://docs.emmet.io/cheat-sheet/
https://pjchender.blogspot.com/2016/07/emmet.html

區塊編輯
壓住Shift用滑鼠右鍵來進行區塊編輯。

https://shinychang.net/blog/Sublime-Text-基礎熱鍵表/

利用Emmet外掛,裡面的使者設定,來自訂程式片段,雖然說使用上很方便,但在製作上有些麻煩,因為透過Emmet需把所有的碼,變成一行,同時再透過\t與\n來控制斷行與空格,所以每次在建立時,都得花不少的眼力與腦力。
snippet自訂常用的程式片段
https://www.minwt.com/webdesign-dev/html/17946.html
開啟 Perferences / Browse Packages目錄,新建檔案把副檔名設為.sublime-snippet,再把檔案放到「User」 的目錄裡

<snippet>
<content><![CDATA[ 完整原始碼內容 ]]></content>
<tabTrigger>短碼</tabTrigger>
<description>註解</description>
</snippet>
如果原始碼內容中有$ 要改成 \$

按ctrl+shift+p 查詢snippet 可以看到目前建了那些快速片段
從tools – Snippets 也可以看到已經建的snippet
snippet官方文件https://docs.sublimetext.io/guide/extensibility/snippets.html

 

中文化
https://www.itread01.com/content/1550348677.html
安裝chinese localization外掛
1.ctrl+shift+p:調出package control;
2、在對話方塊裡面輸入ins ,選擇package control :install package ;
3、然後在彈出的對框裡面輸入:localization,選擇chinese localization,就漢化好了;
4、help=>language,選擇需要的語言


sublime text 3 隐藏菜单后怎么点出来
shift + ctrl + p 调出命令之后选择view: toggle menu。
或者单击alt

 

假圖
https://picsum.photos/1300/200?random=11

發表於 程式設計, 軟體使用 | 發表迴響

Templated 免費下載 CSS 和 HTML5 網站模板、佈景主題設計

參考網址:https://free.com.tw/templated/
https://templated.co/

很多ICON https://www.iconfinder.com/

發表於 程式設計 | 發表迴響

[sport]檢錄單修改

templates\register\print_register.css 加入
 

table {border-collapse:collapse;}

 

spr_1_s.htm中將bgcolor拿掉
 

<TABLE cellSpacing=1 width="800" align=center bgColor=#000000 border=0>

<TD bgColor=#ffffff class="f_content"><div align="center">{{$lane}}</div></TD>


並將<table>的border改為1

 

另一種改法:用原來的方法,但將原HTML中的TABLE及TD的bgcolor改成CSS的寫法,可以讓HTML程式碼更簡潔。
這種寫法列印時得勾選列印背景。
 

將HTML中的bgcolor都拿掉

改放到CSS中
table {
   background-color:black;
    border-spacing:1px;
}
td {background-color:white;}

HTML中bgcolor在CSS中的表示方式是background-color
HTML中cellspacing在CSS中的表示方式是border-spacing
優先順序 CSS 〉 HTML 標籤屬性
所以在css中設定了table border-spacing:1px;如果要在HTML無邊框就用style來解決
<TABLE style="border-spacing:0px;">

 

wibibi HTML_Table_cellspacing的CSS替代語法

CSS的優先順序
Image for post

 

 

發表於 程式設計 | 發表迴響

如何讓瀏覽器重新載入css、js、圖檔

參考網址:精讚

按下 F5是重新整理但使用cache,但按下CTRL+F5是全部重新載入

發表於 軟體使用 | 發表迴響

Powershell : Run as Administrator from command.

參考網址:Neo Insight 

如果你想要從Command(命令提示字元)直接執行Powershell然後使用管理員模式,你必須使用下列方式執行Command (命令提示字元) 。

下方的命令是打在Dos Command裡。
 

Start-Process powershell -ArgumentList '-File C:\ABC.ps1' -Verb runAs 

 

原理上是透過命提示字元(一般身分)先呼叫Powershell.exe(一般身分)去執行Powershell(管理員身分)來跑 ABC.PS1程序

發表於 程式設計 | 發表迴響

[php]將陣列組成字串

參考網址:凡走過就該留下痕跡
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

 

發表於 程式設計 | 發表迴響

[php]PHP 取得目前網址技巧分享

參考網址: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 介紹。

發表於 程式設計 | 發表迴響

[wsl]成為寫PHP程式測試環境

目前寫PHP程式的測試環境是用uniform server,架設及操作使用皆十分方便,唯一的缺點是執行效能,點個網頁得等上2-3秒的時間,爬文也沒找到解決的方案。最近WSL2興起,於是想想是不是可以用來架設測試環境,經過幾天的嘗試,發現效能竟然不錯。以下是架設的過程。

安裝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指令可以查得目前的語系設定

發表於 Linux系統, Windows系統, 程式設計 | 發表迴響

[NB-IoT]是什麼呢?

參考網址:
【NB-IoT】是什麼呢? 【NB-IoT】(窄帶物聯網 ,Narrow Band -Internet of Things)

中華電信行動物聯網 https://www.cht.com.tw/home/Campaign/M-IoT/index.html

發表於 生活資訊, 程式設計 | 發表迴響