• Лучшие книги для изучении информатики с нуля?

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    но понял что там 80% воды, 15% бредни "академиков" написавших эти книги, и только 5% реально годной информации


    Каким образом вы это определили?

    не писать быдлокод как 90% программистов


    Смелое заявление.

    Начните с «Код. Тайный язык информатики» Чарльза Петцольда — это прекрасная книга для постижения основ информатики. Далее берите учебники по ОС, Сетям, Алгоритмам. По-последнему очень рекомендую «Грокаем Алгоритмы».
    Ответ написан
    1 комментарий
  • Какое регулярное выражение подойдет для проверки номера телефона?

    @kudry
    Тоже столкнулся с проблемой валидизации телефонных номеров.
    Телефоны берутся с участников вебинаров, на которые записываются люди из очень разных стран.
    Соответственно, со всеми предыдущими схемами возникают проблемы:
    1) а что если телефон с Украины (не +7-, а +38-)? А из Казахстана? А США (1-)? А Уганда ( +233-)? (из Уганды, правда, пока слушателей не было, но все впереди).
    2)В разных местностях приняты самые невообразимые способы разбиения телефона на группы цифр:
    8(8888)8-88-88-88 например. или 888(88)88888-888. Да и какие угодно могут возникнуть в будущем.
    Поэтому вариант с "дефолтным разбиением типа "8(888)888-88-88 ну совершенно не катит.

    Соответственно, я придумал следующий валидатор:
    1) В начале могут быть пробелы, после них может быть "+" (а может и не быть)
    2) Дальше должна идти группа цифр в количестве от 10 до 14 (мне нужны номера в международном формате; но если кому-то нужны более короткие - можно исправить диапазон длин).
    3) Поскольку я не знаю, как люди группируют цифры - до и после каждой цифры может быть один из 8 знаков ("-", " ", "_", "(", ")", ":", "=", "+"). Это значит, что между двумя цифрами могут быть любые два из этих знаков.

    В итоге получилось очень коротко и понятно )) :
    /^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/

    Съедает следующие телефоны:
    +7(903)888-88-88
    8(999)99-999-99
    +380(67)777-7-777
    001-541-754-3010
    +1-541-754-3010
    19-49-89-636-48018
    +233 205599853
    Ответ написан
    1 комментарий
  • В чем ошибка webpack?

    @ludovikxlv Автор вопроса
    На пути обучения
    Решил!

    {
                  test: /\.html$/,
                  loader: 'html-loader',
                  options: {
                  esModule: false
                }
              },
    Ответ написан
    Комментировать
  • "localstorage" или cookie?

    Apathetic
    @Apathetic
    Frontend
    На самом деле всё просто. Куки - для сервера, локалсторадж - для клиента. Если информация, которую вы собираетесь хранить, нужна только на клиенте - нет никакого смысла в том, чтобы гонять куки туда-сюда при каждом запросе к серверу. Если какая-то информация нужна постоянно серверу - используйте куки.
    Кроме того, а куки 4кб выделяется, на localStorage - 5 мб.
    Подводных камней нет никаких, если нет необходимости поддерживать старые ие - используйте смело. caniuse.com/#search=localstorage

    Что касается отключения: пользователь может превентивно запретить использование localStorage. На практике с таким не сталкивался, думаю, что целенаправленно этим занимаются еще реже, чем отключением cookies.
    Ответ написан
    5 комментариев
  • Как использовать темный дизайн яндекс карт?

    tripcollor
    @tripcollor
    Может кому то пригодится.
    Тоже была потребность сделать темную карту именно в яндексе.
    Но в api нет такой возможности как у google.
    В итоге решил проблему с режимами наложения в css.

    Ниже на картинках скрины и там же можно посмотреть код

    что получилось
    59f4b827ab6b8519630527.png59f4b82f1536b306351259.png
    Ответ написан
    2 комментария
  • Почему gulp.watch используется только 1 раз?

    potapchino
    @potapchino
    function compileJade(done) {
      gulp.src('src/jade/*.jade')
        .pipe(plumber())
        .pipe(jade())
        .pipe(gulp.dest('build/'))
        .pipe(server.reload({ stream: true }));
      
      
      done()
    }
    
    function compileScss(done) {
      gulp.src([
        'src/sass/*.scss',
        '!src/sass/mixins.scss',
        '!src/sass/normalize.scss',
        '!src/sass/variable.scss'
      ])
        .pipe(plumber())
        .pipe(sass({ outputStyle: 'compressed' }).on('error', sass.logError))
        .pipe(postcss([
          autoprefixer({
            browsers: [
              "last 1 version",
              "last 2 Chrome versions",
              "last 2 Firefox versions",
              "last 2 Opera versions",
              "last 2 Edge versions"
            ],
            grid: true
          })
        ]))
        .pipe(gcmq())
        .pipe(minify())
        .pipe(gulp.dest('build/css'))
        .pipe(server.reload({ stream: true }));
      
      
      done()
    }
    
    function compileScripts(done) {
      gulp.src('src/js/*.js')
        .pipe(plumber())
        .pipe(jsmin())
        .pipe(gulp.dest('build/js/'))
        .pipe(server.reload({ stream: true }));
      
      
      done()
    }
    
    function makeHash(done) {
      gulp.src('build/index.html')
        .pipe(hash())
        .pipe(gulp.dest('build'));
      
      
      done()
    }
    
    function watcher(done) {
      server.init({
        server: 'build'
      });
      
      gulp.watch('src/sass/**/*.scss', gulp.series(compileScss, makeHash));
      gulp.watch('src/**/*.jade', gulp.series(compileJade, makeHash));
      gulp.watch('src/js/*.js', gulp.series(compileScripts, makeHash));
      
      
      done()
    }
    
    module.exports = {
      default: watcher,
      watcher,
      build: gulp.series(
        compileJade,
        compileScss,
        compileScripts,
        makeHash
      ),
      jade: compileJade,
      style: compileScss,
      script: compileScripts,
      hash: makeHash
    }
    Ответ написан
    3 комментария
  • Как избавиться от ошибки "POST net::ERR_CONNECTION_RESET"?

    JackWilliams
    @JackWilliams
    Установите следующие настройки OpenServer. Должно заработать.
    5de998cf07ae6206226388.jpeg

    Насколько я знаю, там по умолчанию Apache, с ним ZMQ не дружит по ряду причин, судя по вашему вопросу, перечислять их не имеет смысла.
    Ответ написан
    5 комментариев