• Почему в американских лендингах нет телефонов, как точек захвата?

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

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Как осуществляется написание платежной системы касательно visa и mastercard или для конкретного банка? что делается в данном случае? (Допустим требуется работа со сбербанком и альфабанком).

    Из личного опыта:
    a. Приезжаете в офис банка у которого есть услуга "интернет эквайринг", показываете своё юрлицо, уставные документы, бенефициаров, обороты от 50 млн в месяц.
    * некоторые работают и с меньшими оборотами, но % будет крайне не выгодным.
    ** без запущенного и работающего проекта идти в банк бессмысленно.
    b. Ждете 2-6 недель пока СБ банка проверит все.
    c. Ждете 2-4 недели пока банк подпишет договор
    d. Получаете реквизиты и документацию API конкретного банка.
    e. Реализуете
    f. Ждете 1-2 недели пока банк проверит что у Вас все согласно их протоколу.
    g. Получаете боевые реквизиты.

    Учтите что:
    1. Если Ваши объемы меньше чем 50млн+ в месяц - с вероятностью 99% Вам будет СИЛЬНО выгоднее работать через посредника. Посмотрите на uniteller.ru , payture.com/ru , payler.com - если Вы будете достаточно убедительны на переговорах, вполне реально сторговать их до 2-2.5% даже на маленьких оборотах (1млн-5млн)

    2. Прямые API банков мягко говоря не современны. Как правило там не будет ни удобного личного кабинета, ни вменяемой службы поддержки - ничего. Зато будут проверки, требования бумажной отчетности и прочие милые сердцу советского бюрократа вещи.

    3. Риски при работе через посредника - по факту минимальны. Все приведенные выше делают выплаты ежесуточно, т.е даже если посредник накроется - Вы максимум рискуете дневным оборотом.

    С учетом данных пунктов, по моему мнению прямой договор с банком имеет смысл если у Вас настолько большие обороты - что разница в десятые доли процента окупает весь этот геморрой.
    По факту есть море проектов с большими оборотами (mamba, badoo, etc) кто продолжает работать через агрегатор, минимизируя расходы на юристов, бухгалтеров, техническую поддержку работы шлюза итд итп.
    Ответ написан
    1 комментарий
  • В чем суть роутера на php?

    onqu
    @onqu
    weasy
    1. Здесь пугают всякими контроллерами, ларавелями. Давайте жить проще. Для начала дадим определение модному слову роутер. Это маршрутизатор. Что делает маршрутизатор? Правильно. Обрабатывает маршруты, являясь связующим звеном. Маршрутом для web сайта принято считать метод запроса [GET, POST, PUT и другие] и компоненты URI.

    например: https://ru.wikipedia.org/wiki/URI?foo=bar#title
    [схема: https] :// [источник: ru.wikipedia.org] [путь: /wiki/URI] [запрос: ?foo=bar] [фрагмент: #title]


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

    Сама работа, как правило проста: от клиента приходит запрос, маршрутизатор перебирает все заданные ему пути до первого совпадения. При совпадении вызывается определенная вами функция, которая возвращает ответ клиенту.

    2. Он необходим, если в приложении одна точка входа, когда любой запрос приходит на один файл.

    3. Простой пример
    // файл index.php
    
    // Маршруты
    // [маршрут => функция которая будет вызвана]
    $routes = [
        // срабатывает при вызове корня или /index.php
        '/' => 'hello',
        // срабатывает при вызове /about или /index.php/about
        '/about' => 'about',
        // динамические страницы
        '/page' => 'page'
    ];
    
    // возвращает путь запроса
    // вырезает index.php из пути
    function getRequestPath() {
        $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    
        return '/' . ltrim(str_replace('index.php', '', $path), '/');
    }
    
    // наш роутер, в который передаются маршруты и запрашиваемый путь
    // возвращает функцию если маршшрут совпал с путем
    // иначе возвращает функцию notFound
    function getMethod(array $routes, $path) {
        // перебор всех маршрутов
        foreach ($routes as $route => $method) {
            // если маршрут сопадает с путем, возвращаем функцию
            if ($path === $route) {
                return $method;
            }
        }
    
        return 'notFound';
    }
    
    // функция для корня
    function hello() {
        return 'Hello, world!';
    }
    
    // функция для страницы "/about"
    function about() {
        return 'About us.';
    }
    
    // чуть более сложный пример
    // функция отобразит страницу только если
    // в запросе приходит id и этот id равен
    // 33 или 54
    // [/page?id=33]
    function page() {
    
        $pages = [
            33 => 'Сага о хомячках',
            54 => 'Мыши в тумане'
        ];
    
        if (isset($_GET['id']) && isset($pages[$_GET['id']])) {
            return $pages[$_GET['id']];
        }
    
        return notFound();
    }
    
    // метод, который отдает заголовок и содержание для маршрутов,
    // которые не существуют
    function notFound() {
        header("HTTP/1.0 404 Not Found");
    
        return 'Нет такой страницы';
    }
    
    
    // Роутер
    // получаем путь запроса
    $path = getRequestPath();
    // получаем функцию обработчик
    $method = getMethod($routes, $path);
    // отдаем данные клиенту
    echo $method();


    На практике используют более сложные маршрутизаторы, у которых гораздо большие возможности.

    4. Обойтись без него можно. Если каждая страница в вашем приложении будет являться отдельным файлом, который отвечает за отдачу информации.
    index.php
    about.php
    contact.php
    ...


    Это олдскульная структура, в новых проектах почти не применяется.
    Ответ написан
    13 комментариев
  • Как урезать свой перфекционизм?

    isqua
    @isqua
    Научу HTML, CSS, JS, BEM и Git
    Чтобы перестать делать лучше то, что ещё не сделано до конца, нужно понять одну простую истину: Запущенный проект лучше, чем не запущенный.

    Давайте потренируемся:
    • Что лучше: запущенный проект с несжатыми стилями или незапущенный со сжатыми?
    • Что лучше: не запущенный проект с десятью страницами или запущенный с тремя?
    • Что лучше: запущенный проект c jQuery или не запущенный без jQuery?


    Надеюсь, вы смогли выбрать! Как узнать, что пора запустить проект? (Под запуском я имею в виду «показать людям». Например, если вы решили написать библиотеку, давайте считать «проект запущенным», если вы выложили её на гитхаб) Нужно прикинуть, сколько времени вам надо на разработку и умножить на два. Если получилось больше двух недель, то стоит разбить проект на части и прикинуть так про каждую часть. Соответственно, ставите дедлайны.

    Промежуточные дедлайны помогают успеть к последнему. Старайтесь сначала реализовать основную функциональность, а потом дополнительную. Если не успеете к дедлайну доделать дополнительное — сначала запустите основное, а потом видно будет, надо ли вообще доделывать дополнительное.

    Ну и не беритесь за каждую идею, а выбирайте самые инетересные. Если вы будете делать пять проектов одновременно, скорее всего ни один не доделаете.

    Удачи!
    Ответ написан
    4 комментария
  • Как сделать трансляцию музыки из группы вконтакте?

    orlov0562
    @orlov0562
    I'm cool!
    Реально, но придется написать парсер который будет парсить вк и синхронизировать с базой сайта и прокси скрипт для трансляции именно музыки. Там будет много подводных камней.
    Ответ написан
    Комментировать
  • Как контролировать работу удаленного программиста?

    customtema
    @customtema
    arint.ru
    Для начала, не надо было пытаться так экономить. Судя по тому, что на решение задачи тратятся месяцы - вы искали самого дешевого программиста, и с вами согласился сотрудничать новичок. Он сейчас скорее всего жалеет о том, что с вами связался. Простите, но вы сами виноваты. Семь шапок из одной овцы не выкроишь никак.

    Любая задача решается не более, чем за одну неделю. Подавляющее большинство программ выпускаются в бету за 2-3 месяца. Если дольше - нужно бить тревогу. Или неправильное планирование, или проблемы в команде.

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

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

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

    С консультациями, как с сексом. Хотите, чтобы было качественно? Тогда нужно хорошо подготовиться. И вести себя прилично. Всегда. Хотите хорошие ответы? Продумайте свои вопросы.

    В состоянии потока любая хрень может отвлечь и нарушить рабочее состояние. Особенно - вопросы. Особенно - глупые вопросы. Глупые не с вашей точки зрения, а с точки зрения разработчика. Программист работает циклами по 2-4 часа. Если нарушить цикл (например, задав глупый вопрос или позвонив по телефону) - теряется ПОЛОВИНА ДНЯ.

    Поэтому мое второе замечание - проверьте, а не мешаете ли вы ему работать?
    Ответ написан
    3 комментария
  • Bootstrap какой из сервисов для быстрого прототипирования лучший?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    pingendo.com
    бесплатный, приложения под все ОС, не браузерный
    Ответ написан
    4 комментария
  • На чем основан активный эффект фона этого ресурса?

    @GreatRash
    Судя по тому, что нарыл Санан Бозкурт, там используется либо Tree.js, либо Babylon.js, либо что-то иное из WebGL-библиотек. А кусок кода, который он продемонстрировал - это код шейдера.
    Ответ написан
    1 комментарий
  • На чем основан активный эффект фона этого ресурса?

    sanantech
    @sanantech
    PHP/Java Developer
    Я почти уверен, что связано это с этим скриптом - https://www.pics.tokyo/wp-content/themes/pics/asse... . я его открыл, глянул - так у него там своя архитектура, он тянет файлы из многих папок, и одном из файлов, что он тянет - было такое:
    precision mediump float;
    
    uniform sampler2D velocity;
    uniform sampler2D pressure;
    uniform float redMax;
    uniform float redMin;
    uniform float redRate;
    uniform float greenMax;
    uniform float greenMin;
    uniform float greenRate;
    uniform float blueMax;
    uniform float blueMin;
    uniform float blueRate;
    varying vec2 uv;
    
    void main(){
        gl_FragColor = vec4(
        	//(texture2D(pressure, uv)).x,
            //(texture2D(velocity, uv) * 1.5 + 0.5).xy,
    
            max(redMax - texture2D(velocity, uv).x * redRate, redMin),
            max(greenMax - texture2D(velocity, uv).y * greenRate, greenMin),
            max(blueMax - (texture2D(pressure, uv)).x * blueRate, blueMin),
        1.0);
    }

    Я не стал рыться в остальном, думаю это дело в этом скрипте под названием Liquid, в папке /liquid/ есть несколько папок и в каждой подобные файлы, которые тянет этот основной скрипт.

    Ответ на вопрос - Это некий Js-фреймворк.
    Ответ написан
    2 комментария
  • На чем основан активный эффект фона этого ресурса?

    massef
    @massef
    Это canvas
    Ответ написан
    Комментировать
  • Как делать тему из html для Cs-Cart?

    @phpus
    Говно магазин, хотя как бесплатное решение сойдет.
    Посмотри исходник и на него уже вешай
    Ответ написан
    Комментировать
  • Как делать тему из html для Cs-Cart?

    Комментировать
  • Идеальный PopUp на html+css?

    prolis
    @prolis
    Независимый разработчик BPM
    С кнопкой "Закрыть": Пример
    Если почистить анимацию, то будет нормально
    А вообще, ответ выше без кнопки "Закрыть" вполне себе современный вариант дизайна модельного окна
    Ответ написан
    Комментировать
  • Возможна ли адаптивная разработка сайта без использования большого количества классов?

    viktorvsk
    @viktorvsk
    col-xs-12 col-sm-12 col-md-6 col-lg-3 - это внутренняя кухня бутстрапа. Разработчики подразумевают, что вы используете препроцессоры и с их поомщью формируете классы,типа:
    .article-row
      @extend .row
    .article
      @extend .col-xs-12, .col-sm-6, .col-md-4, .col-lg-2
    
    ...
    
    <div class='article-row>
    <article clas='article'>
    </article>
    </div>
    Ответ написан
    6 комментариев
  • Как работают offline клиенты VK?

    YardalGedal
    @YardalGedal
    yeah boy
    Они работают с VK Api не вызывая метода account.setOnline, который вызывается автоматически при входе в вк или переходе на страницу пользователя.

    UPD по расширению:
    Это походу вообще какой-то бред :)
    Расширение просто редактирует исходный код страницы удаляя "online" только для Вас.
    Ответ написан
    1 комментарий
  • Идеальный PopUp на html+css?

    gluck59
    @gluck59
    Виртуальный глюк
    Идеальный popup — это его отсутствие.
    Ответ написан
    1 комментарий
  • Сайты для слепых. Подводные камни, библиотеки, скрипты?

    @tdstdk
    Для Windows самая популярная программа Jaws for win. На Apple используют встроенный VoiceOver.

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

    Большие проблемы сейчас с сайтами на Angular или перебором с JS приблудами, программы доступа зачастую теряют возможность отслеживания происходящих изменений. Если изменения DOM происходят стандартным образом, например через ajax или JS, то проблемы не возникает и скринридер способен отреагировать нормально.

    Используйте при форматировании страницы разбивку заголовками (H1..H6), т.к. дивы для программ скринридеров ничего не значат. Ставьте якоря на пустые ссылки и используй параметр accesskey обязательно добавляйте параметр tabindex, для начала значимых блоков DIV. Старайтесь не применять вложенных друг в друга таблиц или таблиц с объединенными столбцами(строки можно), зачастую это может вызвать сложности. Пожалуй это основные хитрости.
    Ответ написан
    Комментировать
  • Вирус на wordpress?

    svfat
    @svfat
    ☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
    Поищите в php-файлах строчки eval(base64_decode
    Это и есть закодированные тэги зловреда
    Ответ написан
    2 комментария
  • Сайты для слепых. Подводные камни, библиотеки, скрипты?

    Odinokun
    @Odinokun
    На Web Standards Days был доклад "Доступный веб для всех"
    Посмотрите, может что-то возьмете для себя.
    Смотреть с 2:50:28.
    Ответ написан
    Комментировать
  • Сайты для слепых. Подводные камни, библиотеки, скрипты?

    @GeraldIstar
    Frontend
    На сколько я знаю, люди с проблемами зрения пользуются т.н. скринридерами. Что бы сайт был доступен для людей с проблемами зрения, обычно применяют WAI-ARIA аттрибуты.
    Вот еще статья на хабре:
    habrahabr.ru/post/30930
    Ответ написан
    Комментировать