• ListView Flutter синие границы при пролистывании, как убрать?

    Lucian
    @Lucian
    https://t.me/MakeFreelance
    Создайте класс
    class CustomBehavior extends ScrollBehavior {
      @override
      Widget buildViewportChrome(
          BuildContext context, Widget child, AxisDirection axisDirection) {
        return child;
      }
    }

    Добавьте в MaterialApp
    MaterialApp(
      builder: (context, child) {
        return ScrollConfiguration(
          behavior: CustomBehavior(),
          child: child,
        );
      },
      home: new MyHomePage(),
    );
    Ответ написан
    1 комментарий
  • Как привыкнуть к коду Flutter?

    Lucian
    @Lucian
    https://t.me/MakeFreelance
    Привык за пару недель. Запутаться невозможно, наоборот все логично вложено, попробуйте сделать вёрстку html и css, там реально как попало каждый делает как хочется, флаттер унифицирует и упорядочивает код и его удобно читать. Используйте плагины для рефакторинга/выравнивания виджетов, если не перестает бесить значит это не ваше.
    Ответ написан
    4 комментария
  • Нормально во время игры на MacBook Pro при играх 90 градусов на процессоре?

    DevMan
    @DevMan
    вполне норм, особенно для компактных устройств.
    критические температуры - выше 100 градусов.

    если вас это парит (по разным причинам), озадачьтесь дополнительным охлаждением. хотя бы вентилируемой подставкой.
    Ответ написан
    1 комментарий
  • MacBook. Какую пленку на экран выбрать или использовать прокладку?

    lamer350
    @lamer350
    กำลังสูงสุด
    Вы не найдете ни одной нормальной пленки, матовая - сильно искажает картинку, глянцевая - сами знаете.
    В домашних условиях ничего не будет екрану, если куда то выносите макбук - можно купить специально вырезанную микрофибру под ваш ноут (как на всю область екрана, так и поменьше просто на область клавиатуры, да требуется 30 секунд больше чтобы его упаковать, но так вы и екран сохраните и сможете пользоваться им с удовольствием (я про екран).
    5eeca8db69c12702416256.jpeg

    Фотка просто с гугла, не обязательно этой фирмы брать. Щас выбор большой, я раньше покупал на алишке просто качественную микрофибру и обрезал) Не знаю как на счет для клавиатуры, мне кажется будет ерзать внутри, я бы выбрал на всю область чтобы оне не еразала просто...
    Ответ написан
    Комментировать
  • Почему в OS X Mountain Lion изменяется порядок рабочих столов?

    Alexion
    @Alexion
    Он их меняет в зависимости от частоты использования. Попробуйте снять галочку «Автоматически использовать последнее расположение пространств» в Системных настройках — Mission Control
    Ответ написан
    1 комментарий
  • Почему в OS X Mountain Lion изменяется порядок рабочих столов?

    forefinger
    @forefinger
    Все намного проще: в Lion были переделаны рабочие и столы и система научилась их переставлять в зависимости от частоты использования, эта опция включена по-умолчанию, но еще можно отключить: System Preferences -> Mission Contol -> [ ] Automatically rearrange spaces based on most recent use, тогда столы всегда будут в том порядке — как вы их выстроили.
    Ответ написан
    4 комментария
  • Как сделать список задом наперед?

    scottparker
    @scottparker
    flex-direction: row-reverse; может расположить элементы в обратном порядке в строку
    Ответ написан
    Комментировать
  • Как победить ошибку "cannot read property of undefined"?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    console.log в отладке? да не, бред какой-то... Русским по белому же написано - не могу читать проперти у андефайнд.
    Ответ написан
    8 комментариев
  • Как сделать этот плавный переход прозрачности?

    SagePtr
    @SagePtr
    Еда - это святое
    Обычно поверх туда градиент суют, от цвета фона до прозрачного
    Ответ написан
    Комментировать
  • Изучать ли чистый JS backend разработчику?

    2ord
    @2ord
    Если развиваться в сторону full-stack, то необходимо знание Vanilla JS.
    Мода на jQuery уже прошла и фронтенд усложнился, а первый уже не отвечает этим требованиям.
    Ответ написан
    Комментировать
  • Как вывести значение свойства объекта через точку?

    @andreysuha
    Что то знаю
    example[1991], что бы обращаться через точку название свойства должно начинаться с буквы
    Ответ написан
    1 комментарий
  • Когда использовать useCallback, useMemo и useEffect?

    @LEXA_JA
    useEffect - это хук, который позволяет использовать сайд эффект. В классах его аналогом было использование componentDidMount, componentDidUpdate и componentWillUnmount. В нем можно делать подписки, отправлять запросы управлять анимацией и т. д.
    const [data, setData] = useState(null);
    
    useEffect(() => {
      const controller = new AbortController()
      fetchData(controller.signal).then(setData)
    
      return () => controller.abort()
    }, [fetchData, setData])


    useCallback и useMemo предназначены для оптимизации. useCallback получает на функцию и массив аргументов, и возвращает одну и туже функцию, до тех пор, пока аргументы не изменились. useMemo отличается тем, что он возвращает не саму функцию, а результат её выполнения. По большому счету они являются взаимозаменямыми.
    Таким образом, useMemo используется для сохранения результатов тяжёлых вычислений, например обработка массива.
    const data = useMemo(() => array.map(mapper).filter(predicate).reduce(reducer), [array])

    А useCallback используется, когда важна постоянность ссылок на функцию. Например, когда мы передаём ссылку в компонент, который использует React.PureComponent или React.memo, или, когда функция используется в качестве аргумента в других хуках
    const handler = useCallback(() => {
      // что-то сделать 
    }, [])
    
    useEffect(() => {
      handler(value)
      // если не использовать useCallback, эффект будет срабатывать постоянно 
    }, [handler, value])
    Ответ написан
    1 комментарий
  • С чего начать изучение Dart?

    @nrgian
    Хочешь программировать - практикуйтся. Книга нужна только первые 2-3 часа, чтобы совсем уж вводную информацию получить.
    На официальном сайте Dart отличные туториалы по языку. С примерами поэтапными и т.п.
    А еще рекомендую серию статей вот здесь https://dart.academy/web-games-with-dart-and-the-h... тоже в стиле туториалов пошаговых сделано.
    Ответ написан
    2 комментария
  • Как работают Stateless и Stateful widget и generics в Dart?

    MiT_73
    @MiT_73
    StatelessWidget – рекомендуется для неизменяемых виджетов. Это такие виджеты которые не имеют внутреннего состояния, зависят только от конфигурационных параметров и от родительских виджетов.
    Вот некоторые виджеты которые наследуются от StatelessWidget:
    • Text()
    • FlatButton()
    • Container()
    • и др.

    Самая простая конструкция для создания виджета от суперкласса StatelessWidget:
    class MyWidget extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return new Text('my text');
      }
    }

    StatelessWidget – нужен там где внутреннее состояние одно и оно сформировано параметрами и данными которые нам известны заранее.

    StatefulWidget – рекомендуется для изменяемых виджетов, с изменяемым внутренним состоянием (State). Под изменяемым состоянием понимается изменение внутреннего состояния экземпляра класса в зависимости от какого-то события (по нажатию, времени и пр.) Для этого нужно создавать виджет котопый наследует StatefulWidget.
    Вот некоторые виджеты, которые наследуются от StatefulWidget:
    • Image()
    • Form()
    • и др.

    Самая простая конструкция для создания виджета от суперкласса StatefulWidget:
    class MyWidget extends StatefulWidget {
      @override
      createState() => new MyWidgetState();
    }
    
    class MyWidgetState extends State<MyWidget> {
    
      @override
      initState() {
        super.initState();
        // ...
      }
    
      @override
      Widget build(BuildContext context) {
        return new Text('my text');
      }
    }

    StatefulWidget – нужен когда внутренних состояний больше одного и они могут сменять друг друга.

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

    Generics или обобщения позволяют добавить программе гибкости и уйти от жесткой привязки к определенным типам. Иногда возникает необходимость, определить функционал таким образом, чтобы он мог использовать данные любых типов. Вот простой пример который поможет вам понять что такое Generics:
    void main (){
        Person bob = Person("324", "Bob");
        print(bob.id.runtimeType);  // String
        Person sam = Person(123, "Sam");
        print(sam.id.runtimeType);  // int
    }
     
    // T это Generic, если его не было, 
    //нам пришлось-бы использовать несколько классов для определения идентификатора пользователя, 
    //но в данном случае он Generic и мы можем передавать в него любой тип данных.
    class Person<T>{
        T id;   // идентификатор пользователя
        String name; // имя пользователя
        Person(this.id, this.name);
    }
    Ответ написан
    Комментировать
  • Как разместить PWA в Google Play и App Store?

    coolswood
    @coolswood
    https://coolswood.github.io
    Уже можно. Google открыла возможность публикации PWA и даже есть сервисы-конвертеры https://appmaker.xyz/pwa-to-apk/
    С App Store пока все печальнее, хотя способы есть, но не для массового пользователя
    Ответ написан
    Комментировать
  • Как получить индекс элемента с двумя классами?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const elems = [...document.querySelectorAll('.class1')];
    const index = elems.findIndex(n => n.classList.contains('class2'));

    или

    const elems = document.querySelectorAll('.class1');
    let index = elems.length;
    while (--index >= 0 && !elems[index].matches('.class2')) ;

    или

    const index = Array.prototype.indexOf.call(
      document.querySelectorAll('.class1'),
      document.querySelector('.class2')
    );
    Ответ написан
    3 комментария
  • Как добавить новый input при заполнении предыдущего?

    zendor
    @zendor
    Ответ написан
    Комментировать
  • Как зашить в приложение карту?

    @pfg21
    ex-турист
    https://wiki.openstreetmap.org/wiki/Mapsforge
    офлайн векторные карты
    Ответ написан
    Комментировать
  • Как зашить в приложение карту?

    RomReed
    @RomReed
    JavaScript, Flutter, ReactNative, Redux, Firebase
    Вот тут большая тема с обсуждением вашего вопроса.
    https://github.com/react-native-community/react-na...
    Ответ написан
    Комментировать
  • Где можно закрепить тонкости языка JavaScript?

    @dimitrion
    Вот здесь можно
    Ответ написан
    Комментировать