• Как по клику на кнопку подставить значение в value input'а?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Настоятельно рекомендую для функциональности опираться на data-атрибуты.
    Пример (для наглядности вместо hidden стоит text)
    А вот пример с удалением выбранного товара.
    Ответ написан
    7 комментариев
  • Как по вертикали выровнять однострочный текст в теге a?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Если высота блока неизвестна, поможет выставление ему
    display: table-cell;
    vertical-align: middle;

    Однако, тут же вы получите в наследство все особенности работы с ячейками. Например, в FF исчезнет возможность абсолютного позиционирования потомков этого элемента относительно него.
    Ответ написан
    Комментировать
  • Что за параметры функции &$var?

    @iznaur
    это ссылки
    Ответ написан
    Комментировать
  • Laravel 5 почему конфиги хранятся в .env?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Во-первых, очень странно, что у вас .env доступен из вне, потому как корень сайта должен смотреть в папку public.
    Во-вторых, в .env хранятся важные и хостозависимые конфиги — ключи к разным сервисам, пользователи и пароли от БД и прочее.
    В-третьих, папка config содержит в себе все конфиги приложения, а важные и хостозависимые берёт из .env. Вам никто не мешает удалить файл .env и жёстко вбить все параметры в соответствующие файлы в папке config.

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

    @lnked
    <a class="b"><span class="b__i">Lorem ipsum</span></a>
    <a class="b"><span class="b__i">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</span></a>
    <a class="b"><span class="b__i">Lorem ipsum dolor sit amet</span></a>


    .b {
        max-width: 200px;
        height: 50px;
        padding: 0 20px;
        font-size: 0;
        line-height: 50px;
        text-decoration: none;
        display: inline-block;
        vertical-align: top;
    }
    
    .b__i {
        font-size: 13px;
        display: inline-block;
        vertical-align: middle;
        line-height: 1;
    }
    Ответ написан
    3 комментария
  • Как сделать кнопки одинаковой высоты?

    premas
    @premas
    Full-stack web-developer
    Не гуд конечно, но обычно это делается так:
    .btn {
      display: table-cell;
      vertical-align: middle
    }
    Ответ написан
    Комментировать
  • Как сделать отслеживание изменений в БД на PHP?

    egor_nullptr
    @egor_nullptr
    Events + UDF
    dev.mysql.com/doc/refman/5.6/en/create-event.html
    dev.mysql.com/doc/refman/5.6/en/adding-udf.html

    На каждый лот создаётся Event на время окончания, дергающий UDF, которая вызывает PHP код.
    Ответ написан
    1 комментарий
  • Почему не верно работает COUNT?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    У меня другой вопрос, какого чёрта вы лепите такое гавно.

    self::selectRaw, есть стово static, которое не ломает наследование, а главное и его не нужно использовать, ибо в Laravel статик гоняется через фасады и вы работает с полноценными объектами, нужно использовать $this.

    В Eloquent есть нормальный ORM, который для этого запроса шустреньоко всё насчитает и прозрачно подтянет связи, а ваш код будет сложно поддерживаемым. Уважайте своих коллег, а то сами заблудились в 3-х соснах.

    Поставьте себе отладчик или просто выведите получившийся запрос laravel.com/docs/5.0/database#query-logging чтобы понять, что в итоге получилось и что оно возвращает.
    Ответ написан
    1 комментарий
  • Почему показывается большее количество элементов, чем их реально есть?

    @krasulya
    Потому что узлы в ДОМ необязательно элементы. В вашем случае, там есть текстовые узлы (строки с пробельными символами).

    У каждого узла есть nodeType. У элементов он равен 1 (document.ELEMENT_NODE). Вам нужно отфильтровать все узлы на nodeType === document.ELEMENT_NODE
    Ответ написан
    Комментировать
  • Как выбрать в массиве имеющий 10000 знаков элементы которые не повторяются?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Почему это java говнокод?

    @Alexey_Kutepov
    Разработчик программного обеспечения
    Как минимум NullPointerException есть вероятность словить, если например массив в JSON будет пустой. Тоже самое и по поводу параметров - нет проверки на их наличие. Вообще советую для таких целей Gson юзать. Жизнь сильно упростит
    Ответ написан
    Комментировать
  • Как сделать auto width для поля input?

    teotlu
    @teotlu
    Навёрстываю упущенное
    Вот вам быстренько решение на jQuery (он и так на большинстве сайтов используется). На нативный js, в общем-то, очень легко переделать, если нужно.
    Через css можно задать минимальную, максимальную и начальную ширину у input.
    Учтено, что может быть разный размер шрифта и расстояние между буквами.
    Ответ написан
    3 комментария
  • Как использовать фильтры?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Если вам нужно гибкое универсальное решение, то это будет хоть и сложно, но возможно.

    Со стороны UI:
    - Создается категория
    - Для категории создаются разные типы фильтров
    - Добавляются товары в категорию
    - Все товары теперь имеют фильтры своей категории
    После чего в каждом товаре заполняются данные фильтров: размер, вес, цвет и т.д.

    Фильтры могут быть разных форматов: диапазон, значение, несколько значений и т.д. Так сразу все не вспомню. Можно сделать привязку фильтров как к категории, так и к товарам. Создали фильтр типа "значение", назвали его "color", привязали его к категории "обувь". После чего все товары в этой категории получили характеристику "color" которая индивидуально для каждого товара должна быть заполнена, и по которой будет идти фильтрация.

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

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Просто берется картинка, шириной скажем 2600 пикселей и всё. Там у вас по сути 2 основных цвета + 4-5 оттенков для сглаживания углов. Т.е. картинку можно конвертировать в PNG-8 и палитрой из 8-16 цветов. На выходе это даст размер в 10-20 килобайт всего.
    Ну и нижнюю картинку так же, она будет весить килобайта 3-4.
    Итого получаем 2 слоя. 1 на body, второй на каком-нибудь wrapper.
    Ответ написан
    Комментировать
  • Как можно порождать перестановки с дополнительными ограничениями для элементов итеративно?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    А чем не нравится goto? Вполне легальный оператор. В случае чего, от него легко избавиться, преобразовав код в конечный автомат (получится цикл с одним switch внутри). Хотя чаще хватает одной дополнительной логической переменной.
    И какого типа ограничения? И есть ли ограничение на порядок выдачи перестановок?

    UPD. Вот вариант решения на C#. Не самый эффективный, правда.
    class Program{
            static IEnumerable<int[]> Permutations(int N,Func<int,int,bool>Cond1,Func<int,int,int,int,bool> Cond2) {
                int[] res=new int[N];
                int k=0;
                res[0]=0;
                while(k>=0){
                    if(++res[k]<=N){
                        if(Cond1(k+1,res[k]) && GoodValue(res,k,Cond2)){
                            if(k==N-1) yield return res;
                            else res[++k]=0;
                        }
                    }else k--;
                }
            }
            static private bool GoodValue(int[] res,int k,Func<int,int,int,int,bool> Cond) {
                for(int i=0;i<k;i++) {
                    if(res[i]==res[k] || !Cond(i+1,res[i],k+1,res[k])) return false;
                }
                return true;
            }
    
            static int N=6;
            static bool Cond1(int a,int va) {
                if(a==1) return va==1;
                if(a==N) return va==N;
                return true;
            }
            static bool Cond2(int a,int va,int b,int vb) { 
                return Math.Abs(a-b)>1 || Math.Abs(va-vb)<=3;
            }
            static void Main(string[] args) {
                foreach(int[] perm in Permutations(N,Cond1,Cond2))
                    Console.WriteLine(String.Join(",",perm));
            }
        }

    Функции Permutations передаются два условия. Первое Cond1(a,va) проверяет, может ли элемент va находиться в позиции a, второе Cond2(a,va,b,vb) - могут ли одновременно находиться va в позиции a и vb в позиции b.
    В качестве примера - печать перестановок из задачи про лягушку из ProjectEuler: https://projecteuler.net/problem=490
    Для N=6 выдаёт ожидаемые 14 перестановок:
    1,2,3,4,5,6
    1,2,3,5,4,6
    1,2,4,3,5,6
    1,2,4,5,3,6
    1,2,5,3,4,6
    1,2,5,4,3,6
    1,3,2,4,5,6
    1,3,2,5,4,6
    1,3,4,2,5,6
    1,3,5,2,4,6
    1,4,2,3,5,6
    1,4,2,5,3,6
    1,4,3,2,5,6
    1,4,5,2,3,6


    Если не нравится конструкция yield return - вставьте вместо неё свою обработку перестановки, а функцию опишите, как void. Если из GoodValue yбрать проверку res[I]==res[k], то вместо перестановок будут печататься все N-элементные наборы из чисел 1..N, удовлетворяющие условию.
    Ответ написан
    4 комментария
  • Создает ли нагрузку такой код?

    suguby
    @suguby
    программист, python, django, mysql, git, hg, linux
    1) ну, можно сказать что SELECT * создает нагрузку, если таблица широкая - тогда мускуль все колонки копирует в область памяти для сортировки. надо выбирать только то что нужно.
    2) еще нужно посмотреть есть ли B-tree-индекс для id - помогает для сортировки иногда.
    3) еще хинт - иногда, для больших (от сотен тысяч записей) таблиц лучше вытянуть только айдишники записей
    SELECT id FROM post ORDER BY id DESC LIMIT 5
    - тогда при наличии B-tree-индекса сортировка вообще не будет производится - все уже отсортировано в индексе. А потом тянуть остальные поля отдельным запросом.
    SELECT ... FROM post WHERE id in (...)
    и сортировать на клиенте :)
    Ответ написан
    Комментировать
  • Термин для слова "говнокод"?

    vinxru
    @vinxru
    Говнокод — это код не похожий на код оппонента. Понять чужой код — это долгая и нудная работа. А если код написан так, как будто ты его написал, то ты его понимаешь и это экономит время на доработку и отладку.

    Любой начинающий программист первым делом бросается переписывать чужие программы. Даже если они абсолютно работоспособны, даже если после переписывания пропадет часть функционала и появятся баги.

    Это сказано с долей юмора конечно.

    Говнокод — это применение не самых лучших (с точки зрения большинства) решений проблемы. Ну к примеру говнокодом назовут выход из цикла установкой счетчика в максимальное значение.

    for(i=0; i<1000; i++)
      i=INT_MAX;
    


    Это полностью работоспособное решение, не тормозное, не громоздкое. Но лучше применять для этих целей break. Потому что так все привыкли. Так же говнокодом является повторение функционала стандартной библиотеки, например string или auto_ptr. А так же структура (архитектура) программы, отличная от любимой у оппонента. Например, не использование MVC при разработке программы.

    К примеру, я использую конструкцию:

    void main() {
      // ...
      void init_dialog();           init_dialog();
      void init_referenceControl(); init_referenceControl();
      void init_functionsHelp();    init_functionsHelp();
      void init_new_style();        init_new_style();
      // ...
    }
    </souce>
    
    Вместо определения функций в .H файлах, я это сделал прямо на месте. Говнокод. Можно было бы создать кучу .H файлов, использовать одну из множества библиотек выполняющих инициализацию. Но это максимально простой способ, способ без использования доп классов, функций и программ; так легче отлаживать, так наглядно изображена последовательность инициализации, так не надо писать кучу #include, и кроме функции MAIN, функции инициализации ни от куда не вызвать.
    
    Говнокод - потому что люди бы не так написали.
    Ответ написан
    3 комментария