• Почему не работают es6 модули в javascript?

    irestone
    @irestone
    Junior Web Developer
    Ответ написан
    Комментировать
  • Есть ли отличия Sass от SCSS?

    irestone
    @irestone
    Junior Web Developer
    Только синтаксические
    Ответ написан
    Комментировать
  • Что означает состояние компонента в React?

    irestone
    @irestone
    Junior Web Developer
    Если у твоего человека меняется количество пальцев или рук и от этого изменения зависят какие-то части твоего приложения, то количество пальцев и рук хранится в стейте. Если твой человек перманентно болен или грустит - этим переменным (т.е. константам) делать в состоянии нечего.

    Состояние - это набор данных, которые могут меняться в рантайме, от которых зависит твое приложение. Не важно, есть ли у данных предопределенное количество состояний (ill: true/false -> 2, likes: ... -> infinity), важно, что изменение этих данных влияет на работу приложения (перерисовку UI)

    Стейт менеджмент - это основная причина существования подобных фреймворков/библиотек, поэтому стоит изучить вопрос.
    Ответ написан
    Комментировать
  • Нужно ли зубрить некоторые темы в JavaScript?

    irestone
    @irestone
    Junior Web Developer
    Думаю, ваша проблема в том, что вы не можете определить свою проблему.

    не понимаю некоторых моментов работы с циклами, условиями и, конечно же, массивами

    Значит нужно внимательнее перечитать урок. Столько раз, сколько потребуется, чтобы все поняли. Также пользуетесь документацией.

    не могу задания решать, потому что не понимаю условия задачи...

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

    Программировать сложно. Что бы вы где ни слышали. Программирование - это сложно. Это труд. И если оно не приносит вам удовлетворения, то в мире полно других, куда более приятных, способов зарабатывать себе на жизнь.
    Ответ написан
    Комментировать
  • Где подучиться дизайну интерфейсов?

    irestone
    @irestone
    Junior Web Developer
    Ты прав - лучшего совета, чем практиковаться, тебе здесь не дадут.
    Дизайн ведь не медицина, не дата сайнс... Дизайн, в первую очередь, про чутье, а чутье приходит с опытом.

    Однако, следует понять (и принять), что тебе не надо "придумывать". Особенно на ранних этапах. Лучшее, что ты можешь сделать - это копировать. Копировать, копировать и копировать то, что тебе нравится. Но не просто копировать - анализировать, пытаться разобраться, почему тебе это нравится, какие используются паттерны, приемы, как их можно экстраполировать на другие проекты. Извлекать паттерны, играться с ними отдельно - разбираться, как они работают, смешивать друг с другом в разных комбинациях. Вот книга на тему.

    Что здесь важно: во-первых, не пытаться делать идеально (по ряду причин, но в первую очередь - опыт важнее, чем результат); во-вторых, фидбэк (реддит, специализированные платформы, - дриббл, беханс - группы в соц. сетях) - если правильно настроишь инфосферу, она будет тебя вдохновлять, учить и советовать полезные инструменты.

    Анализируя свои (и чужие) проекты, получая по ним фидбэк, находясь в нужной инфосфере, - ты будешь знать, что и где тебе необходимо изучать и над чем работать. Но хорошим стартом будут эти две книги
    Ответ написан
    Комментировать
  • Не могу понять задачу JS?

    irestone
    @irestone
    Junior Web Developer
    С помощью оператора ++ ты инкрементируешь (увеличиваешь на 1) значение переменной.
    Есть два способа сделать это: ++x и x++. О различиях почитай тут

    Если a == 1, то на второй строке x = ++a + ++a => x = 2 + 3 => x = 5. Соответственно, x == 5, a a == 3
    А на третьей x += a => x = x + a => x = 5 + 3 => x = 8
    Ответ написан
    Комментировать
  • Хватит ли плагина google translate?

    irestone
    @irestone
    Junior Web Developer
    Можно ли вообще в IT выжить с подобным подходом?

    Зависит от ваших стандартов.

    Определитесь зачем вам английский. Минимальным стандартом в IT считается intermediate - уровень, при котором вы без труда читаете тех. литературу. Но нужно это, в первую очередь, вам, чтобы не возникали "очень сильная злость, раздражение". Статьи, книги, курсы далеко не всегда переведены и неспособность эффективно работать с оригиналом банально тормозит ваше развитие. Выжить можно? Думаю, можно. А когда заказчик будет из-за бугра, и нужен будет тех. специалист с ним побалакать, позовут Васю из-за соседнего стола, который вам в подметки не годится с технической стороны, но который может в инглиш. И его повысят, потому что проявил себя в разговоре с заказчиком. Можно с этим жить? Вполне. Осадочек будет, но от досады не умирали.

    Короче, если думаете, что вам, все-таки, нужен английский, то поднять его до среднего уровня не сложно, это займет только пару месяцев умереных, но регулярных занятий. Первое, что вам надо сделать, это перестать искать виноватых. Это не поможет. Поможет анализ опыта и выявление проблем. А второе - составить нормальную, здоровую программу. Но это уже аут оф скоуп вашего вопроса.
    Ответ написан
    Комментировать
  • Какую книгу начать читать для JavaScript?

    irestone
    @irestone
    Junior Web Developer
    Алгоритм нахождения "лучшей книги по мнению большинства":
    - Идете на Amazon.com
    - В поисковой строке печатаете название языка программирования, нажимаете enter
    - Просматриваете первую страницу выдачи, читаете описания и отзывы, год издания, выбираете подходящую

    Если не знаете английского, то лучше посвятите время ему. Пользы будет, в конечном счете, больше, чем от книжки по js, раз вы уже и так занимаетесь на learn javascript - его вам хватит с головой, чтобы изучить js
    Ответ написан
    Комментировать
  • Где продолжать учить js?

    irestone
    @irestone
    Junior Web Developer
    Современный учебник JavaScript
    Профессии фронтенд/бэкенд javascript на Хекслете
    Хватит с головой.

    И советую учить не js, а, в первую очередь, программирование: структуры данных и алгоритмы, ООП и паттерны проектирования.
    Ответ написан
    1 комментарий
  • Одинарные и двойные кавычки, какие лучше?

    irestone
    @irestone
    Junior Web Developer
    Лучше те, что приняты в этом языке. И это касается всего.
    В каждом языке есть свои бест практис, свои стайлгайды. Найди самый популярный и следуй ему.

    А еще лучше, установи линтер. Для JavaScript я использую комбинацию ESLint и Prettier. Вдобавок можешь использовать Husky и lint-staged, чтобы автоматизировать линтинг при коммитах.
    Ответ написан
    Комментировать
  • Какие темы изучить для прохождения отбора на Python?

    irestone
    @irestone
    Junior Web Developer
    Во-первых: "На все это у меня есть пару недель.(Поверьте я псих, и не такое могу)" - нет, не можешь. За пару недель можно изучить некоторые технологии, но научиться правильно думать нельзя.
    Во-вторых: "На Видеокурсы времени нет! Нужна текстовая информация!" - видео усваивается лучше. Но, в целом, нужно комбинировать все возможные ресурсы.
    В-третьих: "JavaScript (НЕНАВИЖУ)" - нет смысла ненавидеть молоток. Это очень наивная позиция. Выбери задачу и используй то, что нужно.
    В-четвертых: Объем математики определяется целью: занимаешься машинным обучением, искусственным интеллектом и прочим дата сайенс или пишешь физический движок, например, - понадобится серьезная математика. В остальных случая хватит школьного курса, и то средней школы.

    Непосредственно подготовка:
    Cracking the Coding Interview
    Elements of Programming Interviews in Python
    Из этих книг тебе станет ясно, что нужно знать, чтобы пройти собеседование на работу.

    Тренируй problem solving скилл на специальных сервисах. Популярные: https://leetcode.com, https://www.hackerrank.com, https://practice.geeksforgeeks.org
    Нужно не просто решать задачи, а учиться это делать правильно, походу изучая алгоритмы, структуры данных и анализ сложности. Грокаем алгоритмы - хороший выбор. Будет отлично, если найдешь друга, с которым можно будет тренировать witeboard'ы, когда один берет на себя роль интервьюера и задает другому задачу. Это важно. Так вы сможете разобраться, где и почему вы застреваете и научитесь правильно выстраивать мыслительный процесс при решении задач. По большому счету, это твой основной навык как программиста, именно его и будут проверять в первую очередь при собеседовании на работу. По крайней мере, должны. Если спрашивают только конкретные технологии, то тебе стоит задуматься, стоит ли у них работать. (Подсказка: нет)

    Изучай ООП и Паттерны проектирования.
    Все доступно и с примерами.
    Видео по одной популярной книге, которую тоже можешь начать читать.

    Изучай инструменты (языки, фреймворки и пр) под конкретную сферу. Не надо изучать все подряд, учи то, что нужно для того, чем ты хочешь заниматься, конкретный стек технологий. Помни про принцип Парето.
    Например, вот хорошие ресурсы по питону:
    https://www.amazon.com/dp/1593279280/
    https://www.amazon.com/dp/1593275994/
    https://www.youtube.com/watch?v=8DvywoWv6fI

    Наконец, ты должен понимать, что нетехнические, т.н. софт-скиллы не менее (а в случае с джуном часто более) важны. Я не зря предлагал ресурсы на английском - этот язык разработчику знать важнее, чем любой язык программирования. Не знаешь, с чего начать? Посмотри "Полиглот. Выучим английский за 16 часов!", начни пользоваться https://lingualeo.com (там есть и тренировки и курсы)

    Окружи себя инфосферой: ютуб, твиттер, телеграм и пр.
    Мне, например, нравятся эти ребята:
    https://www.youtube.com/channel/UCVbz7l0COUdLupcY4...
    https://www.youtube.com/user/HexletUniversity
    https://www.youtube.com/channel/UC4xKdmAXFh4ACyhpi...
    Они помогут тебе начать думать в правильном направлении.

    Удачи!
    Ответ написан
    3 комментария