有没有办法上传我的应用程序的快速修复程序,几天前Apple批准了?或者我应该再等待2周再次重新审核?
我正在使用Imagick lib对原始图像进行一些修改.然后我想直接将它输出到浏览器而不保存.有没有办法做到这一点?
我尝试使用Imagick::writeImage('STDOUT')(空输出)和'php:// stdout',错误"无法写入文件".
有任何想法吗?:)
我需要在MySQL表中设置行的最大限制.文档告诉我们可以使用以下SQL代码来创建表:
CREATE TABLE `table_with_limit`
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB MAX_ROWS=100000
Run Code Online (Sandbox Code Playgroud)
但是MAX_ROWS属性不是一个硬限制("存储不超过100 000行并删除其他")但是数据库引擎提示此表将至少有10万行.
我看到解决问题的唯一可能方法是使用BEFORE INSERT触发器来检查表中的行数并删除旧行.但我很确定这是一个巨大的过热:/
另一个解决方案是每N分钟使用cron脚本清除表.这是最简单的方法,但仍需要另一个系统来监视.
谁知道更好的解决方案?:)
是否可以在Facebook墙上发布应用程序而不是用户?据我所知,应用程序不是Facebook的有效用户,但有很多关于发布为Page而不是用户或应用程序的评论.
我怎么能用PHP Facebook API做到这一点?
好的,在iOS中模拟启动视频的选项很少.我们所能做的就是等到应用程序完全加载,然后创建Media Player并在其中加载视频.
我用以下代码实现了它:
-(void) moviePlayBackDidFinish:(NSNotification*)notification
{
NSLog(@"Intro video stopped");
[mMoviePlayer release];
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
NSURL* mMovieURL;
NSBundle *bundle = [NSBundle mainBundle];
if(bundle != nil)
{
NSString *moviePath = [bundle pathForResource:@"intro" ofType:@"mp4"];
if (moviePath)
{
mMovieURL = [NSURL fileURLWithPath:moviePath];
[mMovieURL retain];
}
}
mMoviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:mMovieURL];
[mMovieURL release];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:mMoviePlayer];
mMoviePlayer.controlStyle = MPMovieControlStyleNone;
[mMoviePlayer.backgroundView addSubview:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Splash/background.png"]] autorelease]];
mMoviePlayer.scalingMode = MPMovieScalingModeFill;
[window addSubview:mMoviePlayer.view];
[mMoviePlayer setFullscreen:YES animated:NO];
[window makeKeyAndVisible];
[mMoviePlayer play];
<... other …Run Code Online (Sandbox Code Playgroud) 有没有办法直接访问使用Xcode连接到我的Mac的iPhone的文件系统?
请记住,问题不是从应用程序访问文件系统(在应用程序的沙箱之外是不可能的),而是从Xcode访问它.
实际问题是我的iPhone上的数据在开发多个应用程序时以某种方式损坏了.由于在执行备份和从系统还原系统时复制了损坏的数据,问题变得更加愚蠢.
也许还有其他方法可以在没有越狱的情况下访问设备的文件系统?
对于我的网站,我使用Flickr的PHP API(http://www.flickr.com/services/api/).此API提供了几种有用的方法来获取特定GPS位置周围的照片.
对API方法的调用看起来像具有特定参数的URL,如纬度,经度,API密钥,半径,排序等.说,它看起来像 http://api.flickr.com/method?lat=0.0&lon=0.0&radius=10
我的网站对API进行了超过200,000次调用,以生成包含Flickr图片的多个页面.这是对API的极大推动,因此我在mySQL数据库中创建了一个结果缓存.
带缓存的InnoDB表的简化方案是:
char(32) request
datetime expires // 2-3 days
text response // serialized data from API response
Run Code Online (Sandbox Code Playgroud)
其中request是PRIMARY KEY并表示请求URI的MD5哈希值.其他领域很简单:)
当表变得足够大时,例如超过100,000行,就会出现问题.新建INSERTs需要2秒钟(最多6(!)秒,1,000,000行).
据我所知,问题在于PRIMARY INDEX和引擎是InnoDB.每次插入新请求时,InnoDB引擎都会重建树索引并移动数据,因为MD5(请求)是一个非常随机的值.
那么......问题是是否有更好的方法来缓存这些请求?或许我应该切换到MyISAM引擎?或者可能是我应该尝试伪分区并创建几个表来解决问题?或者可能只是使用BTREE而不是HASH索引?
欢迎任何想法!
编辑:
好吧,我试图改变桌子,因为Furicane和Johan建议,但仍然没有运气 - INSERT需要3秒钟.当前request字段成为正常的非唯一索引,并且新id列已添加为具有自动增量的PRIMARY KEY.此外,我尝试在此表上添加4个分区,结果相同.
我认为该request领域的指数仍然是一个瓶颈.我目前看到的唯一方法是确定所有可能的参数,将它们作为列添加到表中,然后在它们上创建索引.
还有其他想法吗?:)
编辑2:
Salman A在下面的评论中说他的相似表表现得更好(插入时约为0.03).这个问题可能出在系统上的IO负载上.虽然我不能承受任何高负荷.
iostat 结果:
avg-cpu: %user %nice %system %iowait %steal %idle
22.94 0.71 8.42 8.50 0.00 59.43
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 38.01 151.04 114.32 1383655437 1047309046
Run Code Online (Sandbox Code Playgroud)
iotop 结果:
Total …Run Code Online (Sandbox Code Playgroud) 一般的问题是:在PHP中取消设置String变量的值之后,是否可以从物理内存中删除该变量的值?
该问题是由安全标准的某些要求引起的(在处理某些重要数据时,应该没有办法将数据从内存转储到磁盘)。根据“ 内存是否已加密? ”主题,没有好的方法可以对内存中的数据进行加密。
因此,在PHP中取消设置String变量时,您不能肯定地说内存中的数据已被覆盖。关于为变量设置新值的相同故事。
因此,我是否有可能在不更改unset方法核心代码的情况下从内存中清除变量值?
问题:Vary当服务器接受gzip/deflate连接并为移动客户端提供不同的内容时,发送HTTP标头的最佳方法是什么?
我看到两种可能的变体,但我找不到任何有用的信息,无论它们是否正确和/或大多数代理和搜索引擎支持:
Vary: Accept-Encoding,User-AgentVary: Accept-Encoding
Vary: User-Agent
欢迎任何信息或链接到适当的W3C标准:)
我有一个固定横向的iPad应用程序.一切正常,直到我以编程方式创建UIView并将其添加到我的根UIViewController的视图时 - 它的方向始终设置为纵向,而所有其他内容都以横向模式显示.这个UIView是一个模态视图,显示了一些用户的自定义表单.
AlertView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
AlertView.opaque = NO;
AlertView.backgroundColor = [UIColor blackColor];
AlertView.alpha = 0.7;
<...> // some other configuration code
[window addSubview:AlertView];
Run Code Online (Sandbox Code Playgroud)
所以问题是:如何以横向方向启动UIView?我能想到的只是使用变换:
modalView.transform = CGAffineTransformMakeRotation( ( 180 * M_PI ) / 360 );
Run Code Online (Sandbox Code Playgroud)
虽然它不是太优雅的方式......
iphone ×3
php ×3
mysql ×2
cocoa-touch ×1
encryption ×1
facebook ×1
flickr ×1
http ×1
http-headers ×1
imagick ×1
innodb ×1
ios ×1
ipad ×1
itunes ×1
memory ×1
orientation ×1
primary-key ×1
stdout ×1
transform ×1
triggers ×1
uiview ×1
vary ×1
xcode ×1