2018年8月7日 星期二

將DIV內的浮動貼齊區塊,父容器的高度自動撐開

一般來說正常的div,就算沒設高度,子元素也會將父元素撐開
但是當子元素是浮動的話,就撐不開父元素,這是可以理解的,那有什辦法可以讓他被撐開不用設高度呢?
把父元素設 overflow:hidden
這樣就可以父元素就可以被撐開了,這個特性神奇吧,沒遇過不會知道喔
參考:
https://www.minwt.com/webdesign-dev/css/17252.html

2018年7月2日 星期一

還原uglify之後的JS

如果你有 sourcemap 的话,可以恢复(拖走
但沒人會把sourcemap放在網上給你抓所以只能還原縮排,但可以重新命名變數
http://www.jsnice.org/

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

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重開就行了

2018年3月18日 星期日

在centos7裡面安裝nginx+php+mysql

話不多說,直接先參考教學
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 # 若有多行,只要刪除第三行
參考至:https://blog.longwin.com.tw/2016/07/iptables-delete-rule-by-line-2016/
然後開了還是不行,結果是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這個擴展就大功告成了,繞了好大一圈阿
{
"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",
    ...
}

2018年3月12日 星期一

程式著作權相關

請問在程式前的著作權和授權宣告要怎麼寫
https://www.openfoundry.org/tw/forum?func=view&catid=10&id=345

想寫出造福世界的程式?你得先通過著作權這關!
https://buzzorange.com/techorange/2013/07/31/what-coders-should-know-about-copyright-licensing/

關於程式碼的著作權
https://tw.answers.yahoo.com/question/index?qid=20110603000010KK03315

授權流言終結者#3:jQuery 授權的分析與探討
https://www.openfoundry.org/enterprise-application/8680

小數點運算誤差

電腦對於小數點運算組是有誤差

浮点运算结果出现误差原因分析及解决方案
http://www.cnblogs.com/xiongpq/archive/2010/05/17/1737747.html
使用浮點數最最基本的觀念
http://blog.dcview.com/article.php?a=VmhQNVY%2BCzo%3D
php踩過的那些坑
https://kknews.cc/zh-tw/finance/y86vrrj.html

2018年2月22日 星期四

好用小工具

截圖軟體 Screenpresso API測試軟體 postman 壓力測試工具 jmeter 專案管理工具 redmine 對接linux工具MobaXterm
或者WinSCP

2018年1月7日 星期日

chrome 新sessionID



沒切SESSION的BUG

chrome浏览器每次请求产生一个新session

https://www.v2ex.com/t/56219
http://ask.csdn.net/questions/388739
http://yilinliu.blogspot.tw/2013/03/aspnet-chromefaviconicosession.html
所以我的問題跟下面那些人都沒關係


結果是因為我勾到這個,可惡!!!!!!

切SESSION方法
https://dotblogs.com.tw/jimmyyu/archive/2009/11/21/12097.aspx
https://zhidao.baidu.com/question/1238058978868049619.html





延伸閱讀:
禁用cookie,session還能用嗎
https://www.zhihu.com/question/35307626

讓我們來談談CSRF 

https://blog.techbridge.cc/2017/02/25/csrf-introduction/