• Реализация фильтра поиска по меткам в wordpress?

    @Andy-shak Автор вопроса
    Мб кому пригодиться

    Форма ниже даёт возможность пользователю уточнить свой выбор поиска из конкретной метки:
    <form method="get" action="<?php bloginfo('url'); ?>">
    <fieldset>
    <input type="text" name="s" value="" placeholder="search&hellip;" maxlength="50" required="required" />
    <select name="tag">
    <?php
    // генератор списка меток
    $tags = get_tags();
    foreach ($tags as $tag) {
        echo '<option value="', $tag->slug, '">', $tag->name, "</option>\n";
    }
    ?>
    </select>
    <button type="submit">Поиск</button>
    </fieldset>
    </form>
    Ответ написан
    Комментировать
  • Как обращаться к системным классам из методов пользовательского класса?

    не слежу что в пятере намутили может просто
    [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
    
    Add-Type -TypeDefinition @'
    
    using System.Windows.Forms;
    using  System.Drawing;
    public class A{
        public static Point getPos(){
           return Cursor.Position;
        }
    }
    '@  -ReferencedAssemblies 'System.Windows.Forms.dll','System.Drawing.dll'
    [A]::getPos()


    IsEmpty    X   Y
    -------    -   -
      False 1112 316
    Ответ написан
    Комментировать
  • Как у отрицательного числа убрать минус?

    wapster92
    @wapster92 Куратор тега JavaScript
    var male_age = 20, female_age = 30;
    $("#divID").append(`Ему ${male_age} лет, ей ${female_age} лет. Между ними разница ${Math.abs(male_age - female_age)} лет.`);

    А вообще нужно изучать математику, такое поведение называется модуль числа вроде в 6 или 7 классе проходится
    Ответ написан
    Комментировать
  • Как настроить редирект на https в.htaccess?

    @spieldy
    вот еще вариант
    RewriteCond %{ENV:HTTPS} !on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Ответ написан
    6 комментариев
  • Чем смотреть протокол обмена между браузером и веб-сервером?

    copist
    @copist
    Empower people to give
    Если один файл, то можно в Google Chrome в панели Developer Tools в закладке Network
    Нажми галку "Preserve Logs"
    Вот пример, пошаговый take.ms/urGde

    Если действительно нужно просмотреть протокол обмена (много запросов туда-сюда), то Сергей Протько правильно подсказал программу Wireshark под Windows. Под Linux можно использовать консольный вариант tshark.

    Wireshark
    Habr. Фильтры захвата для сетевых анализаторов (tc...
    Habr. Фильтры отображения для сетевых анализаторов...
    Tshark. Анализируем пакеты из консоли
    Habr. Tutorial. Анализ сетевого трафика на сервере...
    Ответ написан
    Комментировать
  • Чем смотреть протокол обмена между браузером и веб-сервером?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Wireshark
    Ответ написан
    Комментировать
  • Появились ли вирусы-шифровальщики, которые не расшифровываются в принципе?

    Jump
    @Jump
    Системный администратор со стажем.
    Они были есть и будут.
    Т.е что такое шифровщик - программа шифрует сильным криптоалгоритмом ваши файлы(если быть точными то только куски файлов), в качестве ключа используется случайное число, расшифровать можно только им.
    Если злоумышленник организовал прием этих ключей и хранение их у себя на сервере, то он может выслать вам его в обмен на деньги.
    Многие серьезные мошенники так и поступают. Т.к если они не будут расшифровывать, то погубят бизнес.
    С другой стороны некоторые таким не заморачиваются - запустили, срубили бабла по быстрому и довольны.
    Зачем им лишние заморочки с хранением ключей, организацией инфраструктуры?

    Т.е файлы не повреждают, а именно шифруют, но вот ключик не хранят, ибо лень.
    Ответ написан
    3 комментария
  • Как сделать такую рамку?

    kn1ght_t
    @kn1ght_t
    вариант для блоков разного размера
    https://jsfiddle.net/f48ZD/211/
    Ответ написан
    Комментировать
  • Как сделать такую рамку?

    Ответ написан
    Комментировать
  • В чём фишка https?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Шифрование на публичных сайтах без регистрации нужно примерно за тем же, зачем вам нужны кабинки в общественном туалете.
    Ответ написан
    3 комментария
  • В чем разница между var f = function(){}; и function f(){};?

    standy
    @standy
    var f = function() {};function expression
    function f() {};function declaration

    Основная разница в том, что второе поднимает определение функции до начала области видимости, в которой она объявлена. То есть можно использовать функцию до ее объявления.

    hoisted(); // выведет 'foo'
    
    function hoisted() {
      console.log('foo');
    }

    notHoisted(); // TypeError: notHoisted is not a function
    
    var notHoisted = function() {
       console.log('bar');
    };


    upd:
    Другое отличие состоит в возможности моментального вызова функции, так называемое iife

    var expression = function() { console.log('foo'); }();
    // выведет 'foo'

    function declaration() { console.log('bar'); }();
    // SyntaxError: expected expression, got ')'
    Ответ написан
    1 комментарий
  • Как правильно сравнить массивы и оценить их схожесть?

    На самом деле, я тут подумал, и придумал получше Фурье.
    Например, если вы говорите, что массивы одинаковы с точностью до поворота, то можно и надо сравнивать их на эквивалентность (я не говорю про процентную схожесть, тут сложнее), то можно интерпретировать их как строчки, и составить такую, например:
    S + "$" + T + T,
    где S -- один массив, а после разделителя два раза подряд записанный правый массив. Тогда тут достаточно запустить посчиать префикс-функцию с помощью алгоритма Кнута-Морриса-Пратта за линейное время. Если же интересуют схожие куски, то надо копать в сторону суффиксных массивов и деревьев, если хочется линейное время
    Ответ написан
    1 комментарий
  • Как правильно сравнить массивы и оценить их схожесть?

    nowm
    @nowm
    Если два массива имеют одинаковую длину, можно просто двигать по кругу первый массив и сравнивать его элементы с элементами второго. Потом можно просто выбрать максимальное совпадение и перегнать в проценты. Примерно так:

    $arr1 = [1,2,3,4,5,7,2,8];
    $arr2 = [2,9,5,5,7,2,8,1];
    
    $len = count($arr1);
    $conformity = [];
    
    for($i = 0; $i < $len; $i++) {
    	/**
    	 * $temp содержит нули в позициях, где числа в двух массивах 
    	 * по одному и тому же индексу не равны. Единицы — там, где равны.
    	 */
    	$temp = array_map(function($x,$y){return intval($x==$y);}, $arr1, $arr2);
    	
    	// Элементы полученного массива суммируются и добавляются в отчётный массив
    	$conformity[] = array_sum($temp);
    	
    	// Массив прокручивается на одну позицию
    	$arr1[] = array_shift($arr1);
    }
    
    //С помощью max($conformity) выбирается максимальное совпадение элементов
    echo sprintf("Max conformity is %s%%\n", number_format(100*(max($conformity)/$len), 2));


    Это конкретно для ситуации, когда длина «колец» одинаковая.

    Update: ещё один вариант:

    $arr1 = [1,2,3,4,5,7,2,8];
    $arr2 = [2,9,5,5,7,2,8,1];
    
    function conformity($arr1, $arr2) {
    	$len = count($arr1);
    	$max = $curr = 0;
    	
    	for($i = 0; $i < $len; $i++) {
    		array_map(function($x,$y)use(&$curr){$curr += intval($x==$y);}, $arr1, $arr2);
    		
    		if($curr == $len) {
    			return 100;
    		}
    
    		$max = $max > $curr ? $max : $curr;
    		$curr = 0;
    		
    		$arr1[] = array_shift($arr1);
    	}
    	
    	return 100*($max/$len);
    };
    
    echo sprintf("Max conformity is %s%%\n", number_format(conformity($arr1, $arr2), 2));
    Ответ написан
    6 комментариев
  • Как правильно сравнить массивы и оценить их схожесть?

    @Sumor
    Правильного способа сравнить два массива с двумя и более элементами не существует в принципе.
    Допустимые способы сравнения зависят от вашей предметной области, от того откуда берутся эти самые круги с числами. Какая мощность массивов? Одинаковая ли она? Это набор чисел (множество) или их порядок на круге имеет значение? Числа представлены количественной шкалой (можно проводить математические расчёты) или это качественные значения (математические расчёты невозможны или не имеют логического смысла)?
    В качестве меры схожести можно выбрать, например:
    1. Количество разных элементов: [1,2,3,4,5,7,2,8] [2,9,5,5,7,2,8,1] - мера равна 2
    2. Сумма модулей разности элементов: [1,2,3,4,5,7,2,8] [1,2,3,4,6,7,4,8] - мера равна 3
    3. Аналог расстояния Левенштейна: [1,2,3,4,5,7,2,8] [2,3,4,5,7,2,8,1] - мера равна 2
    Ответ написан
    Комментировать
  • Как правильно сравнить массивы и оценить их схожесть?

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

    Нужно сформулировать что такое схожесть и сразу станет ясно как сравнивать ;)
    Ответ написан
    Комментировать
  • Как правильно сравнить массивы и оценить их схожесть?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Способов сравнения массивов можно придумать неограниченное количество.

    Как правило, перед сравнением выдвигают сначала определенные требования (критерии эквивалентности), а потом уже на этих критериях изобретают сравнение.
    Ответ написан
    Комментировать
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • Как убрать проверку пароля через md5?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Правильно, нафиг надо использовать md5 для хэширования паролей. Только sha512 + несколько циклов хеширования с солью.

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