• Как работает LogonUser, когда нет связи с доменом?

    fzfx
    @fzfx
    18,5 дм
    когда нет связи с доменом - для авторизации используются данные из кеша авторизации.
    функция занимает ~1.5 минуты, потому что на определение отсутствия связи с доменом уходит ~1.5 минуты.
    1789 ошибка может быть логична, а может быть и не логична. в мире много 1789 ошибок, какая из них у вас?
    Ответ написан
    1 комментарий
  • Как настроить роутер в качестве точки доступа?

    Jump
    @Jump
    Системный администратор со стажем.
    Как настроить роутер в качестве точки доступа?
    Отключить DHCP.
    Подключить к другому роутеру.
    Главное в порт WAN Archer C6 ничего не втыкать.

    но интернет на компе так и не завелся
    Что значит не завелся? Настройки комп получил по дхцп? Шлюз пингуется? ДНС доступны? Проблемы то в чем?
    Ответ написан
    7 комментариев
  • Оценка своего уровня. Как улучшить код?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    1. Используйте const вместо let для определения переменных которые не переопределяются в коде. Это помогает снизить когнитивную нагрузку с человека читающего код и негласный стандарт в React разработке.

    2. Такие вещи как globalStyles и конфигурацию store лучше вынести в отдельные файлы. Они могут со временем хорошо разрастись.
    По поводу globalStyles, вы вообще можете вынести их в отдельный css файл.

    3. Вместо:
    {
      isModal
      ? <Route path="/auth" component={AuthPopup} />
      : null
    }

    лучше:
    {isModal && <Route path="/auth" component={AuthPopup} />}


    4. Вместо:
    function mapDispatchToProps(dispatch) {
        return {
            autoLogin: () => dispatch(autoLogin()),
            getBrowser: () => dispatch(getBrowser()),
            getMedia: () => dispatch(getMedia())
        }
    }


    лучше:
    const mapDispatchToProps = {
      autoLogin,
      getBrowser,
      getMedia,
    };


    5. Точки с запятыми в конце то есть, то нет. Определитесь и приведите код к одному виду.

    6.
    & label {}
    & input {}
    & span {}

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

    7. Почему папка со страницами называется Containers? Дань бойлерплейтам?

    8. Использование trailing comma является хорошей практикой.

    9.
    import {combineReducers} from 'redux';
    import photoReducer from './photoReducer';
    import authReducer from './authReducer';
    import globalReducer from './globalReducer';
    
    export default combineReducers({
        photoReducer, authReducer, globalReducer
    })


    Все таки приятней работать с хранилищем в котором ключи не имеют в названии слова reducer:
    import {combineReducers} from 'redux';
    import photo from './photoReducer';
    import auth from './authReducer';
    import global from './globalReducer';
    
    export default combineReducers({
      photo, 
      auth,
      global,
    });


    10. Забудьте вообще, что в языке есть возможность использовать вложенный тернарный оператор:
    return e === 'invalid-email' ? 'Неверно указан e-mail'
        : e === 'user-not-found' ? 'Указанный e-mail на найден'
        : e === 'wrong-password' ? 'Неверный пароль'
        : e === 'email-already-in-use' ? 'Указанный e-mail уже используется'
        : e === 'network-request-failed' ? 'Нет подключения к интернету'
        : e === 'operation-not-allowed' ? 'Произошла ошибка, попробуйте снова'
        : e === 'popup-closed-by-user' ? 'Окно авторизации закрыто пользователем'
        : e === 'account-exists-with-different-credential' ? 'Аккаунт уже существует с другими данными, используйте другой способ авторизации'
        : e

    Это одна из самых худших практик в JavaScript разработке. Тут лучше подойдет конструкция switch case

    11. Константы actionTypes лучше вынести в папку constants и разложить по разным файлам, иначе со временем у вас там будет свалка.

    12. Вместо:
    import {SET_ACTIVE, CHANGE_VALUE, SET_DEFAULT, UPLOAD, UPDATE_IMAGE, SET_IMAGE_ERROR, SET_LIKE, SET_COMMENT, ADD_ARTICLE_SUCCESS, FETCH_ARTICLES_START, FETCH_ARTICLES_SUCCESS, FETCH_ARTICLES_ERROR} from '../actions/actionTypes';

    Лучше:
    import {
      SET_ACTIVE,
      CHANGE_VALUE,
      SET_DEFAULT, UPLOAD,  
      UPDATE_IMAGE,
      SET_IMAGE_ERROR,
      SET_LIKE,
      SET_COMMENT,
      ADD_ARTICLE_SUCCESS,
      FETCH_ARTICLES_START,
      FETCH_ARTICLES_SUCCESS,
      FETCH_ARTICLES_ERROR,
    } from '../actions/actionTypes';


    13. Попробуйте внедрить библиотеку reselect. И для получения значения из store вместо записи вида:
    function mapStateToProps(state) {
        return {
            browser: state.globalReducer.browser
        }
    }


    использовать селектор:
    const mapStateToProps = state => ({
      browser: browserSelector(state),
    });
    Ответ написан
    12 комментариев
  • Почему выключается компьютер?

    Jump
    @Jump
    Системный администратор со стажем.
    Когда подключаю к ноутбуку зарядку, он начинает пищать вплоть до выключение.
    Проверьте зарядку на предмет напряжения и тока под нагрузкой - есть вероятность, что зарядка неисправна, и просто не держит нагрузку.

    Логика работы с ЗУ может быть реализована по разному, и нередко сделано так - если зарядка отключена, питаемся от аккумулятора.
    Если зарядка подключена - питаемся от зарядки, плюс к этому заряжаем аккумулятор, при такой реализации на ЗУ при подключении ложиться двойная нагрузка - нужно питать ноут, и заряжать аккумулятор, и если она не справляется напряжение падает, и возможно отключение. Или нестабильное напряжение в сети - тут даже при исправной зарядке возможна такая ситуация.

    Хотя на большинстве ноутов - при зарядке питание от аккумулятора не отключается, но изредка бывает и такая реализация.

    При выключенном ноуте - заряжается нормально?
    В общем начните с диагностики ЗУ.

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