Задать вопрос
  • Какой наиболее удобный (автоматизированный, простой) способ работы с двумерными динамическими массивами (матрицами) в С++?

    Adamos
    @Adamos
    class MyMatrix {
    public:
      MyMatrix(size_t width, size_t height);
      ~MyMatrix();
      size_t getWidth();
      size_t getHeght();
      MyType get(size_t x, size_t y);
      void set(size_t x, size_t y, MyType value);
    private:
      size_t _width, _height;
      MyType* _memory;
    };

    Если вы знаете С++, то написать реализацию у вас займет что-то в районе получаса...
    Ответ написан
  • Есть ли замена Photoshop?

    Adamos
    @Adamos
    Вопрос не имеет смысла. Автор не ищет замену Фотошопу, он ищет, как получить Фотошоп дешево. Вот только если бы Фотошоп можно было заменить дешевкой, он бы и стоил дешевле.

    Что никак не отменяет факта, что Фотошоп можно заменить. Но не дешевым или бесплатным Фотошопом, как мечтается халявщикам, а сменой принципов работы и изучением не-любительских инструментов. OpenSource решения потребуют не просто замены Фотошопа Гимпом и Инкскейпом, с ними придется еще и разобраться. Что в результате позволит либо профессионально вырасти и повысить производительность работы, либо понять, за что вы платите деньги Adobe.
    Ответ написан
    5 комментариев
  • Как правильно организовать пагинацию страниц с фильтром отображения?

    Adamos
    @Adamos
    Фильтры, отображение и пагинация - это просто набор значений, по которым вы с помощью ajax формируете выдачу.
    Какая разница, сформировался этот набор значений при хождении пользователя по фильтрам и страницам или сразу известен из url? Вы в любом случае подтягиваете ajax-ом соответствующий набор товаров.
    Фактически, параметры, переданные в url, просто заменяют параметры фильтров, отображения и пагинации по умолчанию. Выбор "ajax или url" вообще не стоит.
    Ответ написан
    Комментировать
  • Каковы Ваши доводы за неиспользование транслита в коде?

    Adamos
    @Adamos
    Есть технический вариант: внедрите в используемом IDE проверку синтаксиса и сделайте ее "чистоту" обязательной. Транслит не пройдет, а заодно уменьшите количество опечаток. Особенно актуально для языков с неявным объявлением переменных типа пыха с жабоскриптом.
    Ответ написан
    Комментировать
  • Как использовать $this в анонимных функциях?

    Adamos
    @Adamos
    Анонимная функция - это просто функция, а не метод класса. Какой $this, откуда?
    class A
    {
        public $me;
        
        public function getMe()
        {
            $x = $this->me;
            return $x($this);
        }
    }
    
    $a = new A;
    
    $a->me = function($object) { return $object; };
    
    var_dump($a->getMe());
    Ответ написан
  • Как решить эту задачу без «подбора» значений?

    Adamos
    @Adamos
    Как-то попадалась похожая задача, которая имела успешное решение с линией, разделяющей число 12 на 1 и 2 ;)
    А так - простейшее решение именно перебором. Поскольку перебор-то невелик: считаем сумму, находим половину, предполагаем, что один из концов линии между 12 и 1, проверяем, можно ли куда-то поместить второй конец, затем перемещаем первый между 1 и 2, снова проверяем второй и т.д. Даже для очень больших циферблатов компьютер решит такую задачу за миллисекунды.

    Если хочется интеллекта, пожалуйста: на первом проходе находим единственное решение либо два ближайших неподходящих варианта. На втором получается, что мы из суммы вычитаем то число, на котором начиналась последовательность, но добавляем по 1 на каждый член этой последовательности. Сравниваем результат с теми цифрами, в которые упирается второй конец... в общем, подозреваю, что расчет будет дольше, чем по выше предложенному примитиву.
    Ответ написан
    Комментировать
  • Нужен ли антивирус для LINUX, какой выбрать?

    Adamos
    @Adamos
    Антивирус либо не понадобится, либо не поможет.
    В зависимости от того, будет ли установлен Wine и сможет ли он запустить не то, что вы имели в виду.
    Трояны-шифровальщики, например, под Wine работают совершенно без проблем...
    Ответ написан
    Комментировать
  • Что не так с робокассой?

    Adamos
    @Adamos
    А как вы понимаете "произвольную сумму"? Что ее, клиент должен на Робокассе где-то выбрать?
    Логично у вас же на сайте предложить клиенту указать сумму, сформировать заказ на нее (в полном соответствии с документацией РК) и тогда уже передавать эту информацию платежной системе.
    Ответ написан
    Комментировать
  • На чем лучше всего писать современые прикладныи приложения под Windows?

    Adamos
    @Adamos
    По тем пунктам, которые знаю сам:
    Microsoft Foundation Classes - труп, официально закопанный самой MS
    Visual Component Library - труп, живущий только потому, что студентов годами учили писать под Борланд
    Qt - логичный вариант, минусом тяжеловесность, плюсом кроссплатформенность и развесистость (много готового кода, который можно просто использовать)
    wxWidgets - ну, представьте себе, что независимые программисты посмотрели на MFC и VCL и сделали все то же самое, но кроссплатформенно. Зависимостей нет - все API нативное под каждую платформу. Увы, востребовано оно куда меньше Qt, поэтому развивается вяло и не так богато готовеньким.

    Да, и сейчас уверенно заявлять, что будешь писать только под Windows, довольно неосмотрительно, как мне кажется...
    Ответ написан
    Комментировать
  • Используете ли вы витамины для "мозга"?

    Adamos
    @Adamos
    Во-первых, вы зря торопитесь. Посидите за компьютером лет пятнадцать-двадцать, начнутся проблемы со спиной, невролог вас будет кормить теми же витаминами В-группы в ударных дозах. Наедитесь еще.

    Во-вторых, на такие вопросы в интернетах чудовищное количество ответов, в основном оплаченных. Поэтому, когда вам будут настойчиво советовать пить обычный компливит, вспомните, что обычный ундевит от него отличается только ценой - раз в десять, правда... Ну, и найти его в аптеках труднее, особенно на витрине - там как раз красивые коробочки, прославленные телевизором.
    А так - попить витамины пару раз в год, для профилактики, никому еще не вредило. Но надеяться, что они дадут вам способности, которых у вас нет - как минимум наивно. Они разве что спасут от депрессии, хронической усталости и прочих состояний, граничащих с нерабочим. Подстегивать чем-то здоровый организм - это брать взаймы у собственного будущего. Очень не советую.
    Ответ написан
    8 комментариев
  • Каким образом избавиться от сообщения об неиспользуемых переменных?

    Adamos
    @Adamos
    void check_register( uint16_t status ) { status = status; }
    или
    uint16_t check_register( uint16_t status ) { return status; }
    и вызывать
    check_register(I2C1->SR1);
    нормальный компилятор вызывать такую функцию не будет, но проигнорировать ее тоже не сможет ;)
    Ответ написан
    Комментировать
  • СМС биллинг. Что посоветуете?

    Adamos
    @Adamos
    В первую очередь стоит убедиться, что именно SMS-биллинг нужен позарез.
    С платными СМС-ками в РФ и раньше было хреново, а сейчас они, как мне кажется, просто потихоньку готовятся вымереть, как динозавры.

    С мобильной коммерцией (переводы со счета телефона) и жить легче (меньше ошибок на всех этапах), и комиссия гуманнее. Аудитория того и другого сильно совпадает - отваливаются только пользователи операторов, не входящих в большую четверку, и те, кто сидит на кредитных / корпоративных тарифах. Кроме того, аудитория МК постепенно пополняет ряды пользователей электронных кошельков, что тоже не может не радовать, учитывая комиссию. А СМС-ки временами доставляют больше хлопот, чем профита.
    Ответ написан
    Комментировать
  • Стоит ли ставить Убунту и как с наименьшими проблемами освоиться с ней?

    Adamos
    @Adamos
    Убунту - не стоит. Привыкать к альтернативно неудобному интерфейсу заодно с новой системой совершенно незачем.
    Ставьте Xubuntu или Mint, будет почти привычно - и не так тормозно на ноуте, что тоже не помешает.

    Сначала, конечно, можно попробовать систему в виртуалке. Просто для начального знакомства. Главное - не пугаться тормозам, которые на виртуальном десктопе неизбежны, что бы там ни говорили апологеты "века виртуализации".

    Потом, если всерьез собрались переходить - лучше "сжечь мосты" и не оставить себе возможности вернуться в Windows. Если через полгода такая возможность все равно будет требоваться - тогда поставить второй системой или поднять в виртуалке. До тех пор - находить возможность сделать все то же самое в Линуксе. По моему опыту - эта возможность на поверку оказывается еще и более естественной и удобной. Про виндовские привычки вспоминаешь, как про ошибки юности...
    Ответ написан
    8 комментариев
  • Почему Nginx+PHP-FPM не работают после aptitude upgrade?

    Adamos
    @Adamos
    - include fastcgi_params
    + include fastcgi.conf
    Ответ написан
    Комментировать
  • Как в добавить еще поля в форму обратной связи в битрикс?

    Adamos
    @Adamos
    Выделяем в вашем вопросе "битриксе в компоненте main.feedback", щелкаем правой кнопкой и выбираем "Искать в гугле". Если в браузере нет такого пункта - сделать то же самое вручную.
    Первая же ссылка гугля - "Делаем дополнительные поля в компоненте bitrix:main.feedback". Внезапно.
    Ответ написан
    Комментировать
  • Какую IDE/редактор выбрать для массовых изменений (HTML/PHP)?

    Adamos
    @Adamos
    Имхо, бред. Редактор многих файлов сразу, регулярки... Зачем?!
    Берем сайт, делаем ему полную правку, проверяем ее правильность.
    Делаем diff с оригиналом и накатываем этот патч на все копии.
    Ответ написан
    Комментировать
  • Как сильно полиморфизм влияет на производительность и учитывается ли это в серьёзных программно-вычислительных комплексах?

    Adamos
    @Adamos
    Полиморфизм сам по себе влияет на уровне погрешности.
    Архитектура без него может оказаться настолько менее оптимальной, что будет тормозить куда сильнее.
    По моему опыту оптимизации вычислительной работы программы по скорости, главная проблема - это считать именно то, что нужно. Если просчитываются варианты, то их отсеивание на как можно более ранней стадии - это такой козырь, который бьет любые другие оптимизации.
    Вторая - работа с памятью. Создание массива объектов во вложенном цикле в рекурсивной функции легко уложит на бок весь top500 %) Не говоря уже о том, что вероятность течи прямо пропорциональна количеству динамически созданных объектов.
    А полиморфизм... ну, если у вас реально полиморфная функция будет вызываться миллион раз в секунду, вы, наверное, почувствуете падение производительности...

    В общем, оптимизацию, как мне кажется, нужно проводить в обратном направлении. Сначала - архитектура, в которой работа алгоритмов будет понятной и очевидно оптимальной, затем - поиск узких мест. Если однажды дойдет до того, что узким местом станет полиморфный вызов функций... ну, поздравляю - учите ассемблер!
    Ответ написан
    Комментировать
  • Как шифровать информацию в облаке?

    Adamos
    @Adamos
    Ну, вы половину решения уже написали в постскриптуме.
    Отслеживание изменения файлов - с помощью inotify.
    Ответ написан
    Комментировать
  • Можно ли в C++ организовывать такой массив (Как в JS)?

    Adamos
    @Adamos
    Если как в JS, так и храните, как в JS - строками, которые приводятся к нужному непосредственно перед использованием...
    Ответ написан
    Комментировать
  • Испытываю проблемы со сборкой проекта на cocos2d-x-2.2.6 под OS X в Xcode 6.3.2?

    Adamos
    @Adamos
    Насколько я помню, сначала надо собрать саму библиотеку cocos2d-x. Она у вас лежит рядом с проектом?
    Где-то в файлах библиотеки присутствует проект под XCode, собирающий ее.
    Если библиотека собирается, а игрушка - нет, можно средствами библиотеки создать новый проект, открыть его в XCode и сравнивать с тем, что имеется.
    Ответ написан