這就是編譯過后的js文件啊
你用瀏覽器訪問就是這樣
那出現(xiàn)這個后頁面還能正常的加載嗎?
在加密解密時,確實可以直接用file_get_contents的方式讀取key
不過openssl_pkey_get_private還是有用的,比如從私鑰中提取公鑰:
<?php
$privateKey = openssl_get_privatekey('private.key');
$detail = openssl_pkey_get_details($privateKey);
$publicKeyString = $detail['key'];
echo $publicKeyString;
其中的 openssl_pkey_get_details 就需要傳入資源類型的私鑰。
還有就是效率問題,如果加密時每次讀取的文本格式的密鑰,那 OpenSSL 每次還要為你解析一遍密鑰。比較下面的兩個加密方法就可以看出效率上的差異了。
<?php
// 方法1:讀取密鑰到資源
$s = time();
$key = openssl_get_privatekey(file_get_contents('private.key'));
for ($i = 0; $i !== 5000; $i++) {
openssl_private_encrypt('hello world', $encrypted, $key);
}
echo time() - $s . PHP_EOL;
// 方法2:每次加密直接讀取文本
$s = time();
$key = file_get_contents('private.key');
for ($i = 0; $i !== 5000; $i++) {
openssl_private_encrypt('hello world', $encrypted, $key);
}
echo time() - $s . PHP_EOL;
實驗結(jié)果可以發(fā)現(xiàn)方法2要比方法1來得慢。
常用么?dict無序更常用吧。
用的時候再sorted排序也不遲啊。
剛剛解決這個方案,新鮮出爐的。
在項目根路徑下創(chuàng)建flow/GeneralStub.js.flow,內(nèi)容
export default {};
.flowconfig中ignore段下,忽略所有的react-native依賴。
./Libraries/react-native/.
.flowconfig中opiton段下,
module.name_mapper='(react-native)' -> '<PROJECT_ROOT>/flow/GeneralStub.js.flow'
ps:flow對于第三依賴的策略是,不要修改第三方庫,不要在第三方依賴文件上添加@flow,@noflow
搜下 ft 的函數(shù) ,你試試 ft -auto | out-file
數(shù)據(jù)是你需要調(diào)用這個接口后返回的數(shù)據(jù)
你好,請問可以請教一下嗎,剛開始接觸前端。想知道這個級聯(lián)選擇器怎么實現(xiàn)啊。只會實現(xiàn)1級,如果愿意告訴我謝謝了啊。 QQ283963955
var data = {
"usagetype": null,
"policystatus": null,
"riskname": null,
"businessnature": null,
"chnltype": null,
"paymethod": null,
"traveltaxmark": null
}
var mData = m.get('data')
var viewFactory = (type, param) => {
switch (type) {
case 'usagetype':
return new usagetypeView(param)
}
}
Object.keys(data).map(key => {
var dataList = (data[key] = _.find(mData, d => d.elementCode == key))['dataList']
dataList &&
moduleModel.set(key, dataList)
that.showChildView(key, viewFactory(key, {
model: moduleModel,
el: that.getUI(key)
}))
that.getChildView(key).render();
})
工廠方法我沒寫全,也沒跑過,大概意思吧,也不知道適不適合你的代碼環(huán)境
供參考,沒有實現(xiàn)字符串功能,反正也不推薦使用。
function setInterval2 (cb, delay, ...args) {
// 記錄所有正在運行的 interval 用于撤銷
let pool = window[Symbol.for('IntervalPool')]
if (!pool) {
pool = {}
window[Symbol.for('IntervalPool')] = pool
}
// interval 最低 10ms,雖然每 frame 至少得 16ms
delay = delay >= 10 ? delay : 10
// interval id
let ticket = Date.now()
// 每次 interval 開始時間
let startTime = ticket
pool[ticket] = true
loop()
return ticket
function loop () {
if (!pool[ticket]) { return }
const now = Date.now()
if (now - startTime >= delay) {
startTime = now
cb(...args)
}
requestAnimationFrame(loop)
}
}
function clearInterval2 (ticket) {
let pool = window[Symbol.for('IntervalPool')]
if (pool && pool[ticket]) {
delete pool[ticket]
}
}你加了ResponseBody肯定封裝成json字符串了,但是有個疑問前端拿到字符串的時間戳能解析成human able時間的啊
這個好像沒有,得自己做
<?php
$array = array('name','1','xixi','php');
$newArr = array_combine(
array_filter($array,
function($key)
{
return !($key & 1);
},ARRAY_FILTER_USE_KEY)
,
array_filter($array,
function($key)
{
return $key & 1;
},ARRAY_FILTER_USE_KEY)
);
print_r($newArr);
對于函數(shù)模板特化,目前公認的觀點是沒什么用,并且最好別用。Why Not Specialize Function Templates?
不過存在一些只允許特化的特殊場合:比方說在擴展std::swap時,標(biāo)準(zhǔn)約定只允許特化,不允許重載。Extending the namespace std
函數(shù)模板特化和重載在重載決議時有些細微的差別,了解一下這些差別還是有必要的。這些差別引發(fā)的效果中比較有用的一個是阻止某些隱式轉(zhuǎn)換。如當(dāng)你只有void foo(int)時,以浮點類型調(diào)用會發(fā)生隱式轉(zhuǎn)換,這可以通過特化來阻止:
template <class T> void foo(T);
template <> void foo(int) {}
foo(3.0); // link error
雖然模板配重載也可以達到同樣的效果,但特化版的意圖更加明確。
很簡單,dpkg -L cmake就可以看到cmake這個包釋放出的所有文件。文件列表都有了,隨便你用tar還是cp都可以單獨搞出來。
rpm -ql也有同樣的效果。
另外還有一個比較簡單的辦法,就是apt download cmake可以直接下載到本地deb包,之后提取deb包就可以得到完整的目錄結(jié)構(gòu)了: ar x cmake-xxxx.deb
echarts中好像沒有可以配置的選項,只能手動去改相關(guān)的json文件:
ps:今天無意去看了下echarts官網(wǎng)的“常見問題清單”,對于這個問題,echarts官網(wǎng)也建議直接修改json文件的cp坐標(biāo),詳細見:省份名稱重疊,如何修改名稱的位置?和github上的相關(guān)issue
傳值不是這樣傳的,改成這樣:
export default {
data() {
return {
data: {
// 省略
}
};
},
created() {
d3.json('....', error => {
console.log(this.data);
});
}
};
找到了
decoration: InputDecoration(
border: InputBorder.none,
hintText: '請輸入用戶名',
)首先要明確一點:ArrayList用for循環(huán)遍歷比iterator迭代器遍歷快,LinkedList用iterator迭代器遍歷比for循環(huán)遍歷快。
至于Iterator為什么比順序遍歷鏈表要節(jié)省時間,我的理解是,由于arrayList基于數(shù)組,下標(biāo)明確,使用for循環(huán)的時候,get(i)效率很高;
而linkedList基于鏈表,get(i)復(fù)雜度是O(n),加上循環(huán)的次數(shù)就是O(n^2),但是用iterator.next()則不需要下標(biāo),只需要算上循環(huán)的復(fù)雜度就可以了
用headless模式運行webdrive來后臺啟動browser.
option = webdriver.ChromeOptions()
option.add_argument("headless")
# driver = webdriver.Chrome(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe',chrome_options=option)
# print(driver.title)
driver = webdriver.Chrome(r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe',chrome_options=option)
# driver.get('https://segmentfault.com/q/1010000015379801?utm_source=tag-newest')
driver.get('https://www.baidu.com/')
print(driver.title)
time.sleep(5) # Let the user actually see something!
search_box = driver.find_element_by_name('wd')
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5) # Let the user actually see something!
driver.quit()
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。