newdoge是什麼意思
A. Creeper Aw Man歌詞是誰要是說完了全部歌詞我就叫誰爸爸
creeper?
苦力怕?
awww man
哦♂男人(滑稽保命)
So way back in the mine got are pickaxe swingin' from side to side
進入礦井 拿起十字鎬准備挖礦 從一邊挖到另一邊
Side side to side
每個角落都不放過
這是一項艱苦的任務 希望今晚能挖到鑽石
Night night diamonds tonight
今晚挖到鑽石
Heads up
小心謹慎
You hear a sound turn around and look up
你聽到奇怪的聲音 轉身抬頭 四處觀望
Total shock fills your body
汗毛豎立 震驚不已
Oh no it's you again I can never forget those eyes
又是你 你的那雙眼睛 我永生難忘
Eyes eyes eyes eyes eyes
眼睛
'Cause baby tonight the creeper's
寶貝 今晚苦力怕
Tryin' to steal all your stuff again
想要再次把你的物品洗劫一空
'Cause baby tonight
寶貝 今晚
Grab your pick shovel and bolt again
帶上工具
Bolt again gain
絕地重生
And run run until it's done done
東奔西走 直到游戲結束
Until the sun comes up in the morn'
直到太陽升起
'Cause baby tonight
寶貝 今晚
The creeper's tryin' to steal all your stuff again
苦力怕想要再次把你的物品洗劫一空
Stuff again gain
全部偷走
Just when you think you're safe
就在你以為安全的時候
Over here some hissing from right behind right right behind
身後傳來嘶嘶聲
That's a nice life you have
你現在的生活還不錯
Shame it's got to end at this time time time
不過真遺憾 這次一切終將結束
Time time time time
就是現在
發生爆炸 代表你生命的血量掉了半截
And you could use a 1 up
你可以藉助道具滿血復活
Get inside don't be tardy
趕緊躲起來 別遲疑
So now you're stuck in there
你現在進退維谷
Halve a heart is left but don't die
奄奄一息 差一點死掉
Die die die die die
差點死掉
'Cause baby tonight
寶貝 今晚
The creeper's tryin' to steal all your stuff again
苦力怕想要再次把你的物品洗劫一空
'Cause baby tonight
寶貝 今晚
Grab your pick shovel and bolt again bolt again gain
帶上工具 絕地重生
And run run until it's done done
東奔西走 直到游戲結束
Until the sun comes up in the morn'
直到太陽升起
'Cause baby tonight
寶貝 今晚
The creeper's tryin' to steal all your stuff again
苦力怕想要再次把你的物品洗劫一空
Ha creepers ya mine
苦力怕 你是我的
Dig up diamonds
挖鑽石
Craft those diamonds make some armor
把鑽石打造成盔甲
Get it baby
寶貝 馬到成功
Go and forge that like you so MLG pro
發掘像你這種職業玩家
The sword's made of diamonds
這把劍是鑽石做的
So come at me bro
向我發起進攻
Ha training in your room under the torch light
房間里點燃火把 借著光亮加緊訓練
Hone that form to get you ready for the big fight
潛心學習 為即將到來的戰斗做好准備
Every single day in the whole night
日日夜夜
Creeper's out prowlin' whoo alright
苦力怕在不斷繁殖
Look at me look at you
看看我 看看你自己
Take my revenge that's what I'm gonna do
我要復仇 這是我要做的事
I'm a warrior baby what else is new
我是英勇的戰士 寶貝 不足為奇
And my blade's gonna tear through you
我要讓你嘗嘗利劍穿心的滋味
'Cause baby tonight
寶貝 今晚
The creeper's tryin' to steal all your stuff again get your stuff
苦力怕想要再次把你的物品洗劫一空
Yea let's take back the world
奪回屬於我們的世界
Yea baby tonight
寶貝 今晚
Grab your sword armor and go it's on
拿上你的劍 穿上盔甲 行動起來
Take your revenge whoo
開始復仇
Ohh so fight fight
加入戰斗
Like it's the last
全力以赴 浴血奮戰
Last night of your life
直到生命終結
Life show them your bite whoo
給他們點教訓
'Cause baby tonight
寶貝 今晚
The creeper's tryin' to steal all your stuff again
苦力怕想要再次把你的物品洗劫一空
'Cause baby tonight
寶貝 今晚
Grab your pick shovel and bolt again bolt again gain
帶上工具 絕地重生
And run run until it's done
東奔西走 直到游戲結束
Done until the sun comes up in the morn'
直到太陽升起
'Cause baby tonight
寶貝 今晚
The creeper's tryin' to steal all your stuff again
苦力怕想要再次把你的物品洗劫一空
B. 如何判斷兩個介面返回的json數據是否有diff
背景:在工作中經常會遇到介面遷移,但是呢又需要保證遷移前後返回的數據是一致的,這時候就需要做diff測試
分析:介面返回的json 數據中包含很多類型的欄位,例如:object,jsonObject,String,jsonArray等等,因為需要分別幾個函數實現:jsonObject,jsonArray,Object的diff
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
public class BasicDiff {
public static class DiffResult{
private Boolean hasDiff = false;
private String diffMessage;
public Boolean getHasDiff() {
return hasDiff;
}
public void setHasDiff(Boolean hasDiff) {
this.hasDiff = hasDiff;
}
public String getDiffMessage() {
return diffMessage;
}
public void setDiffMessage(String diffMessage) {
this.diffMessage = diffMessage;
}
@Override
public String toString() {
return "DiffResult{" +
"hasDiff=" + hasDiff +
", diffMessage='" + diffMessage + ''' +
'}';
}
}
DiffResult diffResult=new DiffResult();
public DiffResult compareObject(Object oldObject,Object newObject, String key, int index) { if(oldObject == null || newObject == null){
diffResult.hasDiff = true;
diffResult.setDiffMessage(key+" 的value中old和new有一個或者兩個為null"); return diffResult;
} if(oldObject!=null&&newObject!=null) { if (diffResult.getHasDiff()) { return diffResult;
} if (oldObject != null && newObject != null && oldObject.getClass() != newObject.getClass()) {
diffResult.hasDiff = true;
diffResult.setDiffMessage(key + " 的value的old和new 的類型不一致"); return diffResult;
} if (oldObject instanceof JSONObject && newObject instanceof JSONObject) {
compareJsonObject((JSONObject) oldObject, (JSONObject) newObject, key, index); if (diffResult.getHasDiff()) { return diffResult;
}
} else if (oldObject instanceof JSONArray && newObject instanceof JSONArray) {
compareJsonArray((JSONArray) oldObject, (JSONArray) newObject, key, index); if (diffResult.getHasDiff()) { return diffResult;
}
} else {
String oldStr = oldObject.toString();
String newStr = newObject.toString(); if (!oldStr.equals(newStr)) {
diffResult.hasDiff = true;
diffResult.setDiffMessage("index: " + index + ", " + key + " 的value中old和new 的值不相等"); return diffResult;
}
}
} return diffResult;
} public DiffResult compareJsonArray(JSONArray oldJarr, JSONArray newJarr, String key, int index) { if(diffResult.getHasDiff()){ return diffResult;
} if(oldJarr == null || newJarr == null){
diffResult.hasDiff = true;
diffResult.setDiffMessage(key+" 的value中兩個結果存在null"); return diffResult;
} if(oldJarr.size() != newJarr.size()){
diffResult.hasDiff = true;
diffResult.setDiffMessage("index:"+ index+", "+key + " 的value中old和new 數組size不相等"); return diffResult;
} //jsonarray中元素是個object,排序之後再比較
if(oldJarr.size() > 0 && !(oldJarr.get(0) instanceof JSONObject) && !(oldJarr.get(0) instanceof JSONArray)){
String[] arrOld = new String[oldJarr.size()];
String[] arrNew = new String[oldJarr.size()];
List<String> tmp = new ArrayList<String>(); for(int i = 0; i < arrOld.length; i++){
arrOld[i] = oldJarr.get(i).toString();
arrNew[i] = newJarr.get(i).toString();
tmp.add(oldJarr.get(i).toString());
}
Arrays.sort(arrOld);
Arrays.sort(arrNew); for(int i = 0; i < arrNew.length; i++){ if(!arrOld[i].equals(arrNew[i])){
diffResult.hasDiff = true;
diffResult.setDiffMessage("index:"+ index+", "+key + " 的value中第"+tmp.indexOf(arrOld[i])+"個old和new 值不相等"); return diffResult;
}
}
}else{ for(int i = 0; i < oldJarr.size(); i++){ if(oldJarr.get(i) != null && newJarr.get(i) != null && oldJarr.get(i).getClass()!= newJarr.get(i).getClass()){
diffResult.hasDiff = true;
diffResult.setDiffMessage("index:"+ index+", "+key + " 的value中old和new 的類型不一致"); return diffResult;
} if(oldJarr.get(i) instanceof JSONObject){
JSONObject jold = (JSONObject)oldJarr.get(i);
JSONObject jnew = (JSONObject)newJarr.get(i); if(jold.equals(jnew)){ continue;
}else{
Boolean cd = customHasDiff(oldJarr,newJarr,key,i,diffResult); if(!cd) continue;
compareJsonObject((JSONObject)oldJarr.get(i),(JSONObject)newJarr.get(i),key,i); if(diffResult.getHasDiff()){ return diffResult;
}
}
}else if(oldJarr.get(i) instanceof JSONArray) {
compareJsonArray((JSONArray) oldJarr.get(i), (JSONArray) newJarr.get(i), key, i); if(diffResult.getHasDiff()){ return diffResult;
}
}
}
} return diffResult;
}
public DiffResult compareJsonObject(JSONObject oldJson, JSONObject newJson, String key, int index) {
if(diffResult.getHasDiff()){
return diffResult;
}
if(oldJson == null || newJson == null){
diffResult.hasDiff = true;
diffResult.setDiffMessage(key+" 的value中兩個結果存在null");
return diffResult;
}
Set<String> sold = oldJson.keySet();
Set<String> snew = newJson.keySet();
if (key.isEmpty()) {
key = "root";
}
//keysize是否相等
if (sold.size() != snew.size()) {
diffResult.hasDiff = true;
diffResult.setDiffMessage(key + " 的keySet的數量不一致,線上有" + sold.size() + "個key,待測服務有" + snew.size() + "個key");
return diffResult;
}
//key是否相同
for (String kold : sold) {
if (!snew.contains(kold)) {
diffResult.hasDiff = true;
diffResult.setDiffMessage("待測服務的" + key + "的keyset不包含" + kold);
return diffResult;
}
}
//value進行校驗
for(String kold :sold){
//此處是進行過濾的,如果哪些欄位不需要進行diff,就在這里過濾掉,例如介面返回的globalid,每次返回的值都不一樣,不需要進行diff
if(kold.equals("globalId")) {
continue;
}
Object oldObject = oldJson.get(kold);
Object newObject = newJson.get(kold);
compareObject(oldObject, newObject, key + "->" + kold, index);
if (diffResult.getHasDiff()) {
return diffResult;
}
}
return diffResult;
}
}
String resultOnline = httpClientTool.doGetNoProxy(onlineUrl, null, "utf-8",headers);
Thread.sleep(100);
String resultNeedDiff=httpClientTool.doGetNoProxy(needDiffUrl,null,"utf-8",headers);
JSONObject resultObject1=JSON.parseObject(resultOnline);
JSONObject resultObject2=JSON.parseObject(resultNeedDiff);
BasicDiff bf=new BasicDiff();
d1=bf.compareObject(resultObject1,resultObject2,"",0)
if(d1.getHasDiff()){
System.out.println("============有diff==========");
System.out.println(d1.getHasDiff());
}
C. 🌚黑臉月亮啥意思
黑臉月亮的笑更狡黠,像是在開玩笑,有點微博doge的意思,黃臉月亮的笑更悠閑更安逸,好像帶了丟丟嘲諷。一般就是開玩笑用黑臉,淡定的時候用黃臉。。。應該沒這么講究。不過iOS新版的兩個月亮沒舊版的經典呢,磨皮之後失去了精髓。
微笑的朔月,這個表情有些詭異,眼神有些假惺惺,同時還含沙射影地表示嘲諷、自嘲的意思。它經常和微笑的月亮一起使用。
現實聊天中,它還表示話中有話、正話反說、反話正說,想要調侃對方但又不希望對方責怪你。
在統一碼中分別定義是:
U+1F31A :new_moon_with_face: 有臉的新月(蘋果做成黑臉的那個)
U+1F31D :full_moon_with_face: 有臉的滿月
僅此而已,統一碼沒有規定必須是什麼表情。
你的截屏中是蘋果的設計,在其他平台上則有各自的設計,你發給其他平台的話,別人看到的可能是別的表情的月亮,比如視窗(字體:Segoe UI Emoji)這兩個有臉月亮都是閉眼微笑。因此,關於「這兩字元表情有什麼區別」的說法可以無視。