• Элемент не найден! Как исправить это?

    что передаете в компонет, какой реквест, полный код урлреврайт напишите, правильно ли настроили, выведите на странице с компонентом реквест и посмотрите, правильно ли регулярка сработала
    Ответ написан
    Комментировать
  • Как сделать такую анимацию?

    HamSter007
    @HamSter007
    HTML/CSS верстальщик
    greensock в помощь!

    пример*
    Ответ написан
    Комментировать
  • Как организован workflow фронтенд разработчика?

    serjikz
    @serjikz
    web-developer
    Давайте по пунктам постараюсь рассказать, как вообще надо работать во front-end.
    1. Вы должны научиться думать блоками (блоками в потоке, выпадающими из потока, flex-блоками и тд и тп). Научиться можно только когда вы поймете как на самом деле надо верстать.
    2. Начните с простой вёрстки. Возьмите макет в .psd (80% работы над каждым сайтом вы будете пользоваться PhotoShop и если вы его не знаете хотя бы на предбазовом уровне - печаль беда), импортируйте оттуда все нужные вам картинки ну и начинайте верстать шаблон поблочно, смотря где какой цвет шрифта, размер, жирность, размер блока, фон этого блока и тд и тп.
    3. Зачем вы себе морочили голову gulp, sass, bootstrap когда ещё верстать даже нормально не умеете - я увы не понимаю. Вам ни один из этих инструментов не поможет пока вы не будете уметь именно верстать. На данный момент не думайте о технологиях, структуре и тд и тп. Просто сверстайте хоть какой-нибудь макет хоть как-то.
    4. Общайтесь с людьми, которые вам могут помочь продвинуться в этой сфере. Таковых крайне много. Можете ко мне в скайп добавиться и узнавать некоторые вещи, можете к другим, к кому угодно фактически, наверно 60-70% верстальщиков с удовольствием поделятся с вами своим опытом
    5. Пишите код аккуратно. Был тут недавно вопрос, в котором человек предоставил код, а там ни{ } нету, ни отступов нормальных нет, ну и половина ; просто потеряны, а в html теги применяются не по назначению вовсе. Нельзя так делать ни в коем случае, иначе ваш уровень не поднимется с уровня плинтуса.
    6. Файловая структура: папки css images js и на уровне с этими папками лежат файлы .html либо .php всё. Если говорить о препроцессорах и сборщиках - не лезте пока в это, потом узнаете как только научитесь нормально верстать. Я думаю нет смысла объяснять что в папках тех должно лежать. Если вы считаете себя особенным - можете распределять внутри images картинки по папкам на составляющие, к примеру сделать папку отзывов, папку галерей каких-нибудь и тп, но я чаще так не делаю, не хочу чтоб дополнительные символы засоряли мне код и ухудшали читаемость.
    7. Связывать между собой html и css судя по всему вы и так уже умеете и привязывать к ним js. Не знаю что вам мешает сверстать любой сайт если вы понимаете как устроены эти 3 технологии (а на них по факту всё и держится).

    Итог: Забудьте про sass, gulp и прочее пока не сверстаете шаблонов 10, эти технологии вас никак не ускорят и никак вам не помогут пока вы не будете уметь просто верстать с шаблона .psd и писать нужные скрипты на js или jQuery хотя бы. Научитесь немного фотошопу и занимайтесь практикой. Найти те самые .psd вообще не проблема, их куча бесплатных в интернете.
    Ответ написан
    2 комментария
  • Обучение верстке или как плыть по течению?

    VGrabko
    @VGrabko
    Golang, Php, Js
    Ну не всем это далось и они ушли в backend ))
    Ответ написан
    1 комментарий
  • За и против использования bootstrap?

    nepster-web
    @nepster-web
    Ну во первых ошибка многих в том, что подключают бутстрап по любому чиху, даже если нужно просто грид сетка. В первую очередь bootstrap это компоненты, поэтому лучше всего взять только то, что нужно: getbootstrap.com/customize

    А так вообще плюсы и минусы следующие:
    + стандартизация. Все кто работают с bootstrap понимают вашу верстку, что и как делать.
    + экономия времени
    - в любом случае под свой кастомный дизайн придется перекрывать стили
    - полная зависимость в js компонентах от jquery (ну это такое)
    - некоторые неловкости при работе с методологиями.

    Соответственно если у вас большая компания, мы делаете серьезный высококачественный продукт, то вы вполне должны обойтись без bootstrap.

    И б, если вы фрилансер и делаете обычные средние или мелкие проекты, то bootstrap отличный выбор, я бы даже сказал обязательный выбор в пользу некой стандартизации.
    Ответ написан
    16 комментариев
  • Как правильно сверстать это?

    @metaf
    Посмотрите плагин easypin (в примере метки над паромом и башней). Responsive, метки остаются на месте.
    Ответ написан
    Комментировать
  • Как поступить с кроссбраузерной версткой, что ответить заказчику?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    В понятие кроссбраузерности поддержка IE8 не входит. Кроссбраузерность - это поддержка актуальных современных браузеров.
    Поддержка IE8 - поддержка устаревших браузеров. За что в обязательном порядке нужно требовать солидную доплату.
    Ответ написан
    7 комментариев
  • Как поступить с кроссбраузерной версткой, что ответить заказчику?

    Punkie
    @Punkie
    Так как в пункте ТЗ не оговорены версии браузеров, то вы можете сьехать на то, что ie8 - это уже не подходит под пункт "Кроссбраузер" в классическом понимании этого вопроса. Поддержка ie8 - это можно обозвать "Поддержка устаревших браузеров = +100% стоимости заказа". Или "Пинание говна динозавра" - если так угодно.
    Обосновать - чартами использования браузеров и нецелесообразностью траты денег на мёртвый браузер, который используют полтора пенсионера.
    Ответ написан
    17 комментариев
  • В чем суть роутера на 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 комментариев
  • Как спарсить html страницу с помощью php?

    @VovanZ
    1. Достаёте страницу с помощью file_get_contents или curl
    2. Вот список XML парсеров для PHP.
    К сожалению, не знаю про них ничего (никогда не писал ничего подобного на пхп, я сам бы выбрал для этой задачи питон и lxml), но какой-нибудь из них точно умеет парсить html :)

    А вообще, вы бы могли сделать ещё одну страничку, и отдавать там нужные данные в json, его намного проще парсить.
    json_decode - и у вас готовый объект/массив (на выбор) c нужными данными.
    Ответ написан
    3 комментария
  • Как компенсировать задержку?

    freevital
    @freevital
    Full-Stack Web Developer
    Ответ написан
    Комментировать
  • В консоли выводится информация в формате json, как получить из текст и вывести на сайт?

    quux
    @quux
    var asdf = {"id":20,"name":"Nikita"}
    console.log("имя:" asdf.name)
    Ответ написан
    Комментировать
  • Как найти места поблизости?

    public static function distance($_y1, $_x1, $_y2, $_x2)
    {
    	$pi      =                   pi();
    	$c_A     =                6378137;
    	$c_a     =      1 / 298.257223563;
    	$c_e2    = 2 * $c_a - $c_a * $c_a;
    	
    	$fSinB1  = sin($_y1    * $pi / 180);
    	$fCosB1  = cos($_y1    * $pi / 180);
    	$fSinL1  = sin($_x1    * $pi / 180);
    	$fCosL1  = cos($_x1    * $pi / 180);
    	
    	$fSinB2  = sin($_y2    * $pi / 180);
    	$fCosB2  = cos($_y2    * $pi / 180);
    	$fSinL2  = sin($_x2    * $pi / 180);
    	$fCosL2  = cos($_x2    * $pi / 180);
    	
    	$N1 = $c_A / sqrt( 1 - $c_e2 * $fSinB1 * $fSinB1 );
    	
    	$X1 = $N1 * $fCosB1 * $fCosL1;
    	$Y1 = $N1 * $fCosB1 * $fSinL1;
    	$Z1 = ( 1 - $c_e2 ) * $N1 * $fSinB1;
    	
    	$N2 = $c_A / sqrt( 1 - $c_e2 * $fSinB2 * $fSinB2 );
    	
    	$X2 = $N2 * $fCosB2 * $fCosL2;
    	$Y2 = $N2 * $fCosB2 * $fSinL2;
    	$Z2 = ( 1 - $c_e2 ) * $N2 * $fSinB2;
    	
    	$D = sqrt( ( $X1 - $X2 ) * ( $X1 - $X2 ) + ( $Y1 - $Y2 ) * ( $Y1 - $Y2 ) + ( $Z1 - $Z2 ) * ( $Z1 - $Z2 ) );
    	$R = $N1;
    	
    	return 2 * $R * asin( 0.5 * $D / $R );
    }

    Вот есть метод расчета расстояния между точками. (работает исправно уже много лет)
    В бд можно занести координаты заранее, использовав Яндекс.Геокодер
    http://geocode-maps.yandex.ru/1.x/?geocode=Ул. Пушкина, дом Колотушкина&results=1
    Ответ написан
    3 комментария
  • Как реализовать ajax запрос в mvc?

    modestguy
    @modestguy
    full-stack web developer
    По сути AJAX-запрос ничем не отличается от обычного запроса. Т.е. вам также надо добавить метод в контроллере (экшн), который будет обрабатывать ajax-запросы. Как правило в нём выполняется проверка, что запрос является именно ajax-запросом. Ну и возвращаемые данные как правило идут в JSON или другом формате - более приемлемом для обработки на клиентской стороне (javascript).
    Ответ написан
    Комментировать
  • Есть ли русскоязычные ресурсы для изучения PHP 7?

    AlexanderShapoval
    @AlexanderShapoval
    PHP maker
    Исключительно PHP7? PHP7 не особо отличается от PHP5.6 для 95% задач. По поводу ресурса - не встречал. Релиз весьма удачный. На Хабрахабр достаточно статей описывающих преимущество 7й версии.

    Лично я провел простой тест с 100 000 000 пустых циклов for, результат такой:
    --PHP 5.2: 5.30796 секунд
    --PHP 5.3: 6.42107 секунд
    --PHP 5.4: 3.05346 секунд
    --PHP 5.5: 3.21097 секунд
    --PHP 5.6: 3.31220 секунд
    --PHP 7.0: 1.59607 секунд

    Также скорость зависит от количества подключенных библиотек. Так подключение xdebug увеличивает требуемое время выполнения в несколько раз (обычно в 2-3 раза).
    Ответ написан
    Комментировать
  • Есть ли русскоязычные ресурсы для изучения PHP 7?

    @Silm
    Изучение PHP7 ничем не отличается от PHP5. Точнее, изучение PHP7, после PHP5 будет заключается в прочтении "что нового".

    Релиз удачный. Прирост в производительности есть. Значительный.

    getjump.me/ru-php-the-right-way
    Ответ написан
    2 комментария
  • Как отправить данные кроcсдоменным POST-ом в JS и обработать на PHP?

    @KuzmenkoArtem
    Скорее всего у вас нет обработки OPTIONS запросов.
    Зайдите во вкладку NETWORKS в инструментах разработчика в google chrome и просмотрите какие запросы отправляет браузер.
    Обычно когда выполняется кроссдоменный запрос отличный от GET, перед ним отправляется запрос OPTIONS который должен сказать какие можно использовать запросы.

    Вы можете прописать обработку OPTIONS запросов на той странице на которую подаете запрос
    $method = $_SERVER['REQUEST_METHOD'];
    if($method == "OPTIONS"){
        header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
        header("Access-Control-Allow-Headers: Accept, X-Requested-With, X-Accept-Charset,X-Accept,Content-Type,Accept-Language,Accept-Charset,X-Request-With,Content-Length,Accept,Origin");
        header("Access-Control-Allow-Credentials: true");
        header("Allow: GET, POST, PUT, DELETE, OPTIONS");
        
        return "status: 200";
    }
    Ответ написан
    Комментировать
  • Я хочу хорошую библиотеку на PHP для MySQL. Я зажрался, или такое есть и активно используется?

    Acuna
    @Acuna
    Заполнил свой профиль
    Вы не поверите, но существует PDO, это и есть та библиотека, которую Вы и хотите: php.net/manual/ru/intro.pdo.php Умеет даже SSL. Притом абсолютно дефолтная. И не благодарите)
    Ответ написан
    4 комментария
  • Обучение php в игровой форме?

    Самый плодотворный путь обучения - написание живого проекта.
    Все остальные варианты всегда скукота и грусть, которую можно перебороть только если у тебя высокий уровень самодисциплины, что встречается довольно редко.
    Ответ написан
    3 комментария