小编And*_*nih的帖子

在PostgreSQL中为未来的表授予权限?

我正在运行PostgreSQL 9.3.1.我有用于备份数据库的test数据库和backup用户.我对授予所有当前表的权限没有任何问题,但每次将新表添加到模式时都必须授予权限.

createdb test

psql test
test=# create table foo();
CREATE TABLE
test=# grant all on all tables in schema public to backup;
GRANT
test=# create table bar();
CREATE TABLE

psql -U backup test
test=> select * from foo;
test=> select * from bar;
ERROR:  permission denied for relation bar
Run Code Online (Sandbox Code Playgroud)

是否可以授予对将来创建的表的访问权限,而无需创建表的用户所有者?

sql database postgresql

36
推荐指数
1
解决办法
9144
查看次数

如何在iOS平台上实现快速图像过滤器

我正在开发iOS应用程序,用户可以在其中应用一组特定的照片过滤器.每个过滤器基本上都是具有特定参数的Photoshop动作集.这些行动是:

  • 级别调整
  • 亮度/对比度
  • 色相饱和度
  • 单个和多个叠加

我在代码中重复了所有这些操作,使用循环遍历图像中所有像素的算术表达式.但是当我在iPhone 4上运行我的应用程序时,每个过滤器需要大约3-4秒才能应用,这是用户等待的相当多的时间.图像尺寸为640 x 640像素,这是我视图尺寸的2倍,因为它显示在Retina显示屏上.我发现我的主要问题是每次需要调整gamma时调用pow()C函数的级别修改.我当然使用的浮动不是双打,因为ARMv6和ARMv7的双打速度很慢.尝试启用和禁用Thumb并获得相同的结果.

我的应用程序中最简单的过滤器示例,运行速度非常快(2秒).其他过滤器包含更多表达式和pow()调用,从而使它们变慢.

https://gist.github.com/1156760

我见过一些使用Accelerate Framework vDSP矩阵变换进行快速图像修改的解决方案.我也看过OpenGL ES解决方案.我不确定他们能满足我的需求.但可能只是将我的一组变化转换为一些好的卷积矩阵?

任何意见将是有益的.

谢谢,
安德烈.

opengl-es image-processing matrix-multiplication ios accelerate-framework

10
推荐指数
2
解决办法
1万
查看次数

Ruby on Rails和来自PSP的奇怪的HTTP_ACCEPT标头

我有Ruby on Rails应用程序(3.1rc4),我每天都会使用相同的用户代理(Mozilla/4.0(PSP(PlayStation Portable); 2.00))获得几个例外.例外:

A ActionView::MissingTemplate occurred in home#index:
Missing template home/index, application/index with {:formats=>["*/*;q=0.01"], :locale=>[:en, :en], :handlers=>[:erb, :builder, :arb]}. Searched in:
"/var/www/releases/20110721144523/app/views"
Run Code Online (Sandbox Code Playgroud)

我有app/views/home/index.html.erb,但看起来它试图找到一个非常奇怪的请求格式" / ; q = 0.01"的文件.

HTTP标头:

 * HTTP_ACCEPT                               : */*;q=0.01
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题?

ruby-on-rails

6
推荐指数
1
解决办法
1127
查看次数

如何使用Facebook Graph API发布到墙上时共享亚马逊经过身份验证的URL?

我正在尝试使用Facebook Graph API创建Facebook墙贴.有效载荷是:

{ :message => 'I just uploaded image',
  :picture => 'http://s3.amazonaws.com/picyou-andrey-development/images/GejoFV/GejoFV.png?AWSAccessKeyId=AKIAI6ANFCV7RKOBGGBA&Signature=U0Bd2bMQ3Pai%2BAblVOimSOVcbzk%3D&Expires=1308771841',
  :link    => 'http://google.com',
  :name    => 'Test Post' }
Run Code Online (Sandbox Code Playgroud)

帖子是正确创建的,但图片中的问题根本没有显示.

当我使用公共Amazon S3 URL时,如http://s3.amazonaws.com/picyou-andrey-development/images/GejoFV/GejoFV.png图片显示正确.

有没有机会使用动态URL作为Facebook的"图片"参数?

提前致谢.

更新:

在Facebook开发者论坛上发现了一个有完全相同问题的人:

http://forum.developers.facebook.net/viewtopic.php?pid=302856

facebook amazon-s3 amazon-web-services facebook-graph-api

5
推荐指数
1
解决办法
596
查看次数

在 Xperia Z1 上使用 MediaCodec 编码相机预览帧时视频质量不一致

我正在NV21对来自相机预览的帧进行编码。由于某种原因,在其他设备上运行良好的模式Sony Xperia Z1Android 4.3. 它发送回质量不正确(低)的编码帧。

MediaCodec的格式是COLOR_FormatYUV420SemiPlanar(NV12我通过交换 U 和 V 分量NV21来转换NV12)。发送回给我的输出缓冲区的大小非常小,与我使用的分辨率 ( ) 和比特率 ( )MediaCodec不对应。最初的几帧质量很好,但随后质量显着下降:1280x7201000000

int encoderStatus = mMediaCodec.dequeueOutputBuffer(mBufferInfo, TIMEOUT_USEC);
// a few encoderStatus checks skipped
ByteBuffer encodedData = outputBuffers[encoderStatus];
Log.i(Constants.TAG, "Buffer size " + mBufferInfo.size);
Run Code Online (Sandbox Code Playgroud)

Xperia Z1 上的日志如下:

Buffer size 26
Buffer size 52172
Buffer size 23650
Buffer size 14394
Buffer size 3591
Buffer size 1849
Buffer size 3908

... …
Run Code Online (Sandbox Code Playgroud)

android android-mediacodec

5
推荐指数
1
解决办法
3716
查看次数

当使用 COLOR_FormatYUV420Planar 兼容编解码器时,dequeueOutputBuffer 会引发 IllegalStateException

我正在MediaCodec使用 Android 4.4.2 在 LG G2 上运行这个简单的测试:

public class MyActivity extends Activity {
    private static final String MIME_TYPE = "video/avc";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, 1280, 720);

        int numCodecs = MediaCodecList.getCodecCount();
        for (int i = 0; i < numCodecs; i++) {
            MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);

            if (codecInfo.isEncoder()) {
                String[] types = codecInfo.getSupportedTypes();

                for (int j = 0; j < types.length; j++) {
                    if (types[j].equalsIgnoreCase(MIME_TYPE)) {
                        MediaCodecInfo.CodecCapabilities capabilities = codecInfo.getCapabilitiesForType(MIME_TYPE);

                        for(int colorFormat …
Run Code Online (Sandbox Code Playgroud)

android illegalstateexception android-mediacodec

5
推荐指数
1
解决办法
3829
查看次数

如何获得MediaCodec编码器的步幅和Y平面对齐值

关于这个主题有一些相关的问题和讨论:

我正在将相机预览帧(NV21转换为NV12)提供给MediaCodec编码器(NV12aka COLOR_FormatYUV420SemiPlanar).看起来在某些带有QualComm编码器的设备上运行Android版本比4.3我必须做一些输入帧处理以便接收具有正确颜色的背帧.

Sony Xperia ZR运行时,Android 4.2.2我必须添加Y平面对齐,以使其适用于几乎所有分辨率.上面的代码添加1024字节对准为宽度不能被分割32,并2048为其他分辨率字节对准.它可以MediaCodec对所有可以除以的分辨率正确编码帧16(除了176x144哪个UV平面看起来不对齐).

int getYPadding() {
    if (mediaCodecInfo.getName().contains("OMX.qcom") && android.os.Build.VERSION.SDK_INT < 18) {
        if ((getWidth() % 32) != 0) {
            return (getWidth()*getHeight()) % 1024;
        } else {
            return (getWidth()*getHeight()) % 2048;
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我试图测试这个LG …

encoding android mediacodec

4
推荐指数
1
解决办法
3053
查看次数

使用MediaMuxer创建的不可流式处理的视频文件

MediaCodec用来编码视频.帧通过相机预览回调到MediaCodec实例(没有使用Surface).我正在使用JCodec库进行多路复用,并且我能够流式传输视频(视频播放器显示正确的持续时间,我可以使用搜索栏更改视频位置).

今天我尝试使用MediaMuxer而不是JCodec和我有视频仍然看起来很好,但持续时间绝对不正确(几小时而不是一分钟)和搜索栏根本不工作.

mediaMuxer = new MediaMuxer("/path/to/video.mp4", MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
Run Code Online (Sandbox Code Playgroud)

我收到以下代码时会被懒惰地调用MediaCodec.INFO_OUTPUT_FORMAT_CHANGED:

videoTrackIndex = mediaMuxer.addTrack(encoder.getMediaFormat());
mediaMuxer.start();
Run Code Online (Sandbox Code Playgroud)

我用以下代码编码帧:

mediaMuxer.writeSampleData(videoTrackIndex, byteBuffer, bufferInfo);
Run Code Online (Sandbox Code Playgroud)

byteBuffer并且在一些定位之后bufferInfo直接来自MediaCodec:

byteBuffer.position(bufferInfo.offset);
byteBuffer.limit(bufferInfo.offset + bufferInfo.size);
Run Code Online (Sandbox Code Playgroud)

演示时间设置正确:

mMediaCodec.queueInputBuffer(inputBufferIndex, 0, getWidth() * getHeight() * 1.5, System.nanoTime() / 1000, 0);
Run Code Online (Sandbox Code Playgroud)

在记录的最后我做:

mediaMuxer.stop();
mediaMuxer.release();
Run Code Online (Sandbox Code Playgroud)

日志:

I/MPEG4Writer? setStartTimestampUs: 0
I/MPEG4Writer? Earliest track starting time: 0
D/MPEG4Writer? Stopping Video track
I/MPEG4Writer? Received total/0-length (770/0) buffers and encoded 770 frames. - video
D/MPEG4Writer? Stopping …
Run Code Online (Sandbox Code Playgroud)

android mediacodec mediamuxer

4
推荐指数
1
解决办法
3208
查看次数

相关模型的自定义验证

我有供应商患者模型,两者都属于contact_to contact.在提供者和患者编辑表单上,我使用fields_for:contact来呈现关联的联系人字段.

问题在于我想对provider.contact和patient.contact对象使用不同的验证规则,即我想在患者编辑表单中验证联系人first_name的存在,但我不想在提供者编辑中验证first_name的存在形成.

我尝试在患者模型中添加动态验证规则:

validate :contact_first_name_blank

def contact_first_name_blank
  errors.add('contact[first_name]', 'can not be blank') if contact.first_name.blank?
end
Run Code Online (Sandbox Code Playgroud)

它在第一个空字段为空时添加错误消息,但它不会突出显示联系[first_name]字段.

请帮我解决这个问题,可能有更好的方法来做这样的验证.

ruby-on-rails

2
推荐指数
1
解决办法
738
查看次数