一般來說正常的div,就算沒設高度,子元素也會將父元素撐開
但是當子元素是浮動的話,就撐不開父元素,這是可以理解的,那有什辦法可以讓他被撐開不用設高度呢?
把父元素設 overflow:hidden
這樣就可以父元素就可以被撐開了,這個特性神奇吧,沒遇過不會知道喔
參考:
https://www.minwt.com/webdesign-dev/css/17252.html
開發成長日誌
不知道看誰說"有8成的人是google寫程式,剩下來2成的人寫程式給別人google" 身為8成的我記下的google紀錄
2018年8月7日 星期二
2018年7月2日 星期一
2018年6月13日 星期三
JS效能
https://tw.saowen.com/a/12b7cbfe1c763376d0a0a8441e2b550041802ae33f876df4bf65949c63bd0c70
https://tw.saowen.com/a/ab1d6f6a50f539e2896d2465fc588579f00068406db4fd82e9f269b7e42e59ea
https://juejin.im/post/5adc18896fb9a07ab110c183?utm_source=tuicool&utm_medium=referral
1. script標籤盡量放body尾巴,且body裡面,對使用者來講才不會感受到JS檔下載的時間
2. 少用script標籤,不管內聯外聯
(下载一 个 100KB 的文件比下载四个 25KB 的文件要快)
現今有打包工具可以把我們要的檔案濃縮成1個JS檔
3.用非阻塞方式 延期脚本 關鍵字 defer
4.用非阻塞方式 动态脚本元素
5.用非阻塞方式 XHR 脚本注入
6.用非阻塞方式 用第三方的庫
7.閉包函數相對來講開銷更大,注意記憶體洩漏
8.少用try catch、 with
9.不要直接改變參數的值,函數對參數操作相對高
10.物件和陣列開銷比一般變數高
11.非事先定義好的物件屬性開銷比定義好的大
var dog = {
name:OOO
}
dog.age = 10;開銷相對大
12.區域變數開銷較小,全域變數需查找開銷大
13.DOM很慢,能少掉用DomAPI就少調用(通常能在JS做的都先在JS做掉),同時在和JS操作時(通常是事件綁定function)注意閉包
14.注意DOM節點創建、操作、複製和CSS等渲染
15.for in 比一般的for效率差
16.有關容器寬高的會觸發重排、有關顏色的會觸發重繪
17.大動畫重排會影響到整個渲染樹
18.利用事件托管比在N個元素上綁定還要有效
19.陣列、物件的查表法比switch快
20.少用遞迴,任何可用遞迴的演算法都可用迭代實現
21.定時器耗CPU建議額外包裝一個定時器,整個網頁只用這一個定時器
22.瀏覽器請求如果不考慮安全等等因素的話,get優於post,因為瀏覽器會緩存
23.避免用eval()、Function()構造函數、setTimeout() 這些可以傳字串進去執行的函數,因為他都需要在創建一個編譯器實例,很慢
24.使用字面量的方式來創建陣列和物件
25.多用CDN外聯可根據地理位置減少網路延遲
26.壓縮JS檔
快速喵過~~~
高性能javascript
https://tw.saowen.com/a/ab1d6f6a50f539e2896d2465fc588579f00068406db4fd82e9f269b7e42e59ea
https://juejin.im/post/5adc18896fb9a07ab110c183?utm_source=tuicool&utm_medium=referral
1. script標籤盡量放body尾巴,且body裡面,對使用者來講才不會感受到JS檔下載的時間
2. 少用script標籤,不管內聯外聯
(下载一 个 100KB 的文件比下载四个 25KB 的文件要快)
現今有打包工具可以把我們要的檔案濃縮成1個JS檔
3.用非阻塞方式 延期脚本 關鍵字 defer
4.用非阻塞方式 动态脚本元素
5.用非阻塞方式 XHR 脚本注入
6.用非阻塞方式 用第三方的庫
7.閉包函數相對來講開銷更大,注意記憶體洩漏
8.少用try catch、 with
9.不要直接改變參數的值,函數對參數操作相對高
10.物件和陣列開銷比一般變數高
11.非事先定義好的物件屬性開銷比定義好的大
var dog = {
name:OOO
}
dog.age = 10;開銷相對大
12.區域變數開銷較小,全域變數需查找開銷大
13.DOM很慢,能少掉用DomAPI就少調用(通常能在JS做的都先在JS做掉),同時在和JS操作時(通常是事件綁定function)注意閉包
14.注意DOM節點創建、操作、複製和CSS等渲染
15.for in 比一般的for效率差
16.有關容器寬高的會觸發重排、有關顏色的會觸發重繪
17.大動畫重排會影響到整個渲染樹
18.利用事件托管比在N個元素上綁定還要有效
19.陣列、物件的查表法比switch快
20.少用遞迴,任何可用遞迴的演算法都可用迭代實現
21.定時器耗CPU建議額外包裝一個定時器,整個網頁只用這一個定時器
22.瀏覽器請求如果不考慮安全等等因素的話,get優於post,因為瀏覽器會緩存
23.避免用eval()、Function()構造函數、setTimeout() 這些可以傳字串進去執行的函數,因為他都需要在創建一個編譯器實例,很慢
24.使用字面量的方式來創建陣列和物件
25.多用CDN外聯可根據地理位置減少網路延遲
26.壓縮JS檔
快速喵過~~~
高性能javascript
2018年3月25日 星期日
配置react -native環境
公司的新專案需要用到react-Native
上網找教學影片
後盾人孫老師錄的
整個過程非常順利,只遇到兩個小坑
1.我java安裝成第10版不支援,所以就補安裝了第8版
這邊教你怎設定環境變量
http://www.ituring.com.cn/article/207395
2.android SDK有條款沒接受
https://stackoverflow.com/questions/39760172/you-have-not-accepted-the-license-agreements-of-the-following-sdk-components
稍微注意的點:
3.文件路徑要轉譯一下變成\\雙斜線(影片有提)
4.安裝android SDK我是整個studio都載下來(跟影片不同),下一步下一步這樣安裝完成
然後設置環境變量不需要重新開機,powershell重開就行了
上網找教學影片
後盾人孫老師錄的
整個過程非常順利,只遇到兩個小坑
1.我java安裝成第10版不支援,所以就補安裝了第8版
這邊教你怎設定環境變量
http://www.ituring.com.cn/article/207395
2.android SDK有條款沒接受
https://stackoverflow.com/questions/39760172/you-have-not-accepted-the-license-agreements-of-the-following-sdk-components
稍微注意的點:
3.文件路徑要轉譯一下變成\\雙斜線(影片有提)
4.安裝android SDK我是整個studio都載下來(跟影片不同),下一步下一步這樣安裝完成
然後設置環境變量不需要重新開機,powershell重開就行了
2018年3月18日 星期日
在centos7裡面安裝nginx+php+mysql
話不多說,直接先參考教學
http://www.smalljacky.com/linux/centos/centos7-install-setup-nginx-mariadb-php-phpmyadmin-lemp/
其餘遇到的問題列在下面
重點是版本要對,不然會一直安裝失敗
遇到的第一個問題就是
Error: Package: nginx-1.12.2-1.el6.ngx.x86_64 (nginx)
Requires: libpcre.so.0()(64bit)
所以安裝失敗
解決方法參考至:
This happened to me. I updated my EPEL repository with
yum update epel-release
yum install nginx
https://serverfault.com/questions/620684/cant-install-nginx-using-epel-repo-on-centos-7-64bit
--> Finished Dependency Resolution
然後就成功了
遇到的第二個問題是
systemctl start nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" f
因為port號被用走了
nginx: [emerg] bind() to 0.0.0.0:8843 failed (98: Address already in use)
解決方法參考至:
https://serverfault.com/questions/565339/nginx-fails-to-stop-and-nginx-pid-is-missing 之後80port就正常啟動了 遇到的第三個問題
改了設定檔要換port重啟的時候
[emerg] bind() to 0.0.0.0:8843 failed (13: Permission denied)
此時就開始關心是不是防火牆的關係了,就開始到處找文章
iptables -I INPUT -p tcp --dport 8843 -j ACCEPT
然後就不小心開錯port了,要怎刪掉?
然後開了還是不行,結果是selinux 的問題,要關掉....
或者加port進去該軟體
http://n.sfs.tw/mymedia/index/10393
解決方法參考至:
http://blog.51cto.com/liuqh/1839889
最後終於正常重啟了QQ
第4個問題mariadb安裝完之後,改port號
同樣參考至:http://n.sfs.tw/mymedia/index/10393
第5個問題
改完port號之後遠端不能登入
參考至:
https://stackoverflow.com/questions/25777943/failed-to-connect-to-mysql-at-127-0-0-13306-with-user-root-access-denied-for-us
https://stackoverflow.com/questions/8348506/grant-remote-access-of-mysql-database-from-any-ip-address
再來又遇到 /var/run/php-fpm/php-fpm.sock failed (2: No such file or directory)
重開服務,解決
systemctl restart php-fpm
http://www.smalljacky.com/linux/centos/centos7-install-setup-nginx-mariadb-php-phpmyadmin-lemp/
其餘遇到的問題列在下面
[root@www ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
文章裡面的這一條會幫你建好/etc/yum.repos.d/nginx.repo這個檔案重點是版本要對,不然會一直安裝失敗
遇到的第一個問題就是
Error: Package: nginx-1.12.2-1.el6.ngx.x86_64 (nginx)
Requires: libpcre.so.0()(64bit)
所以安裝失敗
解決方法參考至:
This happened to me. I updated my EPEL repository with
yum update epel-release
yum install nginx
https://serverfault.com/questions/620684/cant-install-nginx-using-epel-repo-on-centos-7-64bit
--> Finished Dependency Resolution
然後就成功了
遇到的第二個問題是
systemctl start nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" f
因為port號被用走了
nginx: [emerg] bind() to 0.0.0.0:8843 failed (98: Address already in use)
解決方法參考至:
https://serverfault.com/questions/565339/nginx-fails-to-stop-and-nginx-pid-is-missing 之後80port就正常啟動了 遇到的第三個問題
改了設定檔要換port重啟的時候
[emerg] bind() to 0.0.0.0:8843 failed (13: Permission denied)
iptables -I INPUT -p tcp --dport 8843 -j ACCEPT
然後就不小心開錯port了,要怎刪掉?
列出所有規則,前面加上行號
- iptables -L INPUT -n --line-numbers
要刪除某一行的規則
- iptables -D INPUT 1 # 若只有上述那行,那就是 1
- iptables -D INPUT 3 # 若有多行,只要刪除第三行
然後開了還是不行,結果是selinux 的問題,要關掉....
或者加port進去該軟體
http://n.sfs.tw/mymedia/index/10393
解決方法參考至:
http://blog.51cto.com/liuqh/1839889
最後終於正常重啟了QQ
第4個問題mariadb安裝完之後,改port號
同樣參考至:http://n.sfs.tw/mymedia/index/10393
第5個問題
改完port號之後遠端不能登入
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION
參考至:
https://stackoverflow.com/questions/25777943/failed-to-connect-to-mysql-at-127-0-0-13306-with-user-root-access-denied-for-us
https://stackoverflow.com/questions/8348506/grant-remote-access-of-mysql-database-from-any-ip-address
再來又遇到 /var/run/php-fpm/php-fpm.sock failed (2: No such file or directory)
重開服務,解決
systemctl restart php-fpm
2018年3月14日 星期三
遠端編輯VSC
因為內測環境要連遠端,不是建置在本機上面,原因其實我也不是很清楚,大概是為了省電吧(平常下班要自己電腦要關機),共用的不用關,也可能是遠端機子比較好,環境跟正式的一樣,我本機也不用那麻煩再安裝一次laravel,大概是諸如此類的原因,我需要對遠端的程式碼進行coding
於是找到
http://www.cnblogs.com/learn21cn/p/6189023.html
https://spin.atomicobject.com/2017/12/18/remote-vscode-file-editing/
以下linux作業系統就是我的遠端
在linux上裝rmate
在vsc上裝Remote VSCode擴展
自訂一下ssh config
就可以直接在命令列上打入
C:\Users\xin02> ssh kestanley
root@10.10.10.32's password:****
來登入linux
然後
rmate my.text 就可以在VSC打開囉
但是!!!
這種方法不是我想要的那種,這一次只能開一個檔案,我希望他跟平常一樣在旁邊的explorer列出所有的文件阿~~~
於是乎放棄上面這種方法
改用
https://github.com/liximomo/vscode-sftp
SFTP這個擴展就大功告成了,繞了好大一圈阿
於是找到
http://www.cnblogs.com/learn21cn/p/6189023.html
https://spin.atomicobject.com/2017/12/18/remote-vscode-file-editing/
以下linux作業系統就是我的遠端
在linux上裝rmate
在vsc上裝Remote VSCode擴展
自訂一下ssh config
就可以直接在命令列上打入
C:\Users\xin02> ssh kestanley
root@10.10.10.32's password:****
來登入linux
然後
rmate my.text 就可以在VSC打開囉
但是!!!
這種方法不是我想要的那種,這一次只能開一個檔案,我希望他跟平常一樣在旁邊的explorer列出所有的文件阿~~~
於是乎放棄上面這種方法
改用
https://github.com/liximomo/vscode-sftp
SFTP這個擴展就大功告成了,繞了好大一圈阿
{
"protocol": "sftp",
"context":"D:\\remote",
"host": "10.10.10.32",
"port":22,
"username": "root",
"password":"****",
"ignore": [
".vscode",
".git",
".DS_Store",
".svn"
],
"uploadOnSave": true,
"remotePath": "/usr/share/nginx/html/"
}
2018年3月13日 星期二
vsc裝 php intelliSense擴展
https://github.com/Microsoft/vscode/issues/13356
Added in Settings:
{
"php.executablePath": "C:\\PHP_7\\php.exe",
"php.validate.executablePath": "C:\\PHP_7\\php.exe",
...
}
訂閱:
文章 (Atom)