Задать вопрос
  • MySQL server has gone away. Как исправить?

    Adamos
    @Adamos
    $col_article      = intval( $col_article );
    $col_name      = intval( $col_name );
    
    if($col_article == 0) {
      $col_article = "";
    }
    if($col_name == 0) {
      $col_name = "";
    }

    foreach(['col_article', 'col_name'] as $field) {
      $$field = (int) $$field;
      if($$field === 0) $$field = '';
    }

    $sql = "SELECT searchArticle and brand from `dk_prices` where searchArticle = ?s and brand = ?s";
        $result = $db->query($sql, $articleSearch, $brand);
        if(mysqli_num_rows($result) > 0) {
          $sql = "UPDATE `dk_prices` SET ?u WHERE searchArticle = ?s and brand = ?s";

    INSERT INTO dk_prices SET ?u ON DUPLICATE KEY UPDATE ...
    Ответ написан
  • Система оплаты на сайте?

    Adamos
    @Adamos
    Да можно просто на втором сайте продавать ключи доступа к первому.
    Но что-то эта схема попахивает, а у Палки на такой запашок чутье натренированное...
    Ответ написан
    Комментировать
  • Как научится понимать Bitrix за один вечер?

    Adamos
    @Adamos
    1. Стоит сделать себе копию сайта.
    Править Битрикс на живом сайте человеку, который в нем не разбирается - весьма рискованно и чревато.
    2. Вам обязательно нужен административный доступ к сайту, иначе вы не сделаете ничего в принципе.
    3. Основной шаблон - делаете копию папки, которая используется сейчас (какая-то из /bitrix/templates - какая именно, смотрите в админке). Там правите основные два файла - header.php и footer.php, прописываете стили в .css файлах, туда же сваливаете нужные для дизайна картинки.
    4. Дальше идете по всем подряд страницам и смотрите, где, кроме основного шаблона, используются компоненты (там останется старый дизайн). Ходите администратором, включив в верхней панели "режим правки". Он позволяет увидеть, где какой подключен компонент и шаблон к нему.
    Важно! Не правьте шаблоны, если они не в вашей папке! Сначала скопируйте (все тот же режим правки позволяет это сделать).
    5. Учите РНР, если еще не знаете. Придется.
    Ну, и удачи. Привет от скряги Авгия...
    Ответ написан
    Комментировать
  • Переадресация после оплаты Robokassa?

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

    Adamos
    @Adamos
    Зачем хранить тонны информации, которая уже завтра станет неактуальной. Храните одну запись - с перечисленными вами данными.
    А для конкретного дня делаете 2 запроса к базе. Сегодня будут экскурсии, у которых:
    1. Дата начала - сегодня.
    2. Дата начала в прошлом и:
    2.1 повтор - ежедневно
    2.2 повтор - еженедельно и сегодня тот же день недели (разница в днях кратна 7). Можно оптимизировать, записывая день в отдельный столбец, чтобы не вычислять его каждый раз.
    2.2 повтор - ежемесячно и сегодня тот же день месяца. Тоже возможна оптимизация.
    И все. Благодаря тому, что вы не будете пихать в таблицу ежедневные записи, она останется небольшой, и по ней вполне можно будет ходить такими запросами без особых тормозов.

    Естественно, сразу предусмотреть архивацию устаревших экскурсий. Флагом-датой в той же строке или отдельной таблицей, где на один столбец (дату окончания) больше и куда сбрасываются устаревшие данные.
    Ответ написан
    3 комментария
  • Как из ключей $_POST сделать переменные?

    Adamos
    @Adamos
    $expectingValues = ['name', 'surname'];
    foreach($expectingValues as $ev) {
      $$ev = $_POST[$ev];
    }

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

    Adamos
    @Adamos
    Вы за какие "следы"-то боитесь?
    История, куки и прочее того же Тора? Ну, смонтируйте папку, где он все это хранит, на tmpfs - при перезагрузке его не станет.
    Спрятать конкретные файлы? Ну, truecrypt или его наследники.
    Использовать при этом можно какую угодно систему, которую вам удобнее настраивать. Хоть банальную Убунту.
    Ответ написан
  • Риск авторских прав если программист заливает приложение в AppStore под корпоративным аккаунтом, но используя личную электронную почту?

    Adamos
    @Adamos
    Дисклеймер: я не юрист и могу ошибаться.
    Отсебятина: авторским правом обладает автор. Даже его работодатель обладает не авторскими правами, а всего лишь исключительными правами на результат авторского труда - интеллектуальную собственность.
    Вы, как наемный работник, написав программу, обладаете на нее авторскими правами, но не можете распоряжаться интеллектуальной собственностью, поскольку полностью передаете ее работодателю.
    Как ответственный за публикацию работник, вы можете публиковать ПО со своей почты.
    Если вы уволились - подобные действия с вашей стороны будут неправомерными.
    Не вижу, где тут какие-то проблемы у заказчика.
    Ответ написан
    5 комментариев
  • По ошибке купили комплектующие к ПК и OEM-лицензию. Что можно сделать?

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

    Adamos
    @Adamos
    Алгоритм работы построен неверно, ибо исходит из ошибочной предпосылки возможности 100% корректной конвертации PDF в HTML.
    Лучше бы вам вернуться к ТЗ и изложить его.
    Есть, например, возможность использовать PDF как подложку для нового PDF.
    Кроме того, формат PDF предусматривает поля для заполнения (формы в PDF обычно делаются именно с их использованием).
    А ваша идея - это колхоз на костылях, нормального результата она не даст, только время потратите.
    Ответ написан
    Комментировать
  • Как можно из DOCX вытащить и отобразить на HTML-странице формулу, созданную с помощьюMicrosoft Equation 3.0?

    Adamos
    @Adamos
    Также, я уже обращался с подобным вопросом на ru.stackoverflow.com и мне написали, что из XML-файла можно вытащить все, что угодно.

    Это правда, но есть один нюанс: как из этого "чего угодно" отрисовать формулу - знает только майкрософтовский пакет. А вам данные из этого XML не дадут ровным образом ничего. Открытость по-майкрософтовски.
    Все, что вы можете сделать - это открыть документ в Офисе и попробовать экспортировать его в какой-нибудь реально распространенный графический формат. Можно попробовать начать с PDF...
    Ответ написан
    Комментировать
  • Как избежать race condition при переводе денег?

    Adamos
    @Adamos
    1. получаем баланс пользователя из базы
    2. проверяем хватает ли средств для перевода по полученному балансу в пункте 1
    3. обновляем значения у одного пользователя и другого в базе

    Вообще-то эти действия при желании выполняются одним атомарным запросом UPDATE ... JOIN ... WHERE.
    После которого можно проверить, сколько строк изменил запрос - и либо сохранить информацию об успешно совершенной транзакции (у вас же не только сумма на счетах меняется, правда?), либо вернуть ответ о невозможности перевода.
    Ответ написан
    Комментировать
  • Хотите задать вопрос администрации Тостера?

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

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

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

    Adamos
    @Adamos
    Без VS (слишком громоздкая для моих начинаний)

    QtCreator
    Code::Blocks
    CodeLite
    и множество других IDE без лишней монструозности, избавляющих от тупой ручной работы.
    Ответ написан
    6 комментариев
  • Какие вы читаете профессиональные журналы?

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

    Сейчас лучший журнал - это непромокаемый планшет с экраном достаточного размера ;)
    Ответ написан
  • Когда устанавливаешь собранный из исходников софт, его можно удалить через apt-get remove? или только ручками?

    Adamos
    @Adamos
    Из исходников можно собрать пакет - его можно будет ставить и удалять командой.
    Если же вы делаете просто make install - то apt никак не может быть в курсе, что этот install творит в системе.
    Ответ написан
    Комментировать
  • Как отключить сортировку массива?

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

    Adamos
    @Adamos
    По описанию - подходящий случай для Dependency Injection
    function doSameAction(AbstractDirrefentClass $di)
    {
      // делаем общий код
      $di->makeDifference($data); //А весь различающийся реализован в классах, реализующих один и тот же интерфейс
    }

    Как вариант, этот $di можно передавать не в каждую функцию, а в конструктор класса и присваивать приватному члену.
    Ответ написан