如果您尽可能更好地干净,例如,
on(storeActions.updateCurrentChat, (state, { currentChat }) => {
return {
...state,
currentChat: { ...currentChat },
};
})
您可以实际上可以突变数据并传递它们,
public stopPriting(id: string) {
const updatedCurrenctChat = structuredClone(this.currentChat$);
const message = updatedCurrenctChat.messages.find(
(chat) => chat.id === id
) as ConvI;
// WhichType<typeof this.currentChat$,'isPrinted'>
(message as MeowGPTI).isPrinted = true;
// (<MeowGPTI>message).isPrinted = true;
this.store.dispatch(
storeActions.updateCurrentChat({ currentChat: updatedCurrenctChat })
);
}
这是一种更好的方法,我相信有不同的方法来克隆对象,例如json.parse(json.stringify(obj obj(obj) )
或loadash
,但这全部取决于您的情况
Words.All(s=>s.Length==Words.Length)
使用检查所有字符串的长度与第一个字符串相同。午夜不适用于空数组
您可以使用LocalStorage
在选项卡之间进行通信(实际上,对于此 broadcastChannel
)。无论如何,这是一个解决方案的草图,该解决方案是针对某些错误开放的,但是如果您喜欢,它可以改进。
<h2>page 1</h2>
<button onclick="close_others();">close others</button>
<script>
window.id = Math.random();
var key = "close-but-me"
function close_others() {
localStorage.setItem(key, window.id);
window.setTimeout(function() {
localStorage.removeItem(key);
}, 2000)
}
setInterval(function() {
console.log(localStorage.getItem(key))
if (localStorage.getItem(key) && localStorage.getItem(key)!=window.id) {
window.close();
}
}, 1000)
</script>
<h2>page 2 - SAME code</h2>
<button onclick="close_others();">close others</button>
<script>
window.id = Math.random();
var key = "close-but-me"
function close_others() {
localStorage.setItem(key, window.id);
window.setTimeout(function() {
localStorage.removeItem(key);
}, 2000)
}
setInterval(function() {
console.log(localStorage.getItem(key))
if (localStorage.getItem(key) && localStorage.getItem(key)!=window.id) {
window.close();
}
}, 1000)
</script>
您有模块化项目,因此您需要在module-info.java
文件中包含以下行,以访问guava api:
requires com.google.common;
使用当前的guava发行版(31.1-jre),此模块名称在内部定义meta-inf/subest.mf
文件中的JAR文件通过该行:
Automatic-Module-Name: com.google.common
假设您有一个初始默认
状态变量show
设置为某个明智的默认值,则可以将其值明确设置为0。
因此,假设您有:
import { useState } from "react";
const [show, setShow] = useState(1) // 1: show, 0: hide
const deleteComponent = () => {
setShow(0);
}
// elsewhere
{ show && <ComponentToShowHide> }
显示/隐藏非常简单。请注意,我正在使用usestate
挂钩。我不知道您是否能够利用它,但是我强烈建议您使用它。
我更新了@Redox的答案以获取确切的输出。
df_ = pd.DataFrame({'Labels': df.reset_index()[['Actual', 'Predicted', 'index']].values.ravel(),
'Confidence': np.array(list(zip(np.repeat(1, len(df)), df['Confidence'].values, np.repeat(0, len(df))))).ravel()})
df_.loc[df_['Labels'].astype(str).str.isdigit(), 'Labels'] = ''
plt.figure(figsize=(15, 6))
ax=sns.barplot(data = df_, x=df_.index, y='Confidence', hue='Labels',dodge=False, ci=None)
ax.set_xticklabels(['Actual', 'Predicted', '']*len(df))
plt.setp(ax.get_xticklabels(), rotation=90)
ax.tick_params(labelsize=14)
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
输出:
- 删除循环以提高性能
- 添加了空白条值以相同的组图表。
写自己的功能怎么样?
这是代码。
count_rows = function(df, val)
{
checks = 0
for (i in 1:ncol(df))
{
if(any(df[,i] > 0))
checks = checks + 1
}
return (checks)
}
A = matrix(runif(100), 10, 10)
count_rows(A, 0.5)
您需要提供文件的完整路径。您是对的,它正在寻找相对路径。当您仅传递config.json
路径时,它正在您当前的工作目录中查看。
假设您使用Django模型,我将使用Django信号将数据保存到第二个模型:根据您的问题,“元数据”。
特别是post_save
信号:
https://docs.djangoproject.com/en/4.0/ref/signals/#django.db.models.signals.post_save
@receiver(post_save, sender=User)
def post_save_user(sender, instance, created, **kwargs):
# Save Stuff To Metadata Model.
meta = MetaData(user=instance)
meta.save()
您需要在您的型号内导入这些信号/代码>放置在文件底部。
至于通知,我将遵循 @kristina的建议并使用django频道。
您可以使用RabbitAdmin
动态创建队列,因此您需要将Rabbitadmin
bean添加到配置类中:
@Bean
public AmqpAdmin amqpAdmin() {
return new RabbitAdmin(connectionFactory());
}
然后您可以使用autowire rabbitadmin
binding
和队列
配置:
@Autowired
private AmqpAdmin admin;
@Autowired
private Binding binding;
@Autowired
private Queue queue;
最后您可以根据自己的方式创建队列:
admin.declareQueue(queue);
admin.declareBinding(binding);
您可以在配置或服务类中创建队列。
您可以在构造函数中在服务类中实现它:
@Service
public class RabbitMQService {
private final Logger logger = LoggerFactory.getLogger(RabbitMQService.class);
private AmqpAdmin admin;
private Binding binding;
private Queue queue;
@Autowired
public RabbitMQService (AmqpAdmin admin, Binding binding, Queue queue) {
this.admin = admin;
this.binding = binding;
this.queue = queue;
admin.declareQueue(queue);
admin.declareBinding(binding);
}
@RabbitListener(queues = "${peopleevents.queue}")
public void receivedMessage(@Payload Message message) {
logger.info("User Details Received is.. " + message.toString());
}
}
在写一个问题时,我提出了一个解决方案:
git diff -I "\{[A-F0-9]{8}\-[A-F0-9]{4}\-[A-F0-9]{4}\-[A-F0-9]{4}\-[A-F0-9]{12}\}" | git apply --cached
这是所有差异所包含的所有差异,而不仅仅是GUIDS,因此
- ['{837CA9B4-25A0-4C73-B608-60980131BB15}']
+ ['{279B6000-C097-4D14-A479-BC12C277300E}']
+ procedure XSDValidate;
由于额外的线路,这仍然是上演的。这是次优的,但总比没有好。如果有人也能找到解决方案,我将非常感谢它。
这是打字稿版本(对于需要的人)。
vite.config.ts (通常在根部找到)
import { defineConfig } from 'vite'
import { svelte } from '@sveltejs/vite-plugin-svelte'
// Docs: https://vitejs.dev/config/
export default defineConfig({
plugins: [svelte()],
server: {
proxy: {
'/api': 'http://localhost:8080'
}
}
})
我又遇到了同一问题,这就是我设法修复它的方式:
- 设置适当的Conan Generator来生成所需的config cmake文件,
- 我使用
generator =“ cmake_find_package_multi”
,如这个问题
- “ https://github.com/conan-io/conan-center-index/issues/6251#issuecomment-877777303859” rel = 全部
&lt; pkg&gt; config/target.cmake
files(在我的情况下),我们需要指向cmake在 noreflow noreferrer“> conan docs” “>” - https://cmake.org/cmake/help/v3.0/variable/cmake_prefix_path.html“ rel =” cmake docs中的nofollow noreferrer > autouic 和
autorcc
应该与此配置一起使用:
find_package(Qt5 CONFIG REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
稍后我遇到了两种类型的不同问题……
AutoMoc error
-------------
"SRC:/src/<thisfilename>.cpp"
contains a "Q_OBJECT" macro, but does not include "<thisfilename>.moc"!
Consider to
- add #include "<thisfilename>.moc"
- enable SKIP_AUTOMOC for this file
这是通过移动q_object
class解决的解决方案。进入标题或添加#include&lt; thisfilename.moc&gt;
在类下方,cmake会自动填充该文件的直接路径而无需嵌套路径。例如,如果我有一个称为“ test.cpp”的文件,我必须这样做:
#include <QObject>
class TestObject : public QObject
{
Q_OBJECT
};
#include <test.moc>
链接器错误,未解决的引用对metaObject
,qt_metacast
,qt_metacall
,等等……
在这种情况下,这意味着MOC的生成源代码未添加到汇编中。
它可以通过添加标头文件以及.cpp
文件在add_executable
中解决
file(GLOB SOURCES
include/*.h
src/*.cpp
)
add_executable(${PROJECT_NAME} ${SOURCES})
。 生成MOC的
在q_object
中, 另一种修复方法是修复它的另一种解决方法是在#include&lt; moc_thisfilename.cpp&gt;
中。test.hpp
#include <QObject>
class TestObject : public QObject
{
Q_OBJECT
};
test.cpp
#include <test.hpp>
#include <moc_test.cpp>
我尚未找到一种方法来忘记这种Moc Generation Magic,并在包含包含q_Object 相关的东西
``
summary = []
for i, j in zip(uniq, iocvalue):
i.update(j)
summary.append(i)
# Answer: [{'uniq-name': '2022-06-26 14:21:25.298167', 'value': '116.30.7.55'}, {'uniq-name': '2022-06-26 14:21:25.298204', 'value': '31.215.70.187'}]
``
我使用我发现的库。它绘制了许多2D原语,例如行,框等。真的很容易使用。称为“ c3.mnogame.primitives2d”,可以在此处找到:
https://github.com/z2oh/c3.monogame.primitives.primitives2d
这是一个screenshot我使用许多方法写的演示:
这只是一个约500行的一个文件。如果您不喜欢git或使用库,则只需复制&amp;将其粘贴到您的项目中。
I use a library I found. It draws a number of 2D primitives, like lines, boxes, etc. Really easy to use. Called "C3.MonoGame.Primitives2D", it can be found here:
https://github.com/z2oh/C3.MonoGame.Primitives2D
Here's a screenshot of a demo I wrote using many of its methods:
It's just one file of around 500 lines. If you don't like Git or using libraries, you can just copy & paste it into your project.
我如何在单体组中绘制线条?