Задать вопрос
  • Как найти перенос строки в textarea?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    У вас что-то не так с кодом. Всё должно работать, вот пример: https://jsfiddle.net/alexey_m_ukolov/tz3uk5f6/10/
    Ответ написан
    1 комментарий
  • Как сделать target _blank в javascript?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    window.open используйте
    Ответ написан
    Комментировать
  • Как сформировать такой многомерный массив?

    Stimulate
    @Stimulate
    могу
    <?php
    
    $data = [
          [
            "name" => "Москва",
            "address" => "Тверская ул., 10, Москва",
            "zip" => 117334
          ],
          [
            "name" => "Москва",
            "address" => "Тверская ул., 10, Москва",
            "zip" => 117334
          ],
          [
            "name" => "Москва",
            "address" => "Тверская ул., 10, Москва",
            "zip" => 117334
          ],
          [
            "name" => "Санкт-Петербург",
            "address" => "Невский пр., 14, Санкт-Петербург",
            "zip" => 191186
          ],
          [
            "name" => "Санкт-Петербург",
            "address" => "Невский пр., 14, Санкт-Петербург",
            "zip" => 191186
          ],
          [
            "name" => "Санкт-Петербург",
            "address" => "Невский пр., 14, Санкт-Петербург",
            "zip" => 191186
          ],
          [
            "name" => "Нижний Новгород",
            "address" => "Авиаторская ул., 12, Нижний Новгород, Нижегородская обл.",
            "zip" => 603034
          ],
          [
            "name" => "Нижний Новгород",
            "address" => "Авиаторская ул., 12, Нижний Новгород, Нижегородская обл.",
            "zip" => 603034
          ],
          [
            "name" => "Нижний Новгород",
            "address" => "Авиаторская ул., 12, Нижний Новгород, Нижегородская обл.",
            "zip" => 603034
          ]
    ];
    
    $new_data = [];
    
    foreach ($data as $row) {
    	if (!array_key_exists($row['name'], $new_data)) {
    		$new_data[$row['name']] = [];
    	}
    	
    	$new_data[$row['name']][] = $row;
    }
    		
    echo '<pre>';
        print_r($new_data);
    echo '</pre>';
    Ответ написан
    2 комментария
  • Почему не совпадает верстка с реальными устройствами?

    paulradzkov
    @paulradzkov
    Дизайнер, верстальщик, начальник отдела UI
    Вы неправильно настроили панель разработчика. У мобильных телефонов количество физических пикселей больше, чем количество «css-пикселей» в браузере. Разница выражается параметром Device Pixel Ratio (DPR) — это коэффициент умножения, сколько физических пикселей в одном «css-пикселе».

    take.ms/v1Ms8

    В режиме Responsive у Хрома по-умолчанию DPR=1.0 (у макбука по-умолчанию 2.0, т.к. retina-экран). Вы выставили ширину вьюпорта 540px, но у вашего телефона, скорее всего, DPR = 1.5 и разрешение в браузере соответствует 360px (540 / 1.5 = 360).

    Вам надо включить отображение DPR и доработать верстку на малых экранах от 540 до 320px.
    Ответ написан
    7 комментариев
  • Как развиваться в программировании не привязываясь к языку?

    myjcom
    @myjcom
    Clean Code: A handbook of software craftsmanship / Чистый код: Создание, анализ и рефакторинг
    Год издания: 2013
    Автор: Robert Martin / Роберт Мартин
    ISBN: 978-5-496-00487-9

    The Clean Coder: A Code of Conduct for Professional Programmers / Идеальный программист. Как стать профессионалом разработки ПО
    Год издания: 2012
    Автор: Robert C. Martin / Роберт Мартин
    ISBN: 978-5-459-01044-2

    Алгоритмы. Справочник с примерами на C, C++, Java и Python
    Год издания: 2017
    Автор: Хайнеман Д., Поллис Г., Селков С.
    ISBN: 978-5-9908910-7-4

    Design Patterns. Elements of Reusable Object-Oriented Software/Приемы объектно-ориентированного проектирования. Паттерны проектирования
    Год издания: 2015
    Автор: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides/Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж
    ISBN: 978-5-496-00389-6

    Test-driven development by example / Экстремальное программирование. Разработка через тестирование
    Год издания: 2017
    Автор: Kent Beck / Кент Бек
    ISBN: 978-5-496-02570-6

    Грокаем Алгоритмы. Иллюстрированное пособие для программистов и любопытствущих
    Год издания: 2017
    Автор: Бхаргава А
    ISBN: 978-5-496-02541-6

    Алгоритмы. Теория и практическое применение
    Год издания: 2016
    Автор: Стивенс Род
    ISBN: 978-5-699-81729-0

    прочитать нужно все

    ну и на закуску
    C Unleashed / Искусство программирования на C. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста
    Год: 2001
    Автор: Heathfield R., Kirby L. / Хэзфилд Р., Кирби Л.
    ISBN: 0-672-31896-2 / 966-7393-82-8
    Ответ написан
    9 комментариев
  • Как сформировать массив?

    rockon404
    @rockon404
    Frontend Developer
    ES6:
    const map = {};
    
    srcArray.forEach(({ ID, ...Coords }) => {
      map[ID] = map[ID] || { ID, Coords: [] };
      map[ID].Coords.push(Coords);
    });
    
    const resultArray = Object.values(map);

    или без rest оператора:
    const map = {};
    
    srcArray.forEach(({ ID, lat, lng }) => {
      map[ID] = map[ID] || { ID, Coords: [] };
      map[ID].Coords.push({ lat, lng });
    });
    
    const resultArray = Object.values(map);

    еще ES6:
    const resultArray = 
      Object.values(srcArray.reduce((map, { ID, ...Coords }) => {
        map[ID] = map[ID] || { ID, Coords: [] };
        map[ID].Coords.push(Coords);
    
        return map;
      }, {}));

    без использования rest:
    const resultArray = 
      Object.values(srcArray.reduce((map, { ID, lat, lng }) => {
        map[ID] = map[ID] || { ID, Coords: [] };
        map[ID].Coords.push({ lat, lng });
    
        return map;
      }, {}));


    ES5:
    var map = {};
    var resultArray = [];
    
    srcArray.forEach(function(el) {
      map[e.ID] = map[el.ID] || { ID: el.ID, Coords: [] };
      map[el.ID].Coords.push({ lat: el.lat, lng: el.lng });
    });
    
    for(var key in map) {
      resultArray.push(map[key]);
    }
    Ответ написан
    Комментировать
  • Как сформировать массив?

    bubandos
    @bubandos
    bash'у, javascript'ую, php'лю, css'аю, html'каю
    например, так: https://jsfiddle.net/anton4ept/177qtLLv/
    Ответ написан
    Комментировать
  • Как сформировать массив?

    twobomb
    @twobomb
    var arr = [
        {ID: "123", lat: "55.680024", lng: "37.558505"},
        {ID: "123", lat: "55.680024", lng: "37.558505"},
        {ID: "987", lat: "55.783861", lng: "37.536533"},
        {ID: "987", lat: "55.783861", lng: "37.536533"}
    ];
    console.log( convert(arr));
    
    function convert(arr){
      var newarr = [];
      arr.map((e)=>{
          for(var i = 0;i < newarr.length;i++)
            if(newarr[i].ID == e.ID){
              newarr[i].Coords.push({lat:e.lat,lng:e.lng});
              return;
             }
            newarr.push({ID:e.ID,Coords:[{lat:e.lat,lng:e.lng}]});
      });
    return newarr;
    }
    Ответ написан
    Комментировать
  • Как найти элемент в массиве?

    Stalker_RED
    @Stalker_RED
    Смотрим список Функции для работы с массивами
    Похоже, эта подойдет:
    array_combine — Создает новый массив, используя один массив в качестве ключей, а другой для его значений


    $a = [
    0 => 'Подключения',
    1 => 'Эксплуатация',
    2 => 'Эксплуатация',
    3 => 'Подключения',
    4 => 'Эксплуатация',
    5 => 'Подключения',
    6 => 'Подключения',
    7 => 'Подключения',
    ];
     
    $b = [
    0 => 0,
    1 => 3,
    2 => 5,
    3 => 6,
    4 => 7,
    5 => 8,
    6 => 9,
    7 => 10,
    ];
     
    $c = array_combine($b, $a);
     
    echo $c[7]; // Эксплуатация

    https://ideone.com/refyj1
    Ответ написан
    1 комментарий
  • Почему на клиенте используют js а не php?

    youngmysteriouslight
    @youngmysteriouslight
    ТК, ТТ, JS, FP, WM
    Может, я и не понял контекст вопроса, но не один из предложенных вариантов ответа не отвечает на поставленный вопрос. Итак, почему же на клиенте сейчас используется JS, а не PHP?

    Кратко: так исторически сложилось.
    PHP исходно был собран как интерпретируемый скриптовый язык для серверной генерации домашних страниц, позже был превращен в полноценный инструмент для серверного программирования.
    JS был заказан ради внедрения в один конкретный браузер и впервые был анонсирован перед выпуском второй бета-версии Netscape Navigator. Затем он в виде диалектов перекачевал в другие браузеры, ибо идея DHTML (разметка на HTML, оформление на CSS, интерактив и прочая клиентская логика на JS) понравилась многим. Затем он был стандартизован, а после 2009 начался треш.

    В некой альтернативной вселенной первый браузер мог бы использовать PHP в качестве языка клиентских скриптов, и в той вселенной на сервере и клиенте могли бы использовать PHP, и это было бы в некоторой степени удобно.

    В нашей же пытаются сделать обратную вещь: запустить JS на сервере, чтобы и на клиенте, и на сервере был один язык (гуглите: изоморфный JS). Шансов, что на браузере будут нативно исполняться PHP скрипты, равны нулю. Даже dart не прижился.
    Ответ написан
    Комментировать
  • Запрещать ли индексирование сайта?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Какой алгоритм подойдет для описания полета насекомого?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Можно сделать цепочку преследования: к случайной точке тянется одна, к ней другая, и т.д., а последняя – муха.

    Очередную точку ставить на плоскости случайно, в любом месте внутри допустимой области. Эта точка – цель, к которой стремится следующая, невидимая точка: каждый следующий кадр её координаты изменяются на k * векторИзТекущегоПоложения-в-Цель:
    x = x + k * (xTarget - x);
    y = y + k * (yTarget - y);

    Так «преследователь» замедляется, по мере приближения к цели, никогда её не достигая.

    Эта невидимая точка – не одна. К ней, как к цели, стремится следующая. К той ещё одна. Наконец, сама муха по этому закону стремится к хвосту этой цепи - очередной точке.

    Чем больше звеньев в такой цепи, тем плавнее получается кривая. При приближении мухи к цели ближе, чем на D, генерится следующая случайная цель.

    Сделал рабочий пример.

    Можно поменять алгоритм и сделать, скажем, линейную скорость постоянной. Или случайно варьировать параметры k и D – от этого поменяется скорость и траектория от плавной ближе к ломаной.
    Ответ написан
    Комментировать
  • Свой класс элементам the_content()?

    deniscopro
    @deniscopro Куратор тега WordPress
    WordPress-разработчик, denisco.pro
    Например, так
    add_filter( 'the_content', 'my_the_content' );
     
    function my_the_content( $content ) {
        return str_replace('<ul', '<ul class="list2"', $content);
    }


    Но, помоему, проще обернуть контент
    <div class="content">
        <?php the_content(); ?>
    </div>

    .content ul {
        /* стили */
    }
    Ответ написан
    1 комментарий
  • Свой класс элементам the_content()?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Хукаетесь в фильтр the_content
    add_filter( 'the_content', 'add_class_to_list' );
    2. Фильтруете контент и добавляете класс:
    function add_class_to_list( $content ) {
    
        // тут выполняете манипуляции на $content
    
        return $content;
    }


    Есть три базовых варианта как выполнять эти "манипуляции":

    2.1 Заменой подстроки
    2.2 Полноценной работой с DOM
    2.3 Регулярными выражениями

    Далее привожу первые два варианта, по порядку:

    // 2.1 - Заменой подстроки
    function add_class_to_list( $content ) {
    
        // Находим <ul> и меняем на <ul class="list2">
        $content = str_replace( '<ul>', '<ul class="list2">', $content );
    
        return $content;
    }
    add_filter( 'the_content', 'add_class_to_list' );
    
    // 2.2 - Работой с DOM
    function add_class_to_list( $content ) {
    
        $doc = new DOMDocument();
    
        // далее все необходимые манипуляции, подробности работы с DOMDocument - в документации:
        // http://php.net/manual/en/class.domdocument.php
    
        return $content;
    }
    add_filter( 'the_content', 'add_class_to_list' );


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

    @vyrkmod
    Пишу на php. И не стыдно.
    Вообще, есть usort. Хотя тут лучше "в лоб":
    $sorted = [];
    foreach($order as $oitem) {
        foreach ($unsorted as $key => $uitem) {
            if($oitem['course_id'] == $uitem['course_id']) {
                $sorted[] = $uitem;
                unset($unsorted[$key]);
                break;
            }
        }
    }
    foreach ($unsorted as $uitem) {
        $sorted[] = $uitem;
    }
    Ответ написан
    Комментировать
  • Как отсортировать массив значениями другого массива?

    DevMan
    @DevMan
    $a1 = array_column($a1, null, 'course_id');
    $sorted = array_map(function($v) use ($a1) {
    	return $a1[$v];
    }, array_column($a2, 'course_id'));
    print_r($sorted);

    ideone.com/KcKHiq
    Ответ написан
    Комментировать
  • Какие расширения входят в ваши "джентельменские" наборы для Битрикс, Joomla и WordPress?

    Punkie
    @Punkie
    Wordpress:
    Advanced Custom Fields - Управление кастомными полями, важнейшая штука. Даже купил PRO версию с developer лицензией
    Akismet - фильтр спама для форм на фронтэнде
    Custom Post Types UI - Удобное управление кастомными типами записей и таксономиями
    Duplicator - Удобнейший плагин для бекапов
    Cyr to Lat - автоконвертация ссылок в латынницу
    FakerPress - генерация "рыбного" наполнения сайта. Важно для тестов пагинации и т.п.
    Regenerate Thumbnails - Плагин, который принудительно пересоздает нужные размеры картинок по запросу. Важнейшая штука при создании темы.
    Reveal Template - Полезный плаг, который показывает текущий используемый файл шаблона во время разработки темы.
    WPML - универсальная платформа для внедрения мультиязычности в сайт. Платный.
    Contact Form 7 - самый лучший плагин для контактных форм на фронтэнде.
    Ну и WooCommerce, если это магазин.

    Из полезных сайтов:
    https://codex.wordpress.org/ - официальная документация по Wordpress
    https://css-tricks.com/snippets/wordpress - хорошая подборка полезных сниппетов
    https://generatewp.com/ - полезнейший сервис генерации кода для вставки в тему. Избавляет от изнурительного процесса гугления рутинных штук.
    Ответ написан
    1 комментарий
  • Где найти пример идеального UX/UI?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Может кто наталкивался на хорошие статьи на тему, что бы ссылку дизайнеру кинуть или тыкнуть заказчика мордой в теорию.

    В последнее время сам себя тыкаю в замечательную статью - UX/UI Best Practices: 125 Easy Tweaks to Optimize .... Там обо всем простыми словами и с примерами.
    Ответ написан
    2 комментария