• Как предотвратить перезагрузку страницы(ререндер) в React?

    @almel
    React-native engineer
    Здравствуйте!

    Если Вы положите правильные зависимости, то данные будут подтягиваться при их изменении

    const getWeather = React.useCallback(async () => {
        try {
          setLoading(true);
          const response = await axios(urlCoords);
          const data = await response.data;
          setData(data);
          setLoading(false);
        } catch (error) {
          alert('Failed to load resource');
          console.error(error);
          setError(error);
          setLoading(false);
        }
        setLocation('');
      }, []);
    
      React.useEffect(() => {
        if (lat && long) {
          getWeather();
        }
      }, [lat, long, getWeather]);
    Ответ написан
    Комментировать
  • Должен ли программист выполнять роль девопса на сервере заказчика?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    В реальности фриланса, вы являетесь и бизнес аналитиком и проджект менеджером и тимлидом и девопсом и бухгалтером и много много других вещей.
    Клиенту же нужен "продукт". То есть в большинстве случаев клиент подразумевает что вы настроите и запустите все.

    Так что настройте и на будущее при переговорах это обсуждайте, и вопросы примерно следующие:

    * Формат поставки
    * Операционная система
    * Доступы
    * Права на исходный код
    * Порядок приемки кода
    * Прочее

    То есть чем более точно вы все опишите в ТЗ и договоре, тем меньше у вас будет проблем
    Ответ написан
    3 комментария
  • Должен ли программист выполнять роль девопса на сервере заказчика?

    @vitaly_il1
    DevOps Consulting
    По-моему, ответ простой - что было записано в договоре, то и обязан.
    Т.е. если речь шла о коде - то только код. Если договаривались о "запустить на сервере" - то надо ставить на сервер. Но вот о том, что для вебсервера используют Мак, я еще не слышал :-)
    Ответ написан
    11 комментариев
  • Какое оптимальное время въехать в проект?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Какое оптимальное время въехать в проект?

    Не бывает оптимального времени. Обычно заказчик и исполнитель вместе решают какое время.
    Но для оценки я рекомендую следующее. Посмотреть backlog проекта. Посмотреть какие критичные
    таски висят. Или блокеры. Посмотреть что у них общее.

    Так просто блуждать по исходикам нет смысла. Вы будете читать не то что надо. Вы будете читать
    легаси код или код который даже не в эксплуатации и зря потеряете время.

    Для анализа кода поставте план - график. Например 1 неделя на развертывание проекта.
    Если там специфичное облако - то на изучение облака еще 1-2 недели.

    План график должен включать обязательные пункты который надо пройти. Например если это
    Laravel/react - то вы должны поднять в облаке привет-мир на этом стеке и продемонстрировать
    что он работает. И только после этого переходить к развертыванию проекта.

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

    У вас должен быть ментор или консультант который раз в несколько дней должен отвечать
    на ваши вопросы по списку. Ваш план-график должен учитывать риски и внезапные investigations
    результатом которых могут быть НОВЫЕ таски которые вы сами создадите. Например - сдохли
    сертификаты по сроку. Создать новые. Это время. Это тоже таски и они должны быть эстимированы.
    Ответ написан
    3 комментария
  • Какое оптимальное время въехать в проект?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    От проекта зависит. На моëм проекте например новичкам даже сеньорского уровня до первой простой таски требуется недели две, а выход на 100℅ эффективность занимает 3-6 месяцев.
    Ответ написан
    9 комментариев
  • В чем "вкус" react?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вкус любого фреймворка в том что бы не делать лишнюю работу.
    В реакте есть реативность, виртуальный виртуальный DOM, роутинг , состояния

    Причем это все из коробки.
    Кроме того куча разработчиков написало уже компоненты на все случае жизни.

    Вот и выходит что на реакте ты в разы быстрее пишешь код. Для работодателя это выгодней хотя бы с экономической точки зрения, кстати не стоит хвататься за новый модный убивальщик любого фреймворка, скорее всего он не будет востребован

    UPD
    вот сравните https://qna.habr.com/q/1229430
    сложность оригинального кода автора и мое решение, видно что в моем случае включается "магия"
    Ответ написан
    Комментировать
  • В чем "вкус" react?

    vfreelancer
    @vfreelancer
    php
    представьте форму из 5 табов, в каждой по 15-20 полей. при изменении некоторых селектов часть полей пропадает, другие появляются, плюс какие-то селекты заполняются с сервера. плюс часть полей зависят от того, кто именно заполняет, плюс локализация, плюс валидация онлайн с проверками в бд на сервере. с реактом решение в разы легче и быстрее должно быть
    Ответ написан
    Комментировать
  • В чем "вкус" react?

    @12rbah
    В связи с этим у меня вопрос, чем же обоснована такая популярность этой библиотеки у работодателей?
    Если вы программируете 3 месяца то скорее всего не поймете. React или другой фреймворк изначально подразуевает то, что код хорошо делится по модулям и компонентам, что очень удобно, в обычном js нужно принимать больше усилий чтобы добиться этого. Также есть много готовых решений из коробки, которые уже были отлажены другими более опытными людьми.
    а модульность со мной сыграла злую шутку (прочитал, что хорошим тоном считается разбивать проект на мельчайшие модули, разбил свой, через пару недель я просто почти забыл, что от чего у меня зависит и какой модуль у меня что тянет за собой и главное куда тянет!
    Видимо вы попробовали выучить реакт за неделю, потом потом на 2-3 недели ушли заниматься своими делами и не трогали его и "внезапно" всё забыли. В целом можно писать комментарии для пояснения. Модульность как раз наоборот упрощает чтение кода и если правильно всё называть и прописывать, то в небольших проектах до 5-10к строк можно будет без проблем разобраться за пару дней тому кто не писал это код.
    P.S. Возможно вам лучше выложить вопрос с сылкой на ваш проект и вам подскажут что не так вы сделали, будет полезнее.
    Ответ написан
    Комментировать
  • Для чего нужен "Микс" в методологии БЭМ?

    @zxf
    Нужны для удобства.

    Я бы рекомендовал использовать, когда необходимо реализовать layout’ы каких-либо переиспользуемых компонентов.

    Кнопка может быть светлой и темной, для этого логично использовать модификатор, так как модификация несущественная и, очевидно, отражающая состояние блока (…_dark / …_light).
    Если модификация более существенная и требует сбора стилей из разных классов, можно использовать микс, тогда система получится более гибкая, за счёт мелких переиспользуемых классов.

    В процессе решения проблем становится понятно, где и что удобнее использовать.
    Ответ написан
    1 комментарий
  • Для чего нужен "Микс" в методологии БЭМ?

    delphinpro
    @delphinpro
    frontend developer
    Если с Модификатором еще + - понятно [...], то вот с Миксом мне не понятно,

    Вы невнимательно читали про БЭМ или вовсе не читали.
    Написание модификатора на html-элементе – это тоже микс.

    Mix - англ. Смесь

    Именно для этого они и нужны: Для размещения (смешивания) нескольких БЭМ-сущностей на одном HTML-элементе.
    Ответ написан
    1 комментарий
  • При выполнении маршрутизации с помощью React Router не отображается контент самой страницы?

    @Enzear1
    Лучше используйте
    import {
    Routes,
    Route,
    BrowserRouter
    } from 'react-router-dom'
    А также функциональные компоненты
    Ваш роутер это - BrowserRouter , в котором есть пути в тэге Routes как childs
    В Routes вы создаете Route с пропсом path = "url" и в качестве child передаёте компонент страницы

    App.jsx

    import Home from './Home'
    import Stuff from './Stuff'
    import Contact from './Contact'
    
    function App() {
      return(
        <div className="App">
            <BrowserRouter >
              <Routes>
                 <Route exact path="/" element={<Home/>}/>
                 <Route exact path="/stuff" element={<Stuff/>}/>
                 <Route exact path="/contact" element={<Contact/>}/>
              </Routes>
            </BrowserRouter >
        </div>
    Ответ написан
    Комментировать
  • React beautiful dnd как запретить последнему элементу перемещаться?

    CriticalError
    @CriticalError
    Самоучка
    Для того чтобы запретить определенному элементу перемещаться (перетаскиваться), необходимо этому элементу в пропсах передать isDragDisabled={true}, более конкретнее вы можете прочитать здесь

    Конкретно в вашем случае необходимо установить условие при котором у всех элементов будет
    <Draggable 
                          key={item.id} 
                          draggableId={item.id} 
                          index={index}
                          isDragDisabled={false}
                        >


    И только если элемент становился последним
    <Draggable 
                          key={item.id} 
                          draggableId={item.id} 
                          index={index}
                          isDragDisabled={true}
                        >
    Ответ написан
    Комментировать
  • Какой ресурс позволит стать уверенным React-джуном?

    @Pagantuz
    Быстрый ответ - никакой

    Развернутый ответ:

    Для качественного обучения Вам недостаточно будет пройти какой-либо волшебный курс, который сделает Вас разработчиком. В первую очередь я бы рекомендовал начать с документации, а непонятные моменты уже уточнять в других источниках (например, в тех же курсах). Если Вас интересует именно видео-формат, то посоветовал бы канал Ulbi TV. И само собой Вам нужно сделать несколько своих, независимых от курса проектов.
    Время зависит только от Вас. По своему опыту скажу, что путь от нуля до устройства на работу у меня занял примерно 4 месяца. Знания у меня были весьма шаткие, но этого хватило.
    Ответ написан
    Комментировать
  • Какой ресурс позволит стать уверенным React-джуном?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Какой ресурс позволит стать уверенным React-джуном?

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

    Но владеть js и ts надо уверенно, таки да.
    Ответ написан
    Комментировать
  • Как понять нюансы работы над реальным коммерческим проектом без трудоустройства в офис?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Ну мне не нужно научиться ездить на машине, мне нужно понять, как это делать теоретически. А дальше я уже сам додумаю, как я это буду тренировать практически.

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

    И только после этого начинаются нюансы разработки и программирования.

    В офисе сразу идут нюансы разработки и программирования.

    Так что хочешь идти во фриланс - вперед.
    Ответ написан
    Комментировать
  • Как выглядит адекватный путь изучения JS на позицию джуна во фронтедне с нуля?

    @LJ322
    Продолжай изучать JS по Кантору. В конце каждой секции есть задачи, выполняй все, не важно какой они сложности. По Proxy, Reflect и регуляркам можно вскользь пробежаться и не заострять внимание. Параллельно делай задачи на codewars, hackerrank, leetcode. Чем больше, тем лучше. Если в программировании с нуля, то желательно тысячу часов набить хотя бы.

    Когда простые задачи начнёшь щёлкать как орешки, начинай читать про структуры данных и алгоритмы. По структурам данных можно в принципе любой источник брать, там всё одинаковое. Можешь глянуть вот эту репу. По алгоритмам советую посмотреть Яндекс. Там только базовые примеры разбираются, но на начальном этапе этого хватит. Когда преисполнишься в этих двух аспектах, начинаешь брать сложные задачи всё с тех же ресурсов (литкод и другие). Лучше даже это параллельно делать - изучать темы и решать задачи.

    Опять же, параллельно с задачами выше начинай изучать webpack. Продолжай верстать, но уже добавлять какую-то логику на JS. Желательно ручками без плагинов, чтобы потом в дальнейшем настраивать эти плагины без особых проблем и вообще понимать что можно с их помощью сделать, а что нет.

    Дальше можно прочитать Кайла Симпсона. К этому моменту ты скорее всего поймёшь, о чём в книге идёт речь.
    Почитай про HTTP: тут и тут, знать как он работает - мастхэв для фронта. Теперь можно не просто верстать сайты, а заполнять их контентом через работу с API всевозможных сервисов.

    Вот тут можно начинать изучать Typescript и переписывать всё, что сделал ранее, на TS. Самая лучшая практика, как по мне

    Потом самое время выбрать фреймворк. Бери любой из понравившихся (кроме старья), читай доку и делай всё что выше, но уже на фреймворке. Со временем, если станет скучно, можешь залезть в их кишки, посмотреть как работает реактивность и другая "магия". Вообще фреймворк можно начать изучать и раньше, но я бы советовал к нему приступать, когда всё то же самое ты можешь сделать и без него. Это из личного опыта. Дока становится максимально понятной, не возникает дополнительных вопросов и в целом меньше косячишь.

    По шаблонам и паттернам я раньше читал Рефакторинг Гуру (с енотом). Там примеры на Typescript. Ссылку не кину, мало ли что.

    P.S. Все распиаренные курсы - хрень, не советую ими пользоваться. Тем более некоторые из них вообще составлены дилетантами. Это мой знакомый синьор говорил лет 5 назад. А позже я и сам пару раз столкнулся с этим (если в общем - такие ошибки даже стажёры в крупных компаниях не совершают).
    Вместо этого следи за современными трендами, отслеживай каких-нибудь людей (я в своё время вот на этого парня наткнулся). Подпишись на какие-нибудь дайджесты типо www.awwwards.com. Смотри как делают другие, пробуй повторить. Рано или поздно начнут свои идеи появляться
    Ответ написан
    3 комментария
  • Работодатель.Мошенничество и если да то какое?

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

    Подобным занимаются всякие компании, которые занимаются арбитражем трафика.
    В G Play / App Store загружают нормальное приложение, а потом распространяют реферральные ссылки, при скачивании по которым этого приложения, вместо оригинального контента будет показано казино или что-нибудь ещё подобное.
    При этом сама компания эта к казино отношения не имеет - казино платит за привлечение клиентов.

    Кто с подобным сталкивался?

    Работал в такой компании, которая и таким занималась, и ещё делали сайт, на котором можно будет удобно менеджить такие ссылки и приложения.

    В принципе, обычно, всё честно платят, но работали по ГПХ (в моём случае всё было честно).
    Если у вас всё будет по договору, то бояться нечего - вопрос только к тому, хотите ли вы таким заниматься.
    Ещё подобные компании часто не очень стабильны и в один день вам могут сказать, что они сокращаются и ваши услуги больше не нужны.
    Ну и возможности роста, как мобильного разработчика, у вас не будет.
    + С менеджментом могут быть сложности. Сам со стороны наблюдал, как начальник десятка таких бедолаг ругался на одного из разрабов, который делает всё очень хорошо, но делал за день максимум два таких приложения, в то время как некоторые коллеги делали их по 10 штук.
    Короче нервно достаточно

    PS: А как компания называется?
    Ответ написан
    Комментировать
  • Насколько большую роль в IT-карьере играют связи?

    php666
    @php666
    PHP-макака
    По связям ты знаешь, что тебя там ожидает: реальные условия, какой код, какой коллектив, атмосфера. Тебя рекомендуют и уже заочно у тебя есть плюсик. Если руководитель тянет знакомого разраба, то для разраба процесс проходит без собеседования и стрессов. Можно договориться на хорошие деньги, могут посоветовать сколько запросить и сколько в компании реально готовы платить.

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

    Связи - это хорошо, всегда и везде. Жизнь абстрактного айтишного нелюдимого "гения" интроверта без знакомств - это батрачка в потогонном ритме.

    Мы на нашем сайте это обсуждали. См. в профиле.
    Ответ написан
    Комментировать
  • Насколько большую роль в IT-карьере играют связи?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    И как вы обычно меняете работу?

    Размещаем CV на hh.ru, зарплата.ру и прочих джобовских сайтах. Ходим на собеседования. Принимаем приглашения на работу - и работаем.

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

    Ну и есть еще связи с руководством :) Но это вообще нетехническая категория :)
    Ответ написан
    Комментировать
  • Насколько большую роль в IT-карьере играют связи?

    Нет связей - тебе придется трудно.

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