четвер, 24 січня 2013 р.

NGINX

Reguest body limit of 1 MB by default

для загрузки файлов обычно нужно увеличить значение параметра client_max_body_size (квоты в 1 МБ маловато для фоток)

upstream  backend {
   server unix:/home/... ..... ... /shared/unicorn.sock fail_timeout=0;
}

server {
        listen   80 default;
        server_name default;

        access_log  /var/log/nginx/localhost.access.log;
        error_log /var/log/nginx/localhost.error.log;

client_max_body_size 4M;    <-- 
client_body_buffer_size 128k;

        root /home/.... ..... /current/public;

        try_files $uri/index.html $uri.html $uri @myapp;

        location @myapp {
                proxy_pass http://backend;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }
}

четвер, 3 січня 2013 р.

MPFlipViewController и 3D перспектива

При попытке применить CATransform3DRotate к изначальной UIView для MPFlipViewController чтобы нарисовать такую листалку
 меня ждал облом :( . MPFlipViewController рендерит UIImage для листания и любые 3D транформации ios игнорит при этом. Получается картинка при листании теряет все 3D трансформации и становится абсолютно плоской.
Единственный способ — не использовать листалку из MPFlipViewController, а делать поворот самому (получение screenshot на айфоне возможно, но только через приватное api)

Анимирование:

[CATransaction begin];
{
    [CATransaction setCompletionBlock:^{
        можно задать вложенные транзакции/completions
    }];
    ...
    CABasicAnimation * anim = [CABasicAnimation     animationWithKeyPath:@"sublayerTransform.rotation.y"];
    anim.toValue = [NSNumber numberWithFloat:mp_radians(90)];
    anim.duration = 0.1;
    
     // эти две строки:  оставаться в посленей точке анимации (не возвращаться на исходную позицию)
    anim.removedOnCompletion = NO;
    anim.fillMode = kCAFillModeForwards;

    [self.rightPage.layer addAnimation:anim forKey:@"rotateRightPageAnimation"];
}
[CATransaction commit];