我一直在使用MySql查询浏览器和[意见]它必须是我见过的最糟糕的用户界面.永远.[/意见]但它是免费的,所以很棒,我喜欢它.
任何人都可以为MySql DB管理员推荐任何更好的免费工具吗?我想让它在我的本地机器上运行而不是在浏览器中运行,如果可能的话......
编辑:我在Windows上,但如果某些东西适用于OSX,Windows和Linux,那就太棒了......
编辑:我在测试后根据自己的偏好选择了最佳答案.Navicat(PC,Mac,Linux)是最好的,HeidiSQL也很棒(也许更完整,但UI有点笨拙),其余的相对烦人(再次,我需要在UI中)...这个是相当主观的,但我认为,如果你尝试他们都像我一样,你会与我的前两个选择同意.
编辑:在实际尝试它们之后,HeidiSQL是最好的.再次,这是我的意见......
我总是写这样的正则表达式
<A HREF="([^"]*)" TARGET="_blank">([^<]*)</A>
Run Code Online (Sandbox Code Playgroud)
但我刚刚了解了这个懒惰的东西,我可以这样写
<A HREF="(.*?)" TARGET="_blank">(.*?)</A>
Run Code Online (Sandbox Code Playgroud)
使用第二种方法有什么不利之处吗?正则表达式肯定更紧凑(即使SO更好地解析它).
编辑:这里有两个最佳答案,指出表达式之间的两个重要差异.ysth的答案指向非贪婪/懒惰的弱点,其中超链接本身可能包含A标签的其他属性(绝对不好).Rob Kennedy在贪婪的例子中指出了一个弱点,因为锚文本不能包含其他标签(绝对不行,因为它也不会抓住所有的锚文本)......所以答案是,正则表达式就是他们的是,懒惰和非懒惰的解决方案似乎相同可能在语义上不等同.
编辑:第三个最佳答案是Alan M关于表达式的相对速度.暂时,我会将他标记为最佳答案,以便人们给他更多积分:)
在实现dealloc时,我在书籍和网络上查看各种代码时都注意到了一点混乱.我的问题是在使用@property时我应该使用以下哪个.到目前为止,我一直在使用VERSION_001.
@property(nonatomic, retain) NSString *name;
@property(nonatomic, retain) NSString *type;
@property(nonatomic, retain) NSString *payload;
@property(nonatomic, retain) NSString *orbit;
Run Code Online (Sandbox Code Playgroud)
版本001
- (void)dealloc {
[name release];
[type release];
[payload release];
[orbit release];
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
版本002
- (void)dealloc {
[self setName:nil];
[self setType:nil];
[self setPayload:nil];
[self setOrbit:nil];
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud) 这被认为是典型的
- (id)init {
self = [super init];
if (self) {
// <#initializations#>
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
但是,与这样的事情做出适当的反应并不是更好吗?
- (id)init {
self = [super init];
if (self) {
// <#initializations#>
} else {
@throw [NSException exceptionWithName:NSInternalInconsistencyException reason:@"you think your constructor is executing, but it's not"] userInfo:nil]
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
这个问题的必然结果是,"在什么条件下会[super init]返回nil,你不应该在init方法中处理它? "
这段代码
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
NSLog(@"Main Thread? %d", [NSThread isMainThread]);
});
Run Code Online (Sandbox Code Playgroud)
表明我在主线程中.即使这样做:
queue = dispatch_queue_create("nonMainQueue", NULL);
Run Code Online (Sandbox Code Playgroud)
仍然报告说我在主队列中.这似乎是因为我正在使用dispatch sync.
这是否意味着我的代码与不使用dispatch_sync相同?另外:如果dispatch_sync什么都不做的话,那又有什么意义呢?
我一直在研究Firefox扩展,但它进展缓慢(部分原因是因为我没有时间去研究它).我有一个基本框架,验证我可以与外部JSON API通信,在加载时修改任何网页,并显示首选项框.对于我正在编写的扩展,这些都是必需的Hello Worlds(也许我不需要首选项框).
突然之间,我发现我可能忽略了一种更简单的方法.由于Greasmonkey脚本可以编译成Firefox Extensions,因此Greasemonkey可能是更好的方法:
我正在寻找Greasemonkey与"原生"Firefox扩展的比较.还有,有没有人使用"编译"Greasemonkey脚本到FF扩展(经验,问题)?
我一直在检查Groovy,我觉得将Java程序一点一点地移动到Groovy - 抓住一个类并使其成为Groovy类,然后一次转换方法guts - 可能是相对理智的利用一些Groovy语言功能的方法.我也会在Groovy中做新的课程.
问题:
我意识到过早优化具有主观成分,但这是一个经验或最佳实践问题.
在为iOS编程时,我是否更喜欢使用struct和typedef,其中对象没有"行为"(方法,基本上)?我的感觉是struct对于非C人来说语法有点奇怪,但它应该是低调的.然后,用50K NSObject实例测试一些案例,它似乎并不坏(相对,我知道).NSObject除非我遇到性能问题,否则我应该"习惯它"(尽可能使用结构)或实例正常吗?
典型的情况是具有两个int成员变量的类.我已经读过使用结构来保存两个NSString实例(或任何子NSObject类)是一个坏主意.
我已将我的应用程序提交给TestFlight,我故意让我的设备崩溃了应用程序,但我没有看到我在哪里可以看到这些崩溃日志.
顺便说一句,我想在应用程序上看到其他人的崩溃日志,而不是设置菜单中的崩溃日志.
谁知道?
我刚刚开始学习目标c,星号给我带来了一些麻烦.当我查看示例代码时,有时它会在声明变量时使用,有时则不会.什么是应该使用它的"规则".我认为它与变量的数据类型有关.(对象数据类型需要星号,像int这样的简单数据类型不需要)但是,我已经看到对象数据类型如CGPoint声明没有星号?是否有确定的答案或者它与您使用变量的方式和内容有关?
objective-c ×4
iphone ×3
cocoa-touch ×2
ios ×2
exception ×1
firefox ×1
greasemonkey ×1
groovy ×1
init ×1
java ×1
javascript ×1
mysql ×1
non-greedy ×1
regex ×1
regex-greedy ×1
testflight ×1