Задать вопрос
  • Как работает деинсталятор?

    Adamos
    @Adamos
    А зачем вы пишете деинсталлятор, когда есть готовые, полноценные и при этом бесплатные решения вроде NSIS, например?
    Ответ написан
    Комментировать
  • Подскажете агрегатор платежных систем?

    Adamos
    @Adamos
    Вам все равно надо ознакомиться с API каждой ПС, потому что иногда они меняются (например, идентификатор оплаты конкретно Яндекс.Деньгами на Робокассе менялся за последние годы пару раз).

    Вам все равно надо писать свою логику создания заказа и обработки сигнала о его оплате.

    Между этими двумя "все равно" остается настолько узкий промежуток, что проще заполнить его самому, написав один абстрактный класс и его наследники для каждой системы, чем полагаться на чье-то решение, с которым придется разбираться и выяснять, подходит ли оно к вашему случаю и не успело ли оно уже устареть.
    Ответ написан
    Комментировать
  • Как правильно реализовать API?

    Adamos
    @Adamos
    Как я начал делать, при авторизации с приложения делаю запрос к API такого плана:
    /api/?user.checkAuth={"login":"admin", "pass":"md5('.....)"} проверяю правильный ли хеш,

    А дальше генерирую случайную строку и сохраняю ее на сервере в паре СТРОКА - ПОЛЬЗОВАТЕЛЬ, так же отсылаю ее в ответ приложению, те эдакий сессионный токен, который знаю я, и знает приложение.


    Наоборот.
    Приложение стукнулось на сайт - пока без авторизации.
    Сайт создает запись о новом посетителе и присваивает ему токен. Возвращает id посетителя и токен.
    Приложение возвращает этот id, логин и хэш от (хэш пароля + токен) - сайт сможет повторить это хэширование, а хэш пароля (по которому у вас, получается, можно авторизоваться, даже не зная пароля) в передаче не светится вовсе.
    Заодно логика посетителя позволяет одному и тому же клиенту одновременно авторизоваться с нескольких устройств, не сбрасывая сессию.

    Чем-то грозит реализация, такая, что один user_id может иметь несколько токенов?

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

    Adamos
    @Adamos
    Вы таки будете смеяться, но именно для программиста - если это программист-прикладник - разные поколения одних и тех же железок не отличаются НИЧЕМ!!!
    Ответ написан
    Комментировать
  • Возможно ли использование нейронной сети для ценообразования в строительстве?

    Adamos
    @Adamos
    сметчик работает в определенно заданной среде (Федеральная база, Региональная, Территориальная и.т.д.).

    Попробую угадать: а поскольку эти базы сделаны через задницу, причем каждая - через свою, особенную, то свести их данные к чему-то единому может только человек... ну, или нейронная сеть после долгого обучения. Ведь правда?
    Ответ написан
  • Как пользоваться библиотекой idma/robokassa в laravel?

    Adamos
    @Adamos
    не пойми откуда взялась переменная $order

    Из вашего магазина. Для запроса на оплату нужны уникальный id заказа, его сумма и его название (в примере - просто текст, но его имеет смысл заменить на реальное название, так как пользователю на сайте Робокассы будет предложено именно это оплатить).
    Без этих параметров Робокасса вам, естественно, ничего не предложит. Что оплачивать-то?

    Так же, нужно и создавать отдельную таблицу для платежей?

    Опять-таки вопрос к вашему магазину. У вас должны храниться заказы, чтобы, когда Робокасса подтвердит вам оплату, сверить сумму - не подделал ли ее пользователь по дороге. В той же таблице можно хранить и информацию об оплате этого заказа.
    Ответ написан
  • Почему не компилируется helloworld с использованием wxWidgets?

    Adamos
    @Adamos
    Вообще-то актуальная версия библиотеки - третья.
    У вас же почему-то линкер ищет библиотеки для 2.8
    Ну, и, скачав эту библиотеку с официального сайта, первым делом ее саму надо скомпилировать.
    По инструкции с того же сайта.
    Ответ написан
  • Как в Linux сравнить рекурсивно 2 папки за исключением файлов по шаблону?

    Adamos
    @Adamos
    Если командная строка не обязательна, то Meld как будто специально создан для вашей задачи.
    Ну, и у diff есть ключ --exclude (он же -x). RTFM.
    Ответ написан
  • Как разбить большую функцию на несколько мелких?

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

    Adamos
    @Adamos
    Главный вопрос - есть ли у правообладателя юридический отдел.
    Потому что привлечь по суду всяких халявщиков вроде вас - никаких юристов не напасешься, а пока дело дойдет до взыскания - вы уже растворитесь в серой массе, из которой вышли. Просто потому, что, не вкладываясь в сайт, ни черта с него и не получите - на таком-то высококонкурентном рынке.
    Поэтому, скорее всего, бояться вам нечего. Можете воровать дальше.
    Ответ написан
    Комментировать
  • Какую книгу выбрать?

    Adamos
    @Adamos
    Для начала - любой учебник по С++, кроме учебников по VisualC++ и BorlandC++ (эти плохому научат).
    Потому что С++ имеет такую особенность: 80% языка принципиально непонятны и чужды тому, кто еще не освоил базовые 20% и не имеет достаточного практического опыта их применения.

    Вам нужно самостоятельно написать километры говнокода, чтобы понять правильный подход к ООП в С++, шаблоны, достоинства ссылок перед указателями, применение const и т.п. Никакой учебник тут не поможет.
    Ответ написан
    3 комментария
  • Какой максимально эффективный способ защиты от скачивания изображений с сайта вы знаете?

    Adamos
    @Adamos
    Максимально эффективный способ - это иметь на сайте изображения, которые никто не будет скачивать.
    Например, водяные знаки или надпись с названием сайта на каждом фото позволяют приблизиться к этому идеалу.
    Ответ написан
    8 комментариев
  • Какая математика нужна програмисту?

    Adamos
    @Adamos
    > Математику в школе я знаю на среднем уровне (не умный но й не тупой)

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

    Adamos
    @Adamos
    Стоит переделать логику калькулятора.
    1. В форме выводятся просто варианты выбора, без прописывания в них цены.
    2. При любом изменении собираем все данные формы.
    3. Исходя из известных данных, делаем расчет (используя готовые таблицы цен в зависимости от параметров).
    4. Выводим в каждый пункт его стоимость, выведенную в расчете.

    Преимущества:
    1. Можно будет заменить эти жуткие выпадающие списки, например, группой кнопок с переключателем. И вообще - навести хоть какой-то дизайн.
    2. Цены могут браться с внешнего источника. Можно будет прикрутить к админке правку этих цен без вмешательства в код калькулятора. Или сделать конструктор калькулятора из той же админки (с настройкой - вот такой контрол вот так влияет на расчет).
    Ответ написан
    Комментировать
  • Как оптимизировать время сайта?

    Adamos
    @Adamos
    var t = new Date();
    t.setTime(<?= strtotime('now') ?>);
    write(t.toLocaleTimeString());
    Ответ написан
    Комментировать
  • Не открывается файл?

    Adamos
    @Adamos
    В С++11 функция std::ifstream::open принимает аргументом std::string.
    Калечить путь переводом c_str не нужно.
    Ответ написан
    Комментировать
  • При урезании изображения его размер растет, что не так?

    Adamos
    @Adamos
    Картинка-то с палитрой, а IM переводит ее в RGB, добавляет полутонов при масштабировании - и сохраняет в RGB же. Нужно явно указать ему, что полутона не нужны и надо получить индексированное изображение.
    convert -resize 1400 -strip -dither None -colors 49 maxCompress-H189jMD2.png 1.png
    Ответ написан
    Комментировать
  • Как выявить слабое звено тормозящего ПК?

    Adamos
    @Adamos
    Быстрая помощь от такой болезни, как "компьютертормозит" - батник в автозагрузке:
    del /s /q %TEMP%\*.*
    rd /s /q %TEMP%
    mkdir %TEMP%

    После первой же перезагрузки значительная часть тормозов может исчезнуть...
    Впрочем, я обычно применяю это средство в лабораторных условиях - у пользователей, не имеющих прав на загаживание системы малварью. Им помогает.
    Ответ написан
  • Какие преимущества Mac OS перед Windows для web-разработки (frontend, верстка)?

    Adamos
    @Adamos
    Вопрос уже стал для Тостера стандартным.
    Стандартный ответ: у Windows есть ровно два преимущества.
    1) под них написано много всякого-разного софта. Нужного среди этого "много" - не так уж и много, но все же. Для человека, работающего с вебом, критичны только продукты Adobe (но под Мак они есть) и Microsoft (а от этих в вебе лучше держаться подальше).
    2) многие привыкли к Windows с детства.
    На этом достоинства заканчиваются - и начинаются недостатки... которых лишены те нормальные ОС, которые в "подоконном" обществе называют "альтернативными".

    Так что правильный вопрос звучит не "в чем преимущества?", а "действительно ли мне необходимы винды?"
    Ответ написан
    Комментировать