Задать вопрос
  • Как использовать $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 и сравнивать с тем, что имеется.
    Ответ написан
  • С чем связано отключение эффекта субпиксельного сглаживания шрифтов на сайте?

    Adamos
    @Adamos
    Видимо, тот шрифт, который у вас назначен этому тексту, браузер (кстати, вы только Хром пробовали?) растеризует, не используя виндовское радужное размыливание.
    Кстати, почему сразу "блюр"? У меня шрифты настроены на растеризацию без графики, где тут блюр?

    d57279c1863d4b7b81e6d22f3f9742e1.png
    Хм. Скриншот почему-то заметно темнее того, что я вижу на экране... и даже при просмотре этой картинки. Движок сайта ее "улучшает", что ли?

    dc5c7db6b29e4469bf950ce111db6103.png
    Ответ написан
    Комментировать
  • Как вы пишите веб приложения?

    Adamos
    @Adamos
    FTP - это очевидное древнее зло, его можно использовать только в том случае, если вообще нет альтернатив или они еще страшнее (заливка через веб-морду, например).
    Редактирование и сразу сохранение на боевой сервер - одна эта идея должна вызывать у разработчика приток адреналина от представления, чем это чревато.
    Сохранение в теории может привести к тому, что на сервере окажется пустой или оборванный с середины файл. При использовании FTP и не слишком стабильного канала эта теория легко становится практикой.
    Свежеисправленный файл с довольно большой вероятностью содержит ошибки. Даже не говоря о профессиональном тестировании - самому-то хотя бы убедиться, что результат работает примерно так, как ожидалось, надо убедиться, прежде чем выпускать это дело в свет. А еще лучше - постепенно делая одно изменение за другим, проверять, что реализация задуманного соответствует задумке. Обязательно нужен тестовый сервер.
    Тем более, что, если код и файлы организованы грамотно, изменения на одной странице вполне могут означать одновременное изменение четырех файлов (стили, скрипты, класс с логикой, шаблон с представлением). Что будет, если пользователь зайдет на сайт, когда половина из этих файлов не будет обновлена? Хотите поотлавливать ошибки, в которые это выльется? Предположите, например, что эта страничка - корзина интернет-магазина и вы меняли что-то, касающееся товаров...
    Ответ написан
    8 комментариев
  • Задача про стену и кирпичи. Как решить?

    Adamos
    @Adamos
    Обычная комбинаторика
    1. Определяем все различные комбинации кирпичей, укладывающиеся ровно в 25 м - их, кстати, не так уж много, ибо 25 = 3х3 + 4х4 = 7х3 + 1х4, и только
    2. Определяем, какие из них не могут лежать рядом из-за просветов
    3. Перебор рекурсией получившихся вариантов для первого, для него - второго и т.д. рядов

    Ничего особенно неоптимального по памяти не должно получаться

    P.S. Ах да, нужно же только подсчитать количество. Тогда задачу проще начать решать на бумажке в клеточку - глядишь, программировать вовсе не понадобится
    Ответ написан
  • Графическая оболочка ubuntu не запускается с первого раза. Что делать?

    Adamos
    @Adamos
    Самые известные проблемы с графикой у Убунты - это драйвера видеокарты. Особенно ATI / AMD.
    Гуглите эксперименты с xorg.conf, постепенно освоитесь.
    Ответ написан