这是我的实验.
git init
echo hello > some.txt
git add some.txt
-- objects
-- f2 (blob "hello")
echo hola > some.txt
git add some.txt
-- objects
-- f2 (blob "hello")
-- 53 (blob "hola")
git commit -m "..."
-- objects
-- f2 (blob "hello")
-- 53 (blob "hola")
-- 5c (tree
"some.txt" -> 53)
-- 61 (commit "tree 5c")
Run Code Online (Sandbox Code Playgroud)
我们可以看到每个"git add"都创建了blob对象,而"git commit"提交了最后一个blob 53.
但请注意,中间blob"f2"仍在存储库中.这有什么理由吗?我怎么能用这个blob?或者我该如何删除它?
无论我是否使用XTextFormatter,我都得到关于LayoutRectangle的高度为0或类似的错误.
new PdfSharp.Drawing.Layout.XTextFormatter(_gfx).DrawString(text
, new PdfSharp.Drawing.XFont(fontName, fontSize, (PdfSharp.Drawing.XFontStyle)fontStyle)
, new PdfSharp.Drawing.XSolidBrush(PdfSharp.Drawing.XColor.FromArgb(foreColour))
, new PdfSharp.Drawing.XRect(new PdfSharp.Drawing.XPoint(xPos, yPos), new PdfSharp.Drawing.XPoint(xLimit, yLimit))
, PdfSharp.Drawing.XStringFormats.Default);
Run Code Online (Sandbox Code Playgroud)
fontStyle的类型为System.Drawing.FontStyle foreColour的类型为System.Drawing.Color我已经从PdfPage预定义_gfx,Orientation = Landscape,Size = Letter xPos和yPos是double类型的参数,与xLimit和yLimit相同.
我得到运行时错误,LayoutRectangle的高度必须为零(0)...
根据定义,矩形意味着具有高度,否则称为线!我不明白!...
我直接尝试使用XGraphics.DrawString()方法,我得到了同样的错误.似乎我不能使用LayoutRectangle,但必须手动管理文本适合所需区域.
var textFont = new PdfSharp.Drawing.XFont(fontName, fontSize, (PdfSharp.Drawing.XFontStyle)fontStyle);
while (xPos + _gfx.MeasureString(text, textFont).Width > xLimit)
textFont = new PdfSharp.Drawing.XFont(fontName, --fontSize, (PdfSharp.Drawing.XFontStyle)fontStyle);
while (yPos + _gfx.MeasureString(text, textFont).Height > yLimit && fontSize > 0)
textFont = …Run Code Online (Sandbox Code Playgroud) 我刚刚在PHP LAMP角色中开始了另一项新工作,而且我再次遇到了陡峭的学习曲线.
像PHP一样伟大和有用,我开始觉得它有点过于灵活.与具有单一接受的Rails框架的Ruby不同,我们PHP开发人员有很多可能性被抛到我们身上,例如代码点火器,zend,cakephp和kohana.
各种博客工具也可能发挥作用,如WordPress,Drupal,Joomal等.
然后我们有像Smarty这样的表示抽象框架.名单还在继续.
似乎PHP作为一种语言为开发人员提供了如此大的自由,以不同的方式做事情,以至于很难保持一致性或"开始运行",所以当你开始在一个新的组织时.
由于我的经验主要是基于PHP,我想知道其他语言的开发人员是否能获得这么多?还是我离开这个?
对于最近的一个项目,我有几个视图,代码如下:
<% if @users.count == 0 %>
Run Code Online (Sandbox Code Playgroud)
这在开发模式下完美运行......我将它推出到prod模式并且爆炸,说count不是Array的有效方法.我更改了每个实例以使用Array#length而不是它似乎正在工作.
1)这种行为差异的原因是什么?
2)我应该注意开发和生产模式之间还有其他令人兴奋的差异吗?
道德:确保您的生产托管环境使用与本地开发环境相同版本的Ruby.:)
谢谢
汤姆
程序启动时,会创建一个新的JFrame.用户单击开始按钮后,将创建并启动一个线程.此线程执行的一部分是验证表单上的数据,然后使用该数据执行.一旦数据被验证,线程就会在原始帧上调用dispose(),然后创建一个充当控制面板的新JFrame.
还有一个程序的自动模式,根本不显示任何GUI,此模式从配置文件中读取数据,然后启动执行线程并运行所有内容,但不使用控制面板.
我希望程序在线程完成后结束,但是在GUI模式下,只有用户也关闭了控制面板.是否可以让线程等待帧关闭.我假设框架是从它自己的线程运行的?或者情况并非如此.
谢谢.
我买了Matthew Russell的O'Reilly Dojo书.它说"在您的工具包结帐中,您可以在dijit/themes/themeTester.html找到主题测试人员.
我从这里下载了1.3.2:http://dojotoolkit.com/downloads 并且找不到这样的文件.我希望看到三个主题中的每一个都在行动.我怎样才能做到这一点?
谢谢,Neal Walters
我想创建一个事务,在子事务中写入一些数据,读回数据,然后回滚事务.
using(var transaction = new TransactionScope())
{
using(var transaction = new TransactionScope())
{
// save data via LINQ / DataContext
transaction.Complete();
}
// Get back for assertions
var tempItem = // read data via LINQ / DataContext THROWS EXCEPTION
}
Run Code Online (Sandbox Code Playgroud)
但是在阅读时我得到"System.Transactions.TransactionException:该操作对于事务的状态无效."
我应该如何设置事务属性以避免这种情况?
我有一个对象,它有一个DateTime属性...我想通过AJAX/JSON将该对象从.ashx处理程序传递回网页...我不想使用第三方控件...
当我这样做:
new JavaScriptSerializer().Serialize(DateTime.Now);
Run Code Online (Sandbox Code Playgroud)
我明白了:
"\/Date(1251385232334)\/"
Run Code Online (Sandbox Code Playgroud)
但我想要"8/26/2009"(没关系本地化......我的应用程序是非常本地化的,所以我的日期格式化假设在这个问题中没有争议).如果我制作/注册自定义转换器
public class DateTimeConverter : JavaScriptConverter
{
public override IEnumerable<Type> SupportedTypes
{
get { return new List<Type>() { typeof(DateTime), typeof(DateTime?) }; }
}
public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
{
Dictionary<string, object> result = new Dictionary<string, object>();
if (obj == null) return result;
result["DateTime"] = ((DateTime)obj).ToShortDateString();
return result;
}
public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
{
if (dictionary.ContainsKey("DateTime"))
return new DateTime(long.Parse(dictionary["DateTime"].ToString()), DateTimeKind.Unspecified);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我得到这个结果(因为自定义序列化方法的返回值是一个字典):
{"DateTime":"8/27/2009"} …Run Code Online (Sandbox Code Playgroud) 我来自C++世界所以分配的概念this让我不寒而栗:
this = new Object; // Gah!
Run Code Online (Sandbox Code Playgroud)
但是在Objective-C中有一个类似的关键字,self这是完全可以接受的:
self = [super init]; // wait, what?
Run Code Online (Sandbox Code Playgroud)
许多示例Objective-C代码在init例程中使用上述行.我的问题:
1)为什么赋值self有意义(答案如"因为语言允许它"不计算)
2)如果我不在self我的init日常工作中分配会怎样?我是否将我的实例置于某种危险之中?
3)当以下if语句失败时,它意味着什么,我该怎么做才能从中恢复:
- (id) init
{
self = [super init];
if (self)
{
self.my_foo = 42;
}
return self;
}
Run Code Online (Sandbox Code Playgroud) 现在,我们有了一个Web应用程序,我们为每个客户端部署了一个副本。我们当前的部署策略是为每个实例创建一个唯一命名的jdbc连接池。所以说jdbc / client。他们这样指定...
< Context path="/"
reloadable="true"
docBase="\home\client\ROOT"
debug="5" >
< Resource name="jdbc/client"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
validationQuery="SELECT 1"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="300000"
numTestsPerEvictionRun="6"
minEvictableIdleTimeMillis="1800000"
maxWait="10000"
username="user"
password="pass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://databaseserver:3306/client ?zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false"/>
< /Context>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我要对其进行标准化,以便在所有已部署实例上将连接池而不是唯一名称称为jdbc / database,那么是否存在数据库交叉的可能,即一个客户在另一个客户的数据库中,或者这些本地化到一个特定的已部署实例?
有什么想法吗?谢谢,斯科特