你所使用的go版本是否>=1.7.6
?
1.這段代碼應(yīng)該是umd的寫法,就是檢測當(dāng)前的運(yùn)行環(huán)境支持哪種模塊化規(guī)范,exports是commonjs規(guī)范,define是amd規(guī)范的寫法
2.this在這里是指調(diào)用的全局環(huán)境
自己解決了
改成了@"C:\Users\liux\AppData\Local\Yarn\Data\global\node_modules\.bin\vue.cmd" %*
不知道為什么yarn自動生成的鏈接會報這種錯
phpstorm + xdebug
xdebug 可以用斷點(diǎn)調(diào)試 也可以輸出日志分析 phpstorm有分析工具
終于解決了這個問題,在stackoverflow上面提問找到了解答:問答詳情
做法是添加消息隊列.為什么添加在這個問答:為什么添加消息隊列,大致意思是因為低級鼠標(biāo)鍵盤鉤子默認(rèn)會馬上返回返回值,通過添加消息隊列就能解決.
添加了一個線程來控制鉤子,如果不添加好像程序不能按要求退出.
最后c++部分代碼:
// dllmain.cpp : Defines the entry point for the DLL application.
#include "stdafx.h"
#include "stdio.h"
HHOOK g_HookHwnd = NULL;
HHOOK g_hMouse = NULL;
HANDLE hThread = NULL;
// 鉤子子程
extern "C" _declspec(dllexport) LRESULT CALLBACK MyHookFun(int nCode, WPARAM wParam, LPARAM lParam)
{
printf("in hook key function\n");
// 這個Structure包含了鍵盤的信息
/*typedef struct {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;*/
// 我們只需要那個vkCode
PKBDLLHOOKSTRUCT pVirKey = (PKBDLLHOOKSTRUCT)lParam;
// MSDN說了,nCode < 0的時候別處理
if (nCode >= 0)
{
// 按鍵消息
switch (wParam)
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
case WM_KEYUP:
case WM_SYSKEYUP:
switch (pVirKey->vkCode)
{
case VK_LWIN:
case VK_RWIN:
return 1; // 吃掉消息
break;
}
return 1;
break;
}
}
return CallNextHookEx(g_HookHwnd, nCode, wParam, lParam);
}
extern "C" _declspec(dllexport) LRESULT CALLBACK MyHookMouse(int nCode, WPARAM wParam, LPARAM lParam)
{
printf("in hook mouse function\n");
return 1;
}
HMODULE g_Module;
extern "C" _declspec(dllexport) BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
{
break;
}
}
return TRUE;
}
extern "C" _declspec(dllexport) DWORD WINAPI controllHook(LPVOID lpParamter)
{
g_HookHwnd = SetWindowsHookEx(WH_KEYBOARD_LL, MyHookFun, g_Module, 0);
g_hMouse = SetWindowsHookEx(WH_MOUSE_LL, MyHookMouse, g_Module, 0);
while (true) {
MSG msg;
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
extern "C" _declspec(dllexport) void FuncHookDevice()
{
if (!g_HookHwnd)
{
hThread = CreateThread(NULL, 0, controllHook, NULL, 0, NULL);
printf("start hook\n");
g_HookHwnd = SetWindowsHookEx(WH_KEYBOARD_LL, MyHookFun, g_Module, 0);
}
}
extern "C" _declspec(dllexport) void FuncEndHook()
{
printf("end hook\n");
UnhookWindowsHookEx(g_HookHwnd);
UnhookWindowsHookEx(g_hMouse);
CloseHandle(hThread);
g_HookHwnd = NULL;
}
!{JSON.stringify(buyTips)} 不會報錯嗎
看看這個是否有幫助?
https://cuiqingcai.com/5571.html
我一般選擇用命令的方式設(shè)置,并且將這兩個文件夾配置在其他盤符防止權(quán)限問題
npm config set prefix "D:\nodejs\node_global" //設(shè)置全局包目錄
npm config set cache "D:\nodejs\node_cache" //設(shè)置緩存目錄
缺少一個配置
{
devtool: 'sourcemap'
}
設(shè)置$('.details')元素的高度(height),并且設(shè)置overflow:auto;
你只是想把本地代碼上傳到遠(yuǎn)程ftp服務(wù)器。
簡單起見,每次修改完畢把本地代碼打tar包,ssh連接到服務(wù)器后用rz
直接上傳,全量或者部分更新。
你非要用git來同步代碼的話,
可以在github、gitee.com等網(wǎng)站開一個私有的倉庫,代碼都同步到第三方。
或者自己在ftp服務(wù)器上搭建一個gitlab服務(wù)
兩種:
第一種:
TypedQuery<User> query = em.createQuery(
"SELECT u FROM User u WHERE (u.name like :n1 and u.age < :a1) or (u.name like :n2 and u.age > :a2)",
User.class
);
query.setParameter("n1", n1);
query.setParameter("n2", n2);
query.setParameter("a1", a1);
query.setParameter("a2", a2);
第二種:
Predicate less = builder.and(
builder.like(u.get("name"), n1),
builder.lt(u.get("age"), a1)
);
Predicate more = builder.and(
builder.like(u.get("name"), n2),
builder.gt(u.get("age"), a2)
);
query.where(builder.or(less, more));
clipboard.js
的官網(wǎng)包括在github
的issue
中已經(jīng)說明不支持IE8
我在issue
找到一條,有人專門針對IE8
的clipboard.js
,鏈接如下:https://github.com/zenorocha/...
往下翻會看到,執(zhí)行的安裝命令是:bower install clipboard-ie8
雖然我也沒試過,不過你可以試試
Docker的四種網(wǎng)絡(luò)模式:
當(dāng)Docker進(jìn)程啟動時,會在主機(jī)上創(chuàng)建一個名為docker0的虛擬網(wǎng)橋,此主機(jī)上啟動的Docker容器會連接到這個虛擬網(wǎng)橋上。虛擬網(wǎng)橋的工作方式和物理交換機(jī)類似,這樣主機(jī)上的所有容器就通過交換機(jī)連在了一個二層網(wǎng)絡(luò)中。
從docker0子網(wǎng)中分配一個IP給容器使用,并設(shè)置docker0的IP地址為容器的默認(rèn)網(wǎng)關(guān)。在主機(jī)上創(chuàng)建一對虛擬網(wǎng)卡veth pair設(shè)備,Docker將veth pair設(shè)備的一端放在新創(chuàng)建的容器中,并命名為eth0(容器的網(wǎng)卡),另一端放在主機(jī)中,以vethxxx這樣類似的名字命名,并將這個網(wǎng)絡(luò)設(shè)備加入到docker0網(wǎng)橋中??梢酝ㄟ^brctl show命令查看。
bridge模式是docker的默認(rèn)網(wǎng)絡(luò)模式,不寫--net參數(shù),就是bridge模式。使用docker run -p時,docker實際是在iptables做了DNAT規(guī)則,實現(xiàn)端口轉(zhuǎn)發(fā)功能。可以使用iptables -t nat -vnL查看。
bridge模式如下圖所示:
如果啟動容器的時候使用host模式,那么這個容器將不會獲得一個獨(dú)立的Network Namespace,而是和宿主機(jī)共用一個Network Namespace。容器將不會虛擬出自己的網(wǎng)卡,配置自己的IP等,而是使用宿主機(jī)的IP和端口。但是,容器的其他方面,如文件系統(tǒng)、進(jìn)程列表等還是和宿主機(jī)隔離的。
Host模式如下圖所示:
這個模式指定新創(chuàng)建的容器和已經(jīng)存在的一個容器共享一個 Network Namespace,而不是和宿主機(jī)共享。新創(chuàng)建的容器不會創(chuàng)建自己的網(wǎng)卡,配置自己的 IP,而是和一個指定的容器共享 IP、端口范圍等。同樣,兩個容器除了網(wǎng)絡(luò)方面,其他的如文件系統(tǒng)、進(jìn)程列表等還是隔離的。兩個容器的進(jìn)程可以通過 lo 網(wǎng)卡設(shè)備通信。
Container模式示意圖:
使用none模式,Docker容器擁有自己的Network Namespace,但是,并不為Docker容器進(jìn)行任何網(wǎng)絡(luò)配置。也就是說,這個Docker容器沒有網(wǎng)卡、IP、路由等信息。需要我們自己為Docker容器添加網(wǎng)卡、配置IP等。
Node模式示意圖:
更多請自行閱讀: http://www.a-site.cn/article/...
與查一個網(wǎng)站的IP相同,都是用dns協(xié)議查詢。只不過IP反查需要運(yùn)營商支持,這個國外做的比較好一點(diǎn)。
有的是用了工信部的備案平臺逆向查詢的,不過由于信息不準(zhǔn)確問題可信度已經(jīng)很低了;
另外就是谷歌的服務(wù),推測是記錄了歷史訪問解析數(shù)據(jù)。
http://blog.csdn.net/u0103728...
http://www.viewdns.info/rever...
C#是半默認(rèn)break,你不寫會編譯器會發(fā)錯誤
如果是檢驗的是對象的屬性
可以封裝一下方法(validator注入,你的bean是getValidator):
public static void validateWithException(Object object, Class<?>... groups) {
Set constraintViolations = validator.validate(object, groups);
if (!constraintViolations.isEmpty()) {
Iterator iterator = constraintViolations.iterator();
//取第一個錯誤拋出
ConstraintViolation constraintViolation = (ConstraintViolation) iterator.next();
throw new IllegalArgumentException(constraintViolation.getMessage());
}
}
當(dāng)然也可以使用AOP的方式對請求方法進(jìn)行校驗。
對單個參數(shù)/多個參數(shù),非對象的屬性,則需要添加@Validated于類上,提前需配置MethodValidationPostProcessor bean
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(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é)及管理工作。
浪潮集團(tuán)項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(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)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。