Задать вопрос
  • Как создать список транзакций в bitrix?

    Adamos
    @Adamos
    Традиционно в Битриксе "под это дело" выделена таблица b_sale_user_transact штатного модуля Интернет магазин.
    Ответ написан
  • В чем разница между шаблонами делегирование, фасад, интерфейс?

    Adamos
    @Adamos
    Не очень владею терминологией паттернов, но предположу, раз больше желающих нет.

    Фасад скрывает от использующего нюансы реализации. Например, в Laravel используется фасад DB, который позволяет просто отправить SQL-запрос к таблице в подключенной к Ларавели БД. Используя DB, нужно знать только поля этой таблицы. Как она подключена, на каком движке - SQLite/MySQL/Postgres/etc, логины-пароли - все это остается за фасадом.

    Делегирование разбирается с логикой. У вас есть какая-то наружная логика, простая и понятная. Как она реализуется уровнем ниже, какие там вызываются классы и методы и почему - скрыто за внешней простотой.

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

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

    Adamos
    @Adamos
    504 выдает не mPDF, а nginx, не дождавшийся конца обработки файла.
    Вам нужно, получив запрос на такую обработку:
    - записывать его в очередь (в БД, например)
    - разбирать ее параллельно (по крону, например)
    - оповещая запросившего о готовности результата (по почте, например).
    Ответ написан
    3 комментария
  • Как в gimp сделать невидый отступ от картинки с изображением по краям скажем 50px?

    Adamos
    @Adamos
    Canvas size (ru: Размер холста), +100 px по обоим размерам и сцентрировать.
    Ответ написан
    Комментировать
  • На каком этапе обучения стоит учить ООП?

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

    Adamos
    @Adamos
    Пара учебников по Java, пара - по С++, один по азам веба. Ну, тут самому надо решить, за что браться - все три "в одну телегу впрячь не можно".
    Дальше, пара книг по алгоритмам. Вряд ли стоит их грызть до возможности применить - то есть до изучения хотя бы одного языка программирования (HTML и CSS - языки разметки).
    Мартин и Бек - после законченных самостоятельных проектов. Они хорошо объяснят вам, как уверенному в себе программисту, почему вы зря так уверены в себе.
    Практическое руководство по Git стоит взять, когда сможете поднять голову от кода и задуматься о том, как содержать его в порядке.
    Остальное можете использовать как подставку под горячее.
    Ответ написан
    3 комментария
  • Что лучше для ребенка для первоначального освоения ПК - Windows или Linux?

    Adamos
    @Adamos
    Практика.
    Когда мой ребенок пошел в школу и там с первого класса стали приучать делать презентации - отдал старый ноутбук. На нем был Линукс и ЛибреОфис.
    Плюсы:
    - не будет "яничегонеделалаоносамо". Мне НИ РАЗУ не пришлось "чинить" этот ноут, только показывать, как что делать.
    - нет игрушек. Очевидный плюс, если вы хотите не занять ребенка, чтобы отвязался, а именно научить его пользоваться компьютером.
    - ну, и я настроил аккаунт на своей домашней машинке, чтобы ребенок мог в привычном окружении сделать что-то на более удобном экране с более удобной периферией. Винды у меня нет.

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

    Adamos
    @Adamos
    Вроде как есть утилита rsinc для centos, но ей нужен доступ куда будет писать, не подходит получается

    Херня какая-то получается.
    Вообще-то rsync - более рабочее решение, чем велосипеды Битрикса. И нужен ей не "доступ, куда писать", а "доступ, откуда" - то есть к сайту.
    Ответ написан
  • Как в October cms вывести название товара в Title, а описание в description?

    Adamos
    @Adamos
    Убрать это из страницы, завести блок в общем макете и переписывать его на нужных страницах.
    Вот, например, разбирается такой же вопрос: https://octobercms.com/forum/post/variable-to-the-...
    Ответ написан
  • Почему в safari не работает favicon?

    Adamos
    @Adamos
    Набрать в гугле "free favicon generator" - любой настрогает вам нужные строчки под все популярные системы.
    Ответ написан
    Комментировать
  • Как систематизировать цикл for?

    Adamos
    @Adamos
    // в switch: определяем n, и только.
    for(let i = 0; i < one.length; i += n) {
      let eq = true;
      for(let pos = 0; pos < n; ++pos) {
        if(one[i + pos] != two[i + pos]) {
          eq = false;
          break;
        }
        if(eq) {
          // ну, и тут по аналогии
        }
      }
    }

    P.S. И да, у меня тоже есть подозрение, что выполнение этого кода натворит именно ту лютую дичь, которую он реализует, а задачу нужно было решать иначе ;)
    Ответ написан
    Комментировать
  • Как правильно организовать работу с сущностями в разных состояниях?

    Adamos
    @Adamos
    Для начала - забыть про "мастер данные" и считать то, что внес мастер, просто первой версией данных. Добавленные или исправленные - очередная версия. Хранятся все версии, у последней редакции - пометка "активная", по ней и выборка. При удалении ставится отметка об удалении, с активной удаленной активность переходит на предыдущую, при попытке удаления единственной неудаленной версии - отлуп.
    Ответ написан
    Комментировать
  • Как оптимизировать синхронизацию сторонних данных с таблицей?

    Adamos
    @Adamos
    В скрипте сначала определить список конфликтующих oldRatesId и по ним разделить синхронизацию на пакетный INSERT и пакетный же UPDATE.
    Попутно может оказаться, что играет только MAX(oldRatesId), потому что поля с уже существующими в базе и не меняются.
    Ответ написан
    Комментировать
  • Как правильно организовать модерацию записей от пользователей?

    Adamos
    @Adamos
    Не экономьте на спичках и просто храните все варианты записей.
    А отображайте - ту, у которой стоит пометка "активная" (это последняя отмодерированная).
    Ответ написан
    Комментировать
  • Как записать данные в CSV файл из php?

    Adamos
    @Adamos
    Прочитать документацию на используемые функции.
    У fputcsv не два аргумента, а шесть.
    Можно выставить такие значения, чтобы даже дебильный Ёксель правильно разобрал.
    Calc, между прочим, таки спрашивает, а не корчит из себя экстрасенса.
    Ответ написан
    Комментировать
  • Как сделать разряд цифр в input но без пробелов в value?

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

    Adamos
    @Adamos
    Примерная хаутушка, если вдруг у кого зачешется левая пятка:
    0. Здесь ресурс айтишных вопросов. Не айтишные, а также опросы, задания, спам и флуд - удаляются.
    1. Погугли, прежде чем спрашивать. Кстати, здесь тоже есть поиск (ссылка).
    2. Обращайся с проблемой. Не с задачей, а с тем, что у тебя не получилось в ее решении. Если ты ничего не сделал для решения сам - тебя здесь затроллят и отправят на фриланс.
    3. Если задача решается кодом - приведи код. Не скриншоты, видео и ссылки, а код. В теге "code", чтобы его можно было нормально прочитать. Ошибки, логи и пр. - только текстом.
    4. Указывай только необходимые теги. За тег-спам модератор покусает.
    5. (и ссылка на полный текст правил, буде возникнет желание его прочитать).
    Ответ написан
    4 комментария
  • Возможно ли решить эту задачу без массивов?

    Adamos
    @Adamos
    Например, цикл до обнуления суммы, внутри него - switch по купюрам.
    В каждом case - если сумма все еще больше этой купюры, вычесть ее и наложить на некую переменную битовую маску этой купюры (1 руб - 0001b, 2 руб - 0010b, 5 руб - 0100b, 10 руб - 1000b и т.д.).
    По окончании цикла подсчитать, сколько бит в той переменной выставлено в 1.
    Ответ написан
    5 комментариев