我如何遍历切片并将切片传递到当前元素之外的某个地方?正如我们在文档中看到的那样,似乎append()函数修改了底层切片。但无论如何我仍然不知道如何达到这一点。
func main() {
args := []string{ "2", "3", "8" }
for i, _ := range args {
fmt.Println(append(args[:i], args[i+1:]...)) // or pass to function
}
fmt.Println(args)
}
Run Code Online (Sandbox Code Playgroud)
结果:
[3 8]
[3 8]
[3 8]
[3 8 8] // it is args now
Run Code Online (Sandbox Code Playgroud)
我的期望:
[3 8]
[2 8]
[2 3]
Run Code Online (Sandbox Code Playgroud)
我已经看到这个为什么 append() 修改提供的切片?(见示例)
但是切片的容量是多少对我来说是秘密,我不明白为什么我超过了它。
我正在通过创建新项目来尝试金字塔.我选择PostgreSQL和sqlalchemy.现在我有一个手动创建的表"照片"和一个模型:
class Photo(Base):
""" The SQLAlchemy declarative model class for a Photo object. """
__tablename__ = 'photo'
id = Column(Integer, primary_key=True)
name = Column(Text)
filename = Column(Text)
cat_id = Column(Integer)
viewed = Column(Integer)
created = Column(DateTime)
def __init__(self, name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
然后在视图中我试图过滤一些记录:
walls = DBSession.query(Photo).filter(Photo.cat_id == 20).limit(10)
Run Code Online (Sandbox Code Playgroud)
但是这一小段代码不起作用,我有一个错误:
[sqlalchemy.engine.base.Engine][Dummy-2] {'param_1': 1, 'cat_id_1': 20}
*** sqlalchemy.exc.ProgrammingError: (ProgrammingError) relation "photo" does not exist
LINE 2: FROM photo
^
'SELECT photo.id AS photo_id, photo.name AS photo_name, photo.filename AS photo_filename, photo.cat_id AS photo_cat_id, …
Run Code Online (Sandbox Code Playgroud) 我将创建一个简单的WebSocket应用程序,等待客户端连接.客户端将是Android用户,应用程序本身就是两个人的简单聊天.所以对于Android应用程序,我需要知道WebSocket地址(以ws://或wss://开头).我已经有了一些网站,我安装了nodejs.但几天之后,我完全坚持了正在发生的事情以及如何让事情发挥作用.我甚至很高兴看到nodejs捕获任何WebSocket消息,就是这样.
我阅读了一些关于nodejs和socket.io的手册,我再也不知道从哪里获取ws://地址并让它以某种方式工作.
例如,从socket.io聊天手册,我们有:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
res.sendfile('index.html');
});
io.on('connection', function(socket){
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
Run Code Online (Sandbox Code Playgroud)
那是否已经是简单的websocket应用程序?在那种情况下,我想要的ws://地址在哪里?也许我应该在我的服务器上上传那堆代码并将查询发送到ws://mydomain.com:3000?
我只是阅读官方的Symfony 3文档并指出当我需要从数据库中检索对象时我应该使用这样的东西:
$repository = $em->getRepository('AppBundle:Product');
Run Code Online (Sandbox Code Playgroud)
这里Product只是一个没有父级的实体类,因此Doctrine通过注释来处理它.但我不确定用引号对模型名称进行硬编码是个好主意.如果稍后我总结出将模型命名为Good,我应该搜索整个项目并替换Good on Good.以Laravel为例,每个模型都扩展了基础模型类,所以我可以写:Product::model()->find('nevermind')
.Symfony 3.3中有没有这样的选项?
我正在尝试将我在 Symfony 3.3 和 php 7.1 上运行的应用程序升级到 php 7.2,但是当我运行 phpunit 时遇到了大量已弃用的消息。最烦人的是:
"user.user_service" 服务已经初始化,替换它自 Symfony 3.3 起已被弃用,并将在 4.0: 7x 中失败
这是因为我在 setUp 方法中有这一行:
$this->userService = $this->getMockBuilder(UserService::class)
->setMethods(['update'])
->getMock();
$container->set('user.user_service', $this->userService);
Run Code Online (Sandbox Code Playgroud)
7x 是因为我在那个班级有 7 个测试用例,并且为每个测试用例触发了 setUp。我该如何处理这个问题?我无法删除这个模拟,因为它很重要。
我不明白为什么 Symfony 完全指向这个测试用例,因为我在所有测试中都以这种方式替换了很多服务。在这个setUp方法之前我没有在任何地方替换这个服务,所以很奇怪。
如何在SQLAlchemy中获取所需的验证器?实际上我只是想确保用户填写表格中的所有必填字段.我使用PostgreSQL,但它没有意义,因为从models.py文件中的Objects创建的表:
from sqlalchemy import (
Column,
Integer,
Text,
DateTime,
)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
)
from zope.sqlalchemy import ZopeTransactionExtension
from pyramid.security import (
Allow,
Everyone,
)
Base = declarative_base()
class Article(Base):
""" The SQLAlchemy declarative model class for a Article object. """
__tablename__ = 'article'
id = Column(Integer, primary_key=True)
name = Column(Text, nullable=False, unique=True)
url = Column(Text, nullable=False, unique=True)
title = Column(Text)
preview = Column(Text)
content = Column(Text)
cat_id = Column(Integer, nullable=False)
views = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试迁移 ClickHouse 中的一个 Postgres 表。这是我在 ClickHouse 想到的:
CREATE TABLE loads(
country_id UInt16,
partner_id UInt32,
is_unique UInt8,
ip String,
created_at DateTime
) ENGINE=MergeTree PARTITION BY toYYYYMM(created_at) ORDER BY (created_at);
Run Code Online (Sandbox Code Playgroud)
is_unique 这里是一个带有 0 或 1 的布尔值。我想知道聚合的计数:country_id、partner_id 和created_at,但我也想知道这些负载中有多少是唯一负载。在 Postgres 中,它看起来像:
SELECT
count(*) AS loads,
count(*) FILTER (WHERE is_unique) AS uniq,
country_id,
partner_id,
created_at::date AS ts
FROM loads
GROUP BY ts, country_id, partner_id
Run Code Online (Sandbox Code Playgroud)
ClickHouse 可以吗?还是我应该重新考虑如何聚合数据?我在手册中没有找到任何线索,除了count可以得到expr而不是星号,但count(is_unique = 1)
不起作用,只是返回与 count(*) 相同的数量。
我按照手册中的描述覆盖了默认的AdminSite类,尽管它过于纯粹,有关于此部分的信息.
我的gs/admin.py文件:
from django.contrib.admin import AdminSite
from django.conf.urls import patterns, url
from gs.views import *
class AdminSiteGs(AdminSite):
def get_urls(self):
urls = super(AdminSiteGs, self).get_urls()
urls += patterns('',
url(r'^my_admin_view/$', self.admin_view(my_admin_view))
)
return urls
admin_site_gs = AdminSiteGs()
Run Code Online (Sandbox Code Playgroud)
GS这是我的应用程序和项目名称.
gs/urls.py文件:
from django.conf.urls import patterns, include, url
from page import views
from gs.admin import admin_site_gs
urlpatterns = patterns('',
url(r'^admin/', include(admin_site_gs.urls)),
)
Run Code Online (Sandbox Code Playgroud)
我有应用程序命名页面,我在其中放置admin.py文件:
from gs.admin import admin_site_gs
from page.models import Page, Menu
from django.contrib import admin
class PageAdmin(admin.ModelAdmin): …
Run Code Online (Sandbox Code Playgroud) 我需要将图像调整到一定大小并将其保存到文件中,所以我选择了tf.image.resize_image_with_crop_or_pad函数:
import tensorflow as tf
image_decoded = tf.image.decode_jpeg(tf.read_file('1.jpg'), channels=3)
cropped = tf.image.resize_image_with_crop_or_pad(image_decoded, 200, 200)
tf.write_file('2.jpg', cropped)
Run Code Online (Sandbox Code Playgroud)
错误失败:
Traceback (most recent call last):
File "/home/test/anaconda3/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 490, in apply_op
preferred_dtype=default_dtype)
File "/home/test/anaconda3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 669, in convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File "/home/test/anaconda3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 583, in _TensorTensorConversionFunction
% (dtype.name, t.dtype.name, str(t)))
ValueError: Tensor conversion requested dtype string for Tensor with dtype uint8: 'Tensor("control_dependency_3:0", shape=(200, 200, 3), dtype=uint8)'
During handling of the above exception, another exception occurred:
Traceback (most recent call …
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚即使使用简单的“ Hello World”响应也可能会有5600 rps。我尝试了starndard net / http,echo和fasthttp。这是后者的一个示例:
func main() {
router := routing.New()
router.Get("/", func(c *routing.Context) error {
fmt.Fprintf(c, "Hello, world!")
return nil
})
panic(fasthttp.ListenAndServe(":7777", router.HandleRequest))
}
Run Code Online (Sandbox Code Playgroud)
我使用ab和wrk进行测试。这是wrk命令:
$ wrk -t10 -c100 -d10s http://somesite.com
Running 10s test @ http://somesite.com
10 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 17.05ms 1.08ms 33.46ms 91.30%
Req/Sec 587.80 33.97 670.00 84.92%
58603 requests in 10.10s, 8.27MB read
Requests/sec: 5802.71
Transfer/sec: 838.67KB
Run Code Online (Sandbox Code Playgroud)
我尝试在两个不同的服务器上。其中一个是一个简单的Digital Ocean实例,另一个则专用于32G RAM,8个内核和1Gb网络通道。两台服务器的结果相同。我在其中一个上运行fasthttp应用程序,在另一个上运行wrk,反之亦然。
python ×3
go ×2
php ×2
pyramid ×2
sqlalchemy ×2
symfony ×2
clickhouse ×1
django ×1
django-admin ×1
doctrine-orm ×1
high-load ×1
node.js ×1
php-7.2 ×1
phpunit ×1
socket.io ×1
tensorflow ×1
websocket ×1