Задать вопрос
  • Как показать заказчику файлы в цветовом режиме CMYK?

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

    Adamos
    @Adamos
    Не работать с файлом "через simple_xml либу", не предназначенную для больших файлов в принципе, о чем сказано даже на PHP.net
    Там же легко находятся альтернативные библиотеки работы с XML, не пытающиеся загрузить его целиком в память.
    Ответ написан
    1 комментарий
  • Где искать обработчики форм на сайте bitrix?

    Adamos
    @Adamos
    Искать формы бесполезно, следы уведут вглубь компонентов, куда ТП Битрикса не советует соваться, потому что при обновлении все ваши правки пойдут лесом.
    Есть Истинно Перанальный Путь Битрикса - добавить обработчик в /bitrix/php_interface/init.php:
    function yourHandler($WEB_FORM_ID, $RESULT_ID)
    {
      if ($WEB_FORM_ID == YOUR_NUMBER) // номер той формы, которую вы хотите поймать
      {
    	  $fields = array();
    	  $arAnswers = CFormResult::GetDataByID($RESULT_ID, $fields); 
              // отправленные в форме данные в $arAnswers, можно что-то с ними сделать
      }
    }
    AddEventHandler('form', 'onAfterResultAdd', 'yourHandler');
    AddEventHandler('form', 'onAfterResultUpdate', 'yourHandler');
    Ответ написан
    7 комментариев
  • Стоит ли покупать материнскую плату с распаянным Intel Celeron J4005 для основного компьютера?

    Adamos
    @Adamos
    Если вы не готовы переплачивать за i3, лучше все-таки рассмотреть Pentium или предложения от AMD, а не Atom. Для десктопа урезанные процессоры уже сейчас некомфортны, а через несколько лет станут просто невыносимы. Дело ведь не только в процессоре - на материнке под него производитель тоже экономит изрядно, получается очень - и постоянно! - неторопливое сочетание.
    Главный тормоз в нынешнем компьютере - винт, так что хотя бы маленький и дешевый SSD желателен. И память, конечно, чтобы минимально обращаться к винту в принципе.
    Может быть, посмотреть на барахолках то, что можно просто оптимизировать, добавив памяти и SSD? Подозреваю, это будет в любом случае бюджетнее покупки нового железа...
    Ответ написан
    Комментировать
  • Bitrix. Как указать адрес доставки через API?

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

    Adamos
    @Adamos
    Моя (9 лет) с удовольствием прошла игрушку Algotica, там почти нет программирования, но с понятием алгоритма и его оптимизации познакомиться придется ;)
    Пихать программирование в начальной школе, честно говоря, особенного смысла не вижу.
    Лучше развивать логику и фантазию. Вот вчера решали задачу про рыцарей и оруженосцев, например. Задачи типа "кто выращивает рыбок?" классно тренируют мозги. По их мотивам есть такая игра, у Убунты в репах - Einstein Puzzle.
    Ответ написан
    Комментировать
  • Нужна ли математика для изучения php языка?

    Adamos
    @Adamos
    Для изучения РНР необходимо умение гуглить.
    Например, ответы на вопрос, который повторяется на Тостере каждый месяц.
    Ответ написан
    Комментировать
  • Как на api d7 добавить стоимость доставки в заказ?

    Adamos
    @Adamos
    $service = \Bitrix\Sale\Delivery\Services\Manager::getById($deliveryId);
    $deliveryData = [
      'DELIVERY_ID' => $service['ID'],
      'DELIVERY_NAME' => $service['NAME'],
      'ALLOW_DELIVERY' => 'Y',
      'PRICE_DELIVERY' => $deliveryPrice,
      'CUSTOM_PRICE_DELIVERY' => 'Y'
    ];
    $shipment->setFields($deliveryData);
    Ответ написан
    Комментировать
  • Где взять полный ликбез и роадмап по серверам nginx apache php-fpm и настройки сети и тд?

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

    Adamos
    @Adamos
    Предлагаю начать с этого источника ;)
    Ответ написан
    Комментировать
  • Какими инструментами Вы пользуетесь в процессе решения?

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

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

    Adamos
    @Adamos
    Для установки системы и программ 32 гиг более чем достаточно.
    Даже если "поставить все idie для моего рабочего стека".
    Кучу места занимают пользовательские данные - вот их держать на флешке куда логичнее, и никаких хитрых приемов для этого не требуется.
    Собственно, если для "рабочего стека" требуются IDE на Java типа PhpStorm - им глубоко фиолетово, где лежать.
    Ответ написан
    Комментировать
  • Как настроить отладку PhpStorm + OpenServer + php 7.2 + laravel?

    Adamos
    @Adamos
    0. Выкинуть и забыть о существовании OpenServer.
    1. Подбросить монетку и выбрать, Vagrant или Docker.
    2. Ткнуть пальцем в любое из руководств с первой страницы выдачи Гугля (нет, не видео!), настроить окружение по нему и спокойно пользоваться.
    Ответ написан
    2 комментария
  • Насколько адекватно требовать домашнего развития от разработчиков?

    Adamos
    @Adamos
    Об этом могут спрашивать молодого парня примерно по такой логике.
    Вот у тебя сейчас до хрена свободного времени - на что ты его тратишь?
    Устроишься на работу - со временем станет хуже, хватит ли тебе интереса на полный рабочий день?
    Обзаведешься семьей - со временем станет совсем туго, не скажется ли это на работе?

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

    Adamos
    @Adamos
    window.myObject = {
      urls: ['http://site1.com', 'http://site2.com'],
      sum: '',
      indx: 0,
      add: function(str) {
        this.sum += str;
        if(++this.indx < this.urls.length) {
          this.run();
        } else {
          alert('Result is ' + this.sum);
        }
      },
      run: function() {
        let xhr = new XMLHttpRequest();
        xhr.open('GET', this.urls[this.indx]);
        xhr.send();
        xhr.onload = function() { window.myObject.add(xhr.result[0]); }
      }
    };
    window.myObject.run();
    Ответ написан
    Комментировать
  • Сколько раз выделяется память под локальные переменные цикла в С++?

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

    Adamos
    @Adamos
    Они же вроде дорабатывали десятку и по идее она должны быть лучше.

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

    Adamos
    @Adamos
    В теории:
    - если программы постоянно жрут ресурсы, не ожидая внешних данных - лучше раскидать по разным ядрам.
    - если то одна, то другая может простаивать, а может захотеть столько, сколько может дать процессор - на все ядра.
    Ну и не забываем, что система тоже на чем-то будет выполняться, и если это винда, то заскучать ядрам, занимаясь одной и той же задачей, она не даст.
    Ответ написан
    2 комментария
  • Как установить php 5.2.6 на Ubuntu 18.10?

    Adamos
    @Adamos
    virtualbox + vargrant-box с системой постарше = и система не загажена старым софтом, и все работает.
    Ответ написан
    Комментировать