所以我尝试在他们的网站上遵循这个(非maven实现)和要求,将slf4j添加到log4j.并尝试使用此代码
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(Main.class);
logger.info("test");
}
Run Code Online (Sandbox Code Playgroud)
并将以下内容添加到我的库中
当我尝试运行它时,我收到以下错误
Exception in thread "main" java.lang.StackOverflowError
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936)
at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:964)
at org.apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.java:40)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:37)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:29)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:284)
at org.apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.java:41)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:37)
at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:29)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:284)...
Run Code Online (Sandbox Code Playgroud)
知道我哪里错了吗?
有没有办法从视图中列出所有静态资产。一种方法是使用绝对路径,但是 Django 是否有这样做的方法?我尝试使用的另一种方法是request.build_absolute_uri(),但os.listdir()无法打开它,因为它是 URL。
有什么建议么?
我通过 S3 提供文件。
我一直在尝试将大量(> 800mb)数据写入JSON文件;我做了一些相当多的试验和错误来获得此代码:
def write_to_cube(data):
with open('test.json') as file1:
temp_data = json.load(file1)
temp_data.update(data)
file1.close()
with open('test.json', 'w') as f:
json.dump(temp_data, f)
f.close()
Run Code Online (Sandbox Code Playgroud)
运行它只需调用该函数write_to_cube({"some_data" = data})
现在这段代码的问题是,对于少量数据来说速度很快,但是当test.json文件超过 800mb 时就会出现问题。当我尝试更新或添加数据时,需要很长时间。
我知道有外部库,例如simplejson或jsonpickle,我不太确定如何使用它们。
还有其他办法解决这个问题吗?
更新:
我不确定这怎么可能是重复的,其他文章没有提到编写或更新大型 JSON 文件,而是只提到了解析。
有没有一种内存高效且快速的方法来在 python 中加载大 json 文件?
上述任何一个都不能重复解决这个问题。他们没有谈论任何有关写作或更新的事情。
我正在使用 Heroku 来部署 Django 应用程序,并且尝试使用以下模型将很长的数据放入表中(将数据添加到content:
模型.py:
class ContentModel(models.Model):
ref_id = models.CharField(primary_key=True, max_length=120, unique=True)
content = models.TextField() #<-------
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
def __str__(self):
return self.content
class Meta:
unique_together = ("content", "ref_id")
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
File "/app/.heroku/python/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
psycopg2.OperationalError: index row size 3496 exceeds maximum 2712 for index "editor_contentmodel_content_2192f49c_uniq"
HINT: Values larger than 1/3 of a buffer page cannot be indexed.
Consider a function index of an MD5 hash of the value, or use full …Run Code Online (Sandbox Code Playgroud) 我正在尝试添加*.ui&*.png文件setup.py,这就是我到目前为止所拥有的
from setuptools import setup, find_packages
from smlgui import __version__
setup(
name='smlgui',
version=__version__,
packages=find_packages(),
url='https://github.com/akshaybabloo/SML-GUI',
license='MIT',
author='Akshay Raj Gollahalli',
author_email='akshay@gollahalli.com',
description='Data exporter for Spikes Markup Language (SML).',
requires=['click', 'pyqt'],
scripts=['sml.sh', 'sml.cmd'],
package_data={'smlgui': ['*.ui', '*.png']},
include_package_data=True
)
Run Code Online (Sandbox Code Playgroud)
我不确定发生了什么,但是当我尝试执行python setup.py install或pip install .仅*.py安装时。
我尝试按照此处给出的过程 ->使用 setup.py 包含非 Python 文件,但它没有帮助。
另外,我创建MANIFEST.in了
include *.ui
include *.png
Run Code Online (Sandbox Code Playgroud)
我不确定是否必须告诉我setup.py读取此文件还是它会自动完成。
我的文件结构是
root_folder
|
| MANIFEST.in
| setup.py
| sml.cmd …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Django 2 中自定义身份验证和视图,但问题是,如果用户已经通过身份验证,则仍会显示登录表单,并且不会重定向到适当的 URL。为了克服这个问题,我做了以下工作:
class CustomLoginView(LoginView):
form_class = LoginForm
template_name = 'login.html'
def get_initial(self):
if self.request.user.is_authenticated and self.request.user.is_staff and has_2fa(self.request.user):
return HttpResponseRedirect(reverse('{}'.format(self.request.GET.get('next', 'portal_home'))))
else:
return self.initial.copy()
def form_valid(self, form):
if self.request.user.is_staff and not has_2fa(self.request.user):
logger.info('is staff but does not have 2FA, redirecting to Authy account creator')
auth_login(self.request, form.get_user())
return redirect('2fa_register')
auth_login(self.request, form.get_user())
return HttpResponseRedirect(self.get_success_url())
Run Code Online (Sandbox Code Playgroud)
但HttpResponseRedirectinget_initial()不会重定向到该/portal/页面。我也尝试过redirect('portal_home'),但没有任何反应,还是我需要编写自定义内容dispatch?
任何帮助将非常感激。
我创建了一个使用 MongoDB 的 Python SDK 的 CosmosDB 数据库,我们将数据库称为 ,school将集合称为students。在创建数据库时,Azure UI 要求我创建一个用于无限存储容量的分片键,我们称之为school.students。
我用来pymongo添加以下文档:
{
"id": "abc123",
"name": "jack"
}
Run Code Online (Sandbox Code Playgroud)
代码如下:
{
"id": "abc123",
"name": "jack"
}
Run Code Online (Sandbox Code Playgroud)
当我选择 10GB 存储时,添加文档没有问题,但是当我选择带分片键的无限选项时,出现以下错误:
pymongo.errors.WriteError: document does not contain shard key at 'school.students'
Run Code Online (Sandbox Code Playgroud)
问题是,我应该在哪里使用分片键?以及如何克服这个问题?
有没有办法限制 Cloud Firestore(用于托管/网络)进行 CRUD 操作,但仅限于一个域,比如说xyz.com?
例如,下面的规则在read, update, delete未经授权的情况下锁定,但您仍然可以将write事物锁定到数据库。
service cloud.firestore {
match /databases/{database}/documents {
match /coming-soon-email-ids/{document=**} {
allow write;
allow read, update, delete: if request.auth.uid == !null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
还是我必须在其中集成 Google 的防火墙?
我有一个用于 docker 的 Web 应用程序,当前运行 django,gunicorn 作为 wsgi 服务器,Nginx 作为反向代理。我没有通过 Nginx 提供任何静态资产,并且 SSL 由 Azure 负责。
所以我的问题是,如果我使用 Azure 应用程序网关(有或没有 WAF),我可以删除 Nginx 吗?我看不出它有任何用处,除非我想使用缓存,但我不想使用缓存。HTTP/2 也由应用程序网关提供。
我可以使用以下代码打开文件选择器
@FXML
private TextField myText;
@FXML
private Button browse;
private Window primaryStage;
@FXML
private void initialize(){
browse.setOnAction((event) -> {
FileChooser fileChooser = new FileChooser();
File file = fileChooser.showOpenDialog(primaryStage);
String fileName = String.valueOf(file);
myText.setText(fileName);
});
}
Run Code Online (Sandbox Code Playgroud)
但我正在尝试打开类似这样的文件选择器(Microsoft 更新程序的屏幕截图)

谁能告诉我应该如何打开屏幕截图中所示的文件选择器(如顶层)?
谢谢。
我对 Powershell 非常陌生,我正在尝试为脚本文件中的两个参数添加默认值,但在执行时仍然要求我输入缺少的参数。
参数是
param(
[string]
$Build = "production",
[bool]
$Deploy = 1
)
Run Code Online (Sandbox Code Playgroud)
所以当我这样做时,./script.ps1 -Build我收到一个错误
/Users/akshayrajgollahalli/GitHub/gollahalli.com/script.ps1 : Missing an argument for parameter 'Build'. Specify a parameter of type 'System.String' and try again.
Run Code Online (Sandbox Code Playgroud)
但根据微软博客,这就是我正在做的。我不确定这里有什么错误。
更新 1:
另一种情况是我可能想要类似的东西./script.ps1 -Build local应该覆盖该production值。
python ×5
django ×4
azure ×2
java ×2
django-2.0 ×1
firebase ×1
heroku ×1
javafx ×1
json ×1
log4j2 ×1
postgresql ×1
powershell ×1
slf4j ×1