我刚刚开始学习目标C,我真的很困惑.h和.m文件是如何相互作用的.这个简单的程序有3个文件:
Fraction.h
#import <Foundation/NSObject.h>
@interface Fraction : NSObject {
int numerator;
int denominator;
}
- (void) print;
- (void) setNumerator: (int) n;
- (void) setDenominator: (int) d;
- (int) numerator;
- (int) denominator;
@end
Run Code Online (Sandbox Code Playgroud)
Fraction.m
#import "Fraction.h"
#import <stdio.h>
@implementation Fraction
-(void) print { printf( "%i/%i", numerator, denominator ); }
-(void) setNumerator: (int) n { numerator = n; }
-(void) setDenominator: (int) d { denominator = d; }
-(int) denominator { return denominator; }
-(int) numerator { return numerator; } …Run Code Online (Sandbox Code Playgroud) 我需要一个像a一样的数据结构,SortedDictionary<int, double>但是根据值而不是键来排序.当我们在字典中有大约3000个项目时,我需要大约1-2微秒来添加和删除项目.
我的第一个想法是简单地在我的代码中切换键和值.这几乎是有效的.通过这样做,我可以在测试中添加和删除元素大约1.2微秒.
但是键必须在SortedDictionary中是唯一的,这意味着我的逆字典中的值必须是唯一的.在某些情况下,他们可能不会.
.NET库中的某些想法已经对我有用吗?
我是否必须锁定对实例成员的访问权限?
例:
public class HttpModule : IHttpModule
{
//...
Dictionary<int, int> foo;
void UseFoo(int a, int b)
{
foo[a] = b;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一系列JPG图像.每个扫描都已裁剪为一页的确切大小.它们是有价值的绝版书籍的连续页面.发布应用程序要求将这些页面作为单个PDF文件提交.
我可以把这些图像中的每一个都带到一个文字处理器(例如OpenOffice)中 - 不幸的是,这里的问题是它是一本非常大的书,我有很多这样的书可以通过.这显然很耗时.这是志愿者的工作!
我的第二个想法是使用LaTeX(实际上是pdflatex) - 我可以创建一个非常简单的文档,其中只包含一系列内嵌图像.我确信这种方法可以起作用,对于一些看起来非常简单的工作而言,这只是复杂的一点.
在我看来,必须有一个更简单的方法 - 所以任何建议?
我使用的是Ubuntu 9.10,我的主要编程语言是Python,但如果解决方案非常简单,我很乐意采用任何有效的技术.
更新,有人可以解释这里出了什么问题吗?
sal@bobnit:/media/NIKON D200/DCIM/100HPAIO/bat$ convert '*.jpg' bat.pdf
convert: unable to open image `*.jpg': No such file or directory @ blob.c/OpenBlob/2439.
convert: missing an image filename `bat.pdf' @ convert.c/ConvertImageCommand/2775.
Run Code Online (Sandbox Code Playgroud)
在convert命令语法中是否有一种方法可以指定bat.pdf是输出?
谢谢
哦,我希望TCP是基于数据包的,就像UDP一样![见评论]但是,唉,情况并非如此,所以我正在尝试实现自己的数据包层.这是迄今为止的事件链(忽略写入数据包)
哦,我的数据包非常简单:长度为两个无符号字节,然后是byte [length]数据.(我无法想象如果它们更复杂,我会在if声明中听到我的声音!)
Server处于无限循环中,接受连接并将它们添加到Connections 列表中.PacketGatherer(另一个线程)使用a Selector来确定哪些Connection.SocketChannels已准备好读取.Connection人read().Connection都有一个部分IncomingPacket和一个Packet已完全读取并等待处理的s 列表.read():
IncomingPacket人阅读更多数据.(IncomingPacket.readData下)IncomingPacket.complete()),则从中创建一个Packet并粘贴Packet到等待处理的列表中,然后用新的替换它IncomingPacket.这有几个问题.首先,一次只读取一个数据包.如果IncomingPacket只需要一个字节,那么这个传递只读取一个字节.这当然可以通过循环来修复,但它开始变得复杂,我想知道是否有更好的整体方式.
其次,逻辑中IncomingPacket有点疯狂,能够读取两个字节的长度然后读取实际数据.以下是快速简便阅读的代码:
int readBytes; // number of total bytes read so far
byte length1, length2; // each byte in an unsigned short int (see getLength())
public int getLength() { // …Run Code Online (Sandbox Code Playgroud) 我想应该有一种方法可以设置一个cookie,从整个域可以访问,从来没有从你设置cookie的目录.
在mypage.com/blue/index.php中说y设置cookie"color = blue;" 这条路:
document.cookie = "colour" + "=" + "blue"
+ "; expires=" + expireDate.toGMTString()
+ "; path=/";
Run Code Online (Sandbox Code Playgroud)
使用此代码,mypage.com/home.php中的cookie检索功能无法访问cookie的内容.
如果它只是来自第一级目录的cookie需要设置,我们可以做path=../而不是path=/
但是,您如何编写通用代码来设置可从该域中的任何页面访问的cookie,而不是考虑文件结构在设置cookie的页面中有多深?
我已经通过两种方式为我的单元测试创建了用户:
1)为"auth.user"创建一个看起来大致如下的夹具:
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
Run Code Online (Sandbox Code Playgroud)
我遗漏了看似不重要的部分.
2)在setUp函数中使用'create_user'(尽管我宁愿将所有内容保存在我的fixtures类中):
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
Run Code Online (Sandbox Code Playgroud)
请注意,在这两种情况下密码都是simpson.
我已经验证了这个信息一次又一次正确地加载到测试数据库中.我可以使用User.objects.get获取User对象.我可以使用'check_password'验证密码是否正确.用户处于活动状态.
然而,self.client.login(username ='homer',password ='simpson')FAILS总是如此.我很困惑为什么.我想我已经阅读了与此相关的每一个互联网讨论.有人可以帮忙吗?
单元测试中的登录代码如下所示:
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
Run Code Online (Sandbox Code Playgroud)
谢谢.
我最近在github上建立了一个新帐户.我在线跟踪Michael Hartl的Rails教程(http://www.railstutorial.org/book#fig:github_first_page)并按照他的指示设置我的git,它也与github上的设置说明一致.无论如何,github上的"后续步骤"部分是:
mkdir sample_app
cd sample_app
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:rosdabos55/sample_app.git
git push origin master
Run Code Online (Sandbox Code Playgroud)
我一路走到最后一条指令(git push origin master)没有任何问题.但是,当我将最后一行输入到终端时,我收到此错误消息:"致命:未指定路径.请参阅'man git-pull'以获取有效的url语法." 我可能做错了什么?
以下是.git/config的内容(由Jefromi从man git-pull下面粘贴到评论的输出中重建):
[user]
name = Ross
email = [REDACTED]
[core]
editor = gvim -f
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@github.com:
fetch = +refs/heads/*:refs/remotes/origin/*
Run Code Online (Sandbox Code Playgroud) 我正在为数据库(PHP/Postgresql)编写一个基于网络的前端,我需要在其中存储各种日期/时间。时间应始终以当地时间在客户端输入,并以当地时间显示。出于存储目的,我将所有日期/时间存储为整数(UNIX 时间戳)并标准化为 UTC。一个特定字段有一个限制,即不允许在将来填写时间戳,因此我尝试使用数据库约束来实现这一点...
CONSTRAINT not_future
CHECK (timestamp-300 <= date_part('epoch', now() at time zone 'UTC'))
Run Code Online (Sandbox Code Playgroud)
-300 是为了在浏览器和服务器之间的时间稍微不同步的情况下给予 5 分钟的余地。问题是,当提交当前时间时,这个约束总是失败。我做了测试,发现了以下内容。
在 PostgreSQL 客户端中:
SELECT now()-- 返回正确的本地时间
SELECT date_part('epoch', now())-- 返回 UTC 的 unix 时间戳(通过将值输入 PHP 中的日期函数进行测试,并更正其对我的时区的补偿)
SELECT date_part('epoch', now() at time zone 'UTC')-- 返回向西偏移两个时区的 unix 时间戳,例如我在 GMT+2,我得到一个 GMT-2 时间戳。
我显然已经发现,删除“at time zone 'UTC'”将解决我的问题,但我的问题是,如果'epoch'意味着返回一个unix时间戳,据我所知,它总是意味着UTC,为什么会UTC 时间的“纪元”是否需要更正?这是一个错误,还是我错过了这里定义/正常行为的一些内容。
假设这是我的URL路由:
(r'^test/?$','hello.life.views.test'),
Run Code Online (Sandbox Code Playgroud)
我如何制作它以便人们可以做.json,.xml,并且它会将变量传递给我的views.test,以便我知道制作json或xml?
django ×2
python ×2
.net ×1
asp.net ×1
c# ×1
collections ×1
cookies ×1
datetime ×1
dictionary ×1
git ×1
github ×1
http ×1
httpmodule ×1
ihttpmodule ×1
iis ×1
java ×1
javascript ×1
json ×1
latex ×1
objective-c ×1
php ×1
postgresql ×1
tcp ×1
tex ×1
timezone ×1
unit-testing ×1
url ×1