Pull to refresh
104
0
Валера Леонтьев @feedbee

User

Send message
Я выбрал более простой (имхо) путь: ImageMagick. И фотошоп не нужен, и обработка на сервере, и все запускается одной командой. Да и плюс оно еще и фотки ресайзит, и любые другие фокусы может делать.

Вот shell-скрипт: http://pastie.org/660242
PHP-код отвечат абсолютно верно и нормально. Это известная проблема именно nginx-а при выполнении 3-х условий:
1) код ответа 404,
2) версия протокола HTTP/1.1,
3) размер тела ответа болье некого значения Х (я просто не помню сейчас точно это значение, но оно константно).

Это раз. Во-вторых, проблема легко решается просто выдачей ответа из PHP заголовком: «header(»HTTP/1.0 404 Not Found");" вместо «header(»HTTP/1.1 404 Not Found");". Этого абсолютно достаточно, и не важно в каком протоколе идет запрос от пользователя.
>> Вот только обычно пользователи X и Y, которые находятся в разных таймзонах, работают через один веб-интерфейс, который вместе с базой находится в третьей таймзоне."

Похоже, вы плохо читали. Скажите, какая разница, в какой тайм-зоне находится сервер, если время хранится в UTC/GMT+0? Никакой. А веб-интерфейс тут вообще не причем, установка зоны для каждого пользователя будет происходить в базе после коннекта, в скрипты все даты/время будут приходить уже приведенные к зоне пользователя.

По поводу перехода на летнее время, все просто. Механизм определения текущего сдвига времени по локации есть в PHP из коробки, я об этом собирался написать позже. Но раз уж вы затронули тему, то:

// устанавливаем таймзону пользователя, чтобы все функции времени отдавали время правильно
date_default_timezone_set($user->getTimeZone());

// получаем объект класса DateTimeZone для зоны пользователя
$tz = new DateTimeZone($user->getTimeZone());

// получаем текущий офсет времени в секундах от UTC/GMT+0 (здесь летнее время уже учтено)
$tzOffset = $tz->getOffset(new DateTime('now', new DateTimeZone('UTC')));

// строим строку в формате, который понимает мускуль (летом для москвы +04:00, зимой — +03:00)
$sign = $tzOffset < 0? '-': '+';
$tzOffset = $sign. str_pad(floor($tzOffset / 3600), 2, '0', STR_PAD_LEFT). ':'. str_pad(floor($tzOffset % 3600 / 60), 2, '0', STR_PAD_LEFT);

// устанавливаем правильный отступ для текущего подключения (далее юзается только это подключение)
$this->db->Query('SET time_zone = "'. $tzOffset. '"');

Если у вас не PHP, то ищите механизмы перевода времени в своем языке и передавайте мускулю правильный отступ.
Для линукса все проще.

Вариант 1: монтировать каталог с музыкой удаленно через SSH и юзать любой плеер.
Вариант 2: устроить трансляцию через icecast.org
Лечение головной боли отсеканием головы :(

Не ожидал такой развязки. Тем более, так и не понятно, прочитал ли это сообщение хозяин ящика. Если да, то такие меры вообще ничего не меняют в лучшую для банка сторону.
Яндекс.Сервер намного лучше 95% самописанных решений. Кстати, он обладает очень широкими возможностями и отлично работает. Мы его собственно и используем.
Идея — супер. Но не испортит ли такой подход изображение?

Конечно, высокого качества звука в такой системе врядже удастся достигнуть, высокой мощности (громкости) — тоже. Но звук будет в любом случае лучше, чем на мелких встроенных пищалках.
Зачем на production-версии смотреть, «какие в ней версии файлов, какие локальные правки»? Рабочие сырцы вообще надо трогать только один раз при каждом апдейте, всё.

Никаких «svn up (до любой ревизии), svn revert, svn merge» в production быть не должно, это всё должно делать в другом месте, а на рабочую копию исходников должен отражаться только проверенный (протестированный) результат всех этих действий.

Если вы копаетесь в коде прямо на production-сервере, то я право не знаю, что тут можно сказать.

А скрипт писать надо все равно, потому что перед обновлением исходников сайт должен быть закрыт заставкой, а после обновления — открыт.
Вообще-то я так и делаю, а вот товарищ ukko, судя по написанному выше, предполчитает даже не экспортить, а апдейтить прямо в продакшн. Вот ему и вопрос о том, что будет делать при сбое?
Вопрос в силе. Что будете делать, если в середине обновления на пару часов отвалится сервер? Т.е. половина файлов будут обновлены, половина — нет.
Ага. Вы еще скажите, что «по живому» обновляете production из trunc-а.

Для обновления пишутся скрипты, которые закрывают сайт, потом экспортят код, делают какие-то действия если надо, а потом открывают сайт.

Мне еще интересно, что вы будете делать, если посреди «живого» апдейта упадет связь с SVN-сервером?
Я смотрю, многие рванули доказывать превосходство других систем контроля версий над SVN на базе этого топика. Очередной раз из-за «криворуких» пользователей страдает технология :(

Для того, чтобы выливать сырцы на сайт, есть svn export. Это же ясно как божий день. Как можно додуматься лить в веб исходники со скрытыми каталогами .svn? Небось еще и скрытые файлы IDE (такие как .project) туда же попадают…
Мораль — читайте мануал по SVN (это я про svn export)
Ссылки на официальную документацию в статье есть. То, на что дали ссылку вы — перевод официального мануала.
То, что все относительно — бесспортно :)

Аудитория конференций значительно пересекается. Собственно, если бы это было не так, я бы не получил сегодня по e-mail от вас предложения посетить обе конференции в одном письме.

А вот на счет жилья уже сложнее. Можно, то можно. Но как бы вот у меня, например, хватает других проблем, кроме как поиск самого дешевого жилья в Москве на 5 дней. Поймите правильно, это не претензия, а отзыв. Т.е. мы имеем факт того, что из-за выбранных вами дат я (а на самом деле думаю гораздо больше людей) с горечью для себя из-за значительной экономии выбирают вариант HiLOad Only. Кому от этого лучше? Никому: ни вам, ни нам!
А знаете, что хуже всего? То, что HiLoad и PHPConf сделали через выходные, тоесть: [чт, пт] сб, вс, [пн, вт]. Это значит тем неМосквичам, кто хотел посетить обе, требуется выложить лишних 200$!!! на проживание и еще минимум 50$ на питание.

В итоге, для меня вопрос изначально стоял так: я еду на HiLoad и думаю, стоит ли переплачивать 250$ + 5000р. за один день PHPConf. Знаете, пока перевешивает вариант HiLoad Only.

Если бы конференции шли подряд без выходных, точно посетил бы обе.
А где порекомендуете переночевать для немосквичей? Нужен бютжетный вариант.
Вы знаете, а ведь многие на самом деле не знают, как это делать. Особенно это касается общественных мест :)
«А мой принцип прост — вставать вообще без будильника» — со временем это переростает в ночные посиделки до 4 утра и подъем в 12:00. Проверено.

Лучше всего, будильник на 9:00. Если ложиться не совсем поздно, то хватает времени, чтобы выспаться. Причем, при таком раскладе, часто просыпаешся даже до будильника (это как раз когда уже хорошо выспался к этоу времени). У меня что-то подобное практиковалось в детстве, когда была школа на 2-ю смену.
«Как я ем» кстати актуально. Абсолютное большенство людей потребляют пищу совсем неправильно (читай «так, как это делать нельзя»), даже не задумываясь об этом. И сейчас я пишу не о самой пище, и не о том, что на ночь есть нельзя, а именно о процедуре приема (время, скорость, порядок блюд, телек во время еды, мысли не о еде и т.д.)

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity