经过几个小时令人沮丧的搜索后,我觉得我需要在这里提交我的问题.如果这个问题在某种程度上得到了回答,我提前道歉,但到目前为止我的搜索都没有帮助.所以这是我的问题:
我的JavaScript代码正在创建一个由AngularJS修改和监视的对象.在某些事件上(比如加载对象的先前设置),我希望从范围外部更改此对象的属性.问题是输入没有改变......
以下是我希望如何执行这些更改的示例:
HTML代码:
<div ng-app="myApp" ng-controller="FirstCtrl">
<input type="number" ng-model="data.age">
<h1>{{data.age}}</h1>
<input type="button" value="Change to 20" ng-model="data" onclick="change()">
Run Code Online (Sandbox Code Playgroud)
JavaScript代码:
var person = {
age: 16
};
// Create module
var myApp = angular.module('myApp', []);
myApp.factory('Data', function() {
return person;
});
function FirstCtrl($scope, Data) {
$scope.data = Data;
}
function change() {
person.age = 20;
}
Run Code Online (Sandbox Code Playgroud)
当我现在按"更改为20"按钮时,没有任何反应.如何从change功能中修改此人的年龄?
使用 zod 定义模式时,如何使用日期类型?
如果我使用z.date()(见下文),日期对象将序列化为 ISO 日期字符串。但如果我尝试用 zod 解析它,验证器就会失败,因为字符串不是日期。
import { z } from "zod"
const someTypeSchema = z.object({
t: z.date(),
})
type SomeType = z.infer<typeof someTypeSchema>
function main() {
const obj1: SomeType = {
t: new Date(),
}
const stringified = JSON.stringify(obj1)
console.log(stringified)
const parsed = JSON.parse(stringified)
const validated = someTypeSchema.parse(parsed) // <- Throws error! "Expected date, received string"
console.log(validated.t)
}
main()
Run Code Online (Sandbox Code Playgroud) 我有一个带有一些库依赖项(.dll)的maven项目(我把它放在"lib"文件夹中).我可以在Netbeans中没有问题地运行项目,但是当我尝试在Netbeans之外运行构建的.jar时,我在加载库时遇到以下错误:
Can't load this .dll (machine code=0xbd) on a AMD 64-bit platform
我的计算机上只安装了一个 Java实例,它应该与Netbeans/Maven用于运行项目的JVM相同.所以我无法理解Netbeans/Maven如何在与我不同的平台上运行此应用程序?我已经尝试查看Netbeans执行的命令(从输出中)来运行项目,我认为是这样的:
cd C:\Users\Birger\Workspace\myproject; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_91" cmd /c "\"\"C:\\Program Files\\NetBeans 8.1\\java\\maven\\bin\\mvn.bat\" -Dexec.args=\"-Djava.library.path=lib\\ -classpath %classpath com.mysite.myproject.Main\" -Dexec.executable=\"C:\\Program Files\\Java\\jdk1.8.0_91\\bin\\java.exe\" -Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8.1\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec\""
Run Code Online (Sandbox Code Playgroud)
我尝试了这两个命令
"C:\Program Files\Java\jdk1.8.0_91\jre\bin\java.exe" -Djava.library.path=lib\ -jar myproject-1.0-SNAPSHOT.jar
"C:\Program Files\Java\jdk1.8.0_91\bin\java.exe" -Djava.library.path=lib\ -jar myproject-1.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
我添加System.out.println(System.getProperty("sun.arch.data.model"));了让我的应用程序打印出cpu架构.它可以64在两种场合下打印.
尝试查看"mvn.bat"文件,C:\Program Files\NetBeans 8.1\java\maven\bin\mvn.bat但我找不到任何关于Maven正在做什么来运行我的应用程序的线索.
有人可以帮我这个吗?
厄
编辑
这是我的测试项目的完整源代码.我的项目pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mysite</groupId>
<artifactId>myproject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<repositories> …Run Code Online (Sandbox Code Playgroud) 在我的文件中package.json,我将 gulp 列为我的依赖项之一。
{
"name": "myproject",
"devDependencies": {
"gulp": "^4.0.2"
// other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行时npm i,我收到一条消息,存在中等安全漏洞。所以我npm audit这样做了,我明白了
=== npm audit security report ===
Manual Review
Some vulnerabilities require your attention to resolve
Visit https://go.npm.me/audit-guide for additional guidance
Moderate Regular expression denial of service
Package glob-parent
Patched in >=5.1.2
Dependency of gulp [dev]
Path gulp > glob-watcher > chokidar > glob-parent
More info https://npmjs.com/advisories/1751
Moderate Regular expression denial of service
Package glob-parent
Patched in …Run Code Online (Sandbox Code Playgroud) 在一些(非常)罕见的情况下,我在我的存储库中进行了一些更改,这些更改是如此不言自明,以至于描述我的意图的提交消息有些无用.在这些情况下,我希望提交消息基本上只列出我添加/删除/编辑的文件.例如:
添加'dog.h','cat.h'
手动提交消息看起来像
添加了头文件
在这种情况下,不必实际编写提交消息,而是自动生成提交消息会很好.
我知道这是非常糟糕的做法,但我只会将此用于私人项目的非专业存储库.我知道这很懒,但我很好奇它是如何做到的.Unix shell脚本是首选,但欢迎使用任何解决方案.
问:有没有办法自动生成git提交消息,列出已更改的文件?
在我的Java应用程序中,我需要在两种情况下使用相同的 "目标" 找到索引和拆分字符串.目标只是一个点.
查找索引(通过indexOf和lastIndexOf)不使用正则表达式,所以
String target = ".";
String someString = "123.456";
int index = someString.indexOf(target); // index == 3
Run Code Online (Sandbox Code Playgroud)
给了我需要的索引.
但是,我也想用这个"目标"来分割一些字符串.但现在目标字符串被解释为正则表达式字符串.所以当我想拆分字符串时,我不能像以前一样使用相同的目标字符串...
String target = ".";
String someString = "123.456";
String[] someStringSplit = someString.split(target); // someStringSplit is an empty array
Run Code Online (Sandbox Code Playgroud)
所以我需要以下任何一种:
有人可以帮忙吗?您是否同意标准java平台使用正则表达式进行"拆分"而不使用正则表达式"indexOf"似乎有点奇怪?
我想在现有数据库上使用 prisma。现在我正在研究它,我意识到我的所有表和列都被错误命名。我想更正名称,但不想丢失数据。
我做了一个 prisma“拉”,所以我有了当前数据库的模式。但是我不太明白如何(如果可能)使用架构重命名我的表和列。
我有什么选择?我可以更改 schema.prisma 并使 prisma 处理所有“alter”语句吗?我该怎么做呢?
我正在尝试向网站发出POST请求.作为对POST请求的响应,我期待一些JSON数据.
使用Apache的HttpClient库,我可以毫无问题地执行此操作.响应数据是JSON,所以我只是解析它.
package com.mydomain.myapp;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class MyApp {
private static String extract(String patternString, String target) {
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(target);
matcher.find();
return matcher.group(1);
}
private String getResponse(InputStream stream) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(stream));
String inputLine;
StringBuffer responseStringBuffer = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
responseStringBuffer.append(inputLine); …Run Code Online (Sandbox Code Playgroud) 当我在 VSCode 中保存文件时,它们会自动格式化。制表符被转换为四个空格。但我更喜欢标签。如何强制 VSCode 使用制表符而不是四个空格?
这些是我的设置。
{
"files.insertFinalNewline": true,
"terminal.integrated.shellArgs.windows": [
"-ExecutionPolicy",
"Bypass"
],
"files.trimFinalNewlines": false,
"window.zoomLevel": 0,
"explorer.confirmDelete": false,
"workbench.startupEditor": "newUntitledFile",
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.format.semicolons": "remove",
"editor.formatOnSave": true,
"editor.detectIndentation": false,
"editor.tabSize": 4,
"editor.insertSpaces": false
}
Run Code Online (Sandbox Code Playgroud)
我缺少什么设置来强制 VSCode不用 4 个空格替换制表符?
我正在使用Netbeans和Maven开发Java应用程序.作为独立的应用程序,我正在努力运行该项目.从Netbeans启动项目一切正常,但运行可执行jar会产生错误(无法加载数据文件).
我需要确切知道Netbeans正在执行哪些命令来运行应用程序.但是,Netbeans的输出窗口只显示应用程序"返回"的内容.有没有办法弄清楚/显示Netbeans用来运行项目的命令?
谢谢
编辑:运行Java应用程序和加载文件不是问题.我能够运行应用程序并正确加载库.这里的问题是了解Netbans如何运行应用程序(通过查看执行的命令).