• Как написать запрос?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега SQL
    Седой и строгий
    select t.name from some_table as t
    inner join lateral (
        select t.id, count(*)
        from (values (t.field1), (t.field2), (t.field3), (t.field4)) as v(col) where v.col is not null
    )
    as nn using(id) where nn.count > 1;
    Ответ написан
    2 комментария
  • Как написать запрос?

    romy4
    @romy4
    Exception handler
    используя хитрость
    select *,IF(not isnull(field1),1,0) + IF(not isnumm(field2,1,0) + ... AS myselector  from tablename where myselector >=2
    Ответ написан
    4 комментария
  • Как узнать на сколько одинаковые строки?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    levenshtein()
    Расстояние Левенштейна (также редакционное расстояние или дистанция редактирования) между двумя строками в теории информации и компьютерной лингвистике — это минимальное количество операций вставки одного символа, удаления одного символа и замены одного символа на другой, необходимых для превращения одной строки в другую.
    https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D...
    Ответ написан
    Комментировать
  • Где можно найти ftp проекты на javascript?

    sim3x
    @sim3x
    Нигде

    Только самообучение
    Только инициативность
    Только хардкор

    Отвыкаем от школы и универа - тут никто за тобой ходить и упрашивать не будет
    Ответ написан
    Комментировать
  • Чем отличается JDBC от ORM?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    JDBC- интерфейс для sql-запросов. Работаете с голыми sql-запросами и оперируете таблицами, строками, колонками и значениями. Если результаты запроса нужно положить с объекты, то сами их туда распихиваете.
    ORM - интерфейс для мапинга классов на таблицы, строки, колонки и значения базы данных. Работаете с java-объектами, sql-запросы за вас формирует ORM. Другими словами, не задумываетесь (почти), каксоставить sql-запрос, вытащить из него данные и раскидать значения по своим классам.
    Предпочтительнее конечно работать с ORM, так как все за вас будет оптимизировано и закешировано. Конечно, нужно будет знать, не только как работает ваша база данных, но и как работает ваш ORM.
    Ответ написан
    Комментировать
  • Как добавить элемент в массив?

    NeiroNx
    @NeiroNx
    Программист
    Для append можно делать так:
    massiv=['1','2','3','4']
    massiv+=['5']

    а для insert так:
    massiv=['1','2','3','4']
    massiv=massiv[0:2]+['5']+massiv[2:len(massiv)]
    Ответ написан
    Комментировать
  • Как настроить маршрутизацию?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Максим Федоров привел очень правильный пример. Но если сложно для понимания, можно в лоб:
    'admin'=>'admin/default/index',
    'o-kompanii'=>'page/default/index',

    Но Ваша структура наложит ограничения на использование alias в page, поэтому я бы делал для страниц не /o-kompanii и /admin а /page/o-kompanii и /admin или вынес бы admin на поддомен
    Или как вариант добавил бы ко всем страницам "page-", тогда так:
    'admin' => 'admin/default/index',
    'page-<alias>' => 'page/default/index',
    Ответ написан
    1 комментарий
  • Как настроить маршрутизацию?

    qonand
    @qonand
    Software Engineer
    Поскольку у Вас для обоих ссылок одинаковый формат, domain.com/ то нужно самостоятельно определять к чем относиться текущее value. Поэтому у Вас есть следующие варианты:
    1. Сделать свое URL правило которое будет по какому-то алгоритму анализировать входящее value и определять какому компоненту системы стоит переадресовать запрос
    2. Определить url-правила следующим образом
    '/<alias:(admin|firstmodule|secondmodule)>' => '/<alias>',  // в круглых скобках ссылки на корень модуляя
    '/<alias>' => 'page/default/index',

    Если я не ошибаюсь yii2 ищет правила до первого подходящего, таким образом мы говорим что если value входит в список заданных модулей мы ничего с ним не делаем, а если не входит отправляет запрос в контроллер default модуля page
    Ответ написан
    Комментировать
  • Как настроить маршрутизацию?

    za4me
    @za4me
    Человек
    Настроить можно через rules в url manager.
    Ответ написан
    3 комментария
  • Как оптимизировать большую html таблицу?

    Выводите с помощью JS, допустим 100 записей, и подгружайте остальное при скроллинге.
    Кроме того, в вопросе теги пожалуйста, правильно расставляйте. Спасибо.
    Ответ написан
    Комментировать
  • Как оптимизировать большую html таблицу?

    qork
    @qork
    { background: #F00B42 }
    Подгружать аяксом при скролле, как лента новостей в социалках + если возможно, реализовать фильтры для быстрого поиска нужного контента.
    Ответ написан
    2 комментария
  • Где черпать вдохновение для создания нечто оригинального?

    @murlogen
    1. Химия в организм (алкоголь и тп.)
    2. Новые физические ощущения. В сексе, в занятиях спортом, танцы, скачки на лошади - что угодно. Любое физическое воздействие
    3. Новые места (путешествия, как глобальные, так и локальные - новые места в своем городе)
    4. Новые знакомства с интересными/необычными людьми (да, да, да, это помогает и для веб-сайтов, даже если человек не имеет к этому никакого отношения)
    5. Просмотр сайтов куда не заходил никогда. Например, я увлекаюсь фото. Наши фотографы хоть и разные, но не настолько разные, как заграничные - те на наших похожи бывает куда меньше, чем наши между собой. Аналогично и для просмотра дизайнов сайтов рекомендую - ходить туда куда обычно не ходишь.
    6. Сон. Настраиваться на эту тематику и видеть дичайшие образы. Аналогично первому варианту с химией, но зато естественно. Просыпаться в определенное время, когда помнишь сон. Будешь помнить ты или нет - зависит только от времени просыпания. То есть в какой фазе сна тебя разбудило.
    7. Не замыкаться только на просмотре сайтов/фотографий/знакомствах по единоборствам. Смотреть близкую тематику (да хоть йога). Или вообще не близкую - да хоть автомобили.
    8. Не замыкаться на кунг-фу и единоборствах. Ассоциативное мышление в нашей голове штука сложная. Ты можешь придумать хорошую идею просто наблюдая за пьяной девчонкой в клубе или глядя на здание или на зверя в зоопарке или рассматривая штабеля с товарами на складе.
    Общая идея - новые впечатления во всем. В том что связано с тематикой сайта и в том что не связано с тематикой сайта.
    Ответ написан
    Комментировать
  • Как получить нормальный текст?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. json_decode()
    2.
    html_entity_decode(str_replace('\u','&#x',$str), ENT_NOQUOTES,'UTF-8');
    Ответ написан
    5 комментариев
  • Как получить нормальный текст?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Время приключений. Карточные войны. Фин...

    <?php
    $inp = '\u0412\u0440\u0435\u043c\u044f \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439. \u041a\u0430\u0440\u0442\u043e\u0447\u043d\u044b\u0435 \u0432\u043e\u0439\u043d\u044b. \u0424\u0438\u043d\u043';
    $s = preg_replace('/\\\u0([0-9a-fA-F]{3})/','&#x\1;',$inp);
    echo html_entity_decode($s, ENT_NOQUOTES, 'UTF-8');
    ?>
    Ответ написан
    Комментировать
  • Как написать регулярное выражения?

    BuriK666
    @BuriK666
    Компьютерный псих
    $url = preg_replace('/^(.*)\?.*$/', '\1', $url);
    Ответ написан
    8 комментариев
  • Странно ведет себя ajax?

    doniys_a
    @doniys_a
    Backend-разработчик (Php, node.js, python, ruby)
    Странного я ничего не вижу. Значит, в параметры автоматически добавилось то, что вы не отправляли, через AjaxSetup. Параметры которые приходят берут свое происхождение из goole и yandex аналитики.
    Ответ написан
    1 комментарий
  • Как вставить элемент в определенное место в массиве при этом передвинув другие?

    @lega
    array.splice(n, 0, element)
    Ответ написан
    Комментировать
  • Как быстро отсортировать таблицу?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Узкое место тут в первую очередь jQuery. Нужно уменьшить число запросов к элементам через jQuery. А то получается, что у вас при сортировки для каждой итерации происходит маленький ад :-)

    Возможно, если вы сделаете сортировку, сформируете новый набор данных и затем замените им старые данные, работать будет быстрее.

    Вот небольшой пример: https://jsfiddle.net/alekseynemiro/q3tsw3bt/1/

    var data = [];
    
    // получаем данные из таблицы в массив
    $('tr', 'table>tbody').each(function(index, row) {
      var cells = $('td', row);
      var sum = 0;
      var items = [];
    
      for (var i = 0; i < cells.length; i++)
      {
        if (i == cells.length - 1)
        {
          cells[i].innerHTML = sum / 5;
          items.push(sum / 5);
        }
        else
        {
          sum += parseInt(cells[i].innerHTML, 10);
          items.push(parseInt(cells[i].innerHTML, 10));
        }
      }
    
      data.push(items);
    });
    
    // сортируем массив
    data.sort(function (a, b) {
      return a[5] - b[5];
    });
    
    // создаем новую таблицу на основе массива
    var html = '<table><thead><tr>';
    html += '<th>price</th><th>price</th><th>price</th>';
    html += '<th>price</th><th>price</th><th>avrg</th></tr></thead>';
    html += '<tbody>';
    
    for (var i = 0; i < data.length; i++)
    {
      html += '<tr>';
    
      for (var j = 0; j < data[i].length; j++)
      {
        html += '<td>' + data[i][j] + '</td>';
      }
    
      html += '</tr>';
    }
    
    html += '</tbody></table>';
    
    // выводим таблицу (перезаписываем старую)
    $('#content').html(html);

    Набросал еще вариант со счетчиком и с 50 000 строками, но счетчик показывает неправильное время, видимо на отрисовку данных в браузере уходит больше времени.
    Ответ написан
    Комментировать
  • Что значит хорошо знать фреймворк?

    qonand
    @qonand
    Software Engineer
    Хорошо знать фреймворк - это понятие довольно субъективное, и каждый человек может в него вкладывать свой смысл. Если Вы планируете искать работу с акцентом на изучаемые фреймворки думаю Вам будет достаточно:
    1. Знание общих принципов работы фреймворка (что как устроено внутри), но тут нужно понимать что не стоит изучать каждый класс от корки до корки, т.к. это бессмысленная работа, фреймворки постоянно развиваются и модифицируются. Например, Вы должны знать что такое DI, как оно организовано в фреймворке, и как с ним работать. Но не нужно прям досконально знать код.
    2. Чтение документации это хорошо, но практика всегда нужна. Вы не просто должны знать фреймворк по документации, Вы должны иметь опыт работы с ним. Как вариант можете придумать для себя какой-нибудь тестовый проект и реализовать его.
    3. Паттерны, архитектурные принципы и т.п. тоже важны, если Вы их знаете - тогда это плюс.
    4. СУБД. Для большинства проектов базы используются, поэтому помимо фремворка Вы должны так же хорошо ориентироваться в них, уметь писать сложные запросы, проектировать их и т.п.
    Ответ написан
    1 комментарий
  • Как вставить элемент в определенное место?

    @WQP
    Ответ написан
    Комментировать