刚刚更新到最新的Windows 10版本(build 14316),我立即开始使用WSL,Windows子系统Linux,它应该在Windows上运行Ubuntu安装.
也许我正在尝试在其上安装Apache,但是有人请解释我为什么这是不可能的.
无论如何,在安装过程中(sudo apt-get install apache2),我在下载并正确安装依赖项后收到以下错误消息:
initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: No such file or directory
runlevel:/var/run/utmp: No such file or directory
* Starting web server apache2 *
* The apache2 configtest failed.
Output of config test was:
mktemp: failed to create directory via template '/var/lock/apache2.XXXXXXXXXX': No such file or directory
chmod: missing operand after '755'
Try 'chmod --help' for more information.
invoke-rc.d: initscript apache2, action "start" failed.
Setting up ssl-cert …Run Code Online (Sandbox Code Playgroud) 我有一个需要处于 ANSI 模式的文本文件。它仅指定:ANSI。Notepad++ 有一个转换为 ANSI 的选项,这可以解决问题。
\n\n在 VS Code 中我没有找到这个编码选项。所以我读了一下它,看起来 ANSI 并不真正存在,实际上应该被称为 Windows-1252。
\n\n但是,Notepad++ 的 ANSI 编码和 VS Code 的 Windows-1252 之间存在差异。它为字符选择不同的代码点,例如带重音的大写 e (\xc3\x89),从文档中可以明显看出。
\n\n然而,当我让 VS Code 猜测由 Notepad++ 转换为 ANSI 的文档的编码时,它仍然猜测 Windows-1252。
\n\n所以问题是:
\n\n我正在寻找一种非常快速的方法来检查文件夹是否包含两个以上的文件。
我担心如果/path/len(os.listdir('/path/')) > 2中有很多文件,可能会变得非常慢,特别是因为该函数一次会被多个进程频繁调用。
今天我非常勤奋,并决定返回类型提示我所有的symfony实体方法.所以:
<?php
Class User {
private string $username;
public method getUsername(): string {}
}
Run Code Online (Sandbox Code Playgroud)
一切都很好,直到我创建一个表单来创建一个新用户:
$user = new User();
$this->createForm(SignupType::class, $user);
Run Code Online (Sandbox Code Playgroud)
显示表单时,Symfony会自动获取此新实例的属性User $user.但由于它是一个新的实例化,它的username属性当然仍然是null,这是一个不正确的返回类型,因为它需要string.
我应该:
$username = ''(但是帽子有点违背了不允许空白的目的,我可以看到各种各样的错误演变); 要么我有一个 bog 标准同步 python 程序,需要能够从 websockets 读取数据并使用数据更新 GUI。然而,asyncio 的蠕动总是让我绊倒。
我如何制作一个模块:
这是我已经拥有的,但它在很多方面都失败了:
run_forever()意味着循环在订阅完成之前被卡住,然后handle()卡在 falseywhile循环中connected(没有 s 的 websocket 有,但我不清楚其中的差异,也无法在网上找到信息)已经为此奋斗了几个星期。希望得到一些指点。
class WSClient():
subscriptions = set()
connections = {}
started = False
def __init__(self):
self.loop = asyncio.get_event_loop()
def start(self):
self.started = True
self.loop.run_until_complete(self.handle())
self.loop.run_until_forever() # problematic, because it does not allow new subscribe() events
async def handle(self):
while len(self.connections) > 0:
# …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以使类重载数组取消引用程序,从而可以为该类提供实例,foreach并在每次迭代时运行自定义函数?
我试过了:
重载@{}并将其分配给子。但是,在这种情况下,子仅执行一次,并且应该返回对要迭代的数组的引用。几乎但不是我想要的。
重载<>。每次读取尝试都会执行分配的功能。确实是我想要的方式,但是它可以与while循环一起使用,而不能与一起使用foreach。
重载
use overloaded;
$class = overloaded->new();
$class->add("Hi");
$class->add("Hello");
$class->add("Yeet");
foreach $string (@$class) {
print("NEXT ITEM: ".$string."\n");
}
while ($item = <$class>) {
print("NEXT ITEM: ".$item."\n");
}
Run Code Online (Sandbox Code Playgroud)
超载
package overloaded;
use strict;
use warnings;
use Data::Dumper;
use overload '@{}' => \&next, '<>' => \&fetchNext;
sub new {
my ($class, %args) = @_;
$args{fields} = ();
$args{pos} = 0;
return bless { %args }, $class;
}
sub add …Run Code Online (Sandbox Code Playgroud) 我有一个加载 OpenLayers 地图的 MapComponent。该组件在我的 Angular 应用程序的各个页面中重复使用。
地图第一次加载正常。但是,当我导航到包含该地图的另一个组件时,地图变为空白。为了再次看到它,我必须导航到不包含地图的组件,然后导航回所需的页面。
我只在升级到 Angular 10(从 8)后才观察到这种行为。
Openlayers 6.5 和 5.3 版本都存在此问题。
我尝试过强制设置this.map = null页面的 OnDestroy 生命周期挂钩。听起来不像是一个好的解决方案并且不起作用。
我尝试在 AfterContentInit 中抛出错误:
ngAfterContentInit() {
throw new Error("gramschaap");
}
Run Code Online (Sandbox Code Playgroud)
它对页面的渲染有点混乱,当然会留下一个很大的错误,但可以工作。
ngAfterViewInit:ngAfterViewInit() {
this.initMap();
setTimeout(() => {
if (this.map) {
this.map.setTarget(null);
this.map.setTarget("mapTarget");
}
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
这当然意味着地图在重新绘制之前有一秒钟的空白;但它有效!
ngOnDestroy。ngOnDestroy() {
this.map.setTarget("raargitaar"); // does not exist
}
Run Code Online (Sandbox Code Playgroud)
我认为这可能与目标没有再次初始化有关。但这不起作用。
我试图弄清楚我的网页返回的状态代码,根据Linux子系统的卷曲,肯定是301(永久移动),但是在PowerShell上使用curl或WebRequest对象,它返回200(OK).
为什么是这样?
无法绕过它.我或多或少地从教程中复制了,但是分析器抛出了两个错误:
AppBundle\Entity\Brand关联AppBundle\Entity\Brand#devices是指不存在的拥有方字段AppBundle\Entity\Device#brands.
AppBundle\Entity\Device关联AppBundle\Entity\Device #brade是指不存在的反面字段AppBundle\Entity\Brand#brands.
class Brand {
/**
* @var int
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
...
/**
* @ORM\OneToMany(targetEntity="Device", mappedBy="brands")
*/
private $devices;
}
Run Code Online (Sandbox Code Playgroud)
和
class Device {
/**
* @var int
* @ORM\Id
* @ORM\Column(name="id", type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
...
/**
* @ORM\ManyToOne(targetEntity="Brand", inversedBy="devices")
* @ORM\JoinColumn(name="brand_id", referencedColumnName="id", nullable=true)
*/
private $brand;
}
Run Code Online (Sandbox Code Playgroud) 我正在解决搜索表单中的查询。当查询只产生一个对象时,我想将用户直接重定向到该对象的详细信息页面。如果没有,他们应该登陆结果页面。我以为我会这样做:
class ResultsView(generic.ListView):
template_name = "chars/results.html"
context_object_name = "chars"
slug_field = 'name'
def get_queryset(self):
char = self.kwargs.pop('slug', '')
object_list = get_list_or_404(Char, name=char)
if len(object_list) > 1:
return object_list
return HttpResponseRedirect(reverse('chars:details', args=(char,)))
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用,并b''为我的模板生成一个空字节串 ( )。有任何想法吗?
python ×3
doctrine-orm ×2
symfony ×2
angular ×1
apache2 ×1
curl ×1
django ×1
encoding ×1
linux ×1
openlayers ×1
perl ×1
php ×1
php-7 ×1
powershell ×1
return-type ×1
subsystem ×1
webrequest ×1
websocket ×1
windows ×1