昨天的事很多窗市,上午是前個(gè)項(xiàng)目尾款的催收先慷,晚上又和朋友吃飯聊天,中午還買了個(gè)冰箱咨察。 晚上回來(lái)10點(diǎn)過(guò)了论熙。
珍惜生命,遠(yuǎn)離外包摄狱。昨年接了兩個(gè)外包項(xiàng)目脓诡,這兩月找KH要個(gè)尾款像要他們命一樣。
沒(méi)有預(yù)算好費(fèi)用就不要找人做媒役,OK誉券?
家里冰箱用了有些年頭了,換一個(gè)刊愚,多裝些好吃滴踊跟。
不廢話了,進(jìn)入正題鸥诽,這兩天學(xué)習(xí)日志如下
- indexdb
- websocket
- git-alias
- css樣式分離
- css-sprite
- git協(xié)議
- git 文件命令
- console的用法商玫,Object相關(guān)知識(shí)
indexDB
在web的領(lǐng)域沒(méi)有先來(lái)后到的說(shuō)法,前些年很多人研究的web sql也成功被W3C拋棄牡借,indexDB后來(lái)居上拳昌,又因?yàn)樗芎玫姆庋b對(duì)象,又能在webworker中使用钠龙,注定會(huì)被更多的瀏覽器支持炬藤。如果你想存儲(chǔ)一些容量大一點(diǎn)的數(shù)據(jù)御铃,又不想去構(gòu)建數(shù)據(jù)庫(kù),用這個(gè)沒(méi)錯(cuò)沈矿。
- 關(guān)鍵字:鍵值對(duì)存儲(chǔ)上真、異步、支持事務(wù)羹膳、支持二進(jìn)制數(shù)據(jù)睡互、容量無(wú)上限,不能跨域
- open:打開(kāi)鏈接
- success:鏈接成功
- upgradeneeded:數(shù)據(jù)庫(kù)升級(jí)事件陵像,第一次會(huì)調(diào)用就珠,新建表
- error:接收錯(cuò)誤信息
- 操作:add,delete醒颖,put妻怎,openCursor,注意是通過(guò)指針遍歷數(shù)據(jù)
可以參看張?chǎng)涡窈腿钜环宓牟┛团⑶福瑢?xiě)的很詳細(xì)蹂季,張的還有在線案例
websocket
如果你不想客戶端頻繁的去輪詢服務(wù)器,也不想某些客戶端資源耗費(fèi)太快疏日,用websocket就對(duì)了。一次牽手撒汉,情定終生沟优, 除非某一方主動(dòng)跑路。
- 仍然建立在TCP之上(這句話貌似多余了睬辐,難道會(huì)用UDP)
- 除了請(qǐng)求通信方式和協(xié)議標(biāo)識(shí)符和HTTP不一樣挠阁,其他基本差不多,不一樣的地方估計(jì)你一輩子也用不到
- open,close,message,send溯饵,主要的函數(shù)大概就這些侵俗,很簡(jiǎn)單
- 阮老師推薦的一個(gè)WebSocket服務(wù)器,websocketd丰刊,將任何正常的語(yǔ)言文件變?yōu)閣ebsocket服務(wù)隘谣,強(qiáng)大吧。
git alias
懶人可以看過(guò)來(lái)了啄巧,修改根目錄下的.gitconfig寻歧,可以配置命令別名,不知道怎么進(jìn)根目錄的請(qǐng)無(wú)視以下內(nèi)容秩仆。
git config --global alias.ci commit
码泛,commit設(shè)為ci,是不是方便了很多澄耍?
直接修改根目錄.gitconfig噪珊,加入別名配置
[alias]
ci = commit
st = status -sb
ad = add .
hi = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=format:'%Y-%m-%d %H:%M:%S'
CSS樣式分離
今天看了張?chǎng)涡裨?0年寫(xiě)的一篇文章晌缘,主講樣式的命名寫(xiě)法,叫做《CSS樣式的分離再分離》,他提倡根據(jù)UI設(shè)計(jì)痢站,將項(xiàng)目一些通用的CSS磷箕,按單屬性來(lái)定義羅列,這樣可以提高重用瑟押,減少CSS代碼搀捷。
什么意思?.div-left{padding:5px;text-align:right;}----->.pd{padding:5px;} .tr{text-align:right;}
這樣就可以到處復(fù)用多望,他還給出了一個(gè)通用庫(kù)嫩舟,密密麻麻一大篇。
我是覺(jué)得哈怀偷,這樣子CSS可能是舒服了家厌,但HTML可就不同意了,是吧椎工?
還有饭于,現(xiàn)在不是有預(yù)處理么?當(dāng)然他是10年寫(xiě)的维蒙。掰吕。
css sprites
精靈兔還是雪碧兔?不要覺(jué)得對(duì)一個(gè)單詞用不同的翻譯就高大上颅痊,那是虛榮心殖熟。
不知道精靈圖怎么定位的,不懂位置上有負(fù)數(shù)的斑响,去研究一下background-position菱属。
這玩意兒出來(lái)很久了吧,我記得6舰罚,7年前就開(kāi)始用了纽门,但我也一直不是很感冒。除了能夠優(yōu)化首次和修改后的圖片的加載营罢,平時(shí)大部分時(shí)候是沒(méi)用的赏陵,瀏覽器會(huì)緩存我們的圖片。我只能說(shuō)看情況使用饲漾。
背景圖是能減少請(qǐng)求瘟滨,但也不要到處都是背景圖,該是內(nèi)容的還要內(nèi)容能颁,否則怎么語(yǔ)義化杂瘸,你叫盲人怎么用?
git協(xié)議 git文件操作
- git支持的協(xié)議有很多伙菊,主要有g(shù)it败玉,http敌土,ssh。git主要用于本地文件服務(wù)器运翼,一般很少使用返干。http和https在windows上使用比較廣泛,但速度比較慢血淌。還是建議不管什么操作系統(tǒng)都用ssh矩欠,不會(huì)用的可以自己百度。
- git提供了很多文件操作悠夯,平時(shí)都沒(méi)怎么用過(guò)癌淮,今天看了一下,還是比較方便沦补。
-
git clean
,-n 查看暫存區(qū)的文件乳蓄;-f 刪除暫存區(qū)所有文件,相當(dāng)于回退夕膀;-x 刪除暫存區(qū)所有文件包括ignore包括的文件虚倒。 -
git rm
,git mv
等操作可以直接操作文件,操作后不需要add产舞。 -
git add -p
魂奥,這個(gè)可以讓你選擇一個(gè)文件里需要提交的內(nèi)容,其實(shí)除了在特殊情況下易猫,其余時(shí)候不建議使用耻煤,只提交部分內(nèi)容,呵呵擦囊,等幾天你自己可能都不記得了,還不要說(shuō)團(tuán)隊(duì)其他人了嘴办。
console用法
看了阮老師的console才知道用法這么多瞬场,孤陋寡聞了。
- 支持占位符
console.log(' %s + %s = %s', 1, 1, 2)
- 直接輸出錯(cuò)誤
console.error('Error: %s (%i)', 'Server is not responding', 500)
- 對(duì)象轉(zhuǎn)表格:
console.table()
- 方法計(jì)數(shù):
console.count()
- 斷言:
console.assert()
- 程序計(jì)時(shí):
console.time(),console.timeEnd()
以上內(nèi)容參考阮一峰javascript教程
Object對(duì)象
- 作為工具函數(shù)涧郊,轉(zhuǎn)換為對(duì)象
- 作為構(gòu)造函數(shù)贯被,生成對(duì)象
- 靜態(tài)方法:Object.keys,Object.getOwnPropertyNames
- 實(shí)例方法:valueOf,toStrting,toLocalString,hasOwnProperty
- toString:可用來(lái)判斷數(shù)據(jù)類型
Object.prototype.toString.call(value)
- 屬性描述對(duì)象:
{
value: 123, //值
writable: false, //是否可改變
enumerable: true,//是否可遍歷
configurable: false,//是否可配置
get: undefined,//屬性取值
set: undefined //屬性賦值
}
var obj = { p: 'a' };
Object.getOwnPropertyDescriptor(obj, 'p') //獲取屬性描述
// Object { value: "a",
// writable: true,
// enumerable: true,
// configurable: true
// }
//定義屬性
var obj = Object.defineProperties({}, {
p1: { value: 123, enumerable: true },
p2: { value: 'abc', enumerable: true },
p3: { get: function () { return this.p1 + this.p2 },
enumerable:true,
configurable:true
}
});
obj.p1 // 123
obj.p2 // "abc"
obj.p3 // "123abc"