• Быть разработчиком веб-сайтов невыгодно?

    AngryYumy
    @AngryYumy
    Заплати фрилансеру чеканой монетой
    Боже сижу на тостере уже 2 год, но ласт полгода не заходил , но список топ вопрос так не изменится.
    Аля хочу стать "вставь свою профу" - я чел идейный , я люблю эту профессию, но вот как-то нету миллионов которые мне тот мужик на курсах обещал. А есть только лендосы за 500, которые с правками делаются месяц(((
    И ты глянь вроде полно разрабов - а работать то некому, а почему - да все просто ибо рынок переполнен людьми с курсов которые готовы работать за 500р но ничего толком не умеют. А с чего такие выводы? Да все просто не раз уже приходят - сколько стоит Х проект ты говоришь Х₽ и Х дней, и ответ - оооо нет мне там вон Вася за сутки и 500р сделает , ну окей идите. Через две недели приходит тот же человек и говорит , ну тут Василий все сделал - но потом немного правок (правок больше чем тз сайта) , а он пропал можете доделать за 500р. Или пример вон знакомый в скилл боксе полгода учился, насколько знаю обучение там не дёшево, а итог попросил его сверстать лендос (у самого времени не было) так он дата атрибут не умеет прописывать (реальная история).
    А к чему эта простыня текста? Да к тому, что если ты реально что-то умеешь - то ты не будешь работать за 10к/2 месяца
    Ответ написан
    1 комментарий
  • Как работает Битрикс с memcached?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Подскажите работает ли Битрикс с memcached.


    Да, работает. Но для последних версий битрикса рекомендуется использовать Redis.
    https://dev.1c-bitrix.ru/learning/course/index.php...

    Второй вопрос сильно ли может помочь memcached для ускорения работы сайта?


    Все относительно. Кеш memcached/redis работает однозначно быстрее чем файловый кеш.
    Но проблема у вас может быть совсем не в кешировании.

    Например если ни один компонент не складывает данные в кеш и постоянно обращается к базе то изменение механизма хранения кеша не поможет. А если под кеш выделить мало оперативной памяти (по умолчанию в bitrix env идет вроде как либо 64MB либо 1GB), а кеш большой то он может еще и замедлить работу.

    Возможно у вас есть подключение внешиних скриптов или некешируемые запросы или верстка вашего сайта слишком огромная и сам парсинг занимает достаточно много времени.
    Ответ написан
    5 комментариев
  • Битриск, немного теории?

    sabramovskikh
    @sabramovskikh
    1. Просто в страницах, если там не уникальная верстка.
    Если нужно что-бы контент менеджер не сломал верстку, то один инфоблок со свойствами.
    2. Если свойства нужны в нескольких инфоблоках, то создаю хайлоад-блоки на каждое свойство и к ним привязываю
    3. Делаю это в пхп скрипте, который добавляет в корзину, если конечно это не sku.
    4. Там же указывается уровень вложенности. Все работает в стандартном комплексном компоненте.
    Ответ написан
    2 комментария
  • Как определяют номер телефона у посетителей сайта?

    @granty
    Куки исключены, браузер не сохраняет их и не хранит историю.

    1. Про evercookie слышали? А про Web Fingerprint?
    На хакере перечислена масса способов хранить ID на вашем компе без использования Куков и кэша, а технология Web Fingerprint позволяет хранить цифровой отпечаток компа, браузера на сервере банка: Фингерпринтинг конкретного ПК с точностью 99,24%, не спасает даже смена браузера.

    Если вы - клиент банка и заходили в его интернет-банкинг, он легко может вас опознать при использовании того же браузера и того же компа.
    А если у вас на мобиле установлено приложение интернет-банкинга - вы вообще под колпаком :)

    2. Если вы лазите по инету залогиненым в Вконтакте/Яндексе, то через backdoors в их API можно определить ваш профиль и все ваши данные.
    Сайт Соцфишинг работает на этом принципе.
    Сам банк тоже может использовать соцфишинг и ставить невидимый ифрейм на своё меню, и при клике вы автоматически авторизуетесь через аккаунт, например, Вконтакте. Зная ваш ID на Вконтакте, ваш телефон легко узнаётся, их базы регулярно сливаются и продаются

    PS: Узнать как конкретно вас "слил" и каким образом - невозможно без исследования конкретной ситуации.

    факультатив

    Всё вышеперечисленное - детский лепет по сравнению с тем, какие возможности имеет Google (и, частично, Яндекс с Apple).
    У всех дома стоит точка WiFi, к которой коннектится ваш комп и мобильник с Андроид. Через мобильник Гугл знает все номера телефонов, которые подключаются к этой точке доступа (и все аккаунты соцсетей в которые вы логинились с мобильника). Поэтому когда вы лезете Хромом с компа через эту же точку доступа - Гугль уже знает, что это вы (или один из ваших домочадцев). По GPS на мобильнике он знает даже адрес вашего проживания с точностью до подъезда.
    Так что мы все давно уже добровольно "чипованы", чего удивляться что о нас всё известно.
    Ответ написан
    Комментировать
  • Как избавиться от переполнения в модуле math?

    @galaxy
    powmod пишете?


    pow(x, y[, z])

    Return x to the power y; if z is present, return x to the power y, modulo z (computed more efficiently than pow(x, y) % z). The two-argument form pow(x, y) is equivalent to using the power operator: x**y.
    Ответ написан
    1 комментарий
  • Где тут уязвимость в скрипте PHP?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Вы абсолютно не проверяете данные пришедшие от юзера. У вас наверняка не произвольный список возможных страниц, можно сделать scandir и проверять существует ли запрашиваемая страницы.

    Абсолютно не проверяются относительные пути, то есть технически можно запросить файл "pages/../../../../upload/word.php', а в папку upload положить можно файл множеством путей (причем не все из них из админки).
    Ответ написан
    1 комментарий
  • Как cделать алгоритм. который к каждой цифре числа (например 151)?

    zax2002
    @zax2002
    <?php
    
    $number1 = 567;
    $number2 = 5;
    $number3 = 367835;
    
    function f($num) {
        return $num + floor(0.11111111111*(10**(floor(log10($num))+1)));
    }
    
    echo(f($number1)."\n".f($number2)."\n".f($number3));
    
    /*
    678
    6
    478946
    */
    Ответ написан
    Комментировать
  • Как правильно сделать разработку на Битрикс?

    udjin123
    @udjin123
    PHP, Golang, React
    Да в любой момент в демо можно вбить купленный ключ, главное чтобы редакции совпадали.
    Ответ написан
    Комментировать
  • Почему у меня ошибка 404 в админке Битрикса? Как настроить файл .htaccess?

    это че за высер?
    RewriteRule ^(.*)index\.php$ $1 [R=301,L]
    что вы хотели сделать ?
    Вот тут я писал о стандартных правилах для битрикс
    https://klondike-studio.ru/standards/standartnyy-h...
    Ответ написан
    2 комментария
  • Как подгрузить yandex map с помощью lazy load (с отсрочкой)?

    meowto16
    @meowto16
    Делаю штуки
    Инициализировать карту не после загрузки страницы, а по требованию (по скроллу, по таймауту, по клику и т.д).
    Пример отслеживания координат блока: https://ru.stackoverflow.com/questions/641531/%D0%...
    ymaps.ready(init); // инициализацию можно отложить и поместить например по скроллу до блока.
        var myMap;
        function init(){     
            myMap = new ymaps.Map ("map", {
                center: [55.76, 37.64],
                zoom: 7
            });
        }
    Ответ написан
    1 комментарий
  • Какая лучшая cms?

    solotony
    @solotony
    покоряю пик Балмера
    любая готовая CMS в силу своей универсальности имеет кучу функционала, зачастую не нужного вам, но при этом все довольно сильно тупит и торморзит. И вы получаете кучу проблем с реализацией функционала не предусмотренного создателями этой CMS.

    поэтому выбирая платформу вам прежде всего следует плясать от вашего к функционала, насколько конкретная CMS подходит конкретно вашему проекту, ну и само собой от своего бюджета.

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

    а большинство серьезных проектов разрабатываются под задачу на каком-то своем фреймворке.
    Ответ написан
    4 комментария
  • Какая лучшая cms?

    @AndrewMoiseev
    .Net Core, Linux, Web, hardware, DevOps
    1С Bitrix подойдёт. По опыту, Joomla! + VirtueMart шевелилась лучше под нагрузкой. Но 100 тыщ не хайлоад. И то и другое имеет много вариантов настройки. Если есть команда, пусть делают на том, что знают. Мы бы сделали сейчас на .Net+Angular.
    Ответ написан
    2 комментария
  • Много свойств в одном инфоблоке. Как лучше спроектировать структуру сайта?

    @RuComMarket
    Битрикс FullStack разработчик
    сразу отмечу неправильное видение Битрикса:
    проблема в компоненте bitrix:catalog*. По сути весь интернет магазин завязан на нем и поддерживает он только один инфоблок

    стандартный компонент - это контроллер, который показывает возможности работы с API Битрикса (модулями).
    минус стандартных компонентов: они сделаны под различные задачи, т.е. параметров там много, каждый параметр, это объем данных и обработка. итоговый массив данных содержит много не нужной информации.
    Можно создать разделы в ручную, но еще кучу компонентов завязано на этом компоненте.

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

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

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

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

    alexyarik
    @alexyarik
    Битрикс разработчик
    Судя по тесту демо сайта вашего решения officepro.redsign.ru настроенный и оптимизированный сайт может выдавать 72 для мобильных.
    В вашем случае тест закончился ошибкой таймаута. Это говорит и об ошибках самого сайта и о качестве тарифа хостинга, и об отсутствии оптимизации.
    Нужно понимать, что решения с маркетплейс довольно прожорливые по ресурсам. Какой у вас тариф на ihc.ru?
    Я рекомендую вам заказать технический аудит вашего сайта.
    Ответ написан
    5 комментариев
  • Как получить доступ к DOM элементу посредством Vue?

    @BelkinVadim
    Frontend разработчик
    <div>
       <textarea ref="textarea"></textarea> 
       <span></span>
    </div>


    this.$refs.textarea

    Задаете атрибут ref для нужного элемента и по установленному значению обращаетесь в this.$refs

    Про refs в документации
    Ответ написан
    Комментировать
  • Как создать поле файл у сущности?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Другой способ есть и он довольно простой: вы пишете что сущность работает с свойствами и добавляете UF_* свойство типа файл (или файл на диске) и битрикс делает все за вас. Единственное есть несколько ограничений:

    - Поле называется с UF_ префиксом
    - Валидация согласно настройкам поля
    - Добавлять uf нужно отдельно
    Ответ написан
    1 комментарий
  • Как вычислить значения, на основе информации о полураспаде?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    K = 0.51/156 = 0.9955666
    T1 = T0*K1 = 0.9955666 T
    T2 = T0*K2 = 0.9911529 T
    T1000 = T0*K1000 = 0.01175765 T
    ...
    Ответ написан
    1 комментарий
  • Откуда взялась таинственная spam-регистрация на bitrix-сайте?

    udjin123
    @udjin123
    PHP, Golang, React
    В битриксе компоненты авторизации и регистрации (system.auth.registration и system.auth.form) подключаются на уровне ядра и сама форма не нужна достаточно отправить post данные
    Ответ написан
    5 комментариев
  • Как перенести сайт с Битрикс на Wordpress?

    Adamos
    @Adamos
    Вопрос ни о чем. На Битриксе можно сделать визитку или (порвав все на немецкий крест) магазин Эльдорадо. На нем могут использоваться родные модули или быть понаписано заказных. На нем может быть просто навалено отсебятины, которую придется адаптировать либо переписывать. Причем все это может залегать пластами копролитов, совместимых с доисторическими версиями Битрикса.
    Так что общее решение примерно так же реально, как кнопка "Сделать зашибись" в Фотошопе.
    Ответ написан
    Комментировать
  • Как сделат что бы Bitrix искал по свойству инфоблока типа Файл/Множественный?

    @PetrPo
    Надо обработчик писать в init.php
    Так навскидку накидал, может есть лучше способ, а то в моем примере на каждый элемент ИБ приходится запрос делать (это как минимум время переиндексации увеличивает)
    $eventManager = \Bitrix\Main\EventManager::getInstance();
    $eventManager->addEventHandler('search', 'BeforeIndex', array('MySearch', 'BeforeIndex'));
    
    class MySearch {
    	public static function BeforeIndex($arFields) {
    		if(intval($arFields['PARAM2']) > 0 && intval($arFields['ITEM_ID']) > 0 && isset($arFields['BODY'])) {
    			\Bitrix\Main\Loader::includeModule('iblock');
    			
    			$dbRes = CIBlockElement::GetList(array(), array('IBLOCK_ID' => $arFields['PARAM2'], 'ID' => $arFields['ITEM_ID']), false, false, array('PROPERTY_FILE'));
    			while($arRes = $dbRes->Fetch()) {
    				$arFile = CFile::GetFileArray($arRes['PROPERTY_FILE_VALUE']);
    				$arFields['BODY'] .= PHP_EOL.$arFile['ORIGINAL_NAME'];
    			}
    			
    			return $arFields;
    		}
    	}
    }

    В проверке intval($arFields['PARAM2']) > 0 можно вместо > 0 указать == ID инфоблока, если для конкретного ИБ надо

    Вместо array('PROPERTY_FILE') соответственно array('PROPERTY_свое ID свойства')
    Ответ написан
    22 комментария