• Как настроить редирект на https в.htaccess?

    @Geograph
    https://www.reg.ru/support/hosting-i-servery/sajty...

    Вариант 1
    RewriteEngine On
    RewriteCond %{HTTPS} =off 
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]


    Вариант 2
    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]


    если оба первых варианта не помогли и возникает циклическая переадресация:

    Вариант 3
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Ответ написан
    8 комментариев
  • Как в phpstorm заново открыть боковое окно remote host?

    zorro76
    @zorro76
    Tools - Deployment - Browse Remote Host
    Ответ написан
    Комментировать
  • Стоит ли тратить время на Битрикс?

    dmitriy_novikov
    @dmitriy_novikov
    Занимаюсь web-разработкой с 2010г. http://dmnv.ru
    Битрикс - самая удобная cms в плане администрирования, интеграции с 1С и другими сервисами.
    изучать можно используя 30-дневные бесплатные демо-версии.
    самые крупные российские интернет-магазины работают как правило либо на битриксе, либо на своей самописной админке. так что система более чем достойная.
    ну, а те кто не смог осилить ее - кричат "говнокод, баги". хотя весь говнокод после смены движка вычистили еще несколько лет назад.
    Ответ написан
    Комментировать
  • Какую бесплатную cms/фреймворк использовать для интернет-магазина?

    kompi
    @kompi
    nullstack devoops
    Любой мейнстримовый фреймворк. Если уже есть опыт в каком-нибудь, то предпочтительно, его и спользовать.
    Ответ написан
    7 комментариев
  • Какие есть похожие CMS?

    Sanes
    @Sanes
    Это не просто CMS. А сервис медиа-хостинга. Делается индивидуально.
    Ответ написан
    Комментировать
  • Какой парсер самый быстрый?

    igorbelikov
    @igorbelikov
    Fullstack Developer
    Использование CURLа и его многопоточности + разбор регулярным выражением нужных частей.
    Большой список программных парсеров.
    Ответ написан
    Комментировать
  • Как установить PhantomJS на CentOS 7?

    smartup
    @smartup
    Сначала:
    yum -y install bzip2 fontconfig npm

    А потом уже:
    npm install phantomjs -g

    Отсюда: webdevil.ru/post/2015/352-centos-7-phantomjs-install
    Ответ написан
    1 комментарий
  • Есть ли фриланс ближе к 30?

    viktorvsk
    @viktorvsk
    Не учите технологии. Учитесь решать задачи. Особенно с исходными данными и запасом прочности.
    Мне кажется, есть 2 пути успеха в айти сегодня:
    1. Рвение к чему-то конкретному (например, нейронным сетям, компьютерному зрению, машинному обучению, электронной коммерции, визуализации ... ) - тут, судя по последнему абзацу, мимо кассы
    2. Не знание технологий или даже стеков, а умение решать практические задачи. Вот тут очень похоже, что оно.

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

    Посмотрите, какими "модными" средствами это решается и примите участие. Начните с малого. В реальной и интересной задаче будет куда проще влиться во все множество технологий, что сейчас используются.

    На выходе, даже если не сделаете новый супер-хит, то:
    1. Познакомитесь со всеми технологиями и приемами (где-то больше, где-то меньше)
    2. Будет опыт в реальном технологическом процессе

    P.S. Если все же интересует именно только екоммерс и интернет-магазины (не самая привлекательная часть айти, на самом деле), то не рвитесь сразу верстать шаблоны под битрикс. Найдите важные задачи для бизнеса, которые не решаются стандартными методами (их уймы) и попробуйте решить одну из них.
    Ответ написан
    4 комментария
  • Какой выбрать язык для серверной части highload проекта?

    voidnugget
    @voidnugget
    Программист-прагматик
    Когда люди называют 1Гбит динамического http трафика highload'ом - это вызывает у меня довольно нелепую ухмылку.

    Сравнивать php / python / ruby более-менее целесообразно так как это полностью интерпретируемые языки с кэшированием байткода, иногда с оптимизациями, как в случае с jRuby и Project Graal. Обычно такие вещи помирают на 14-17К запросов в секунду с пустыми ответами... В общем на одном гигабите трафика тут обычно всё и заканчивается. Node.js по производительности более корректно сравнивать с JVM языками типа Groovy или Scala, но никак не с самой Java. На практике через Netty на Disruptor'е под offheap'ом и Terracotta можно пропустить и 40Гбит живого трафика, без статики, - главное правильно профилировать и писать прямо pfRing.

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

    Если вы хотите строить что-то действительно стоящее - стоит смотреть в сторону CQRS-ES'a и реактивных приложений в рамках SOA. Возможно внедрение микросервисных архитектур если нет требований к задержкам на выполнение запросов. Но, учитывая что вы задаёте здесь вопросы о том "что лучше node.js или python" не думаю что у вас хватит опыта для построения подобных вещей.

    Можно пробовать golang - яндекс слез с python'a на golang по причине слоупочности оного, и довольно хорошо так слез. В golang'е сейчас самый лучший RAD, гораздо круче того же node.js. Идеоматичность самого языка решает достаточно много потенциальных проблем ещё на этапе разработки. Да и сообщество сейчас довольно активно пилит его runtime - внедряют многопоточный gc и ещё пару вкусностей. Даже не умея всех этих асинхронностей и прочей лабуды с golang'ом можно получить довольно хороший выхлоп. Правда меня немного смущает отсутствие нормальных datamapper'ов и scaffolding'a под golang.
    Ответ написан
    16 комментариев
  • Какой выбрать язык для серверной части highload проекта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    php - все будет в лучшем виде, если руки "прямые".
    Ответ написан
    2 комментария
  • Как реализовать поиск в Opencart?

    @barsukoff
    Нужно добавить скрипт:

    $('.button-search').bind('click', function() {
    		url = $('base').attr('href') + 'index.php?route=product/search';
    		var search = $('input[name=\'search\']').attr('value');
    		if (search) {
    			url += '&search=' + encodeURIComponent(search);
    		}
    		location = url;
    	});
    $('#header input[name=\'search\']').bind('keydown', function(e) {
    		if (e.keyCode == 13) {
    			url = $('base').attr('href') + 'index.php?route=product/search';
    			var search = $('input[name=\'search\']').attr('value');
    			if (search) {
    				url += '&search=' + encodeURIComponent(search);
    			}
    			location = url;
    		}
    	});
    Ответ написан
    Комментировать
  • Какой фрэймворк выбрать Yii 2 или Symfony 2?

    SowingSadness
    @SowingSadness
    web-разработчик
    Symfony 2 и Yii 2 это два фреймворка нацеленные на создание веб-приложений.

    Yii 2 разрабатывается с учётом реалий веба и в комплекте поставляют классы, расширения и плагины, которые как раз решают какую либо задачу в вебе.

    Из Symfony 2 хотели сделать некий конструктор, который собирается из модулей (аля Rails). По сути своей Symfony 2 это большой такой контейнер с настройками. Да, люди начали писать модули для него, но они все ужасны. Их очень тяжело адаптировать под себя, документация ужасная. Код не читабельный.
    Чего только стоят формы для Symfony 2. Они взорвут мозг любому разработчику, который только начнёт с ними знакомится.
    Каждый уже модуль для Symfony 2 написан так, что всё делают через контейнер, а не через прямое создание, что превращает код в не связные друг с другом куски.
    Symfony 2 подойдет вам только лишь в случае, когда вы знаете что такое DI и вам не нужны сторонние бандлы и вы планируете всё написать сами. Во всех остальных случаях это здоровый такой геморрой
    Ответ написан
    9 комментариев
  • Какой фрэймворк выбрать Yii 2 или Symfony 2?

    IvanCher
    @IvanCher
    Мысли шире
    Симфонисты не работают с yii2 и не до конца понимают о чем пишут :)
    Я скажу так: оба фреймворка на высоте, по возможностям одинаковы, но подходы очень разные.
    Объективно скажу так: на yii2 не получится запускать отдельные модули без запуска всего приложения, тут у симфони2 огромный плюс. Так же у симфони более классные консольные команды для генерирования каркасов, мне больше нравится, чем gii(но дело вкуса). Но по факту большинство сильных сторон симфони не оправдывается в связи с высоким порогом вхождения. Найти хорошего симфони программиста намного сложнее, чем найти его на yii2. Поэтому взависимости от бюджета и масштаба проекта можете выбирать. Симфони2 - это больше уровень корпораций, yii2 более простой при практчески том же функционале.
    Если знаете симфони2, то лучше подтяните его. Yii2 изучить намного проще, намного всё прозрачнее внутри работает, там Вам хватит пару вечеров, чтобы пройтись по исходникам и всё для себя понять как изнутри как работает.
    Ответ написан
    7 комментариев
  • Как отключить TLS в ftp-клиенте FileZilla?

    Lerg
    @Lerg
    Defold, Corona, Lua, GameDev
    В настройках подключения под выбором протокола есть выбор шифрования, поставьте" Only use Plain FTP".
    Ruui5.jpg
    Ответ написан
    6 комментариев
  • Необходимо описать функционал сайта, кто должен это делать?

    voidnugget
    @voidnugget
    Программист-прагматик
    Вообще зависит от каждого конкретного проекта, обычно выработка требований должна происходить при формировании и определении его задач самими исполнителями совместно с заказчиком, это рекурсивный процесс повторяется 4-5 раз (минимум 2-3 по ГОСТу для автоматизированных систем). Но в этом плане на фриланс слишком надеятся не приходится, так как контроль качества тут отсутствует в принципе, и заказчики особо не парятся по этому поводу... а фрилансеры/студии впаривают что могут/умеют, учитывая что универсальных инструментов не бывает выглядит это довольно печально.

    Главными критериями при подборе человека для написания любых ТЗ является наличие опыта
    1. Проектирования SOA
    2. Внедрения непрерывной интеграции и приёмочного тестирования
    3. Знание основных подходов и технологий на 3-4 языках программирования
    4. Организации долгосрочной поддержки продуктов (5+ лет)
    5. Формирования требований к проектной документации
    6. Формирования требований к профилированию, нагрузочному тестированию, вертикальному и горизонтальному масштабированию


    Если нужны PUSH нотификации, то это уже не MVC, а СQRS-ES ... и php / python / ruby для такого подходят довольно плохо так как довольно плохо утилизируют аппартные мощности серверов, и у них нет родной многопоточности/ассинхронности без костылей - были случаи когда люди слазили с ruby на golang и java, получали 10ти кратные приросты производительности и соответствующее уменьшения количества серверов.

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

    Пишите в скайп void.nugget,
    обсудим детали - помогу чем смогу.
    Ответ написан
    Комментировать
  • Как повысить знания в области архитектуры веб проектов?

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

    Очень полезно начать с рассуждений "как бы я спроектировал поиск Яндекса, почту Mail.Ru, френдленту ВКонтакте". Продумайте архитектуру - а потом расскажите свое видение разработчикам этих систем и спросите, как на самом деле сделано у них и почему (вот увидите, многие с удовольствием ответят).

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

    Ну а еще про "чужие ошибки" - многие проекты с удовольствием рассказывают в интернете и на конференциях. Читайте их статьи, смотрите доклады - в интернете доступны записи с многих технологических конференций:
    https://techforum.mail.ru/video/
    https://tech.yandex.ru/events/yac/
    ritconf.ru/archive и www.highload.ru - тут видеозаписей нет, но есть слайды почти всех презентаций

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

    murzix
    @murzix
    Я что-то нажал и оно само
    Если битрикс свежий и в папке /bitrix/ есть файл .settings.php, то там можно указать файл для лога ошибок и типы ошибок которые будут туда записываться.

    У меня на локалке настройки такие:
    'exception_handling' => 
      array (
        'value' => 
        array (
          'debug' => true,
          'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE & ~E_DEPRECATED,
          'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING,
          'ignore_silence' => true,
          'assertion_throws_exception' => false,
          'assertion_error_type' => 256,
          'log' => array (
            'settings' => array (
              'file' => 'bitrix/modules/error.log',
              'log_size' => 1000000,
            ),
    	  ),
        ),
        'readonly' => true,
      ),
    Ответ написан
    Комментировать
  • Настройка 404 в битриксе?

    MintTea
    @MintTea
    В общем и целом, проверка (defined('ERROR_404') && ERROR_404 == 'Y') не позволяет отловить возникновение 404 ошибки в обработчике. Я писал по этому поводу в техподдержку, они передали мой тикет в разработку. Это было в октябре. Пока они слоупочат, вы можете перенести проблемный компонент в свое пространство имен, найти, где в нем вызывается CHTTP::SetStatus и добавить после него нужную строку:
    CHTTP::SetStatus('404 Not found');
    defined('ERROR_404') or define('ERROR_404', 'Y');


    Либо, вы можете сравнить $arResult, который передается в шаблон при заходе на /catalog/ и при заходе на /catalog/abrakadabra, и найти такое условие, которое позволило бы определять, что возникла ошибка. По-моему, там есть что-то с TEMPLATE_NAME. Тогда добавите в index.php в шаблоне примерно следующее:
    if ($arResult['TEMPLATE_NAME'] !== 'index.php')
    {
        defined('ERROR_404') or define('ERROR_404', 'Y');
    }


    Либо, если вы не хотите этого делать, вы можете модифицировать сам метод CHTTP::SetStatus, как-то так:
    class CHTTP
    {
        public static function SetStatus($status)
        {
            ... 
            if ($status === '404 Not found')
               defined('ERROR_404') or define('ERROR_404', 'Y');
        }
    }

    Но это не приветствуется битриксом, и будет слетать при каждом обновлении.
    Ответ написан
    5 комментариев
  • Как исправить ошибки при обращении к SOAP серверу из PHP клиента?

    ini_set('soap.wsdl_cache_enabled', '0');
    ini_set('soap.wsdl_cache_ttl', '0');
    try {
    $client = new SoapClient("a2services.cloudapp.net:19321/SimpleService?wsdl", array(
    "trace" => 1,
    'soap_version' => SOAP_1_2,
    "exceptions" => true
    ));
    $actionHeader[] = new SoapHeader("www.w3.org/2005/08/addressing", 'To', 'a2services.cloudapp.net:19321/SimpleService');
    $actionHeader[] = new SoapHeader("www.w3.org/2005/08/addressing", "Action", "tempuri.org/ISimpleService/GetString");
    $client->__setSoapHeaders($actionHeader);

    $params = array();
    $test = $client->GetString($params);
    print $test->GetStringResult;
    }
    catch (SoapFault $exception)
    {
    echo $exception->getMessage();
    }
    Ответ написан
    2 комментария
  • Почему Jetbrains phpStorm не видит файлы на FTP?

    @glilya Автор вопроса
    Проблему решил сам, достаточно выставить пассивный режим
    Ответ написан
    17 комментариев