• Нужно ли "IMG" оборачивать в тег "P"?

    sadisme
    @sadisme
    font-size:30rem
    Если уж оборачивать, то лучше в figure и дополнить текстом
    Ответ написан
    1 комментарий
  • Как верстальщику сделать пассивный доход?

    Uwe_Boll
    @Uwe_Boll
    Я Злой и Страшный Уве Болл в Разработке знаю Толк
    нарисуй, отверстай и на themeforest
    Ответ написан
    5 комментариев
  • Как устроиться на работу любой ценой?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Нужно уметь делать то, что необходимо в данный момент работодателю.
    Касательно IT: определяете направление трудоустройства и набираетесь опыта, практики и знаний, используя свободное время, мозг и интернет.
    Ответ написан
  • Каким должен быть json, содержащий к примеру вот такие данные?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Не такая уж тривиальная задача, на самом деле.
    С точки зрения упрощения работы с этим списком в коде, я бы сформировал его так:
    {
      "Toyota": {
        "Corolla": {
          "Поколение 1990-97": null,
          "Поколение 1999-2002": null,
          "Поколение 2001 -2004": null
        },
        "Rav 4": null,
        "Land Cruiser": null,
        "Avensis": null
      },
      "Volkswagen": null,
      "Ford": null
    }

    В итоге всего два варианта: объект или null. Вместо null можно использовать любой простой тип: строку, true/false или число, но null мне кажется самым лучшим вариантом - он показывает, что вложенного объекта нет.
    Поколения Короллы, например, можно было бы представить в виде массива, но тогда добавится третий тип, который нужно будет обрабатывать. Судя по всему, этот объект нужно будет обходить рекурсивно, а рекурсия сама по себе может запутать, не стоит усложнять себе работу зоопарком вариантов ветвления.
    Ответ написан
    1 комментарий
  • Что это за скобки?

    Это наркомания для визуальной группировки классов. Некоторые считают что так лучше воспринимается.
    Ответ написан
    3 комментария
  • Как продвигать одностраничник (landing page)?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Лендинги как бы обычно вообще не продвигают.
    Они не для этого придуманы.
    Так индексировать нечего, поэтому и в поиске нечего выводить.

    Только если спамить ключами на нём и/или закупать тонны ссылок(уже не акутально практически, можно и бан выловить у гугла/яндекса).

    На лендинг надо трафик вести из рекламы.
    Чтобы получать сео трафик заводите статейник, хотя бы на 5-10 страниц с хорошими ключами и продвигайте всеми силами.
    Ответ написан
    2 комментария
  • Как сверстать такую границу блока?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Ответ написан
    Комментировать
  • Как реализовать функцию inArray?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Array.prototype.inArray = function (item) {return this.indexOf(item) > -1}

    Только, патчить глобальные объекты - плохая практика, не стоит этого делать за пределами образовательных проектов.
    Ну и вашу функцию стоит переписать на использование indexOf(), ни к чему изобретать велосипед.
    Ответ написан
    3 комментария
  • Где можно продать свои шаблоны сайтов?

    @Ooos
    Front-End
    Ответ написан
    Комментировать
  • Можно как то проще?

    @SharuPoNemnogu
    не язык плохой, программисты такие...
    return array_fill(1, 12, ['plan' => 0, 'norm' => null, 'fact' => 0]);
    Ответ написан
    1 комментарий
  • Как договариваться с заказчиком на фрилансе?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    договор составлять нужно. или сразу обговаривать что сначала делаете вместе тз - утверждаете его - и все что будет сверх тз - идет отдельным тарифом
    и тогда пусть придумывают что угодно, что душа пожелает - это будет отдельно оплачиваться.
    Ответ написан
    3 комментария
  • Как сделать такую двигающуюся линию с помощью Canvas?

    iiiBird
    @iiiBird Куратор тега CSS
    Пока ты спишь - твой конкурент совершенствуется
    там ж код открыт. посмотреть лень?
    __modules['oscillation'] = function(module){
      //getViewport().width РР· Р·Р° небольших отступов РїРѕ бокам
      var SW = new SiriWave({
          container: module.get(0),
          width: getViewport().width+10,
          height: 140,
          color: 'ed1c24',
          frequency: 2,
          speed: 0.07,
          amplitude: .01,
          autostart: true
      });
    
      // dirty resize
      $(window).resize(_.throttle(function(){
        SW.width = (getViewport().width+10)*SW.ratio;
        SW.canvas.width = (getViewport().width+10)*SW.ratio;
        SW.canvas.style.width = (getViewport().width+10)*SW.ratio + 'px';
        SW.width_2 = SW.width / 2;
        SW.width_4 = SW.width / 4;
        SW._clear();
      },80));
    
      function impulse(impulse, factor) {
        factor  = factor || 1;
        impulse = impulse || 3;
        TweenMax.to(SW, .15, { amplitude: .1*impulse*1.2, frequency:2+(impulse/2), ease:Power2.easeOut, onComplete:function(){
            TweenMax.to(SW, (.15+(impulse/80))/factor, { amplitude:.0001, frequency:2, ease:Power2.easeIn });
          }
        })
      }
    
      function set(impulse) {
        impulse = impulse || 3;
        TweenMax.to(SW, .3, { amplitude: .1*impulse, frequency:2+(impulse/3), ease:Power2.easeOut })
    
      }
    
      function impulseFrequency(impulse) {
        impulse = impulse || 3;
        TweenMax.to(SW, .3, { frequency:2+(impulse/3), ease:Power2.easeOut, onComplete:function(){
            TweenMax.to(SW, .2+(impulse/50), { frequency:2, ease:Power2.easeIn });
          }
        })
      }
    
      function setFrequency(impulse) {
        impulse = impulse || 3;
        TweenMax.to(SW, .3, { frequency:2+(impulse/3), ease:Power2.easeOut });
      }
    
      function setAmplitude(impulse) {
        TweenMax.to(SW, .3, { amplitude:impulse, ease:Power2.easeOut });
      }
    
      function impulseSpeed(impulse) {
        impulse = impulse || 3;
        TweenMax.to(SW, .3, { speed:0.1+(impulse/30), ease:Power2.easeOut, onComplete:function(){
            TweenMax.to(SW, .2+(impulse/50), { speed:0.1, ease:Power2.easeIn });
          }
        })
      }
    
      function setSpeed(impulse) {
        impulse = impulse || 3;
        TweenMax.to(SW, .3, { frequency:0.1+(impulse/30), ease:Power2.easeOut });
      }
    
      function stop(impulse, factor){
        factor  = factor || 1;
        impulse = impulse || 3;
        TweenMax.to(SW, 0, { amplitude: .1*impulse*1.2, frequency:2+(impulse/2), ease:Power2.easeOut, onComplete:function(){
            TweenMax.to(SW, 0, { amplitude:.0001, frequency:2, ease:Power2.easeIn });
          }
        })
      }
    
      window.line = {
        setAmplitude : setSpeed,
        set : set,
        impulse : impulse,
        setFrequency : setFrequency,
        impulseFrequency : impulseFrequency,
        setSpeed : setSpeed,
        impulseSpeed : impulseSpeed,
        stop : stop
      }
    
      $('body').on('mouseenter','.button',function(){ set(2
    Ответ написан
    2 комментария
  • Есть ли ляпы в коде?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Комментарии в коде бесполезные, только глаза мозолят:
    index: function (settings) {
        // Метод контроллера index
    ....
    create: function (settings) {
        // Метод контроллера create
    ....

    Если уж вы описываете свой код - делайте это с умом, посмотрите какие есть средства для генерации документации, например JSDoc

    Используйте фигурные скобки и отступы везде, где только можно. Я, разумеется, понимаю, что "стильно модно молодежно" писать if в одну строку, но такого рода конструкции взрывают мозг:
    ....
    else data = settings;
    if (typeof data !== "string") data = $.param(data);
    if (method == 'post') return $.post(url, data + '&_method=' + method_hidden);
    else return $.get(url, data);
    ....

    И, если еще придираться, - пустые строки после объявления переменных, после if/else, и.т.д. улучшают читабельность.

    Не используйте ключевые слова из es6 где попало:
    class: '.jsgrid-container',

    Есть некоторая непоследовательность - иногда вы выносите объявления всех переменных в начало функции, иногда нет. Имеет смысл определиться и использовать что-то одно.

    Да, и киньте ссылку на codepen что-ли, а то в 500 строк кода ни разу не понятно работает ли там что-то (и что оно вообще делает). И к этому хочется добавить - посмотрите в сторону систем сборки (Grunt/Gulp/...)на ваш вкус - скорее всего эти 500 строк можно разбить на части поменьше, станет проще ориентироваться в происходящем.
    Ответ написан
    1 комментарий
  • Как развиваться начинающему web-разработчику?

    Коротко
    Карта развития Web Разработчика

    Демагогия
    Не переживайте, не все сразу. Есть вещи до которых можно дойти только опытом и практикой. Это касается всех программистов в целом. Касательно веба, тут очень много упирается в то, каким именно специалистом вы хотите себя видеть в будущем. Есть фулстак - когда человек знает большую часть технологий их связку, но всегда будет ощущать недостаток тонкостей на хай левеле. В то же время специалист заточенный под определенные задачи будет лучше фулстака, но так же будет нуждаться в том же фулстаке, что бы объеденить.

    Живой пример: Есть толковый фронтендер(или бекендер по JS) пишет морду сайта на JS Фреймворке. Есть гуру бэкенда пишет API сайта. В случае с фулстаком(образно) он пишет обе задачи сам, но заведомо понятно, что он пишет это дольше и не факт что по последнему слову будет сделано.


    Что нужно для развития дальше:
    - Читайте блоги зарубежных программистов, они делают отличные архитектуры как в самом коде, так и решения в DB.
    - Фреймворки PHP и JS - чем больше их будет тем лучше. Все они ускоряют разработку. Все чаты, соц авторизации, регистрации,и прочие первоочередные задачи давно уже написаны. Вы можете концентрироваться на более важных задачах.
    - ООП тут очень спорный вопрос, на определенных этапах разработки оно решает, но когда этот уровень появляется, чаще всего прибегают к другому языку программирования и переписывают проект в угоду скорости (С++, Java, Python). Понимать нужно, поскольку фреймворки построены на этих парадигмах, но самостоятельно придумывать вам гибкие решения вряд ли придется(по крайней мере до Senior-а точно).
    - Не изобретайте велосипеды. Разбирайтесь в чужом коде(Этот навык очень ценен после "решить/найти решение любую задачу"). Любой магазин чаще всего будет написан в лучшем случае на фреймворке, в худшем на OpenCart, Woedpress - что просто идиотизм, это блоговая система БЛОГОВАЯ. из за тренда выкручивают яйца.
    - Учить английский и работать не на СНГ, Укр или места постсоветского пространства. Искать фирмы зарубежных филиалов и работать там. Поскольку так или иначе там уже работают профессионалы и знакомы с западным рынком, европейским. Там пишутся интересные проекты и появляются интересные решения.
    Ответ написан
    7 комментариев
  • Какая фриланс работа с наименьшим порогом вхождения?

    pozZzitiv
    @pozZzitiv
    Дизайнер и перфекционист
    Женись быстренько на дочке бизнесмена/депутата/другого крутого папаши и он тебя устроит на такую з/п к себе или друзьям по блату.

    Если не устраивает, то, как и все остальные, выбирай направление, учись, набирайся опыта и становись асом в своём деле.

    Upd: ну раз не 120 т.р./мес, а всего 12, то можно идти в любую контору, которая возьмёт без опыта за небольшую з/п и учиться ремеслу. Параллельно самообучением заниматься и/или посещать курсы. Без реальной практики идти на фриланс нет смысла т.к. это будет гавнорезультат ради копеек. Начинать с офиса ради драгоценного опыта, а уже потом уходить в свободное плавание. Так начинали многие и я в том числе.
    Ответ написан
    1 комментарий
  • Налоги для начинающего фрилансера?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Начинающему фрилансеру нужно волноваться о том чтобы встать на ноги, чтобы наработать портфолио и клиентуру, чтобы закрепиться в этой сфере. Вот когда это все случится, вот тогда и думайте о налогах.
    Ответ написан
    7 комментариев
  • Можно ли с помощью flexbox так расставить блоки?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    C бухты-барахты - нет, штатные способы отсутствуют.
    Но, как всегда, на выручку приходит смекалка, порождающая аццкие хаки =)

    https://jsfiddle.net/m2r8ndk7/

    PS. На самом деле, ничего страшного тут нет. Вполне приличный метод расположить блоки =)
    Ответ написан
    7 комментариев
  • Можно ли выставлять в портфолио не реализовавшийся проект?

    Pinsky
    @Pinsky
    Кофеиноникотиновая смесь в backend-код
    Вполне.
    Многие юзвери после сдачи им сайтов их уродуют до неузнаваемости, при этом в портфолио можно разместить ссылку на свою копию, чтобы было видно то, в каком виде Вы отдали заказчику сайт.
    Ответ написан
    Комментировать