LINUX.ORG.RU

Сообщения Pythagoras

 

Валидность указателя, возвращаемого итератором

Форум — Development

ВНИМАНИЕ: Это вопрос не о валидности самого итератора!

Привет Лор,

Функция итератора operator->() возвращает указатель. Будет ли валидным этот указатель после каких-то неконстантных действий с итератором? Ну, то есть, если итератор при разыменовывании просто возвращает указатель непосредственно на сам элемент контейнера, то всё понятно. А может ли он делать какие-то другие хитрые действия и возвращать указатель на какой-нибудь временный объект?

Вот 2 примера, которые показывают, что всё вроде бы работает (по крайней мере, с std::vector). Но можно ли на это полагаться с произвольным итератором, не является ли это UB? Более важно, если я делаю свой итератор, обязан ли я обеспечивать подобную работу?

#include <iostream>
#include <vector>

int main(void)
{
    std::vector<int> x;

    x.push_back(1); //first element
    x.push_back(2); //second element

    std::vector<int>::iterator i(x.begin()); // declare an iterator pointing to the first element (0)

    int * xptr=i.operator->(); // dereference the iterator and save the pointer

    ++i; // increment the iterator

    std::cout<<*xptr<<'\n'; // get dereferenced value

    return 0;
}
#include <iostream>
#include <vector>

int main(void)
{
    std::vector<int> x;

    x.push_back(1); //first element
    x.push_back(2); //second element

    std::vector<int>::iterator *iptr=new std::vector<int>::iterator(x.begin()); // declare an iterator pointing to the first element (0)

    int * xptr=iptr->operator->(); // dereference the iterator and save the pointer

    delete iptr; //delete the iterator

    std::cout<<*xptr<<'\n'; // get dereferenced value

    return 0;
}

 ,

Pythagoras
()

HTTP 451 становится реальностью

Форум — Talks

То, о чём так давно говорили большевики (HTTP 451), наконец случилось: https://www.mnot.net/blog/2015/12/18/451

Ъ: Уже пора делать

location /suicide.txt {
    return 451;
}

 ,

Pythagoras
()

БЦЖ

Форум — Science & Engineering

Третий день не могу найти нормальную, достоверную инфу о том, что такое сабж - эталонное ненужно или мастхев. Интернет завален эмоциональными неаргументированными воплями антипрививочников и анти-антипрививочников, при этом безо всякой сильной аргументации.

Итак, уважаемый ЛОР, я хочу численно оценить эффективность этой конкретной вакцины (вероятность заболеть теми формами туберкулёза, от которых она защищает, у привитого и непривитого человека), и вероятность поствакцинальных осложнений самой прививки (каждого из существенных в отдельности).

Ребёнку 1 год, иммунитет хороший, Москва.

Интересуют именно данные научных исследований, а не заявления личностей или организаций разной степени авторитетности, диванности и анонимности. Это не тред о прививках вообще, а только о БЦЖ.

Наверняка многие, у кого есть дети, уже изучали уже этот вопрос и считали матожидания, может, поделитесь результатами? Ведь вакцина массово применяется больше полувека - наверняка за это время накопилось много данных.

 ,

Pythagoras
()

Помогите вспомнить короткометражку про старбакс и путешествия во времени

Форум — Talks

Добрый день, Лор!

Помогите вспомнить короткометражный фильм... Сюжет такой:

Девушка работает официанткой в Старбаксе, хочет познакомиться с одним из посетителей, но он на неё не обращает внимания. Другой посетитель пытается ей помочь. Он имеет наручные часы со встроенной машиной времени, которые могут отмотать время назад. Он несколько раз это делает, пытаясь подстроить ситуацию так, чтобы первый посетитель заметил официантку.

 

Pythagoras
()

Принцип неопределённости

Форум — Science & Engineering

Хоть сегодня и не пятница, но всё равно спрошу.

Правильно ли я понимаю принцип неопределённости, что если я очень точно измерю частоту фотона, то он может мгновенно отправиться в соседнюю галактику?

А эфир здесь при том, что ни при чём.

 

Pythagoras
()

Как это сделать правильно?

Форум — Security

Всем привет!

Есть простенький веб-сервис, который по команде от гитхаба (https://developer.github.com/webhooks/) должен делать git pull && make.

Веб-сервис выполняется в контексте httpd_t, а для того, чтобы сделать git pull нужно достаточно много прав (как минимум, доступ к хомяку), которых не хочется давать всему httpd_t.

Как настроить SELinux так, чтобы он позволял такое повышение прав только для очень ограниченных действий? Примерно как sudo, которое можно настроить на запуск только определённых команд. Но sudo не изменяет контекст.

 

Pythagoras
()

Аналог RewriteBase в nginx

Форум — Web-development

Добрый день!

Написал вот простенькие правила для модуля http_rewrite Nginx. Получилось так, что в 20 строчках название локейшена встречается 15 раз. Это не очент хорошо, так как если я захочу перенести всё в другую директорию, то придётся делать 15 правок.

location /phototest/ {
        if (-d $request_filename) {
                rewrite ^/phototest/(.*[^/])$ /phototest/$1/ permanent;
                rewrite ^/phototest/photos/(.*)$ /phototest/?rewrite=1&dir=$1 last;
        }
        rewrite ^/phototest/small/(.*)$ /phototest/getimage.php?mode=small&filename=photos/$1 last;
        rewrite ^/phototest/thumb/(.*)$ /phototest/getimage.php?mode=thumb&filename=photos/$1 last;
        if ($args ~ "^dir=([^&]*)$") {
                set $dir $1;
                rewrite ^/phototest/$ /phototest/photos/$dir? permanent;
        }
        if ($args ~ "^dir=([^&]*)&(.*)$") {
                set $dir $1;
                set $extraargs $2;
                rewrite ^/phototest/$ /phototest/photos/$dir?$extraargs? permanent;
        }
        if ($args !~ "^rewrite=1") {
                rewrite ^/phototest/$ /phototest/photos/ permanent;
        }
}

Ввёл переменную. С её помощью удалось сократить до 9, но всё равно это много. Насколько я понял, переменную нельзя использовать в регэкспах. Так ли это?

location /phototest/ {
        set $rewritebase /phototest;
        if (-d $request_filename) {
                rewrite ^/phototest/(.*[^/])$ $rewritebase/$1/ permanent;
                rewrite ^/phototest/photos/(.*)$ $rewritebase/?rewrite=1&dir=$1 last;
        }
        rewrite ^/phototest/small/(.*)$ $rewritebase/getimage.php?mode=small&filename=photos/$1 last;
        rewrite ^/phototest/thumb/(.*)$ $rewritebase/getimage.php?mode=thumb&filename=photos/$1 last;
        if ($args ~ "^dir=([^&]*)$") {
                set $dir $1;
                rewrite ^/phototest/$ $rewritebase/photos/$dir? permanent;
        }
        if ($args ~ "^dir=([^&]*)&(.*)$") {
                set $dir $1;
                set $extraargs $2;
                rewrite ^/phototest/$ $rewritebase/photos/$dir?$extraargs? permanent;
        }
        if ($args !~ "^rewrite=1") {
                rewrite ^/phototest/$ $rewritebase/photos/ permanent;
        }
}

Возможно ли как-нибудь ещё сократить количество упоминаний? ([^/]*) не предлагать, так как заранее неизвестно, какой уровень вложенности будет.

Чтобы убрать лишние детали, то вопрос такой: можно ли уменьшить количество упоминаний в этом фрагменте, при том, что уровень вложенности локейшена заранее неизвестен, а вариант запроса /phototest/small/phototest/small/phototest/small теоретически возможен?

location /phototest/ {
        set $rewritebase /phototest;
        rewrite ^/phototest/small/(.*)$ $rewritebase/getimage.php?mode=small&filename=photos/$1 last;
        rewrite ^/phototest/thumb/(.*)$ $rewritebase/getimage.php?mode=thumb&filename=photos/$1 last;
}

 ,

Pythagoras
()

ICANN

Форум — Talks

Как отреагирует мировая общественностальость, если ICANN вдруг начнёт массово отзывать доменные имена по политическим мотивам? Что скажет RMS?

 ,

Pythagoras
()

Отсыпьте мне немного тёмной материи

Форум — Science & Engineering

Объясните мне кто-нибудь, почему в нашей солнечной системе нету тёмной материи? Я понимаю, что её сложно заметить, и что она ни с чем почти не взаимодействует, как бы они там ни пытались сталкивать свои атомы в ускорителях. Но ведь если бы она была, её бы можно было заметить по гравитационному воздействию, так же, как это сделали в галактиках: Земля или Солнце были бы тяжелее, чем видимая материя, и, наверное, ещё куча интересных вещей бы происходило в движениях планет. Например, у нас нет, скажем, астероидов из тёмной материи. Так почему она везде есть, а у нас под носом - нет?

И ещё один вопрос про тёмную материю. Обычный межзвёздный газ начинает сжиматься под действием гравитации, но потом давление нарастает и сжатие останавливает. Получается звезда. Но у тёмной материи нет давления, так как нет фундаментальных взаимодействий кроме гравитационного. Значит ничто не будет ей мешать неограниченно сжиматься. Значит любое более-менее значительное количество тёмной материи обязательно образует тёмную чёрную дыру. Поскольку считается, что тёмной материи во Вселенной гораздо больше, чем обычной, то у нас сейчас было бы огромное количество чёрных дыр. Однако их нету. Где же они?

 ,

Pythagoras
()

Выбор железа для NAS

Форум — Linux-hardware

Добрый день всем.

Помогите с выбором домашнего NASа. Основные требования:

  • Пассивное охлаждение
  • Низкое энергопотребление
  • Полноценный Linux (доступные репозитории или тулчейн)
  • Компактные размеры. Старый системник - не подойдёт
  • 2-4 диска. Лучше 2.5"
  • Производительность - достаточная для транслирования фильма FULL HD по DLNA при одновременной работе торрент-клиента.

Стоит ли искать готовые устройства, подходящие под требования?

Pythagoras
()

Посоветуйте браузер

Форум — General

Не флейма ради, а токмо вследствие Opera RIP, ищу замену браузеру. Требования:

Кроссплатформенность Мышиные жесты Активная разработка.

Перемещено mono из talks

Pythagoras
()

Прототип свободного планшета OpenPhoenux

Форум — Talks

Компания Golden Delicious представила первый прототип 7-дюймового планшета OpenPhoenux 7004, работающего под управлением Linux. Планшет сделан на основе платы GTA04, которая является заменой материнской платы для телефонов Openmoko Neo FreeRunner (напомню, что Golden Delicious не связана с Openmoko). Особенностью планшета является полностью открытое аппаратное и программное обеспечение (Debian/LXDE).

Характеристики:

  • Размер диагонали экрана: 7 дюймов (17,8 см).
  • Разрешение экрана: 480x800.
  • CPU: OMAP DM3730@1GHz.
  • RAM: 512 MB.
  • NAND: 1 GB.
  • Беспроводные интерфейсы: Wi-Fi, Bluetooth, RFID, UMTS (опционально).
  • Проводные интерфейсы: OTG, RS232, USB, Ethernet (опционально).

Сроки окончания разработки и окончательная цена пока не называются, но уже известно, что устройство будет дороже проприетарных аналогов в связи с отсутствием массового спроса.

Сайт компании

Сайт проекта

Видео прототипа

Подробности в списке рассылки

Перемещено Shaman007 из hardware

 

Pythagoras
()

Посоветуйте аналог Rosegarden под Windows

Форум — Desktop

Существуют ли под Windows приличные нотные редакторы? Сам я использую Rosegarden + Lilypond, но возникла необходимость порекомендовать что-нибудь виндузятникам. MS Notepad + GNU Lilypond не предлагать, не разберутся.

Pythagoras
()

Проблемы с кодировкой

Форум — General

Редактировал файл с помощью mcedit подключившись по ssh, после сохранения русские буквы превратились в абракадабру, которую я не смог распознать. Вот фрагмент: "5@20O 25@A8O", что должно означать "Издание первое", или ">1=>2;5=> 15 =>O1@O", что в оригинале было "обновлено 15 ноября".

Что произошло и возможно ли восстановить текст?

Pythagoras
()

ASUS WL530g-V2 и маршрутизация

Форум — Admin

Приобрёл WIFI маршрутизатор ASUS WL-530g V2. Он подключается к интернету через PPPoE, но при этом перестают быть доступными ресурсы внешней локальной сети, работает только то, что доступно через pppoe. Пришлось слегка модифицировать прошивку, чтобы добавить туда telnet, прописал маршрут до внешней сети. Теперь сеть пингуется самим маршрутизатором, но из внутренней сети во внешнюю по-прежнему не пропускает. Подскажите, куда копать.

>BusyBox v0.60.4 (2005.04.19-15:50+0000)

>>>

Pythagoras
()

Посоветуйте торрент-клиент

Форум — Talks

Нужен клиент bittorent для пускания через ssh, то есть консольный, и желательно сделанный по клиент-серверной архитектуре, то есть подключился - посмотрел, как качается - отключился.

>>>

Pythagoras
()

Можно ли создать каталог с названием "../.." (без кавычек)?

Форум — Talks

Имеется в виду каталог в текущей директории.

Если не ошибаюсь, названием файла может быть последовательность из любых символов, кроме нулевого.

>>>

Pythagoras
()

Neo Freerunner готов к массовому производству

Форум — Talks

Наконец-то закончились все предварительные тестирования.

>>>

Pythagoras
()

Big Buck Bunny - когда?

Форум — Talks

Когда же, наконец, выпустят сабжевый мультфильм?

>>>

Pythagoras
()

Каталог vs директория vs папка

Форум — Talks

В лём разница и как правильнее?

>>>

Pythagoras
()

RSS подписка на новые темы