• Как распланировать обучение?

    rockon404
    @rockon404
    Frontend Developer
    Вот вам план обучения.

    По своему опыту могу посоветовать следующее:
    1. Регулярное посещение спортзала лучше выкинуть из жизни на все время интенсивного обучения.
    2. Социальные сети, фиды и новостные ленты - забудьте. Любую постороннюю информацию лучше свести к минимуму.
    3. Старайтесь эффективно планировать время по выходным и хотя бы в один из них хорошо заниматься.
    4. Старайтесь высыпаться.
    5. Старайтесь пить побольше жидкости.
    6. Отлично, если на работе есть возможность вздремнуть в обед.
    7. В транспорте можно читать книги и статьи по теме(без фанатизма), а по приезду домой практиковать прочитанное.
    8. В свободное время лучше всего гулять, при этом чем живописнее и экологичнее местность, тем лучше.
    9. Помещения в доме важно проветривать.
    10. При симптомах переутомления лучше отойти от компьютера, воздержаться любых гаджетов, и отдохнуть в кресле/на кровати/диване.
    11. Рабочее место должно быть максимально удобным.
    12. Алкоголь, если не исключить, то свести к бутылке пива раз в неделю.

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

    Советую прикупить маску для сна - отличный девайс для скорейшего засыпания, комфортного сна и отдыха глаз.
    Ответ написан
  • Застрял на тестовом уроке?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    1. Вам надо либо остановить всплытие события:
    onMarkClick = (e) => {
        e.stopPropagation();
        this.setState({
          important: true,
        });
      };

    либо изменить структуру:
    return (
      <span>
        <span
          className={classNames} 
          onClick={this.onLabelClick}
        >
          {label}
        </span>
        <button type="button"  onClick= {this.onMarkClick}>
          <i className="fa fa-exclamation"/>
        </button>        
      </span> 
    );


    2.
    .todo-list-item.done {
      text-decoration : line-through;
    }
    Ответ написан
    2 комментария
  • Общение/переговоры с заказчиком занимают много времени, что делать?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    Когда я работаю над каким-то проектом с почасовой оплатой, все разговоры, звонки и переписки - входят в тариф, иначе можно заниматься только 2 - 4 часа в день проектом, а остальное время потратить на разговоры.

    И когда заказчик поймет, что все разговоры стоят ему денег - он будет меньше тратить свое и ваше время.

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

    Ну и третье - у задачи должен быть только один или два посредника, если весь офис вам названивает целыми днями - значит конкретно в вашем случае, неправильно построена система разработки проекта.
    Ответ написан
    4 комментария
  • Как отрисовать элемент используя данные из объекта?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    this.setState(state => ({
      todoList: [...state.todoList, { id: nanoid(8), text: value, done: false }],
    }));

    для генерации id используется nanoid

    {this.state.todoList.map(todo => (
      <Todo click={this.handleClick} key={todo.id} todo={todo} />
    ))}
    Ответ написан
    5 комментариев
  • Как найти наставника/ментора для веб-дизайнера?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    Сложно однозначно ответить на этот вопрос, сначала хотелось бы посмотреть на ваше портфолио, чтобы понять - все ли так плохо как вы говорите, или это очередной "синдром самозванца"?

    В дизайне есть определенные вещи, делая которые, вы сможете расти в уровне постоянно:

    1. Не забывайте, что по UX дизайну, основной базовый материал находится в книгах, и желательно читать регулярно, и выделить себе под это какое-то время. Читать надо не только по веб-дизайну, нужно читать книги по психологии, по теории цвета, типографики, дизайна в целом - это очень хорошо расширяет кругозор и помогает изменить мышление.

    2. Behance.net - ваш самый первый сайт, который вы посещаете при открытие компьютера. Я бы рекомендовал 40 минут в день выделять на то, чтобы просматривать топовые и не топовые работы, чтобы сравнивать их, давать им устную критику, пытаться вдуматься в логику (почему так сделано так, а не иначе) - это все, сформулирует в вас культуру веб-дизайна, вы поймете как делать красиво, и со временем будете делать все лучше и лучше. Плюс, смотря на другие работы, у вас в голове отложатся шаблоны разного вида функционала, и вы сможете решать одну задачу несколькими путями.

    3. Практика должна быть постоянной, если есть свободное от заказов время - используйте его на свои наработки, потому что только свои проекты помогут вам создать свой стиль. Заказчик вечно будет не доволен разнымит деталями дизайна и каждый раз вы будете двигать кнопку так, как захотел заказчик, а не позволяет логика - это будет портить ваш дизайн, портить все ваше представление о дизайне. Поэтому я считаю, что очень полезно делать свои проекты - берите любое ТЗ в интернете, открывайте любой сайт и делайте ему ре-дизайн, выкладывайте это в портфолио - это заметно повысит ваш уровень.

    4. Ну и не забывайте, дизайн он везде, не только в веб-интерфейсах, поэтому очень полезно интересоваться всеми ближними сферами, смотрите на тренды, смотрите как делают люди - это построит целостное понимание, как сделать красиво.

    Ну и если нужны советы - можете писать мне, мои контакты указаны в профиле.
    Ответ написан
    Комментировать
  • Какие выбрать breakpoints для нестандартного размера макета?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Не видя макет сложно сказать какие.

    В общем случае все очень просто и узнается экспериментально: двигаете размер окна и смотрите в каких точках ломается верстка, их и используете. Причем для разных блоков это могут быть разные точки.
    Ответ написан
    Комментировать
  • Почему нельзя менять window.location.href?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    В manifest.json есть секция web_accessible_resources. Добавьте туда options.html.
    web_accessible_resources: ["options.html"]

    Но настройки лучше открывать так
    chrome.runtime.openOptionsPage()
    Ответ написан
    Комментировать
  • Стоит ли начинать с JavaScript?

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

    Zoominger
    @Zoominger
    System Integrator
    Первую попавшуюся.
    Какая разница где толпиться среди таких же джунов, моля о работе за еду?
    Я не шучу.
    Ответ написан
    7 комментариев
  • Как получить mail.ru рассылки в IMAP?

    akelsey
    @akelsey
    Ну вот не будучи программистом я вижу что вы получаете айтемы только из инбокса:
    const listMessages = await client.listMessages('INBOX', '1:*', ['uid', 'flags', 'envelope', 'body[]']);

    Наверное нужно переписать код что бы тот рекурсивно обходил все папки.
    Ответ написан
    Комментировать
  • Как вывести в компонент другие компоненты, переданные как prop?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Вы передаете в рендер функцию компонента вместо того чтобы его отрисовывать.
    Проблему исправит:
    const { header: Header, footer: Footer } = this.props;
    
    return (
      <Fragment>
        <Header />
        <Footer />
      </Fragment>
    );


    Но советую вам спроектировать этот участок иначе. Со стороны не видно никакого смысла в передаче Header и Footer в виде свойств. Их лучше импортировать в файле компонента Layout.
    Ответ написан
    Комментировать
  • Чем заменить javasсript?

    sim3x
    @sim3x
    ClojureScript

    Но лучше научиться нормально писать детальные четкие вопросы

    И вначале искать ответы самостоятельно в поисковике

    Но вы ведь не собираетесь становиться разработчиком, потому оно вам не нужно все
    Ответ написан
    Комментировать
  • Какие области в веб - разработке осваивать в перспективе?

    dom1n1k
    @dom1n1k
    В общем у меня уйдёт на это 2 - 2.5 месяца. Только на основы!

    Ну обосраться. Два грёбаных месяца!!!1
    До чего докатилась индустрия, что 2 месяца воспринимаются как огромный срок. И всё чаще натыкаешься на статьи, где пишут о годовалых якобы мидлах и трехлетних якобы сеньорах.
    Лично я считаю, нужно потратить от 2-3 лет, чтобы начать более-менее прилично и системно ориентироваться в теме. В течении этих лет неоднократно будут возникать моменты, когда тебе кажется, что ты уже достаточно крут - но это только кажется.
    Нормальный специалист средней руки формируется около 3 лет. Не гуру, не сенсей, не сеньор - просто крепкий линейный боец. Это много где так, не обязательно в JS. И это нормально.
    Хочешь за несколько недель - иди установщиком пластиковых окон, как раз строительный сезон начался.
    Ответ написан
    11 комментариев
  • Какие области в веб - разработке осваивать в перспективе?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Надеюсь, вопрос закроют как дубль. Потому что ну сколько можно уже. "Я ничего не знаю, ни к чему душа особо не лежит, но хочу быть молодым перспективным владельцем стартапов, газет, пароходов поэтому скажите мне какой язык программирования делает людей богатыми и успешными. но только чтобы особо напрягаться не нужно было!"
    Ответ написан
    4 комментария
  • В чем смысл быть гуру тостера?

    delphinpro
    @delphinpro
    frontend developer
    Ну мне, например, вчера HR из Яндекса написала в телегу. Предлагала пройти собеседование. Спросил откуда, ответила — на тостере активный аккаунт увидела.
    Ответ написан
  • В чем смысл быть гуру тостера?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Если верить некоторым гражданам, то всё потому, что такие гуру:
    1) очень умный чтоли,
    2) задроты, которым бабы не дают,
    3) ничего из себя не представляют и только тут натирают своё ЧСВ.

    А если серьёзно, то «прокачанные» аккаунты на Тостере и Гитхабе уже давно позволяют мне тратить меньше времени на собеседованиях, не выполнять тестовых заданий и иногда получать приглашения на конференции.
    Ответ написан
    10 комментариев
  • В чем смысл быть гуру тостера?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    1. Работа над личным брендом: Высокая репутация в профессиональных сообществах повышает привлекательность для нанимателей.
    2. Улучшение существующих знаний: Хочешь что-то понять, объясни другому.
    3. Приобретение новых знаний: Специализация замыкает в узком спектре задач и проблем, а Q&A-сервисы - это источник задач и проблем из самых разных областей и иногда под самыми неожиданными углами.
    4. Альтруизм: Большинству из нас кто-то помогал в начале пути, пришло время возвращать долг и делать свой скромный вклад в рост кадров.

    Ещё бывают поклонники какой-то технологии, которые делают вклад в её развитие, продвижение и популяризацию, помогая другим с ней разобраться. Но лично я за это пока не брался, хотя мысли есть.

    Для чего просиживаете на тостере по 5-6 часов в день?

    Я в среднем раз в полчаса-час заглядываю. Если находится интересный вопрос, могу потратить на него минут 10. Некоторые на перекуры больше времени тратят.
    Ответ написан
    7 комментариев
  • Какие потери в связи у витой пары на расстоянии +-70метров?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я бы не стал между зданиями кидать витую пару, лучше оптику. Потому как про грозы вам уже все написали. Оптика по кабелю выйдет не сильно дороже, а в большинстве случаев в эксплуатации и дешевле.
    Ответ написан
    Комментировать
  • Почему конструкция "1 больше 1 меньше 1" в JavaScript возвращает true?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    В каждом языке программирования есть правила, которые определяют порядок выполнения операций в выражениях. Самый простой пример - умножение считается всегда раньше, чем сложение. Скобки могут менять порядок (затем они и нужны), но без скобок работают эти правила.

    Чтобы их выяснить, нужно набрать в гугле "javascript precedence". Советую эту таблицу знать очень хорошо, чтобы считалось, что язык вы знаете.

    Погуглив, вы выясните две вещи:
    1) Операции > и < имеют одинаковый приоритет.
    2) Ассоциативность "left-to-right", то есть слева направо.

    Второе означает, что сначала будет посчитано левое выражение 1>1, которое false. А затем результат (false) будет посчитан с правым: false<1, где false автоматически преобразуется в 0.

    В качестве тренировки посчитайте на бумажке, используя только таблицу приоритетов операций, такое выражение:
    0 / 0 ^ 0 === 0 ? 'a' : 'b';
    Решение и ответ, для самопроверки
    0 / 0 ^ 0 === 0 ? 'a' : 'b';
    0 / 0 ^ (0 === 0) ? 'a' : 'b'; // "===" has more priority than "^"
    0 / 0 ^ true ? 'a' : 'b';
    (0 / 0) ^ true ? 'a' : 'b'; // "/" has more priority than "^"
    NaN ^ true ? 'a' : 'b';
    NaN ^ 1 ? 'a' : 'b'; //converted to number
    1 ? 'a' : 'b'; //for some reason
    'a'
    Ответ написан
    2 комментария