我通过PDO访问我的MySQL数据库.我正在设置对数据库的访问权限,我的第一次尝试是使用以下内容:
我想到的第一件事是global:
$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'root', 'pwd');
function some_function() {
global $db;
$db->query('...');
}
Run Code Online (Sandbox Code Playgroud)
这被认为是一种不好的做法.一点点搜索后,我结束了与Singleton模式,其
"适用于需要单个类实例的情况."
根据手册中的示例,我们应该这样做:
class Database {
private static $instance, $db;
private function __construct(){}
static function singleton() {
if(!isset(self::$instance))
self::$instance = new __CLASS__;
return self:$instance;
}
function get() {
if(!isset(self::$db))
self::$db = new PDO('mysql:host=127.0.0.1;dbname=toto', 'user', 'pwd')
return self::$db;
}
}
function some_function() {
$db = Database::singleton();
$db->get()->query('...');
}
some_function();
Run Code Online (Sandbox Code Playgroud)
当我能做到这一点时,为什么我需要相对较大的课程呢?
class Database {
private static $db;
private function __construct(){}
static function get() …Run Code Online (Sandbox Code Playgroud) 我目前有一个包含大约600,000行的oracle表(lovalarm).我需要能够运行一个查询,它将遍历每一行并将字段(lovsiteid)更新为14300和17300之间的随机数.
到目前为止,我有:
update lovalarm
set lovsiteid = (select TRUNC(dbms_random.value(14300,17300)) FROM dual)
Run Code Online (Sandbox Code Playgroud)
可悲的是,这会选择一个随机数,然后用相同的数字更新所有行,这不是我想要的!
谁能指出我正确的方向?
非常感谢,Cap
到目前为止,我一直喜欢使用CodeIgniter来创建一些简单的Web应用程序(实际上只是学习框架),但我无法找到一种简单的方法来创建块/模块.
我希望有"最近的图像"块,我可以放在网站的任何页面上,而不会在每个页面的控制器中复制查询并将其传递给带有$ vars的模板.
2个问题:
这似乎应该很简单,我只是没有运气找到适当的解决方案.提前致谢.
我使用以下代码来确定UITextView添加到a 所需的高度UITableViewCell,并确定每个高度UITableViewCell.
这种方法有90%的时间可以工作,但是一些传入的数据(总是相同的传入数据)很短.如果我允许在其中滚动UITextView,我可以看到所有文本都在UITextView- 但UITextView没有足够的高度来显示所有文本.
正在阅读的文本似乎没有任何问题,没有特殊或隐藏的字符等.
UIFont *font = [UIFont fontWithName:@"ArialMT" size:14];
CGSize withinSize = CGSizeMake(230, 10000);
CGSize size = [currentTimelineText sizeWithFont:font constrainedToSize:withinSize lineBreakMode:UILineBreakModeWordWrap];
Run Code Online (Sandbox Code Playgroud)
然后当我创建一个框架frame = CGRectMake(boundsX, yPosition, 230, size.height);并将其分配给它frame时UITextView,它(有时)会变短.
我有一个表(在MySQL中)unused,大约有540万行.该表如下所示:
CREATE TABLE `unused` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`account_id` bigint(20) DEFAULT NULL,
`heading_label` varchar(255) NOT NULL,
`value` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `fk_account_id` (`account_id`),
CONSTRAINT `unused_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `account` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=80524905 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
如果我要添加索引,我认为这个表上的查询可能会更快.我试过这个:
create index heading_label
on unused (heading_label) using btree
Run Code Online (Sandbox Code Playgroud)
我让这个命令在重启MySQL之前运行了一两个小时.虽然这个表有超过500万行,但似乎不需要花费一个多小时才能运行这类东西.但也许这是正常的.我真的不知道自己在做什么.有人可以开导我吗?
我面临着很奇怪的问题.
申请~80.Mb
使用Allocations Instrument在模拟器上进行测试,向我显示当前正在使用大约30 Mb,但是当使用Activity Monitor在iPod 4g上进行测试时显示"物理内存使用~133Mb"和"物理内存可用~77Mb"
由于内存警告我的应用程序不断崩溃.
ActivityMonitor和Allocations Instrument之间使用的物理内存有什么区别?
之前我已经信任Allocations Instrument,因为当我释放对象时,使用的内存量减少了,但在ActivityMonitor中,USED内存量以一种奇怪的方式增加和减少,这与我正在做的事情无关.所以,帮助我理解,因为我认为分配的内存与使用的内存相同,或者我错了?
编辑: 似乎我理解数据在activitymonitor中的显示方式.但问题仍然存在.在ActivityMonitor中,图表下方有一列.在那里我找到了我的申请.而且记忆力只会增加.
没有泄漏100%
随着Visual Studio 2010 SP1和IIS Express的发布,我们希望在我们的本地开发机器上运行我们的asp.net 3.5网站而不是我们的iis5实例.
除了使用ISAPI Rewrite的url重写规则之外,我们所有的代码都运行良好.我们选择ISAPI_Rewrite 3,因为它与apache .htaccess文件非常相似.
我们如何在iis express中使用ISAPI Rewrite?
我正在尝试在Apache中配置url重定向.我尝试了一些方法,没有任何作用.有人可以告诉我解决方案,因为它似乎并不太难.
我将重定向来自:
https://myhost/configuration/jmx-console
Run Code Online (Sandbox Code Playgroud)
至:
http://myanohterhost/jmx-console
Run Code Online (Sandbox Code Playgroud)
这是一个https到http重定向.
有人能指出我正确的方向吗?
非常感谢!
是否可以添加自定义的Facebook图标?我希望它成为一个部分,<ul>我真的不想加载另一个库他们的SDK或所有的<meta>标签....
有没有人实现像按钮这样的自定义?我不需要他们的按钮提供的计数器等,说实话,他们是丑陋的.我一直在寻找最近2个小时没有真正的运气.
我找到了这个:
<a name="fb_share"></a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share"
type="text/javascript">
</script>
Run Code Online (Sandbox Code Playgroud)
但它实现了一个按钮.
编辑:
我已经阅读了他们的API,虽然很容易使用我不喜欢他们<iframe>或XFBML代码生成的按钮.我只是想找出是否有办法从这样的东西制作自定义链接:
<ul>
<li><a href="some code here">Facebook</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我在他们的API中遗漏了什么吗?它总是生成一个带有计数器和图形的巨大按钮,这正是我不想要的.
我有一个相当简单的SOLR结构,它包含三个不同的领域:
id,文本和标签
在schema.xml我设置以下内容
<uniqueKey>id</uniqueKey>
<defaultSearchField>text</defaultSearchField>
<solrQueryParser defaultOperator="AND"/>
<copyField source="tags" dest="text"/>
Run Code Online (Sandbox Code Playgroud)
但是,当我搜索仅显示为标记的单词时,则找不到该文档.
我在这里的问题是:copyField描述的任何分析仪运行(索引和查询),作为前发生在这里查询分析器之前或刚?
编辑
分析仪def:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" /> …Run Code Online (Sandbox Code Playgroud) indexing ×2
php ×2
allocation ×1
apache2 ×1
asp.net ×1
codeigniter ×1
database ×1
facebook ×1
frame ×1
height ×1
iis ×1
iis-express ×1
iphone ×1
javascript ×1
memory ×1
mysql ×1
objective-c ×1
oop ×1
oracle ×1
redirect ×1
singleton ×1
solr ×1
sql ×1
uitextview ×1