显然,以下是有效的语法
my_string = b'The string'
Run Code Online (Sandbox Code Playgroud)
我想知道:
b
字在前面的字符串是什么意思?我在SO上找到了一个相关的问题,但是这个问题是关于PHP的,它表示b
用于表示字符串是二进制的,而不是Unicode,这是代码与PHP版本兼容所需的代码<6 ,当迁移到PHP 6.我不认为这适用于Python.
我确实在Python网站上找到了关于使用相同语法的字符将字符串指定为Unicode的文档u
.不幸的是,它没有提到该文档中任何地方的b字符.
而且,只是出于好奇,有没有比多符号b
和u
是做其他事情?
我想编写一个SQL命令来从一个ALTER TABLE
语句中删除单个表中的多个列.
来自MSDN的ALTER TABLE文档 ......
Run Code Online (Sandbox Code Playgroud)DROP { [CONSTRAINT] constraint_name | COLUMN column_name }
指定从表中删除constraint_name或column_name.如果兼容级别为65或更早,则不允许使用DROP COLUMN.可以列出多个列和约束.
它说mutliple列可以在语句中列出,但语法不显示可选的逗号或任何甚至暗示语法的东西.
我应该如何编写SQL以在一个语句中删除多个列(如果可能)?
我有一个函数(foo
)调用另一个函数(bar
).如果调用bar()
引发一个HttpError
,我想特别处理它,如果状态代码是404,否则重新加注.
我试图围绕这个foo
函数编写一些单元测试,嘲笑调用bar()
.不幸的是,我无法通过模拟调用bar()
来引发由我的except
块捕获的异常.
这是我的代码,说明了我的问题:
import unittest
import mock
from apiclient.errors import HttpError
class FooTests(unittest.TestCase):
@mock.patch('my_tests.bar')
def test_foo_shouldReturnResultOfBar_whenBarSucceeds(self, barMock):
barMock.return_value = True
result = foo()
self.assertTrue(result) # passes
@mock.patch('my_tests.bar')
def test_foo_shouldReturnNone_whenBarRaiseHttpError404(self, barMock):
barMock.side_effect = HttpError(mock.Mock(return_value={'status': 404}), 'not found')
result = foo()
self.assertIsNone(result) # fails, test raises HttpError
@mock.patch('my_tests.bar')
def test_foo_shouldRaiseHttpError_whenBarRaiseHttpErrorNot404(self, barMock):
barMock.side_effect = HttpError(mock.Mock(return_value={'status': 500}), 'error')
with self.assertRaises(HttpError): # passes
foo()
def foo():
try:
result = …
Run Code Online (Sandbox Code Playgroud) 我正在使用Nuget来创建包.我想创建一个包,其中不包含.nuspec
任何其他NuGet包的依赖(在)文件中.我的项目确实在其packages.config
文件中定义了NuGet包依赖项.
首先我创建.nuspec
文件...
C:\code\MySolution>.nuget\nuget.exe spec MyProject\MyProject.csproj
Run Code Online (Sandbox Code Playgroud)
我将生成的.nuspec
文件编辑为最小,没有依赖项.
<?xml version="1.0"?>
<package >
<metadata>
<id>MyProject</id>
<version>1.2.3</version>
<title>MyProject</title>
<authors>Example</authors>
<owners>Example</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Example</description>
<copyright>Copyright 2013 Example</copyright>
<tags>example</tags>
<dependencies />
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
然后我构建解决方案并创建一个NuGet包......
C:\code\MySolution>.nuget\nuget.exe pack MyProject\MyProject.csproj -Verbosity detailed
Run Code Online (Sandbox Code Playgroud)
这是该命令的输出......
Attempting to build package from 'MyProject.csproj'.
Packing files from 'C:\code\MySolution\MyProject\bin\Debug'.
Using 'MyProject.nuspec' for metadata.
Found packages.config. Using packages listed as dependencies
Id: MyProject
Version: 1.2.3
Authors: Example
Description: Example
Tags: example
Dependencies: Google.ProtocolBuffers (= 2.4.1.473)
Added file 'lib\net40\MyProject.dll'.
Successfully …
Run Code Online (Sandbox Code Playgroud) 我正在使用现有的数据库架构处理遗留代码库.现有代码使用SQL和PL/SQL在DB上执行查询.我们的任务是使项目数据库引擎不可知的一小部分(最初,最终改变一切).我们选择使用Hibernate 3.3.2.GA和"*.hbm.xml"映射文件(而不是注释).遗憾的是,更改现有架构是不可行的,因为我们无法回退任何遗留功能.
我遇到的问题是当我试图映射单向,一对多的关系时,FK 也是复合PK的一部分.这是类和映射文件......
CompanyEntity.java
public class CompanyEntity {
private Integer id;
private Set<CompanyNameEntity> names;
...
}
Run Code Online (Sandbox Code Playgroud)
CompanyNameEntity.java
public class CompanyNameEntity implements Serializable {
private Integer id;
private String languageId;
private String name;
...
}
Run Code Online (Sandbox Code Playgroud)
CompanyNameEntity.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.example">
<class name="com.example.CompanyEntity" table="COMPANY">
<id name="id" column="COMPANY_ID"/>
<set name="names" table="COMPANY_NAME" cascade="all-delete-orphan" fetch="join" batch-size="1" lazy="false">
<key column="COMPANY_ID"/>
<one-to-many entity-name="vendorName"/>
</set>
</class>
<class entity-name="companyName" name="com.example.CompanyNameEntity" table="COMPANY_NAME">
<composite-id>
<key-property name="id" column="COMPANY_ID"/>
<key-property name="languageId" …
Run Code Online (Sandbox Code Playgroud) 我有一个SQL查询无法执行:
select p.PersonID, CreatedDate, * from dbo.Person p
join dbo.PotentiallyFraudulentPeople pfp on p.PersonID= pfp.PersonID
order by CreatedDate
Run Code Online (Sandbox Code Playgroud)
该Person
表的PK为PersonID
(int).该PotentiallyFraudulentPeople
视图是一个查询Person
与其他表连接来决定,如果我们信任的人或不表.该PotentiallyFraudulentPeople
视图只有一个列:PersonID
.
当我尝试执行此查询时,我收到此错误:
消息209,级别16,状态1,行3
不明确的列名称'CreatedDate'.
我知道这个错误告诉我CreatedDate
列名称不明确,我需要用表格的别名'p'作为前缀.
此查询有效:
select p.PersonID, CreatedDate, * from dbo.Person p
join dbo.PotentiallyFraudulentPeople pfp on p.PersonID= pfp.PersonID
order by p.CreatedDate
Run Code Online (Sandbox Code Playgroud)
我不明白的是为什么我需要在ORDER BY
语句中而不是SELECT
列列表中使用'p'别名.另外,我不明白为什么我需要使用表别名,因为PotentiallyFraudulentPeople
视图甚至没有CreatedDate
列.
谁能解释这种奇怪的行为?
我正在使用SQL Server 2008和SSMS来执行查询.
更新
此外,我尝试CreatedDate
从SELECT
列列表中删除列,然后查询不再需要"p"别名ORDER BY
.所以这个查询也可以:
select p.PersonID, * from …
Run Code Online (Sandbox Code Playgroud) 我的页面上有几个未排序的列表.两个列表都使用list-style: disc inside;
.每个列表的列表项都有几个div
.问题是列表项的内容占用多行,并且光盘垂直出现在多行列表项的底部.
这是一个屏幕截图,显示了我遇到的问题.请注意,我从类似的问题中偷走了图像,它不是我的HTML或CSS.
这是我的HTML的条纹版本:
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="billing_form">
<div id="purchase_items">
<h2>Your purchase</h2>
<h4>Items:</h4>
<div class="items">
<ul>
<li>
<div class="item">First Product - one year license</div>
<div class="price">$99.00 USD</div>
</li>
<li>
<div class="item">Second product & 3 year Product Plan</div>
<div class="price">$125.00 USD</div>
</li>
</ul>
</div>
<div class="subtotal">SUBTOTAL: $224.00 USD</div>
<h4>Discounts:</h4>
<div class="discount">
<ul>
<li>
<div class="item">A really long discount item name - with extra info on three lines!</div>
<div …
Run Code Online (Sandbox Code Playgroud) 我正在执行许多并发SQL INSERT
语句,这些语句在UNIQUE KEY约束上发生冲突,即使我还在单个事务中检查给定键的现有记录.我正在寻找一种消除或最小化碰撞量的方法,而不会损害性能(太多).
背景:
我正在开发一个ASP.NET MVC4 WebApi项目,它接收大量的HTTP 记录POST
请求INSERT
.它每秒大约需要5K - 10K的请求.该项目的唯一责任是重复记录和汇总记录.这是非常重写; 它具有相对少量的读取请求; 所有这些都使用了一个Transaction IsolationLevel.ReadUncommitted
.
数据库架构
这是DB表:
CREATE TABLE [MySchema].[Records] (
Id BIGINT IDENTITY NOT NULL,
RecordType TINYINT NOT NULL,
UserID BIGINT NOT NULL,
OtherID SMALLINT NULL,
TimestampUtc DATETIMEOFFSET NOT NULL,
CONSTRAINT [UQ_MySchemaRecords_UserIdRecordTypeOtherId] UNIQUE CLUSTERED (
[UserID], [RecordType], [OtherID]
),
CONSTRAINT [PK_MySchemaRecords_Id] PRIMARY KEY NONCLUSTERED (
[Id] ASC
)
)
Run Code Online (Sandbox Code Playgroud)
存储库代码
以下是Upsert
导致异常的方法的代码:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using Dapper;
namespace MyProject.DataAccess …
Run Code Online (Sandbox Code Playgroud) 我有一个包含3个项目的Visual Studio解决方案:
Persistence
,project C
,依赖NHibernate
并包含所有存储库接口,Hibernate
这些存储库的实现以及映射到数据库表的类.
BusinessModel
,project B
,依赖于C
并包含表示业务域实体的所有服务类和类.这些服务使用存储库来检索数据,然后将这些数据转换为业务表示形式在其自己的接口中.
MyWebSite
,project A
,依赖于A
并包含所有MVC类/文件.这里的MVC控制器使用服务类B
来执行任何业务逻辑功能.该级别没有任何知识表明项目B
使用项目C
的存储库来执行其操作.
在一个完美的世界中,我认为该项目A
应该参考B
哪些参考C
文献NHibernate
.这似乎不是真的.我发现该项目A
需要参考B
和C
和NHibernate
!我不喜欢我的Web应用程序需要了解我的后端架构的想法,我特别不希望它意识到我正在使用NHibernate
我的ORM 这一事实.
有没有办法告诉这些项目在解析引用时使用传递依赖?
我的项目是Visual Studio 2010中的.NET 4,如果该信息有所不同.
编辑:我找到了这个相关问题的答案,这个问题解释了这些引用只有在项目的项目C
浮出水面时才需要B
.我一直非常坚定不要在层之间有任何泄漏,我知道Hibernate
类只用于C
所以也许我只是不理解正确...
我有一个自定义DateTime
格式字符串:"M/d/yyyy h:m:ss tt"
.
例如,日期为'2012年9月18日@中午',我希望它的输出类似于"9/18/2012 12:0:00 PM"
.
时间似乎正确格式化,但日期部分搞砸了.我看到日期格式化"MM-dd-yyyy"
,我无法弄清楚为什么.
以下是一些重现问题的示例代码:
var datetime = DateTime.Now;
Console.WriteLine("Date: " + datetime.ToString("MMMM d, yyyy")); // Date: October 11, 2012 --> correct
Console.WriteLine("Date: " + datetime.ToString("M/d/yyyy h:m:ss tt")); // Date: 10-11-2012 4:34:17 PM --> wrong
Run Code Online (Sandbox Code Playgroud)
关于我做错什么的任何想法?我怎样才能达到理想的效果?
编辑:
示例代码的最后一行中不正确的是有连字符而不是斜线,我不知道为什么.
此外,我的计算机语言设置为英语(加拿大).但是我的"短"或"长"日期格式看起来都不是M-d-yyyy
这样,我不知道它来自哪里.
sql ×3
sql-server ×3
c# ×2
python ×2
string ×2
.net ×1
.net-4.0 ×1
alter ×1
binary ×1
css ×1
dapper ×1
database ×1
datetime ×1
dependencies ×1
hbm ×1
hbmxml ×1
html ×1
html-lists ×1
mocking ×1
nuget ×1
nuspec ×1
package ×1
python-2.7 ×1
python-mock ×1
reference ×1
t-sql ×1
unicode ×1
unit-testing ×1