• Пример проекта который включал бы всю "класссику" фронтенда?

    или более похож на реальный боевой проект

    Куча легаси кода, все тормозит и глючит. Половина проекта с горем пополам переписана на современный манер.

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

    verkhoturov
    @verkhoturov
    HTML-Верстальщик / Frontend Developer
    Придумываешь пет-проект, делаешь, тупишь, гуглишь как надо делать, снова делаешь, снова тупишь, гуглишь...
    Ответ написан
    2 комментария
  • Как получить доступ к store из редьюсера?

    rockon404
    @rockon404 Куратор тега Redux
    Frontend Developer
    Вам надо использовать middleware. Например redux-thunk
    const action = value => (dispatch, getState) => {
      const otherValue = otherValueSelector(getState());
      
      const payload = calculate(value, otherValue);
    
      dispatch(otherAction(payload));
    };
    Ответ написан
    Комментировать
  • Как правильно сделать страницы SPA на реакте?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Рассмотрите вариант с переносом общих элементов на уровень выше:
    const App = () => {
      return (
        <Page wide={true}>
          <Header top={<Top />} />
          <SideNav>
            <LeftMenu />
          </SideNav>
          <Content>
            <Switch>
              <Route path="/" component={Home} />
            </Switch>
          </Content>
        </Page>
      );
    };


    Тем не менее, если вы уверены, что выбрали наиболее подходящий для вашего проекта подход, то общую часть можно перенести в отдельный компонент:
    const PageLayout = ({ wide, top, children }) => {
      return (
        <Page wide={wide}>
          <Header top={top ? top : <Top />} />
          <SideNav>
            <LeftMenu />
          </SideNav>
          <Content>
            {children}
          </Content>
        </Page>
      );
    };


    Тогда код страниц сократится до:
    const Home = () => {
      useEffect(() => {
        document.title = "Привет";
      }, []);
    
      return (
        <PageLayout wide>
          <Overview />
        </PageLayout>
      );
    };

    Для работы с head советую использовать react-helmet
    Ответ написан
    Комментировать
  • Как сделать таблицу с днями недели +1?

    hzzzzl
    @hzzzzl
    Ответ написан
    Комментировать
  • Как на самом деле работают типы данных в js?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Это больше академический интерес, хочу разобраться как оно работает.

    Это вы сейчас в очень глубокую нору заглядываете.

    Движки стараются оптимизировать по максимуму, поэтому там очень много всего накручено помимо наличия int32.
    Я не удивлюсь если в вашем конкретно примере они сделают просто a=1.5 в обоих случаях и код будет идентичный до байта.
    а потом эту a подставят куда надо и оптимизируют там еще что-то, например b=c+a превратится в b=c+1.5

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

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

    И много чего другого, лишь бы быстрее работало.
    Даже если вы прямо сейчас разберетесь во всем, то завтра запилят новую оптимизацию где-то в глубине движка и что-то будет работать уже по другому.
    Ответ написан
    8 комментариев
  • Как объяснять кадровикам быстрые смены работы?

    @4tlen
    Всегда говори правду. Если причины реально (только себе не ври) адекватные, то и со стороны работодателя (адекватного) будет нормальное отношение. В других случаях можешь говорить что сделал свое дело и отпала нужда в твоей вакансии.
    Ответ написан
    9 комментариев
  • Открыть доступ к серверу flask из вне?

    NeiroNx
    @NeiroNx
    Программист
    app.run(host="0.0.0.0", port="80")
    Ответ написан
    Комментировать
  • Можно ли в PHPSTORM назначить горячую клавишу на действие "удалить символ после курсора"?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Это называется клавиша delete
    Ответ написан
    Комментировать
  • Какую версию laravel выбрать для долгосрочного проекта?

    4.2, очевидно же
    Ответ написан
    Комментировать
  • Оцените пожалуйста верстку?

    vilka_2009
    @vilka_2009
    Верстаю
    1) Тег section не в правильном месте используешь. Он означает что-то более глобальное и общее.
    <div class="limpon-is">
            <div class="bg-color"></div>
            <div class="squares-bg"></div>
            <div class="wrapper">
                <div class="brandon-img"></div>
                <section class="limpon-text">
                    <div class="small-button"></div>
                    <h3>Limpon Is Suitable For<br> Anytype LandingPage</h3>
                    <p>Lorem ipsum...</p>
                    <a href="#" class="btn btn230blue">get started now</a>
                </section>
            </div>
        </div>

    Например тут section-ом должен быть блок с классом ".limpon-is", а у тебя просто его текстовая часть. Он должен объединять в себе весь логический блок, пусть в нем даже есть какие-то декоративные блоки.
    2) Так же, я бы не стала делать такие декоративные блоки (.bg-color, .squares-bg) и декорировала псевдо-элементами, потому что они не несут никакой смысловой нагрузки, в отличие от скриншотов и иконок.
    3) .testi-bg - почему картинкой, а не css-ом? если что-то можно верстать, то нужно верстать. Например, радиокнопки в форме - это обычно кружок в кружочке. Это точно не стоит лишних обращений к серверу за картинкой, их отрисовка и хранение. Здесь тоже не вижу никакого смысла делать вместо фона с закруглением - картинку.
    4) .review-block1 - Вот таких классов не должно быть ни в коем случае, .review-block - таких тоже лучше избегать. Это все равно что диву назначить просто класс block. Див - это же итак блок. Или еще круче div с классом div. Будет вообще шикарно.
    5) в blockquote в твоем случае излишне вставлять параграф .
    6) .review-block - фотографию автора обзора нельзя делать псевдо-элементом. Это не просто декоративный элемент, это как имя автора отзыва и относится не к самому блоку, а к его содержимому. Поэтому должен быть тег с классом .author-photo, например.
    Как лучше делатьь:
    <div class="review">
                <blockquote>It is a long established fact that a read her will be distracted by the readable content of a page when looking.</blockquote>
                <div class="review-author">
                    <img class="author-photo" src="image.jpg" alt=""/>
                    <span class="author-name">Rolin B. Mirano</cite>
                    <cite class="author-company">ceo, uihub</cite>
                </div>
        </div>

    Тут мы объединяем смысловые элементы одним родителем .review-author
    7) .plans-header - зачем тут делать ширину блока? Излишне.
    8) Список услуг в тарифах должен быть списком, а не одним параграфом. Жирный минус!
    unexceptable

    hqdefault.jpg
    9) Опять же, список тарифов - это section. А у тебя этим тегом каждый тариф выделен. ".team-list" - это не section. ".our-team" - это section.
    10) .team-plus - мой совет: не парься высчитыванием радиуса в пикселях. когда тебе нужно сделать круг. Просто border-radius: 50%, можно 100%, можно 9999рх. В любом случае, если нужно будет поменять размер круга, то не нужно будет менять размер радиуса.
    11) Такие штуки как .team-position - это не параграф в тексте или статье. Поэтому не используй тег пожалуйста. Используй тег .
    12) При желании в форме обратной связи можно оформить текст авто-заполнения, чтобы не было сильных отличий.
    13) В любом поле формы должен быть padding, как левый, так и правый. У тебя ни в одном поле нет правого падинга. Поэтому при длинном тексте он наедет на иконку. А длинным может быть и фио, и почта. А не только текст в текстареа.
    5d27626ad09e1936454445.png
    5d2764e97c3cb017292066.png
    14) Кнопочка "submit now" - иконка должна быть псевдоэлементом у текста. Иначе если текст поменяется придется и ее двигать.
    15) .foot-so - не делай сокращенные имена классов. Тут невозможно понять что это. Ступня?! footer-social, хотя бы.
    16) Предпочтительнее все таки футеру тоже назначать класс. footer.footer получается
    17) На ссылках хочется эффектов наведения (кроме cursor: pointer), а на кнопках - плавности наведения (transition).
    18) .subscribe button - попробуй border-radius: 9999px. Лайфхак, если радиус в 2 раза меньше высоты кнопки ;)
    19) А что это так? Почему только ко второму заголовку такое правило?
    .text-scroll h4:nth-of-type(2) {
        margin-top: 27px;
    }

    20) Центрируем флексами без подгонки пикселей отступов.
    .burger-areal {
      display: flex;
      justify-content: center;
      align-items: center;
      cursor: pointer
    }
    .burger {
      width: 30px;
      z-index: 333;
    }
    .burger span:last-child {
      margin-bottom: 0;
    }


    Надеюсь ты не примешь критику близко к сердцу, а сделаешь из нее правильные выводы. В основном, честно, мне все очень понравилось. Все замечания чисто на опыте. Удачи тебе в развитии!
    Ответ написан
    4 комментария
  • Оцените пожалуйста верстку?

    BenderIsGreat34
    @BenderIsGreat34
    junior front-end
    проблемы с Accessibility вижу.
    bg & foreground colors dont have a suffcient contrast ratio.
    form elements dont have associated labels
    links dont have a discernible name
    в остальном хорошо

    можешь сам проверить. пожимаешь f12 и заходишь в audits, норм такой тестировщик)
    а, ещё бы конечно ты бы на бэме верстал, было вообще шикарно. ещё вижу айди много прописывал, я не знаю, для чего ты там их юзаешь, но в css их лучше не юзать
    Ответ написан
    3 комментария
  • Оцените пожалуйста верстку?

    Chefranov
    @Chefranov
    Новичок
    • Не хватает transition у кнопок
    • У главного меню нет ховеров
    • Блок с цифрами хорошо бы анимировать
    • Нет адаптива под устройства меньше iPhone X
    • Хорошо бы добавить плавный скролл к главному меню
    • По кнопке Free Trial и Choose plan по идее должен быть pop-up
    • В IE верстка кое-где ломается
    • Что будет если добавить еще членов команды или отзывов клиентов?
    • Есть кнопка для воспроизведения видео, но никак не работает
    • Блок с скриншотами по идее должен быть слайдером
    Ответ написан
    2 комментария
  • Хороший пример реализации авторизации и хранения данных пользователя в Redux store?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Тут реализовывать нечего:
    const store = configureStore();
    
    store.dispatch(init());
    
    const root = (
      <Provider store={store}>
        <App />
      </Provider>
    );


    В асинхронном действии init выполняйте что хотите. Пока не завершились нужные запросы, можно установить флаг isInitializtion: true и вместо контента показывать прелоадер или заглушку.
    Ответ написан
    1 комментарий
  • Как правильно передать пропсы в route который находиться выше?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Варианты:
    1. Подъем состояния.
    2. Использование state management библиотеки, например redux.
    Ответ написан
    6 комментариев
  • Django(+cms)+reactjs+typescript+bootstrap+SASS. Как можно сделать?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Все просто. Вам нужно:
    1. Изучить Django(+CMS), React, TypeScript, Bootstrap, SASS.
    2. Написать свой собственный блог на этом стеке технологий.
    Ответ написан
    3 комментария
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    qlkvg
    @qlkvg
    python backend developer
    Был в похожей ситуации года 3 назад, только без обрубания концов и релокации. Совсем не тянул, спрашивал мелочи у коллег и стыдился, ничего не понимал. Хотелось все бросить и вернуться на прошлое место работы, где можно было спать до обеда. В итоге через 3 месяца ада, ощущения собственной ничтожности и штудирования книг в любой удобный момент, что-то начало получаться. В итоге дорос до человека, у которого джуны спрашивают мелочи.
    Сейчас понимаю, что первые несколько месяцев нужно было просто пережить. Это нормально для зеленого новичка в индустрии. Если вы не устроились на позицию сеньер фул-стека, адекватный работодатель не будет от вас требовать мгновенного результата. Если переживаете, честно поговорите с непосредственным начальником, что не вывозите, нужно время на раскрутиться
    Ответ написан
    4 комментария
  • Почему не могу получить this.context?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Вынесите контекст в отдельный файл.
    Ответ написан
    3 комментария