報錯信息是Unexpected token (>),有什么標(biāo)簽沒有關(guān)閉?
模板中的 span 不用寫 [(ngModel)] 了,直接寫 {{textContent.length}} 就可以了。
已經(jīng)自己解決。
這種效果要分服務(wù)器,IIS 下由于PHP無法獲取到URL中到///導(dǎo)致無法實現(xiàn),Nginx才有問題中說到的效果,具體實現(xiàn)是在PHP中實現(xiàn)。
發(fā)請求自動帶上的
mdn cookie
防止XSRF最好的方式是使用CSRF-token。
cookie一般用于保存信息,你向同一個服務(wù)器發(fā)請求時會帶上瀏覽器保存的對于那個服務(wù)器的cookie,而不管你從哪個網(wǎng)站發(fā)請求。
所以后端需要設(shè)置Access-Control-Allow-Origin,瀏覽器會看你的訪問網(wǎng)站是否是被允許的域,如果允許就發(fā)請求并能獲得數(shù)據(jù),如果不受允許那么能發(fā)請求但是js腳本無法獲取返回的數(shù)據(jù)(你仍然能在NetWork中看到返回)。
可以看下這篇文章
多線程可以了解一下,推薦《java高并發(fā)程序設(shè)計》(葛一鳴)這本書。
還有,要理解一下netty的使用場景有哪些,為何要用,優(yōu)缺點,奔著這些問題去,這才能更好的理解netty。
PS備注一下吧,我公司項目就是這么做的,跟下面一樣。
大的原則問題是:
詳細(xì)單說日志業(yè)務(wù)的話,反正采用http協(xié)議,服務(wù)是基于swoole httpserver開發(fā)的,整體大概如下圖所示:
不知道是不是能夠滿足樓主提出的問題所需的回答要點。ubuntu下沒太好的畫圖軟件,湊合看吧。
#include<stdlib.h>
#include<string.h>
int main(void){
long mem = 1000L*1000*1000*64;//64G, 我的機器有16G內(nèi)存
char* f = malloc(mem);
memset(f,0xff, mem-1); //注釋掉這一行你會成功的
free(f);
}
gcc melloctest.c
./a.out
運行時你會看到段錯誤 (核心已轉(zhuǎn)儲)(我就不提Segmentfault,呵呵!)
public class Test{
static final int mem = 1000*1000*64;//64M //java 不能用long聲明數(shù)組
public static void main(String[] args){
int a[][] = new int[1000][];
for(int i=0;i<1000; i++)
a[i] = new int[mem];
a[999][mem-1]=10086;
System.out.println(a[999][mem-1]);
}
}
運行時你會看到
java Test
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at Test.main(Test.java:10)
## 結(jié)論
c: 聲明沒問題,分配沒問題, 使用了就不行
java: 聲明沒問題,分配都不行,更別說使用了
創(chuàng)建了一個實例,用實例來寫試試:
config.post('/喵', {
onUploadProgress (a){
console.log(a)
},
onDownloadProgress (a){
console.log(a)
}
})
在toggle方法后面加this.i = null
如果你還想再次點擊之前點擊的導(dǎo)航,其子級active不變,就在menus下面為每一個一級導(dǎo)航添加activeIndex變量用于記錄子級導(dǎo)航的激活下標(biāo)。
這樣點擊了權(quán)限管理下的角色管理1,然后點擊電池管理下的用戶管理2,再次回到權(quán)限管理,角色管理1也是激活狀態(tài)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>vue點擊切換顯示隱藏</title>
<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
<style type="text/css">
*{
padding: 0;
margin: 0;
font-size: 14px;
}
ul{
width: 200px;
height: auto;
}
h2{
background: green;
border: 1px solid #fff;
color: #fff;
height: 30px;
line-height: 30px;
text-indent: 24px;
}
h3{
background: #999;
height: 24px;
line-height: 24px;
border: 1px solid #fff;
text-indent: 50px;
}
a{
display: block;
width: 200px;
}
.zhe li.actives{
color: #fff;
background: red;
}
</style>
</head>
<body>
<div id="app">
<ul>
<li v-for="(menu,menuindex) in menus" style="background:#ccc;margin:10px 0">
<a @click="toggle(menu)">{{menu.name}}</a>
<ul v-show="menu.open" style="background:green;" class="zhe">
<li v-for="(item,index) in menu.list" @click = "abc(index,menuindex)" :class="{'actives':menu.activeIndex==index}">{{item.name}}</li>
</ul>
</li>
</ul>
</div>
<script>
new Vue({
el: "#app",
data() {
return {
i:null,
menus: [
{
name: '權(quán)限管理',
open: false,
id:'aaa',
activeIndex:null,
list: [
{
name: '用戶管理1'
},
{
name: '部門管理1'
},
{
name: '角色管理1'
},
{
name: '菜單管理1'
}
]
},
{
name: '電池管理',
open: false,
id:'bbb',
activeIndex:null,
list: [
{
name: '用戶管理2'
},
{
name: '部門管理2'
},
{
name: '角色管理3'
},
{
name: '菜單管理4'
}
]
}
]
}
},
methods:{
toggle(item) {
if(!item.open){
this.menus.map((v)=>{
v.open=false
})
}
item.open=!item.open
},
abc(index,menuindex){
this.menus[menuindex].activeIndex = index
},
}
})
</script>
</body>
</html>
可以,epub格式,本質(zhì)上是一個zip壓縮包。只不過是這個壓縮包中有用xml格式的文件定義了一些數(shù)據(jù)。
你只需要知道epub的xml格式,之后用zip打包即可。
epub格式規(guī)范可以參考 : https://blog.csdn.net/ccwwff/...
這個和正常vue,react項目一樣搭建,只不過需要把 vue,react替換成 artTemplate 和 jQuery而已。
關(guān)于打包,打包工具本身并不關(guān)心你使用的是什么框架,只需要你給它一個入口文件而已,打包工具就會自動加載依賴等進行構(gòu)架
在這些框架發(fā)展起來之前,很多項目都是 使用 artTemplate和jQuery寫的,后來遷移到的新框架而已。
早期的技術(shù)開發(fā)棧
當(dāng)然還有很多語言使用的其他模板引擎,比如 php的smarty,
后端可以使用任何模板技術(shù),一旦到了瀏覽器端,那就是前端接管了 模板渲染
使用這個的例子不大好找,以前的公司項目不太適合開源,網(wǎng)上隨便找了一個,你可以參考,看起來還可以。
input autofocus
呃,后行斷言是新特性,需要瀏覽器支持才可以,按規(guī)范是ES2018才引入的,所以babel編譯時,目標(biāo)es版本需要正確。
接自阮一峰es6一書
JavaScript 語言的正則表達式,只支持先行斷言(lookahead)和先行否定斷言(negative lookahead),不支持后行斷言(lookbehind)和后行否定斷言(negative lookbehind)。ES2018 引入后行斷言,V8 引擎 4.9 版(Chrome 62)已經(jīng)支持。
你打包的dll文件里面是不是有兩個vue模塊,如果是有兩個vue模塊那就是webpack.dll.conf.js的配置文件有問題
const path = require('path');
const webpack = require('webpack');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const libraryName = 'vendor_lib'
let config = {
entry: {
vendor: ['vue/dist/vue.esm.js', 'vue-router','element-ui','axios']
},
output: {
path: path.join(__dirname, '../static/js'),
filename: '[name].dll.js',
library: libraryName
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production')
}
}),
new webpack.DllPlugin({
path: path.join(__dirname, '../', '[name]-manifest.json'),
name: libraryName,
context: __dirname,
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: true,
parallel: true
}),
// new CompressionWebpackPlugin({
// asset: '[path].gz[query]',
// algorithm: 'gzip',
// test: /\.(js|css)$/,
// threshold: 10240,
// minRatio: 0.8
// })
]
};
if(process.env.npm_config_report){
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
config.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = config;
用這份配置文件打包看下問題還存不存在,指定vue的版本(vue/dist/vue.esm.js)和打包的環(huán)境
//設(shè)置打包環(huán)境
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production')
}
}),原來是我本地時間錯誤了,調(diào)整之后,就解決了~
你得把這個 net0的網(wǎng)卡地址寫成靜態(tài)的吧。
我在 mac 下用VMware 就設(shè)置成了靜態(tài)的。window 沒弄過。
網(wǎng)上應(yīng)該很多
沒有絕對的安全
首先md5不能算是加密算法,因為它是單向的、不可逆的,你沒法對經(jīng)過md5運算過的密碼進行“解密”而得到原始的明文密碼,但確實在md5與密碼發(fā)生關(guān)系時我們喜歡叫它“加密”。所以就算攻擊者知道你用了md5哈希算法,截獲了你“加密”后的密碼,即md5(password)(不妨設(shè)md5哈希函數(shù)為md5(),用戶明文密碼為password),也無法通過倒推得知用戶的明文密碼,只能暴力窮舉猜測用戶的密碼。
其次,就算攻擊者不知道password,只知道md5(password),也足夠了,他只要向服務(wù)器發(fā)送md5(password)便能通過認(rèn)證。而且驗證的過程仍為明文對比,只是從對比明文密碼變成對比明文密碼的哈希值。為了解決這個問題,有人提出給密碼“加鹽”:服務(wù)器既不存儲明文密碼password,也不存儲md5(password),而是存儲md5(password)和salt,這個salt即“鹽”。用戶每次登陸時,服務(wù)器先生成一個動態(tài)的、短時間內(nèi)不會重復(fù)的salt發(fā)送給用戶,然后用戶將md5(md5(password) + salt)發(fā)回給服務(wù)器,服務(wù)器經(jīng)過同樣的運算后對比結(jié)果,一致則通過驗證。這樣一來,攻擊者就算截獲了salt和md5(md5(password) + salt),也無法倒推出md5(password),同時salt一經(jīng)使用,就會失效,攻擊者就無法通過重新發(fā)送md5(md5(password) + salt)來偽裝成用戶。
但上述做法有個問題(至少一個問題):設(shè)置密碼時,用戶必須告知服務(wù)器md5(password),同時服務(wù)器上會明文存儲md5(password),如果設(shè)置密碼時md5(password)被截獲,或服務(wù)器的數(shù)據(jù)庫被入侵,攻擊者就會得知md5(password),從而就可以偽裝成用戶通過密碼驗證了。而且,如果這個用戶在其它網(wǎng)站也使用了一樣的密碼(這是很常見的),其它網(wǎng)站又剛好使用了一樣的密碼驗證方式,攻擊者就能同時獲得該用戶在多個網(wǎng)站的授權(quán)(撞庫)。這個問題的根本原因是設(shè)計者沒有擺脫“明文密碼”,用md5(password)來代替明文密碼與直接使用明文密碼沒有太大區(qū)別,因此有人提出,我們不要用md5(password),改用md5(password + salt)吧。這里的salt不是前面的salt,前面的是“動態(tài)鹽”,現(xiàn)在所說的是“靜態(tài)鹽”,為了區(qū)分,用dsalt代表動態(tài)鹽,用ssalt代表靜態(tài)鹽。那么登陸方式就變成:服務(wù)器存儲md5(password + ssalt)和與之配套的靜態(tài)鹽ssalt(靜態(tài)鹽在設(shè)置密碼時配套生成),登陸時,服務(wù)器動態(tài)生成隨機的動態(tài)鹽dsalt,將ssalt和dsalt一同發(fā)給用戶,用戶將md5(md5(password + ssalt) + dsalt)發(fā)回給服務(wù)器,服務(wù)器進行同樣的運算,結(jié)果一致則驗證通過。這樣一來,就算攻擊者知道了md5(password + ssalt),也只是攻破了這個用戶在一個網(wǎng)站上的賬戶,而不能攻破該用戶使用的其它網(wǎng)站的賬戶——因為攻擊者不能通過md5(password + ssalt)倒推出md5(password),且對于其它網(wǎng)站,靜態(tài)鹽ssalt也是不同的,通過md5(password + ssalt1)無法推出md5(password + ssalt2)。
如果你不想讓md5(password + ssalt)被截獲,你可以使用非對稱加密(詳情自行搜索),但非對稱加密對中間人攻擊(詳情自行搜索)無能為力,為了使非對稱加密能夠抵抗中間人攻擊,人們又搞出了基于信任的一套機制(詳情自行搜索),但信任又是可以背叛的……所以說沒有絕對的安全。
感興趣可以自學(xué)密碼學(xué)。
app.use(express.bodyParser());
北大青鳥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)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(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)師。