本教學以 Linux 及 Windows 為主
指令\作業系統 | Windows | Linux |
---|---|---|
根 | \ | / |
切換工作目錄 | c: | cd /c |
建立資料夾 | mkdir | mkdir |
Windows 下如果在 c:\ 中下 cd d:\
會移動不過去,因為系統判斷 c:\ 底下沒有 d:\
XAMPP 版本請介於 7.2 到 7.4 之間,學校雲端才能用
php -v
因為未來老師會教其他網頁伺服器(IIS)預設Port也是80,本課程請改為6080 XAMPP panel 的 config 及 Apache 的 config 也要改
>
:複寫>>
:appandVirtualBox Guest Additions are a collection of device drivers and system applications designed to achieve closer integration between the host and guest operating systems. They help to enhance the overall interactive performance and usability of guest systems.
需將 Windows 更新
設定>應用程式>選用功能
服務>設為自動並啟用
連線
查詢通訊埠(預設開啟),有在監聽(TCP/IP)才能用SSH連線
防火牆(預設開啟)
設定檔位置:C:/ProgramData/ssh/sshd.config
可以用免密碼連線(預設開啟),如有註解需拿掉
讓管理員可以連線,將最下面兩行註解
因為教室電腦將user
改成web111a
的,ssh登入時會找不到,他會找預設的user
web111a
改回user
web111a
使用者
administrator
將本機公鑰(.pub)加到虛擬機(authorized_keys)
在.ssh
底下建立config
登入
4/18 驗收
settings.json
參考老師提供
DOM 全名為 Document Object Model 中文翻譯為 文件物件模型,看起來很抽象但其實就是把一份 HTML 文件內的各個標籤,包括文字、圖片等等都定義成物件,而這些物件最終會形成一個樹狀結構,下面有一張示意圖可以參考。
<meta>
<html></html>
<body></body>
試試看打!
之後按下Tab
吧
<!-- meow -->
ul
、內文li
ol
、內文li
瀏覽器有預設的屬性
<tr>
、<td>
因為 HTML5 之後會讓標籤有「語意」,因此多了以下標籤:
<thead>
、<tbody>
、<tfoot>
輸出
<sup></sup>
<sub></sub>
<b></b>
<big></big>
<i></i>
<strong></strong>
<del></del>
<mark></mark>
透過VSCode套件,可以參考VS Code 關於SFTP上傳檔案到多伺服器的配置
Settings.json
sftp.json
以前網頁 request/response 透過 form,只更動部分內容卻整個網頁都要重新渲染 (render),後來有 AJAX 非同步請求出來。能做到非阻斷 resquest
AJAX 的 A 是 Asynchronous(非同步)指的是 Javascript 對伺服器提供請求,使用者仍然可透過輸入網頁表單、點擊按鈕與頁面互動,這互動所有一切都發在Web 伺服器仍在執行。 當伺服器完成工作時,程式碼可以只更新頁面上有發生改變的部分。
<fieldset>
元素能方便地建立用途相近、樣式及語意化都很方便的小部件組。透過添加<legend>
來給<fieldset>
的內部開頭添加標籤。
type="text"
type="radio"
type="tel"
select/option
起手式
測試呼叫,在 command line 輸入
$_POSE["<input 的 name>"]
抓取前端傳來的資料
如果前端沒有丟資料怎麼辦?兩種寫法:
PHP isset()
或是給預設值
特別注意這邊的預設值是當直接從路徑進入後端表單才會帶,如果從前端按送出,傳的資料會是空值,空值會覆蓋掉預設值。
另外實務上前端應該做表單初步驗證(例如:加上 required),後端雖然還是會二次驗證,但有更好的寫法
字串相加
多選 checkbox
資料的取法
HTML
PHP
這邊的 $userinterest
就是 input
裡的 name
,撈出來的資料是 input
裡的 value
VS Code 套件,根據文件做法到 xdebug 產生 .dll,放在對應位置
按照步驟並更改 php.ini,下圖是 macOS 的
windows
確認安裝:在 phpinfo()
搜尋 xdebug
建立並修改 launch.json,注意 port 要與 php.ini 一致
移至 javascript
常用指令要一直打很麻煩?可以產生批次檔紀錄一連串指令,其實很簡單:
.bat
檔
例如:我想快速用 VS Code 開啟專案目錄,我可以在 C 槽底下新增 web111a.bat,內容是:
使用時不想印出指令請在 .bat
加上這行:
測試一下(因為命令提示字元預設一進入工作目錄會在 C:\Users\使用者
,所以其實只要輸入 w
+ tab
,就會自動完成)
特別注意:
記得加上環境變數
每次更動 .bat
需重新開啟命令提示字元
剛經測試更動 .bat 好像不用重開,甚至不需要加環境變數
emmet 縮寫是 c
hex
rgb
rgba
hsl
hsla
背單字吧
emmet 縮寫是 td
emmet 縮寫是 ta
emmet 縮寫是 ff
找到你要的字體:Noto Sans TC
選擇樣式:
選擇匯入方式 link
或是 @import
:
放到你的專案中:
你也可以直接下載放在你的專案資料夾中,一樣使用 link
或是 @import
方式匯入
@font-face
The @font-face
CSS at-rule allows authors to specify online fonts to display text on their web pages.
某些瀏覽器需要前綴才能正常使用,非必要勿試。
emmet 縮寫是 fz
emmet 縮寫是 fs
emmet 縮寫是 ls
emmet 縮寫是 ws
emmet 縮寫是 lh
特別留意 background-position
在使用 top
、bottom
、right
、left
定位時抓取的是當層的寬高,如果當層只有 200px 高,background-position: bottom
會貼齊 200px。
你也可以 background-image
跟 background-color
混用,讓背景圖上一層遮罩效果。
常理來說盒子大小為 width + border + padding,如果你懶得算,請下 box-sizing: border-box
,盒子大小會變成 width + border + padding + margin
float 排版遇到的問題:父元素不會被撐出高度
給父元素加高度
父元素加上 overflow: auto
:heavy_check_mark:clearfix
@KC1090901:可以改在父元素加上 display: flow-root,It provides a better solution to the most use cases of the "clearfix" hack.
結論:請用 flex
官網:fontawesome 有使用步驟,建議用 VSCode 的 jscdn 套件抓,省時
靜態樣式請不要用 id 選擇器
有點多有點複雜有點難懂,請看 金魚都懂 CSS 選擇器
除非你清楚知道你在幹嘛,不然不要用 id、inlin style、!important 來寫樣式,實務上 html tag 也應盡量避免
object-fit: cover
的出現是為了解決用 img tag 也做到照片縮放,以前要用 background-image
,img 才可以寫 alt 對 SEO 比較友好。
當 object-fit
設為 cover
就是讓圖片等比例自適應父元素高寬,所以父元素寬高都要設定。
不能使用 max-width
取代 width
因為圖片如果不夠寬(或太長) max-width
會限制 object-fit: cover
要放大的寬度。
自定義變數
除非你清楚知道你在幹嘛,不然不要用
Bootstrap 4 之後開始導入 :root,可參照以下 source code
CSScoke 講解::root 根目錄選取器 - 叫你阿爸出來講
其實這問題要看一下你的變數要用在哪個範疇,通常我們是整個系統或是網頁都會統一共用的,像是色彩或是某些物件的尺寸或是框線,這一類的都很適合使用全域變數,相對的,如果你只是一部分會用到的話,像是某些模組組件,這樣你就很適合使用區域變數來設定
我懶得打,可參考 @KC1090901 筆記
MEAN stack development refers to the development process that falls within these particular set of technologies MongoDB, Expressjs, AngularJs, NodeJS.
In simple words, MEAN stack developers are like JS-based application developers
使用 font awesome 再搭配 ::before、::after
acitve 時漢堡變成叉叉
什麼時候漢堡出現、選單消失
從 none 到 block,無法使用轉場(transition)效果,建議用
任何跟 height 有關都必須寫死,auto 或 100% 不能用
我個人都沒有試成功
希望換成大螢幕要自動關閉選單
Checking Media Queries With jQuery
還有一些未整理的自學筆記
起手式
<script></script>
<script src="script.js"></script>
<a href="javascript:alert(Message)">click</a>
行內
一般會將 javascript 寫在最下面,但也可以要求等待視窗載入完畢在執行 JS
差別,參考 jquery中的$("#id")与document.getElementById("id")的区别:
jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法
補充:CDN 是指一種透過網際網路互相連接的電腦網路系統,利用最靠近每位使用者的伺服器,更快、更可靠地將音樂、圖片、影片、應用程式及其他檔案傳送給使用者,來提供高效能、可擴展性及低成本的網路內容傳遞給使用者。
或使用 VS Code 套件,cdnjs(註:之後如果要用 Bootstrap 也可以用套件抓抓看)
起手式
$
= jQuery
綁定事件.ready()
特別注意,此時 a 會是 jQuery 的一個物件
如果想要取到值
HTML code
JS code:.html()的示範
輸出
JS code:.text()的示範
輸出
安裝 nvm 環境,Node.js 開發者必學(Windows、Mac 均適用)
起手式:node.js 官網
:arrow_down_small: nodeDemo.js
執行看看
輸出
?
讓瀏覽器判斷為不同網址而重載Console.assert()
如果斷言(assertion)為非(false),主控台會顯示錯誤訊息;如果斷言為是(true),則不發生任何事。
輸出
console.clear()
字串>數字>布林 布林會轉成1或0
for…in
輸出
for…of
輸出
Object.values()
Object.keys()
輸出
Array 通常會放同一型別資料,List 則是各種型別都可以放