你是想學(xué)習(xí)python的pyHeatMap庫?只要有一定的python基礎(chǔ)學(xué)起來還是很快的,畢竟網(wǎng)上的教程很多。
還是說你要問具體的實(shí)現(xiàn)步驟?
Sark 不清楚。而foo/bar,可以看看 wiki 的描述:
foobar是計(jì)算機(jī)程序領(lǐng)域里的術(shù)語炒作,并無實(shí)際用途和參考意義。 在計(jì)算機(jī)程序設(shè)計(jì)與計(jì)算機(jī)技術(shù)的相關(guān)文檔中,術(shù)語foobar是一個(gè)常見的無名氏化名,常被作為“偽變量”使用。從技術(shù)上講,“foobar”很可能在1960年代至1970年代初通過迪吉多的系統(tǒng)手冊傳播開來。另一種說法是,“foobar”可能來源于電子學(xué)中反轉(zhuǎn)的foo信號(hào)( {displaystyle {bar {q}}} bar{q});這是因?yàn)槿绻粋€(gè)數(shù)字信號(hào)是低電平有效(即負(fù)壓或零電壓代表“1”),那么在信號(hào)標(biāo)記上方一般會(huì)標(biāo)有一根水平橫線,而橫線的英文即為“bar”。在《新黑客辭典》中,還提到“foo”可能早于“FUBAR”出現(xiàn)。
問題1,沒有保存密碼,驗(yàn)證密碼的時(shí)候又重新生成了新密碼,所以永遠(yuǎn)都是密碼錯(cuò)誤
問題2,$data='{password:"' . $password. '"}'; 和 echo json_encode($data);重復(fù),json_encode就是生成json的
問題3,ajax使用dataType: "json"時(shí),jquery會(huì)自動(dòng)解析json字符串,不需要再一次data = eval("("+msg+")");
問題4,獲取密碼的點(diǎn)擊事件中,還沒有輸入密碼呢,干嘛還要提交密碼 data: {password: password}, //提交到password.php的數(shù)據(jù)
<?php
session_start();
function getRandPass()
{
$chars = ("0123456789abcdefghijklmnopqrstuvwxyz");
$min = 6;//最小字?jǐn)?shù)
$max = 9;//最大字?jǐn)?shù)
$len = mt_rand($min,$max);//隨機(jī)長度
$password = '';
$a_len = strlen($chars);
for($i = 0;$i < $len;$i++)
{
$password .= $chars[mt_rand(0,$a_len - 1)];//隨機(jī)取出一個(gè)字符
}
return $password;
}
if(isset($_POST['password']))
{
if($_SESSION['password'] == $_POST['password'])//驗(yàn)證密碼
{
$data['code'] = 1;
}
else
{
$data['code'] = 0;
}
}
else
{
$password = getRandPass();
$_SESSION['password'] = $password;//保存密碼,以便下次驗(yàn)證密碼
$data['password'] = $password;
}
echo json_encode($data);//輸出json數(shù)據(jù)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<input type="text" id="password">
<button id="sub">
獲取密碼
</button>
<button id="gopass">
驗(yàn)證密碼
</button>
<input type="text" id="text">
<span id="texts">
</span><!-- 用以顯示返回來的數(shù)據(jù),只刷新這部分地方 -->
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
$('#gopass').click(function()
{
var password = $('#password').val();
if(password == '')
{
$('#texts').html('密碼不能為空!');
return false;
}
$.ajax(
{
url: 'password.php',
type: 'POST',
dataType: 'json',
data:
{
password: password
},
beforeSend: function()
{
$('#texts').html('驗(yàn)證中!');//用于調(diào)試驗(yàn)證過程
},
success: function(data)
{
if(data.code == 1)
{
//驗(yàn)證密碼
$('#texts').html('驗(yàn)證成功' );
}else
{
$('#texts').html('密碼錯(cuò)誤!');
}
}
});
});
$('#sub').click(function()
{
var password = $('#password').val();
$.ajax(
{
type: "get",
url: "password.php",//提交到password.php的數(shù)據(jù)
dataType: "json", //回調(diào)函數(shù)接收數(shù)據(jù)的數(shù)據(jù)格式
success: function(data)
{
$('#text').empty(); //清空Text里面的所有內(nèi)容
$('#text').val(data.password); //密碼在#text中輸出
$('#texts').html('獲取成功!');
console.log(data); //控制臺(tái)輸出調(diào)試結(jié)果
},
error:function(msg)
{
console.log(msg);//控制臺(tái)輸出錯(cuò)誤調(diào)試結(jié)果
}
});
});
</script>
</body>
</html>理論上應(yīng)該是不行的。
估算下平均每秒的寫入次數(shù)吧,redis每秒千級別的讀寫沒問題的
沒看過這個(gè)卷,但是這塊應(yīng)該是有其他的一個(gè)類名稱為Pair。
class Pair<T extends Comparable> {
private T min;
private T max;
Pair(T min, T max) {
this.min = min;
this.max = max;
}
public T getFirst() {
return min;
}
public T getSecond() {
return max;
}
}使用下面的post-update文件:
將您的.git目錄復(fù)制到 web 服務(wù)器上
在本地副本中, 修改.git/config 文件并將 web 服務(wù)器添加為遠(yuǎn)程:
[remote "production"]
url = username@webserver:/var/www/html/.git
在服務(wù)器上, 用下面的文件替換.git/hooks/post-update
添加對文件的執(zhí)行訪問權(quán)限 (再次, 在服務(wù)器上):
chmod +x .git/hooks/post-update
現(xiàn)在, 只需在本地推送到您的 web 服務(wù)器, 它應(yīng)該自動(dòng)更新工作副本:
git push production
#!/bin/sh
#
# This hook does two things:
#
# 1. update the "info" files that allow the list of references to be
# queries over dumb transports such as http
#
# 2. if this repository looks like it is a non-bare repository, and
# the checked-out branch is pushed to, then update the working copy.
# This makes "push" function somewhat similarly to darcs and bzr.
#
# To enable this hook, make this file executable by "chmod +x post-update".
git-update-server-info
is_bare=$(git-config --get --bool core.bare)
if [ -z "$is_bare" ]
then
# for compatibility's sake, guess
git_dir_full=$(cd $GIT_DIR; pwd)
case $git_dir_full in */.git) is_bare=false;; *) is_bare=true;; esac
fi
update_wc() {
ref=$1
echo "Push to checked out branch $ref" >&2
if [ ! -f $GIT_DIR/logs/HEAD ]
then
echo "E:push to non-bare repository requires a HEAD reflog" >&2
exit 1
fi
if (cd $GIT_WORK_TREE; git-diff-files -q --exit-code >/dev/null)
then
wc_dirty=0
else
echo "W:unstaged changes found in working copy" >&2
wc_dirty=1
desc="working copy"
fi
if git diff-index --cached HEAD@{1} >/dev/null
then
index_dirty=0
else
echo "W:uncommitted, staged changes found" >&2
index_dirty=1
if [ -n "$desc" ]
then
desc="$desc and index"
else
desc="index"
fi
fi
if [ "$wc_dirty" -ne 0 -o "$index_dirty" -ne 0 ]
then
new=$(git rev-parse HEAD)
echo "W:stashing dirty $desc - see git-stash(1)" >&2
( trap 'echo trapped $$; git symbolic-ref HEAD "'"$ref"'"' 2 3 13 15 ERR EXIT
git-update-ref --no-deref HEAD HEAD@{1}
cd $GIT_WORK_TREE
git stash save "dirty $desc before update to $new";
git-symbolic-ref HEAD "$ref"
)
fi
# eye candy - show the WC updates :)
echo "Updating working copy" >&2
(cd $GIT_WORK_TREE
git-diff-index -R --name-status HEAD >&2
git-reset --hard HEAD)
}
if [ "$is_bare" = "false" ]
then
active_branch=`git-symbolic-ref HEAD`
export GIT_DIR=$(cd $GIT_DIR; pwd)
GIT_WORK_TREE=${GIT_WORK_TREE-..}
for ref
do
if [ "$ref" = "$active_branch" ]
then
update_wc $ref
fi
done
fi
git ls-files -z | rsync --files-from - --copy-links -av0 . user@server.com:/var/www/project
Eclipse 修改 js、html、css 文件之后應(yīng)該不需要重啟 tomcat。
靜態(tài)頁面實(shí)際上是容器直接通過IO讀取后返回的,每次你訪問的時(shí)候都從磁盤讀取,所以只要保存了就能生效。
如果沒有成功:
1.去tomcat 下的 webapp目錄下面查看下對應(yīng)的 文件是否已經(jīng)做了修改
2.有可能是瀏覽器的緩存,可以使用 ctrl+shift+delete 清理瀏覽器緩存
3.刷新下瀏覽器再試試
首先壓縮類空間是元數(shù)據(jù)空間metaspace的一部分.
在64位平臺(tái)上, 指向類元數(shù)據(jù)的指針可以由32位偏移量 (帶有 UseCompressedOops) 表示。這由命令行標(biāo)志 UseCompressedClassPointers (默認(rèn)啟用) 控制。如果使用 UseCompressedClassPointers, 則類元數(shù)據(jù)的可用空間量將固定在 CompressedClassSpaceSize 數(shù)值上。如果 UseCompressedClassPointers 所需的空間超過 CompressedClassSpaceSize, 將拋出一個(gè)具有Compressed class space字樣的 java.lang.OutOfMemoryError異常。
操作: 增加參數(shù) CompressedClassSpaceSize 的大小以關(guān)閉 UseCompressedClassPointers選項(xiàng)。
注意: CompressedClassSpaceSize 的可接受大小有界限。例如, -XX:CompressedClassSpaceSize=4g, 超出可接受的界限將導(dǎo)致消息, 如CompressedClassSpaceSize=4294967296無效;必須介于1048576和3221225472之間。
注意: 有多種類元數(shù)據(jù) -klass 元數(shù)據(jù)和其他元數(shù)據(jù)。只有 klass 元數(shù)據(jù)存儲(chǔ)在由 CompressedClassSpaceSize 限定的空間中。其他元數(shù)據(jù)存儲(chǔ)在 Metaspace 中。
https://docs.oracle.com/javas...
相應(yīng)地:
CCSMN - 對應(yīng)軟件運(yùn)行過程中的最小歷史壓縮類空間大小
CCSMX - 對應(yīng)軟件運(yùn)行過程中的最大壓縮類空間大小
CCSC - 當(dāng)前壓縮類空間大小
TT: Tenuring threshold.
MTT: Maximum tenuring threshold.
Java 堆中的每個(gè)對象都有一個(gè)由垃圾回收 (GC) 算法使用的標(biāo)頭。新生代的空間收集器 (負(fù)責(zé)對象晉升) 使用此標(biāo)頭中的一些位來跟蹤幸存的集合對象的數(shù)量 (32 位 JVM 使用4位, 64 位可能更多)。
在新生代的空間收集過程中, 每個(gè)對象都被復(fù)制??梢詫ο髲?fù)制到生存空間 (在新生代 GC 之前為空) 或老年代空間。對于被復(fù)制的每個(gè)對象, GC 算法增加了它的年齡 (幸存的數(shù)量), 如果年齡高于當(dāng)前的 tenuring 閾值, 它將被復(fù)制 (晉升) 到老年代的空間。如果生存空間已滿, 對象也可以直接復(fù)制到老年代空間。
對象按下面的步驟移動(dòng):
如果設(shè)置 MaxTenuringThreshold=0, 將立即升級所有對象。
MaxTenuringThreshold這個(gè)參數(shù)用于控制對象能經(jīng)歷多少次Minor GC才晉升到老年代.
在計(jì)算存活周期這個(gè)閾值時(shí),hotspot會(huì)遍歷所有age的table,并對其所占用的大小進(jìn)行累積,當(dāng)累積的大小超過了survivor space的一半時(shí),則以這個(gè)age作為新的存活周期閾值(TT),最后取age和MaxTenuringThreshold(MTT)中更小的一個(gè)值。
肯定是圖片路徑不對,webpack會(huì)按照他的配置來解析輸出你的項(xiàng)目,所以具體的圖片路徑要看你的配置是什么樣的
你這個(gè)img是怎么追加到頁面上的,是通過v-html還是js的dom操作,如果是dom操作,可能webpack沒有檢測到你使用改圖片,所以沒有給你輸出
另外,這種靜態(tài)資源最好放在static下,這樣不會(huì)給你解析,然后使用路徑'/static/img/emjo...'來訪問你的資源
最后,'./../'這種路徑?jīng)]錯(cuò),但是也沒必要加'./'
單點(diǎn)登錄的時(shí)候加跳轉(zhuǎn)來源參數(shù),按照參數(shù)不同用不同的賬號(hào)密碼處理邏輯?
用戶數(shù)據(jù)也先別導(dǎo)入到一起,根據(jù)系統(tǒng)來源參數(shù)分開查詢,或者再加個(gè)系統(tǒng)字段?
一點(diǎn)想法。感覺這樣工作量也不小。
首先確保visible為true,其次Modal是直接渲染在document.body下面的,因此find無法找到對應(yīng)的節(jié)點(diǎn)。
antd 4.x已經(jīng)用React.creatPortal解決了這個(gè)問題,可以直接用find
去掉這些空格試試?我開發(fā)時(shí)有這些空格的好像不行
node在后端大公司不會(huì)全站用,都會(huì)做成接入層,核心邏輯用RPC調(diào)用做的。
如果是一般項(xiàng)目,可以考慮koa,express,eggjs這種web框架。
加上現(xiàn)在docker化的開發(fā),nodejs這點(diǎn)上比PHP方便
settings.py里的STATICFILES_DIR不應(yīng)該是STATICFILES_DIRS嗎?
一、可以參照一下Element的做法,
Element是使用.sync修飾符來達(dá)到props雙向綁定效果的(vue1.x中是雙向綁定,2.x中只是v-on語法糖)
具體文檔可以看這里
二、當(dāng)然,我個(gè)人的做法是:在彈框組件內(nèi)部使用定義一個(gè)變量去控制組件的顯隱,然后通過ref來調(diào)用組件內(nèi)部的方法從而達(dá)到控制彈框的效果。
具體的話,可以參照這個(gè):https://github.com/Ash-sc/vue...
看看控制臺(tái),是不是代碼有語法錯(cuò)誤
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。