注意:这与此问题有某种联系,但它需要额外关注分支.
假设我有一个Github项目https://github.com/basjj/myproject.git ,我的计算机上有2个分支(master和feature1)和一个本地存储库.
名为的用户blah提出了一个pull-request.他有3个分支(master,feature1,feature2)上https://github.com/blah/myproject.git.
我想feature2在我的计算机上尝试他的分支,稍微修改它,并将其合并到我自己的master.以下命令是否正确?
git checkout -b feature2
git pull https://github.com/blah/myproject.git # it pulls only his feature2 branch or all?
# review the new files, make changes, etc.
git add .
git commit
git checkout master
git merge feature2
Run Code Online (Sandbox Code Playgroud)
第二行(git pull...)是拉他所有的分支还是仅仅是他的feature2?
还有别的:用户是否blah会出现在Github的贡献者列表中?
我想feature1在我的计算机上尝试他的分支,稍微修改它,并将其合并到我自己的master. …
该页面/forum/memberlist.php?mode=contactadmin指向此页面,允许访客发送垃圾邮件.
如何在phpBB 3中完全禁用"联系板管理员"功能?
垃圾邮件示例:
你好管理员,
以下是通过"xxx"管理联系页面发送给您的电子邮件.
该消息是从指定以下联系信息的访客发送的:姓名:Barnypok电子邮件地址:jfvynms4281rt@hotmail.com IP地址:188.143.xx
发送给您的消息如下
~~~~~~~~~~~~~~~~~~~~~~~~~~~~zd9hNf 链接已删除.
对于这个项目,我正在设计一个音序器/鼓机,它应该能够以精确的速度发送 MIDI 音符。示例:每 2 秒 16 个音符(即音乐术语中,每小节 16 个 1/16 音符,BPM 120),即每 125 毫秒一个音符。
我在想:
import time
def midi_note_send(...):
....
while True:
midi_note_send(...)
time.sleep(0.125)
Run Code Online (Sandbox Code Playgroud)
如果我这样做,如何确定它恰好是 125 毫秒?该循环的 1000 次迭代是否存在使用 126 秒而不是 125 秒的风险?如果是这样,如何获得更精确的循环?
最后一点:一台好的鼓机应该能够在 1 小时内保持 120 BPM 的节奏,精度误差 < 1 秒。
使用的平台:Linux + RaspberryPi 但这个问题一般来说是有效的。
比方说,我们有一个std::vector的structS:
struct abc {
wstring a; // length between 0 and 200, 100 on average
long b;
long c;
};
std::vector<abc> v; // 1 - 10 millions of items will be there
Run Code Online (Sandbox Code Playgroud)
在重新分配的情况下会发生什么(例如,因为容量太小push_back(),或者我自己突然增加了容量v.reserve(v.size() + 100000)?
更确切地说:
wstrings被重写,等等)要么
?
为了使问题更清楚,它看起来像这样
或者像这样:
或者这个:
或另一种方式?
其他信息供将来参考:
struct abc { wstring a; int b; int c; };
wcout << sizeof(wstring); // 32
wcout << sizeof(int); …Run Code Online (Sandbox Code Playgroud) 对 s的向量进行排序时wstring:
vector<wstring> v;
v.push_back(L"zzz");
v.push_back(L"BBB");
v.push_back(L"aaa");
sort(v.begin(), v.end());
Run Code Online (Sandbox Code Playgroud)
结果是 BBB、aaa、zzz。如何进行不区分大小写的排序?
我尝试过
sort(v.begin(), v.end(),
[](wstring lhs, wstring rhs) { return tolower(lhs) < tolower(rhs); });
Run Code Online (Sandbox Code Playgroud)
但没有任何成功,因为tolower仅适用于 char / wchar_t,而不适用于 wstring。
我可能必须使用lexicographical_compare,但我不知道如何使用。
(因为我正在寻找一种有效的排序,能够在短时间内对数百万个 wstring 进行排序,所以我认为临时存储所有 wstring 小写的副本,并对第二个向量进行排序不是一个好主意?)
使用SetTimer这种方式时:
SetTimer(hWnd, IDT_TIMER_LONGPROCESSING, 2000, (TIMERPROC) NULL);
DoSomethingElse();
Run Code Online (Sandbox Code Playgroud)
执行立即继续(即它是非阻塞的并DoSomethingElse()立即执行),但是当此消息到达时
case WM_TIMER:
if (wParam == IDT_TIMER_LONGPROCESSING)
DoAOneSecondLongJob();
Run Code Online (Sandbox Code Playgroud)
然后它在1秒长的处理期间再次阻止"窗口消息循环",导致无响应的界面.这SetTimer只是发布计时器消息的正常行为.
但我看到SetTimer也可以以第二种方式使用,具有回调函数:
VOID CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
DoAOneSecondLongJob();
}
// in another function
SetTimer(hwnd, IDT_TIMER_LONGPROCESSING, 2000, (TIMERPROC) MyTimerProc);
Run Code Online (Sandbox Code Playgroud)
题:
要么
我想检查字符串是否s包含列表中的任何标记L。
Javascript 中有内置函数可以实现此目的吗?或者我是否必须手动执行以下操作:
function present(s, L) {
for (var i = 0; i < L.length; i++)
if (s.indexOf(L[i]) !== -1)
return true;
return false;
}
var L = ['abc', 'def', 'ghi'];
var s = 'Yes, definitely.';
present(s, L); // true
Run Code Online (Sandbox Code Playgroud) 正如在这里的评论和其他问题中所建议的那样,SQLite可以完全用作持久性密钥:值存储.
你将如何定义一个类(或只是包装函数),使用一个键:使用SQLite的值存储将如下所示:
kv = Keyvaluestore('/test.db')
kv['hello'] = 'hi' # set
print kv['hello'] # get
print 'blah' in kv # answer: False because there's no key 'blah' in the store
kv.close()
Run Code Online (Sandbox Code Playgroud)
?
我注意到,使用时:
std::vector<int> v(100000);
...
std::ofstream outfile("outfile.dat", std::ios::out | std::ofstream::binary);
std::copy(v.begin(), v.end(), std::ostream_iterator<int>(outfile));
outfile.close();
Run Code Online (Sandbox Code Playgroud)
mystd::vector<int>未序列化为原始字节数据(每个 4 个字节)int),而是序列化为字符串,即每个整数的字符串表示形式保存到磁盘,这是我不想要的。
如何保存std::vector<int>为二进制数据?
(注意:在学习新方法之前,我想用标准 C++03 来学习它)。
我知道在新选项卡中<a href="http://www.example.com" target="_blank">Click here</a>打开链接(Chrome 和 Firefox 中的默认行为)并且
<a href="http://www.example.com" onclick="window.open('http://www.example.com',
'newwindow', 'width=700,height=500'); return false;">Click here</a>
Run Code Online (Sandbox Code Playgroud)
在新窗口中打开它。
但是如何在模式弹出窗口中打开外部页面(以屏幕为中心,原始页面的其余部分“变暗”)?
有什么好的方法吗?
我尝试了以下代码,但它似乎不起作用(单击:弹出窗口打开,重新单击,它关闭,重新单击链接:它不再打开。iframe 也不会加载)。
<a href="http://www.example.com" onclick="window.open('http://www.example.com',
'newwindow', 'width=700,height=500'); return false;">Click here</a>
Run Code Online (Sandbox Code Playgroud)
document.getElementById("a").onclick = function(e) {
e.preventDefault();
document.getElementById("popup").style.display = "block";
document.getElementById('iframe').src = "http://example.com";
document.getElementById('page').className = "darken";
setTimeout(function() {
document.getElementById('page').onclick = function() {
document.getElementById("popup").style.display = "none";
document.getElementById('page').className = "";
}
}, 100);
return false;
}Run Code Online (Sandbox Code Playgroud)
#popup {
display: none;
border: 1px black solid;
width: 400px; height: 200px;
top:20px; left:20px; …Run Code Online (Sandbox Code Playgroud)