Pull to refresh
21
0
lost_shadow @lost_shadow

User

Send message
Не знаю. К счастью, с PHP уже лет 8 не работаю, пересел на django, а там такая схема деплоя единственно естественная (за исключением apache, который я тоже не использую). Впрочем, с некоторой версии там наружу отдаётся две директории со статикой (они отделили user-generated статику от той, что помещается в репозиторий), но это общую схему не меняет.

Я вообще считаю, что плоха любая технология, которая провоцирует код класть в директорию, которую отдаёт веб-сервер. В смысле усложнения выстреливания себе в ногу мне как раз нравится django, там все опасные вещи происходят явно — явно отключается экранирование при подстановке переменной в шаблон, явно отключается экранирование при подстановке значений в SQL, явно отключается защита от CSRF-атак в формах, и так далее.
Да там всё просто — в директории, отдаваемой веб-сервером, только всякая статика. Весь код недоступен веб-серверу, так как лежит в другом поддереве репозитория. Однако FastCGI-серверу, к которому обращается веб-сервер, доступно всё.
А можно и мне эту ссылку?
Я побаяню сейчас, но использовать линукс — значит оскорблять чувства эти самых, ибо в нём есть и демоны, и зомби, а во избежание надобно пользовать windows, где имеются иконы да службы.
Имхо запятая одной кнопкой всё же удобней, чем двумя. У меня для этого используется правый Alt. Привык моментально.

xmodmap -e 'keycode 108 = comma' # right alt
mktemp создаёт файлы в /tmp, и если последний смонтирован на другом разделе, то mv не просто переименует файл, а будет переносить его на другой раздел. В этом плане создание временного файла в той же директории для подобных задач корректнее использования mktemp.

Это не просто будет работать быстрее, при этом ещё и гарантируется, что итоговый файл будет полностью обработан или не обработан вообще (переименование — атомарная операция).
Дура лекс, ой и дура…
Этот ответ был — 33 и 47 минут. Но 33 — это 30 + 3/5 пятиминутного интервала на циферблате. А 3/5 пятиминутного интервала для часовой стрелки — это 48 минут для минутной. Видимо, это ошибка округления.

Я решал так:
Одна (a1) показывает между значениями 6*5 и 7*5 в минутах, другая (a2) — между 9*5 и 10*5 в минутах.
При этом они связаны как часовая и минутная стрелки: a2 = a1 % 5 * 12.

Цикл всего в 5 итераций, но мне проще на питоне:

for a1 in range(6*5, 7*5):
a2 = a1 % 5 * 12
if 9*5 <= a2 <= 10*5:
print a1, a2

34 48
Маловато на нём клавиш для русской раскладки.
При том, что можно выбирать либо стабильность, либо новизну ПО, но не то и другое одновременно.
И да, как уже сказали в комментариях, хотелось бы иметь не костыли вроде этого — habrahabr.ru/post/134606/ — а человеческий, удобный интерфейс.
В первую очередь из-за интерфейса — многие находят его неудобным. К тому же, многие баги не правятся годами. У меня скайп периодически кушает 4 гигабайта и сегфолтится, неузнаваемо искажает звук с микрофона (судя по всему, выставляет неверную частоту дискретизации). Если включить своё видео раньше видео собеседника — гарантированно падает. Порой просто падает. Неоднократно постил им на форум детальное описание ошибок с подробными описаниями и strace-ами на форум — всё без толку.
Пользовался долгое время xenium 9@9k (батарея 1800 mAh), но в итоге тот сдох от старости (или не от старости — умер через небольшое время после похода, в котором 9 дней подряд шли дожди и высушить конденсат было решительно негде). Таких моделей больше нет и я взял x513 — в частности, они исправили проблему с usb-наушниками и в телефоне теперь стандартный разъём для них. Да и аккумулятор 2000 mAh — это всё же чуть больше. А 1050 mAh я считаю совсем несерьёзным — его, наверное, даже на неделю не хватает. X513 тяжёлый (аккумулятор занимает более половины объёма), но приятно тяжёлый — корпус стальной, а не хлипкий пластик.

Я пока больше, чем на 12 дней на природу не выезжал, так что сказать максимальное время работы телефона не могу. Небольшой конденсат вроде бы удовлетворительно держит, но защиты, как у Garmin, ему явно не хватает.

Вот, кстати, хороший обзор: А Philips как делал телефоны, работающие месяцами без подзарядки, так и делает, потихоньку совершенствуясь в этом ремесле.

Я из тех людей, которые предпочитают разделять функционал по вещам. Как в linux, где одна программа делает только одну вещь, но делает это хорошо, так и в железе я использую отдельно телефон, у которого нет проблем с надёжностью, связью и батареей, отдельно GPS, который имеет отличный приёмник, барометрический альтиметр и магнитный компас, не боится проливного дождя, ударов, вибрации, бережно относится к энергии и работает на любых батареях (Garmin Oregon, если кому интересно). Также, по аналогии, у меня отдельно КПК, аудиоплеер, фотоаппарат, карманный ноутбук и так далее.

При этом мне известны люди, которые пытаются совмещать все эти функции в одном приборе. Однако, если задуматься, то всё это совмещение — это полумера, причём очень и очень некачественная полумера: фотоаппарат с крошечным объективом крохотной светосилы (и это — меньшее из его недостатков), плеер, обычно с далёким от идеала звуком, переслушав музыку на котором можно посадить батарею и остаться без связи именно тогда, когда это крайне необходимо, GPS, неспособный писать трек сколько-нибудь длительное время и так далее. В силу сказанного считаю обсуждения вроде «а что умеет телефон» сильно некорректным — чем выше количество функций, тем ниже их качество.
Мне интересно это почитать. Можете дать ссылку на это комментарий?
Здесь всё очень просто — сервер — то, к чему подключаются (предоставляет услуги/функции), клиент — тот, кто подключается (запрашивает услуги). Программа, если желает, подключается к X-серверу, если желает, но не наоборот.

Торрент-клиент может отрисовывать GUI на экране и являться в этой роли клиентом X-сервера. Он же может предоставлять для удалённого управления веб-интерфейс и являться в этом отношении сервером для браузера. А браузер при просмотре web-страницы управления этим torrent-клиентом будет являться клиентом и для torrent-программы, и для X-сервера. И при чём этом X-сервер может писать что-то в логи, являясь в этом взаимодействии клиентом для сервера syslog.
С балансом вы не правы. Зачем что-то нажимать? Банкоматы МДМ-банка пишут текущий баланс над кнопками управления после вставки карты и ввода пин-кода. Поскольку лишних элементов интерфейса вроде картинок и баннеров после вставки карты у них нет, это видно сразу.
Не сразу понял, почему скриншоты со шрифтами вызывают у меня отторжение — они все выглядят не просто размытыми, но и разлагающимися на цветовые составляющие. Обладатели ЖК-дисплеев с таким же порядком субпикселей в пикселе меня не поймут, но оценить шрифты мне не удалось даже после игры со сведением лучей монитора.
Давайте договоримся на том, что когда мне захочется познакомиться с языком JavaScript, ваш код будет одним из первых, который я почитаю?
У меня не noscript, отнюдь. JavaScript и Java включены, но не в этом суть. На сервере есть два типа решения — с использованием server-side-JavaScript и с использованием иного языка программирования. По поводу первого при работе с БД я не знаю абсолютно ничего. По поводу второго — в случае нормализованной базы достаточно сделать что-то вроде (код не проверял):

Для поиска доступных параметров:
filters = {}
for parameter_name in current_item_type.CAN_BE_FILTERED_ON:
    values_list = CurrentItemType.objects.distinct(parameter_name).values_list(parameter_name)
    filters[parameter_name] = [lst[0] for lst in values_list]

Для фильтрации объектов по параметрам:
queryset = current_item_type.objects.all()
for parameter_name in current_item_type.CAN_BE_FILTERED_ON:
    value_exact = request.GET.get(parameter_name)
    queryset = queryset.filter(**{parameter_name:value_exact})


И передать в шаблон queryset и filters и сформированный аналогичным образом current_filter. Много ли это времени займёт? Нет. А пагинацию добавить? В Paginator() обернуть queryset. А если приделать сортировку по любому полю? Ещё пять строчек. А группировку по любому? Ещё больше. А чтобы плясало и кофе варило? А чтобы и html-шаблоны я писал? А ещё чтоб сервер тоже я админил? В итоге получаем, что на вопрос «сколько у вас уйдёт времени» я ответить вам не смогу, не зная задачи в точности.
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity