• Как парсить g2a?

    @DontQuantum Автор вопроса
    Я попробовал указать в запросе User-Agent и Referer, но результат тот же
  • Unity популярнее ue4?

    @DontQuantum Автор вопроса
    А чем выражен это более высокий порог входа?
  • Unity популярнее ue4?

    @DontQuantum Автор вопроса
    Василий Банников, судя по плей маркет, сложные игры встречаются крайне редко. Ну да ладно.
  • Unity популярнее ue4?

    @DontQuantum Автор вопроса
    про xyz это просто пример.
    У меня есть небольшой опыт использования UE4, я не скажу что он прям сложен, блюпринты классная вещь, не все вещи конечно можно решить с их помощью, хотя говорят блюпринты лучше болта.
  • Как развернуть django на одном сервере и домене с gitlab?

    @DontQuantum Автор вопроса
    Беда еще в том что я не могу найти настройки nginx которые используются для gitlab, я так понял что у него установлен свой nginx, я нашел упоминание его в конфигах gitlab, но строчка закомментирован # web_server['home'] = '/var/opt/gitlab/nginx' я перешел по этому пути но не смог найти не каких site-available
  • Kак сделать 2d collider в виде пончика?

    @DontQuantum
    Polygon Collider 2D
    5f79e1c777a12378522656.png
    Не пончик конечно, но тоже с круглым отверстием в центре
  • Как подружить django и flutter web?

    @DontQuantum Автор вопроса
    Neonoviiwolf, упрекаете меня в неспособности сформулировать вопрос и при этом не удосужились прочесть тот самый вопрос)))) Так как если бы прочитали увидели бы WEB
  • Как подружить django и flutter web?

    @DontQuantum Автор вопроса
    Neonoviiwolf, короче говоря, отдавая мой flutter проект django-й, у меня не отображаются иконки, в network инспекторе у меня не погружается лишь один файл fontManifest.json, так как неправильно указан путь к директории этого файла url.size/assets/FontManifest.json а нужно что-то вроде url.size/static/assets/FontManifest.json
  • Как подружить django и flutter web?

    @DontQuantum Автор вопроса
    Neonoviiwolf, на пример узнал я что приложение собрано как web, но определить путь до cupertino_icons что бы джанго смог их отдавать
  • Как подружить django и flutter web?

    @DontQuantum Автор вопроса
    Neonoviiwolf, не понял, как это отвечает на мой вопрос
  • Как подружить django и flutter web?

    @DontQuantum Автор вопроса
    Или может есть варианты чем еще отдавать фронт ?
  • Flutter как обновить navbar?

    @DontQuantum Автор вопроса
    Я нашел решение.

    StatefulWidget форма авторизации
    import 'package:flutter/material.dart';
    
    import 'package:umessage/contstrains/app_colors.dart';
    import 'package:umessage/http_api_client.dart';
    import 'package:umessage/locator.dart';
    
    import 'package:umessage/widgets/navbar/navbar_tablet_desktop.dart';
    
    class AuthView extends StatefulWidget {
      AuthView({Key key}) : super(key: key);
    
      @override
      _AuthViewState createState() => _AuthViewState();
    }
    
    class _AuthViewState extends State<AuthView> {
      TextEditingController _emailController = TextEditingController();
      TextEditingController _passwordController = TextEditingController();
      bool rememberMe = false;
      ApiClient apiClient = ApiClient.getInstance();
    
      @override
      Widget build(BuildContext context) {
        return Center(
            child: Padding(
          padding: EdgeInsets.only(top: 150, left: 60, right: 60),
          child: Column(
            children: <Widget>[
              Text(
                'Авторизация',
                style: TextStyle(
                    fontWeight: FontWeight.w600, fontSize: 28, color: textColor),
              ),
              SizedBox(
                height: 40,
              ),
              _input(Icon(Icons.mail), 'Email', _emailController, false, 15),
              SizedBox(
                height: 15,
              ),
              _input(Icon(Icons.lock), 'Password', _passwordController, true, 15),
              SizedBox(
                height: 5,
              ),
              Container(
                  padding: EdgeInsets.only(left: 20, right: 20),
                  width: 460,
                  child: Theme(
                      data: ThemeData(
                          splashColor: Colors.transparent,
                          highlightColor: Colors.transparent,
                          hoverColor: Colors.transparent),
                      child: CheckboxListTile(
                        title: Text(
                          'Запомнить меня',
                          style: TextStyle(color: textColor),
                        ),
                        value: rememberMe,
                        onChanged: (bool value) {
                          setState(() {
                            rememberMe = value;
                          });
                        },
                      ))),
              SizedBox(
                height: 5,
              ),
              _button('Войти', auth, 15),
              SizedBox(
                height: 15,
              ),
              Container(
                width: 460,
                child: Align(
                    alignment: Alignment.bottomCenter,
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: [
                        Text(
                          'Пройдите ',
                          style: TextStyle(color: Colors.white, fontSize: 12),
                        ),
                        Text(
                          'регистрацию, ',
                          style: TextStyle(color: linkColor, fontSize: 12),
                        ),
                        Text(
                          'если вы этого еще не сделали',
                          style: TextStyle(color: Colors.white, fontSize: 12),
                        ),
                      ],
                    )),
              ),
            ],
          ),
        ));
      }
    
      Widget _input(Icon icon, String hint, TextEditingController controller,
          bool obscure, double borderRadius) {
        return Container(
          width: 460,
          height: 50,
          padding: EdgeInsets.only(left: 20, right: 20),
          child: TextField(
            controller: controller,
            obscureText: obscure,
            style: TextStyle(fontSize: 16, color: Colors.white),
            decoration: InputDecoration(
                border: OutlineInputBorder(),
                isDense: true, // Added this
                contentPadding: EdgeInsets.all(8), //
    
                hintStyle: TextStyle(
                    fontWeight: FontWeight.bold, fontSize: 16, color: Colors.white),
                hintText: hint,
                focusedBorder: OutlineInputBorder(
                    borderRadius: BorderRadius.circular(borderRadius),
                    borderSide: BorderSide(color: Colors.white, width: 2)),
                enabledBorder: OutlineInputBorder(
                    borderRadius: BorderRadius.circular(borderRadius),
                    borderSide: BorderSide(color: Colors.white54, width: 1)),
                prefixIcon: Padding(
                  padding: EdgeInsets.only(left: 10, right: 10),
                  child: IconTheme(
                    data: IconThemeData(color: Colors.white),
                    child: icon,
                  ),
                )),
          ),
        );
      }
    
      Widget _button(String label, void func(), double borderRadius) {
        return Container(
            width: 460,
            padding: EdgeInsets.only(left: 20, right: 20),
            child: RaisedButton(
              onPressed: () {
                apiClient
                    .authorization(_emailController.text, _passwordController.text)
                    .then((value) {
                  func();
                });
              },
              highlightColor: Theme.of(context).primaryColor,
              color: buttonPrimaryColor,
              child: Text('Войти',
                  style: TextStyle(
                      fontWeight: FontWeight.bold,
                      color: textButtonColor,
                      fontSize: 16)),
              shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(borderRadius)),
            ));
      }
    
      void auth() {
        var state = navBar<NavBarDesktop>().navBarSate;
        setState(() {
          state.update();
        });
      }
    }
    
    class AuthorizationView extends StatelessWidget {
      const AuthorizationView({Key key}) : super(key: key);
    
      @override
      Widget build(BuildContext context) {}
    }


    StatefulWidget NavBarDesktop
    import 'package:flutter/material.dart';
    
    import 'package:umessage/http_api_client.dart';
    import 'package:umessage/routing/route_names.dart';
    
    import 'navbar_item.dart';
    import 'navbar_logo.dart';
    
    class NavBarDesktop extends StatefulWidget {
      GlobalKey<_NavBarDesktopState> navBarDesktop =
          GlobalKey<_NavBarDesktopState>();
    
      String login = 'None';
    
      _NavBarDesktopState navBarSate = new _NavBarDesktopState();
      NavBarDesktop({Key key}) : super(key: key);
    
      @override
      _NavBarDesktopState createState() => navBarSate;
    }
    
    class _NavBarDesktopState extends State<NavBarDesktop> {
      String username = '';
      String loginButtonTitle = 'Войти';
    
      @override
      void initState() {
        super.initState();
      }
    
      void update() {
        setState(() {
          if (ApiClient.username.length > 0) loginButtonTitle = ApiClient.username;
        });
      }
    
      @override
      Widget build(BuildContext context) {
        return Container(
          height: 60,
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              NavBarIcon(),
              SizedBox(width: 30),
              Row(
                mainAxisSize: MainAxisSize.min,
                children: <Widget>[
                  NavBarItem('Главная', HomeRoute),
                  SizedBox(width: 30),
                  NavBarItem('О нас', AboutRoute),
                  SizedBox(width: 30),
                  NavBarItem(loginButtonTitle, AuthRoute),
                  SizedBox(width: 30),
                  Text(widget.login),
                ],
              )
            ],
          ),
        );
      }
    }


    GetIt navBar = GetIt.instance;
    navBar.registerLazySingleton(() => NavBarDesktop());


    В итоге мой navbar изменяется сразу после получения данных
  • Почему gfn просит 5ггц?

    @DontQuantum Автор вопроса
    АртемЪ, Про так так называемый облачный гейминг.
  • Почему gfn просит 5ггц?

    @DontQuantum Автор вопроса
    Я не совсем правильно сформулировал вопрос, меня интересуют различия 5 ГГц и 2.4ггц, а там правда или нет поповоду скорости это не мое утверждение, я лишь утверждаю что в каждой статье об этом сказано.
    То что 5ггц сильнее поглащается стенами, это значит что меньше будет помех от других точек доступа?
  • Как посчитать количество комбинаций в диапазоне ip?

    @DontQuantum Автор вопроса
    Сдается мне, я совсем не догоняю. но если передать "5.24.0.0 - 5.27.255.255" говорит что там 262143
    Но должно быть: 255 * 255 * 3 = 197075 ?
  • Как разобрать udp пакет?

    @DontQuantum Автор вопроса
    Зашел udp stream, пытался сохранить как файл просматривая в разных форматах, но результата это не дало, всегда файл поврежден, может я просто не правильно делаю.
    Но вот что я увидел при отображении в YAML виде
    # Packet 1240
    peer1_4: !!binary |
      sNuUobz22eVZ+svI+RMp8ohoG2HhrG5d9nY6upE51GfgD00jpQWwZ9F6Fwn1GD/h2/hnb35C8QqY
      9AD2jLTV4kkSm1zuv1MxLktz1qvNdKG4Zyk6Jws7qhAYSnGJNkU2GsUP11bcmZCwlnX18xCWTcjr
      sbX4hIgaxgcXkTG9M/tdJUrMTcFoEZ1lJnKCSYCBKQYVPCRMk337CbZMKIXM7UxUHg0voFf9NgGo
      Fx0QWBG2AK/e9vS4sUkWAZ+h2+Y8FKEMbgnGlSY1f5z3ZFJtI0R7x+AF9xYJZ4dOhSUcIH1mEFgP
      JCJ6XYiep3HCRLhqNDmtnQOewmLaaqM59RtT1RDiNgRK1C4lfHi+kUP1IBSNxc2Qgv0dA8og/2JB
      gFWFfGkhlK6UtXUJp+Z+uzRgy9viNT7dpDutUIam5mAtMvzshePTyWiZrybMIP4RKWPtRT5uDL38
      ENSFopnABbg1GHim2O8i5BEsaihDShlpCCYkO/Zo1kRygZ1OBSNrfEq0+Jda1rA2q0QhlG3w+QLU
      zf6BqfBWE7eeg8vZnEgNQkROkS8wFRpeKbvU7xENnLGmszt3iBpyzUbMgtm7C2OFMi8PT2b4FD4f
      53Bo6mcSTS7f+5U4PkLPzHwNzqR1REqGjCs2y2aQwOgPxyidEDB5G9wPIFDD6BvFLCBJdPsk5LZW
      B4UYRvlrtMmj8YcvOuz6w4UL2cIty8f9dBpk6pJb6+RUekVeyi5grZBtMsQLvcdsIyEO2WWxzfYk
      ohY93gtU2sbqJb4Rc8LqqSz52LMM62oVUT/q27/a1K9Kcw9elHaOY+9cJ7zyHej6YSgPtvT1eHOO
      kbHQlK3TETX2gl2TVZGHWDRI3M0UZH7xeJIeikhVw6YZ/qYHNpa+IvD/dLCJBgC3X6V8Ph7Ermoq
      YgdHqwQvTvD6x5Aec1zjZcfk//dpx2UF8JTlQHeL6E83FoRv4UhpxVMAnXHvdg43QCZHekcVRZMv
      xVUG8pxVZLz4uyGm4Eluicx3OlmdwMqniz19QYq3GPSyjOb59IG2Tp3fjaB2wseZ8mDiNP9BzvYU
      u0qDhsp3RZl5X0yjXeDlEKd72h8CLA0vEsJWjeioDIxFF9s1VT0qIikjdYwvUNdrYos1CylK1LaA
      eMAq2EX1aLiNP84KpVku2NWF9sTN0FB1Im8VWhk1gOmWH9zicuKfGcorCUxSPkq6raxh1d5U1A1v
      H5bqyG5frEyxxIJzk5OPfGQ5p5uRayrkJGC8KNQ3BgtoB322g6tT83IfxiFZ09/pBGky38wwUZMu
      MduWeK1WmeLdSdKlwvxnvbLBfuFvudUsJyPBBdokin0LJd4D94KaHqSKc0eh7bCfE7FWBKGBRzX7
      pWVw7QMGtMAyvjcStqdEcIvYuoIJWg==


    Гуглил нашел информацию что yaml binary это шифр base64, прогнав через декодер в ASCII, снова получаю тарабарщину.