• Сколько лет вы обучались верстке и посадке сайтов до реальной работы?

    Zoominger
    @Zoominger
    System Integrator
    есть ли смысл начинать этот путь в 30 лет с нуля

    С учётом переизбытка начинающих веб-вайтишников в этом нет смысла ни в 15, ни в 20, ни в 30, ни в 40.
    Ответ написан
    5 комментариев
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • На что обратить внимание JavaScript разработчику при изучении PHP?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Хочу расширить навыки
    Я думаю, прочтение вот такой книги (хотя бы частями или частично) позволит Вам расширить свои навыки как конкретно в PHP так и в веб-разработке в целом. Лично на мой взгляд - написана очень неплохо и в основном "по делу".

    Знания "синтаксиса" ("нового языка") - особой ценности из себя не представляют, гораздо важнее иметь глубокое понимание максимального кол-ва процессов и механизмов с которыми вы так или иначе работаете...
    Ответ написан
    2 комментария
  • Как вставить iframe только 1 раз?

    @alfangur
    при создании своего iframe вам необходимо определить что window является главным а не дополнительным iframe. на странице с iframe's можно определить является ли он iframe следующим кодом
    if (window && window.top === window) {
    	// основная страница окна
    } else {
    	// iframe

    сработает ли это в расширениях, проверяйте. окончательное решение будет близко к этому.
    Ответ написан
    1 комментарий
  • Webpack не находит модуль '@babel/core'. Как пофиксить?

    miraage
    @miraage
    Старый прогер
    Какой-то пакет из ваших зависимостей требует babel 7+, а у вас - 6.
    Читайте, обновляйтесь.

    https://babeljs.io/blog/2018/08/27/7.0.0
    Ответ написан
    1 комментарий
  • Как найти последовательные совпадения в массиве?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const newArr = arr
      .reduce((acc, n, i, a) => (
        a[i - 1] !== n && acc.push([ n, 0 ]),
        acc[acc.length - 1][1]++,
        acc
      ), [])
      .reduce((acc, n) => (
        acc.push(...Array(n[1]).fill(n[1] > 2 ? `${n[0]}` : n[0])),
        acc
      ), []);

    или

    const newArr = arr.map((n, i, a) => (
      a[i - 1] === n && a[i - 2] === n ||
      a[i + 1] === n && a[i + 2] === n ||
      a[i - 1] === n && a[i + 1] === n
        ? `${n}`
        : n
    ));
    Ответ написан
    Комментировать
  • Как найти последовательные совпадения в массиве?

    NYMEZIDE
    @NYMEZIDE
    резюме - ivanfilatov.ru
    Реализуй конечный автомат. Подаешь последовательность.
    Читаешь, Запоминаешь первую цифру. Двигаешь автомат вправо.
    Если цифра та же самая - увеличиваешь счетчик +1. Проверяешь счетчик, не равен ли он 3м. Двигаешь автомат вправо.
    Если счетчик стал равен 3м - то двигаешься вправо до тех пор пока не получиться другая цифра.
    Если другая цифра - то проверяешь счетчик был равен или больше 3х.
    Если да - то двигаешь автомат влево ровно сколько раз, сколько равен счетчик и "красишь цифры". После двигаешь автомат вправо на сколько же позиций.

    Ну осталось только это дело реализовать на предпочитаемом ЯП.
    Ответ написан
    1 комментарий
  • Как в SCSS(SASS) унаследовать вложенность?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    .main-menu {
        $this: &;
        display: none;
        &--open {
            display: block;
            #{$this}__link {  }
        }
    }


    Но я предпочитаю такой вариант:

    .main-menu {
        display: none;
        &--open { display: block; }
        &--open &__link {  }
    }
    Ответ написан
    Комментировать
  • Насколько важна "Богатая семантика", в верстке?

    tolfy
    @tolfy
    Фирменный стиль
    Соблюдайте семантику, она важна.
    • доступность контента
    • удобство рефакторинга и экспорта-импорта данных
    • соблюдение стандартов всегда крайне радует в коде коллег
    • рано или поздно вырастите до руководителя, и стандарты станут вашим базисом, без которых управление ..(масса факторов)
    Ответ написан
    Комментировать
  • Насколько важна "Богатая семантика", в верстке?

    На одном из моих сайтов наверное половина страниц была выкинута яндексом как "недостаточно качественные"
    После семантичной переверстки и расставления всяких role и тд все вернулось в поиск
    Совпадение? Не думаю.
    Ответ написан
    Комментировать
  • Как вернуть [[PromiseValue]]?

    Negezor
    @Negezor
    Senior Shaurma Developer
    _getNameOfResident(apiUrl) {
    	fetch(apiUrl)
    		.then(response => response.json())
    		.then((data) => {
    			this.view.renderNameOfResident(data.name);
    		})
    		.catch((error) => {
    			this.view.renderNameOfResident('Uninhabited planet');
    		});
    }
    Ответ написан
    1 комментарий
  • 44 года можно ли еще стать востребованным специалистом в IT?

    @artembatura
    Если деньги нужны вчера, то уже поздно
    Ответ написан
    Комментировать
  • Каков уровень разработчика по данному тесту?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Есть вопросы сложные для начинающего. Так что я бы сказал, что при 80-90% правильных ответов, можно было бы утверждать, что человек уверенный middle. А вот провести конкретный раздел сложно, так как надо смотреть ответы на какие именно вопросы не верные. Например "What do you think of AMD vs CommonJS?" - вряд ли джун имеет понятие о смысле вопроса в принципе.
    Мне кажется там явно не хватает вопросов по git, canvas и сборщикам типа gulp.
    Но вообще тесты это очень относительная вещь. Очень приблизительно все покажет. Ибо важна же еще и скорость разработки, а не только теоретические знания.
    Ответ написан
    1 комментарий
  • Слайдер на JS. Странности с transition. Как быть?

    lazalu68
    @lazalu68
    Salmon
    У вас верстка слайдера организована немного странно, поэтому чтобы исправить это не изменяя верстки, придется немного усложнить JS.

    Видимый слайд у вас имеет "position: absolute" и по этому поводу занимает верхний слой над остальным контентом родителя, остальные слайды последовательно выстроены в вертикальный ряд и спрятаны с помощью "visibility: hidden; opacity: 0;". Так как к свойству "position" нельзя применить transition, когда вы переключаете слайд, текущий слайд сразу же получает "position: relative" и занимает свое место в вертикальном строю, а целевой слайд сразу же получает "position: absolute" и выскакивает на место предыдущего. То есть при переключении текущий слайд моментально исчезает, после чего сразу же становится виден первый видимый в ряду слайд (который прозрачный), а целевой слайд занимает top-овый слой и ему остается еще целая секунда, чтобы получить 100% opacity То есть в вашем варианте при каждом переключении пользователь видит три слайда: текущий, потом первый видимый в ряду и только потом - целевой. Отсюда и возникает эффект плавного перехода когда вы переключаетесь с 1 на любой другой или со 2 на 1: в этих случаях нету промежуточно видимого слайда, их участвует только двое, поэтому переход получается плавный.

    В целом, я бы для начала поменял верстку как-нибудь) Тогда все будет просто.

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

    .slider_artists .show {
      opacity: 1;
    }
    .slider_artists .position {
      position: absolute;
      top: 0;
      left: 0;
    }


    При переключении целевой слайд получает сразу два класса - .show и .position, а текущий лишается сначала класса .show, а потом и .position, когда отыграется анимированный переход к дефолтным для img стилям. Последнее можно было сделать, например, добавив для слайдов eventListener на transitionend, который будет убирать класс .position c текущего элемента (хотя еще можно было по клику на control не только убирать класс .show, а еще оставлять setTimeout для текущего элемента на 1000 миллисекунд, который также будет убирать класс .position). Как-то так:

    for(var i = 0; i < sliderLength.length; i++){
      sliderLength[i].addEventListener("transitionend", function() {
        if (!hasClass(this,'show')) {
          this.classList.remove('position');
        }
      }, false);
    }


    Готовый вариант на codepen.io

    PS: А таки зачем вы сначала указываете transition для всех img, а потом еще раз его указываете для .show ?) Таки в момент когда img получает .show, он уже имеет нужный transition)
    Ответ написан
    3 комментария
  • C чего начать изучение JavaScript опытному верстальщику?

    @asd111
    Ангуляр сложный. Лучше глянь vuejs. После jquery он более понятен чем другие js фреймворки. И поэтому учится быстрее. React тоже норм но vue проще.
    https://vuejs.org/
    И ещё один аргумент в пользу vuejs - у него 75к звездочек, а у ангуляра 57к.
    Ответ написан
    8 комментариев
  • Поясните от непонятное место в коде Кантора? Как это так?

    @JavaIlya
    Learning Java
    При первом входе мы присвоим переменной selectedId значение node, и элементу добавим класс highlight, а вот при повторном вхождении тот элемент которому был добавлен класс теряет его, и мы добавляем класс к текущему элементу по которому кликнули, короче говоря ты кликаешь на один, потом на другой в итоге класс у второго появился а у первого потерялся, а если кликнул на первый же он у него и остался.
    Ответ написан
    1 комментарий
  • Поясните от непонятное место в коде Кантора? Как это так?

    https://jsfiddle.net/o1xp1kur/
    Вы правите глобальную переменную selectedTd, в ней и остается предыдущее значение.
    Ответ написан
    Комментировать
  • Переделать скрипт табов?

    @Arik
    $('.main-tabs__slider a').click(function() {
    if($(this).hasClass('active')) {
    return false;
    }
    //... дальше
    ?
    Ответ написан
    1 комментарий
  • В вакансиях на hh, js программист !== FrontEnd разработчику? Или же ==?

    есть четкое разделение между js программистом и FrontEnd разработчиком?
    Есть, но не везде.

    они ищут полноценного FrontEnd разработчика а именно (js, html, css и т.д.)
    Зависит от "них". В вакансии обычно всё написано.
    Ответ написан
    Комментировать
  • В вакансиях на hh, js программист !== FrontEnd разработчику? Или же ==?

    gobananas
    @gobananas
    finishhim.ru
    К сожалению, понять это можно зачастую только сходив на собеседование.
    По идее это не fronend разработчик, а либо бекенд разработчик на node.js или на фронтенде но пилит какие-то специализированные вещи типа визуального конструктора и т.п. Но у большинства работодателей пока ещё думаю подразумевается один специалист.
    Что говорить если в PHP-вакансиях иногда попадается "Вёрстка по PSD пиксель в пиксель".
    Ответ написан
    2 комментария