Skip to content

Instantly share code, notes, and snippets.

Необходимо реализовать на реакте и редукс, поле инпут и кнопку, в инпут будет вводиться куери параметры любые.

  • По нажатию на кнопку летит запрос на сервер вместе с куери параметрами при помощи Axios.
  • Все запросы нужно отловить в интерсепторе, настроить CancelToken.
  • Интерсептор должен быть как HOC, все ошибки должны попадать в контекс и выводиться на экране под кнопкой.
  • Нужно будет сделать свой хук useFetch и что бы через него отлавливались ошибки в интерсепторе.
  • Потом все это нада закешировать и если ввести тикаеже куери параметры то запрос не должен лететь на сервер а браться данные из кеша.

Использовать только Hooks подход в компонентах.

@zogreptile
zogreptile / questions.md
Created July 19, 2021 14:46 — forked from ozio/questions.md
Вопросы, которые мне задавали (или не задавали) на позицию Senior Frontend Developer (~10 их)

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

React:

  • Жизненный цикл компонента? В какой метод какие аргументы приходят? Где и как лучше обновлять стейт?
  • Что такое функциональный компонент и PureComponent? В чём разница?
  • Что такое Redux?
  • Что такое сайд-эффекты?
  • Какие бывают миддлвары в Redux?
  • Для чего нужен redux-thunk?
  • На чём построена redux-saga (на генераторах) и для чего она нужна?
@zogreptile
zogreptile / xcode-cli-tools-reinstall
Last active December 22, 2020 10:39
Xcode command line tools reinstall
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
@zogreptile
zogreptile / multiline-text-cut.mixin.scss
Created October 29, 2020 14:21
CSS Multiline text cut
@mixin multiline-text-cut($lines) {
display: -webkit-box; // stylelint-disable-line value-no-vendor-prefix
overflow: hidden;
-webkit-line-clamp: $lines; // stylelint-disable-line property-no-vendor-prefix
/* autoprefixer: ignore next */
-webkit-box-orient: vertical; // stylelint-disable-line property-no-vendor-prefix
}
// export values from SCSS file
:export {
tablet-portrait: $tablet-portrait;
desktop: $desktop;
}
// JS
import BREAKPOINTS from '../breakpoints.scss';
const isMatchesMQ = window.matchMedia(`(min-width: ${BREAKPOINTS.desktop})`).matches;
@zogreptile
zogreptile / svg-progress.jsx
Last active September 11, 2020 09:16
Semi-circle react svg progress bar.
const propTypes = {
progressPercent: PropTypes.number,
};
const defaultProps = {
progressPercent: 0,
};
const WIDTH = 224;
const HEIGHT = 112;

Использование глобальных npm-пакетов в git-bash

Добавить в PATH путь к бинарникам npm, например C:\Users\\AppData\Roaming\npm

@zogreptile
zogreptile / gitcommands.md
Last active September 24, 2019 11:16
Git commands

Вывод истории коммитов

git log -5 --pretty=%s --graph

Обнулить локальную ветку удаленной (на случай тотальной осечки)

  • delete your local branch: git branch -d local_branch
  • fetch the latest remote branch: git fetch origin remote_branch
  • rebuild the local branch based on the remote one: git checkout -b local_branch origin/remote_branch

Откатить коммит(ы) с сохранением отслеживания файлов в индексе

git reset --soft (HEAD^) – откатить последний коммит

@zogreptile
zogreptile / wincmd.md
Last active April 11, 2019 06:06
Windows commands

Удаление вложенных папок

rmdir <directory> /s /q

  • /s – удаление подпапок
  • /q – отключение запроса подтверждения при удалении дерева каталогов с помощью ключа /s

Переход к другому диску

cd /d d:\Docs\Java

1. Расскажите, чем, на ваш взгляд, отличается хорошее клиентское приложение от плохого с точки зрения

Пользователя:
  • интуитивно-понятное
  • отзывчивое
  • быстрое
  • приятно выглядящее
Менеджера проекта:
  • не вызывает лишних вопросов со стороны заказчика/начальства
  • сделано в заявленные сроки