最近,我将一个巨大的拉取请求(140 次提交)从功能分支合并到主分支:
我可以在 master 分支的 github 概览中看到合并:
然而,当我切换到功能分支时,我可以看到该功能提前了 141 次提交(今天我对功能进行了另一次提交),并在 master 后面进行了 1 次提交:
现在的主要问题是,我无法将今天对功能所做的更改合并到 master:
因为 github 似乎想再次提交已经合并的 140 个旧提交(经过一些痛苦的冲突解决之后)
我怎样才能再次同步主控和功能,让它们保持原来的样子:它们之间的区别只是从今天开始对功能的提交。
我正在为我的网站和 react-cookie-consent 库使用 React/Nextjs。它会创建一个弹出窗口,用户可以在其中同意 cookie 策略。如果同意,则设置一个 cookie:值为“true”的 CookieConsent。
此外,我想使用 Google Analytics 来跟踪用户是否同意(单击弹出窗口中的接受)。
但它不起作用:在用户单击弹出窗口之前设置了 Google 分析 cookie _ga 和 G_ENABLED_IDPS。
有趣的是,我只在 Microsoft Edge 浏览器上意识到这一点。在 Chrome 中,这些 cookie 在用户同意之前不会设置。
这是我在 _document.js 中的当前代码:
<Head>
{/* Global Site Tag (gtag.js) - Google Analytics */}
<script
async
src={`https://www.googletagmanager.com/gtag/js?id=${GA_TRACKING_ID}`}
/>
<script
dangerouslySetInnerHTML={{
__html: `
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
`}}
/>
<script type="text/javascript" src="/static/blockReactDevTools.js" />
<link href="https://fonts.googleapis.com/css?family=Cabin&display=swap" rel="stylesheet" />
</Head>Run Code Online (Sandbox Code Playgroud)
我使用互联网上的一些提示进行了尝试,并提出了这个也不起作用的版本:
<Head>
{/* Global Site Tag (gtag.js) - Google Analytics */} …Run Code Online (Sandbox Code Playgroud)我们知道 Router.push() 触发客户端渲染。但是如何以编程方式触发服务器端渲染到页面?
示例:我有一个登录模式,它在提交时发送一个 api 调用来检查用户数据。一旦我得到用户正常的信息,我想加载一个页面,但通过服务器端渲染。
我有一个大List<MyClass>的对象,60万左右
MyClass有像10个特性,让我们说property1,property2等.直到property10.
在该列表中,我想获得一个List<MyClass>包含某些属性具有相同值的对象的List .
这意味着例如,对象,其中property2,property4,property8和property10是相同的.
最好的方法是什么?目前我对我做了一个循环List<MyClass>,并在该循环中通过List<MyClass>.FindAll()虚拟代码得到所有类似的对象:
forach(var item in myClassList)
{
if(!found.Contains(item))
{
var similarObjects = myClassList.FindAll(x => x.property2 == item.property2 && x.property4 == item.property4 && x.property8 == item.property8 && x.property10 == item.property10);
//adding the objects to the "already found" list
foreach(var foundItem in similarOjbects)
{
found.Add(foundItem);
}
if(similarObjects.Count > 1)
{
similarObjectsList.Add(similarObjects);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这需要很长时间, …
不敢相信,数以百万计的帖子涵盖了这个主题,但我无法让它发挥作用。
在我的 Android 应用程序中,我向服务器发送齐射 POST 请求。该请求是一个普通的 StringRequest,它包含一个序列化的 json 对象。
在服务器上,POST 请求中的项目像这样到达,我通过提取原始正文数据
$entityBody = file_get_contents('php://input');
Run Code Online (Sandbox Code Playgroud)
=>
myjsonitem=%5B%7B%22description%22%3A%22Back%22%2C%22freeText%22%3A%22%22%2C%22isRated%22%3Atrue%2C%22priceSingle%22%3A12.0%2C%22ratingStar%22%3A4.0%7D%2C%7B%22description%22%3A%22SoronA%22%2C%22freeText%22%3A%22%22%2C%22isRated%22%3Atrue%2C%22priceSingle%22%3A3.5%2C%22ratingStar%22%3A5.0%7D%5D
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,该项目在相应的 json 元素周围带有双引号,对我来说,到目前为止这似乎是正确的。
当我想通过以下方式对字符串进行 json_decode 时,问题就开始了:
$itemList = json_decode($_POST['myjsonitem'], true);
Run Code Online (Sandbox Code Playgroud)
此命令返回 json_decode 错误 JSON_ERROR_SYNTAX。我不明白为什么,所以我通过以下方式将 json 写入日志:
error_log("Json String: " .$_POST['myjsonitem']);
Run Code Online (Sandbox Code Playgroud)
日志中的结果显示:
Json String: [{\\"description\\":\\"Back\\",\\"freeText\\":\\"\\",\\"isRated\\":true,\\"priceSingle\\":12.0,\\"ratingStar\\":4.0},{\\"description\\":\\"SoronA\\",\\"freeText\\":\\"\\",\\"isRated\\":true,\\"priceSingle\\":3.5,\\"ratingStar\\":4.0}]
Run Code Online (Sandbox Code Playgroud)
如您所见,双引号前面添加了双反斜杠。将此字符串放入 JSON 验证器会返回无效的 json。删除双反斜杠会返回有效的 json。
Magic Quotes 不可能是问题,因为我运行的是 php 7+。
这里发生了什么?如何正确解析PHP?我想,只是简单地删除双反斜杠不会有帮助,在我的 freeText 字段中,我可以有带双引号的字符串,因此在这种情况下转义应该仍然有效。
编辑:这是上下文的关键部分。也许我应该提到,我在 WordPress 安装上运行它,并且在 php 文件的开头,我包含了 wp-load.php。
if($_SERVER['REQUEST_METHOD']=='POST'){
//getting some other data from request
$dateString = $_POST['date'];
$date = date('Y-m-d H:i:s', strtotime($dateString));
$userId = intval($_POST['userId']);
$sentUniqueId = …Run Code Online (Sandbox Code Playgroud) 我写了这个小代码来比较两个100x100 jpeg图像的像素灰度值.然而,表现非常令人失望(10,000次比较为1.5秒).有没有办法实现更好的表现?
这是代码:
import cv2
import numpy as np
import math
import datetime
img1 = cv2.imread('Testbild 2014-08-23 17:27:25.141362.jpeg', cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread('Testbild 2014-08-23 17:27:25.061802.jpeg', cv2.IMREAD_GRAYSCALE)
height, width =img1.shape
cnt = 0
threshold = 10
print("start:" + str(datetime.datetime.now()))
for y in range(0 , height):
for x in range(0 , width):
val1 = img1.item(y,x)
val2 = img2.item(y,x)
diff_abs = math.fabs(int(val1)-int(val2))
if diff_abs > threshold:
cnt += 1
if x == height and y == width:
break
if x == height:
x=0
if …Run Code Online (Sandbox Code Playgroud) 我得到的错误在 github上有详细描述。基本上地铁捆绑器失败并出现以下错误:
错误:捆绑失败:类型错误:无法在 C:\Apps\MyProject 处读取未定义的属性“地图” \rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:188:33 at Generator.next () 在步骤 (C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:298: 30) 在 C:\Apps\MyProject\rnw\node_modules\metro\src\DeltaBundler\traverseDependencies.js:309:15 在 DELTA [android, dev] ....../index.js ?????? ?????????14.7% (221/612),失败。
此错误消息对我没有多大帮助,因为我对 Metro 捆绑器的工作方式没有深入了解。
所以我检查了我最近在代码中所做的更改,例如我在我的项目中添加了以下内容:
"react-native-tab-view": "^1.3.2",
Run Code Online (Sandbox Code Playgroud)
在那之后,我在 package-lock.json 中有一个奇怪的变化。那里似乎已经存在 react-native-tab-view ,我猜是因为它是我之前导入的另一个项目的依赖项。这是 package-lock.json 中的第一个变化:
好吧,无论如何,这对我来说仍然可以。奇怪的是我看到的第二个变化:
等等,什么?旧版本号为 0.0.77 的 react-navigation-deprecated-tab-navigator 中添加了对 react-native-tab-view 的依赖?这看起来很奇怪,至少对我来说。
有人可以在这里帮助我 - 这种变化是否正常,或者这可能是 Metro bundler 失败的原因?
任何输入表示赞赏!