Задать вопрос
  • Как можно выделить наименьшее по длине предложение из строки?

    miraage
    @miraage
    Старый прогер
    Обновил ответ.

    function find_shortest_sentence($text)
    {
        $sentences = preg_split('/[.!?]\s*/', $text, -1, PREG_SPLIT_NO_EMPTY);
        
        // передали некорректный текст
        if (!isset($sentences[0])) {
            throw new InvalidArgumentException('Text must contain at least one sentence.');
        }
        
        $min = array_shift($sentences);
        
        foreach ($sentences as $sentence) {
            if (mb_strlen($sentence) < mb_strlen($min)) {
                $min = $sentence;
            }
        }
        
        return $min;
    }
    
    var_dump(
        find_shortest_sentence('Первое предложение. Второе предложение. Тр предл.'),
        find_shortest_sentence('Первое предложение. Второе предложение. Тр предл')
    );
    
    // string(15) "Тр предл"
    // string(15) "Тр предл"
    Ответ написан
    6 комментариев
  • Как можно выделить наименьшее по длине предложение из строки?

    @vilgeforce
    Раздолбай и программист
    Вам, в общем-то, даже не нужно сохранять предложения в массив чтобы найти самое короткое. Задача может быть решена и через конечный автомат, когда вы идете по строке и сохраняете символы в буфер, а как только найдете точку - проверяете что строка в буфере короче предыдущей самой короткой из найденных.
    Ответ написан
    Комментировать
  • Помощь в написании батника?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    ну, помощь - это и консультация тоже
    Вот тебе два варианта :
    CMD:
    дата (в формате указанном в региональных параметрах windows. стандартно это дд.ММ.гггг) date /T
    список файлов в папке и подпапках без имен директорий dir /S /A:-D
    перемещение файла : move
    создание папок mkdir

    PowerShell
    дата : Get-Date
    Из даты можно отдельно (и относительно просто) получать день, месяц, год :
    (Get-Date).Day
    (Get-Date).Month
    (Get-Date).Year


    Список файлов в папке и подпапках без директорий : Get-ChildItem -recurse -file
    Проверка существования директории : Test-Path C:\имяпапки
    Создание директории: New-Item -itemtype directory c:\имяпапки
    перемещение файлов: Move-Item

    Если ты не справишься с написанием скрипта с такими подсказками то тебе на фрилансим, оформлять заказ.
    Ответ написан
    1 комментарий
  • Переход с php 4.4 на 5.4, сайт под управлением bitrix 8.0 - кто-нибудь обновлял этих динозавров?

    b0nn1e
    @b0nn1e
    Alcohol & Ruby on Rails
    Вредный конечно совет, но возьмите VPS/VDS, по цене не на много дороже виртуального php хостинга, настройте там php4 и нужное окружение, и пусть еще 10 лет крутиться.
    Ответ написан
    2 комментария
  • Как встроить if в jquery?

    '<option ' + ((i == '1') ? 'disabled ' : '') + 'value="' + i + '">'
    Вот так. Читайте про тернарный оператор.
    Ответ написан
    Комментировать
  • Почему нельзя генерировать на компьютере случайные числа?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Задача совершенно сложная, поскольку компьютер - вещь совершенно не случайная. Компьютер - он конкретный, и не способен создать случайность, только выполнить конкретные команды.

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

    Вторая проблема - взять эти разные величины - это нужно обратиться к таймеру, обратиться к устройствам, выполнять эти математические операции, то есть это не быстро.

    Без сторонних железок, можете пробовать сами..
    Какой-нить бред, вроде текущее время * температуру проца, взять первые 1024 от этого и прочитать указанный сектор на первом разделе устройства, провернуть через md5, опять прибавить новое текущее время.
    Если вам быстродействие устроит - то вот пример более-менее рандомного числа, которое в разное время на разных машинах будет генерить разные цифры. Но вот проблема в том, что если вы будете несколько недель генерить этим методом рандомные цифры от 0 до 100, то через несколько недель, статистика вам покажет, что некоторые числа будут встречаться гораздо чаще, чем другие.

    Хороший алгоритм, который на млн запросов выдаст примерно ровное выпадание чисел по ВСЕМУ диапазону - задача крайне сложная.
    Ответ написан
    2 комментария
  • Как сделать автоматическое нажатие кнопки на сайте через 5 секунд после загрузки сраниц?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    click() - нативный js
    trigger('click') - jquery

    На нативном js
    // После загрузки страницы
    window.addEventListener('load', function(){
    	'use strict';
    
    	// Получим наш параграф
    	var el = document.querySelector('.next-slide-text');
    
    	// Событие, которое происходит при клике на параграф
    	el.addEventListener('click', function(){
    		alert('Был клик');
    	});
    
    	// Тут запускаем через 5 секунд симуляцию клика по парагафу
    	setTimeout(function(){
    		el.click();
    	}, 5000);
    });

    Демо

    На jQuery
    // После загрузки страницы
    $(window).on('load', function(){
    	'use strict';
    
    	// Получим наш параграф
    	var el = $('.next-slide-text');
    
    	// Событие, которое происходит при клике на параграф
    	el.on('click', function(){
    		alert('Был клик!');
    	});
    
    	// Тут запускаем через 5 секунд симуляцию клика по парагафу
    	setTimeout(function(){
    		el.trigger('click');
    	}, 5000);
    });

    Демо
    Ответ написан
    Комментировать
  • Цикл в PHP с двумя if?

    @mr-molodoy
    if ($oid==79) {
              printf('<li><a href="http://2013.ru">%s</a></li>', $title);	
    } else if ($oid==84) {
              printf('%s', $title);
    } else {
              printf('<li><a href="/dir/%s">%s</a></li>', $oid, $title);
    }
    Ответ написан
    Комментировать
  • Почему не срабатывает код pdo php?

    @magazovski
    Надо вывести подробную ошибку
    ...
    if($res->execute()){
          header('Location: http://www.websmash.net/article/index.php?id='.$id);
        }else{
          $arr = $res->errorInfo();
          print_r($arr);
        }
    ...


    php.net/manual/ru/pdostatement.errorinfo.php
    Ответ написан
    Комментировать
  • Почему не все серверы пишутся на Node js?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Принципиальных качественных преимуществ у node.js перед остальными языками нет, как впрочем и недостатков. Просто yet another язык со своими особенностями. Соответственно если в вопросе заменить node.js на php/ruby/python итд - ничего не изменится.
    Вопрос по сути абстрактный "почему все не перешли на язык %%%%%"

    2. Ответ на абстрактный вопрос:
    а) Потому что существует огромное количество legacy кода который нужно поддерживать. Работы по поддержке и развитию существующего кода на порядок больше чем написания с нуля нового
    б) Потому что у разработчиков есть свой стек любимых технологий, изменять который без явных экономических причин основная масса не готова
    в) Потому что умные технические менеджеры выбирают стек технологий проекта исходя из имеющихся под рукой разработчиков и легкости поиска и заменимости оных.

    UPD
    hbrmdc
    У NodeJS есть уникальные и очень весомые преимущества, которых нет ни у одного другого языка. Например то, что это JS, и, следовательно, нет необходимости разучивать лишние языки - можно весь webapp писать на js.
    Личные предпочтения обоснованные привычками - это не имеющий значения аргумент в данном вопросе.

    1) Есть отличия, да. Только не те о которых Вы пишите. То что это "JS" вообще ни на что не влияет.
    JS хорошо знают фронтендщики - а кто пустит фронтэндщика к внутренней архитектуре? Там подход совершенно другой нужен, другие навыки, другое понимание как это все работает. Просто пересадить человека с фронта на бек - нельзя.

    На самом деле основные отличия другие:
    Постоянно живущий процесс, фактическая однопоточность. В зависимости от задачи - это может быть и плюсом и минусом. Условно для какого нибудь сокет-сервера - плюс (активно используем на живых проектах). Для middleware - я бы подумал. Для нагруженного сервиса с расчетами - точно нет.

    2) Личные предпочтения обоснованные привычками это основной аргумент.
    Я вот умею в php, умею в ноду, умею в еще десяток умных слов.
    Мне нужна новая команда на новый проект.
    Я открываю hh и что я вижу: node.js 279 резюме из которых половина фронтэндщики.
    PHP - 9613 резюме. Даже если 90% разработчиков PHP на hh - уроды которых к коду нельзя подпускать на пушечный выстрел - останется все равно в 3 раза больше чем есть node.js.
    Собственно на этом выбор и закончен.

    На малопопулярных языках пишут в случаях:
    a) это мелкий сервис с неявными перспективами который можно переписать за неделю
    б) это проект "для души" разработчика.

    Получается замкнутый круг на самом деле.
    Менеджер смотрит резюме, резюме на node.js нет =>
    Менеджер не начнет проект на node.js =>
    Не возникнет вакансия на node.js =>
    Разработчик анализируя вакансии не увидит вакансий на node.js =>
    Разработчик будет учить что то другое =>
    Менеджер смотрит резюме, резюме на node.js нет...

    Переломить ситуацию могут только очень крупные игроки обладающие возможностями формирования рынка (например Apple и Swift), и то не со 100% гарантией (samsung&c и Tizen)
    Ответ написан
    13 комментариев
  • Какова ответственность на разработчике?

    @Beltoev
    Живу в своё удовольствие
    По-моему, сильно накручиваете: в сети столько хайпов и всем на них как бы параллельно.
    Я бы не парился, к тому же, ваша задача - разработать "проект со вкладами и реферальными программами". Ничего уголовного в постановке задачи нет, а там уже от заказчика зависит, будет ли проект белым или нет.
    Хоть раз кто-нибудь обвинял не Мавроди, а программистов, создавших ему сайт для недавней МММ? Или почему не сажают разработчиков CMS, на которых делают противозаконные ресурсы?

    В общем, подводя итоги: проблемы все-таки нет, просто накручиваете
    Ответ написан
    Комментировать
  • Как открыть консоль в Chrome на Android?

    OsBen
    @OsBen
    Печатай больше года, что бы запомнить больше кода
    Удаленная отладка на Android с Chrome
    https://developers.google.com/web/tools/setup/remo...
    Ответ написан
    Комментировать
  • Арендовав vps/vps, можно разместить только ОДИН сайт?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Вы покупаете виртуальный сервер - уменьшенную копию реального сервера, то есть маленький компьютер. С ним вы можете делать всё, что захотите. Даже захостить 100500 сайтов. И для этого достаточно 1 ip. В dns ко всем доменам, которые хотите захостить на своём vps прописываете ip вашего vps, а в vps уже настраиваете виртуальные хосты на вашем веб-сервере.

    Как vps будет понимать какой сайт показать?
    Когда вы вбиваете адрес сайта в браузер, он спрашивает у dns ip адрес машины, соответствующий данному домену и соединяется с машиной и установленным веб-сервером на ней по HTTP протоколу, при этом отсылая заголовки. В одном из заголовков (Host:) браузер присылает адрес сайта, который он хочет получить в ответ, веб-сервер смотрит на этот заголовок, сверяет со своим конфигом и отдаёт, грубо говоря, всё содержимое папки, которая соответствует данному хосту в конфиге. Такая практика называется "virtual hosts", виртуальные хосты.
    Ответ написан
    Комментировать
  • Как при быстром многократном клике по кнопке обрабатывать только первый клик - jQuery?

    @dmitryKovalskiy
    программист средней руки
    disable кнопке проставлять нельзя? или не помогает?
    Ответ написан
    5 комментариев
  • Где искать информацию о компонентах bower?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    А какую информацию вы ищете? Там в списке есть название, описание, ссылка на репо. Поиск работает. Чего еще хочется?
    Ответ написан
    Комментировать
  • Как вставить td в конец tr на JQuery?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    [].forEach.call(document.querySelector("#table tr"), function(v){
       v.appendChild(document.createElement("td"));
    });

    Или
    $("#table tr").append("<td></td>");
    Ответ написан
    1 комментарий
  • Как рассчитать степень схожести двух текстов?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Вам нужен синонимайзер и яндекс для составления словоформ синонимов в разных падежах: https://export.yandex.ru/inflect.xml?name=тест

    2. Затем составляете все возможные схемы предложений: порядок следования КЛЮЧЕВЫХ слов и падежи (предлоги, союзы и мат :) не входят сюда).

    3. Строим дерево для быстрого поиска команды на основе КЛЮЧЕВЫХ слов из произнесённой фразы.

    4. Используем распознавание похожести слов Левенштейном и похожести цепочек для дерева - Шинглы.

    5. Профит!

    Доп. метод: также можете воспользоваться для определения частей речи моим велосипедом и через Левенштейна построить ожидаемые цепочки дерева.
    Ответ написан
    4 комментария