Пользователь пока ничего не рассказал о себе.

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (129)

Лучшие ответы пользователя

Все ответы (166)
  • Как найти последовательность символов внутри строки игнорируя при поиске все символы кроме букв и цифр?

    VicTHOR
    @VicTHOR
    (╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
    let str = '10 Great and Easy English Books!!! You Must Read. A regular expre  ! = ssion, !! ?? - () is a sequ  ence of characters&&? that define a sea_rch pattern.';
    
    let find = ['0greatandeasyengl', 'expressionisasequence', 'ersthatdefineasearchpattern'];
    
    find.forEach(function(pattern)
    {
      let pat = '';
      for (let i = 0; i < pattern.length; i++) {
        pat += pattern[i] + '[^a-z\\d]*';
      }
      let reg = new RegExp(pat, 'i');
      console.log(str.match(reg));
    })
    Ответ написан
    2 комментария
  • Как связать git с файлами на сервере?

    VicTHOR
    @VicTHOR
    (╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
    1) Нужен удаленный репозиторий.
    2) На хостинге главный разраб логинится в гите (качает его), закрываем всем хостинг.
    3) Гитом забираем на хостинге актуальные пользовательские файлы и пулим в мастер ветку в удаленку
    4) Все другие разработчики (например, ты на работе и ты дома), клонят себе последний коммит, работают и пулят (в отдельной ветке, если не один)
    5) Мастер ветка принимает изменения, делает чекаут на хостинге и вуаля - на хостинге актуальные файлы, которые разрабатывались в разных местах.
    Ответ написан
    Комментировать
  • Разбор регулярного выражения на пальцах?

    VicTHOR
    @VicTHOR
    (╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
    preg_replace() служит для замены, первый параметр - регулярное выражение. Заключается в '//'. Второй параметр - то, на что нужно заменить.

    ([a-z]+) - скобочная группа номер 1, указано: "символы от a до z, не менее 1"
    ([^\}]+) - скобочная группа номер 2, здесь указано: "всё, кроме }, от 1 символа и более". В квадратных скобках, если первый символ [^ ] - далее идут символы, которые необходимо исключить. Слэш \ экранирует символ }, не обязателен, фигурная скобка не является спецсимволом.
    (?P<\1>\2) - замена, которая убирает все, что не в скобочных группах (двоеточие и { } ),
    \1 и \2 - это вызов первой и второй скобочной группы. Добавляет (?P< > )

    Т.е. находим выражение, которое начинается с {, затем идут символы a-z - захватываем их в группу, затем двоеточие, затем любые символы, кроме }, захватываем в группу, и все заканчивается на }
    Затем заменяем на (?P<, добавляем первую захваченную группу, >, добавляем вторую захваченную группу и )
    Ответ написан
    1 комментарий
  • Правильно ли я понимаю что такое замыкание?

    VicTHOR
    @VicTHOR
    (╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
    судя по комментарию, как-то не правильно, вот так правильнее
    function cs2() {
    //   замыкаю область видимости переменной "c" внутри функции cs2()
            let c = 0;
            return function () {
                 c++;  // во вложенной функции видно переменную, она внутри замыкания         
                 console.log(c);
            }
    }
    console.log(c) //undefined - вне функции cs2 переменную не видно, это место за замыканием функции cs2 и внутри другого замыкания, возможно, window
    Ответ написан
    Комментировать
  • На сколько плох данный подход?

    VicTHOR
    @VicTHOR
    (╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
    На сколько плох мой подход, что я передаю $redis параметром в метод?
    Это называется Dependency Injection и так реализуется композиция, это очень хорошо, т.к. работают принципы ООП - метод не знает ничего об объекте, объекты могут быть различные, что расширяет возможности.
    Другое дело - как именно работает этот метод, какой тип данных он может принять - вот о чем стоит подумать.
    Стоит передавать объект определенного интерфейса. Сегодня под него подходит и используется redis, завтра что-то другое... Или не нужно это все? Тут надо смотреть на проект, если вернуться к вопросу:

    На сколько плохо передавать объект параметром в метод?
    Абсолютно не плохо.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (132)