Задать вопрос
  • Как выявить ошибку если приложение не падает?

    zagayevskiy
    @zagayevskiy Куратор тега Android
    Android developer at Yandex
    Кажется, что у тебя есть фрагмент, у которого нет конструктора без параметров. Происходит это при восстановлении состояния приложения, когда все фрагменты должны быть созданы заново, фрагмент менеджер делает это через рефлексию и не может найти этот конструктор.
    Ответ написан
    2 комментария
  • Что делать, если после обжима кабеля перестал работать интернет?

    @lossyy
    Как Вам верно сказали, вероятно при обрезе тонких жил обжимкой Вы замкнули все контакты на лезвии и на том конце роутера выбило порт, надо смотреть или обращаться к провайдеру. В будущем чтобы точно быть уверенным что сделали как надо - надо фотографировать до того, как что то собрались улучшать (я про порядок жил, он может быть порой не такой как хочется, люди разные обслуживают, не везде делают одинаково)
    Ответ написан
    1 комментарий
  • Безопасно ли хранить конфиденциальные данные в переменных окружения?

    @kandrash
    Кратко о себе
    Ведь получить переменные окружения процесса достаточно легко

    Разве? Подкините мне переменных с тостера? Давно хочу в БД у них флаг is_super_super_admin. себе поставить.

    На самом деле если злоумышленник уже зашёл на ваш сервер - нет никакой разницы где вы храните свои тайны. У него полный доступ к любым переменным.
    Ответ написан
    1 комментарий
  • Стоит ли ещё учить Джанго?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Открываешь hh.ru, ищешь вакансии по Python, смотришь какой фреймворк требуется для большинства из них, делаешь вывод, пишешь авторам ответов трёхгодичной давности, что они дурачьё.
    Ответ написан
    Комментировать
  • Какие есть замены книги...?

    @dmshar
    Такие книги не читают. Такие книги изучают. Это разные вещи. Тем более, если азы вы уже "читали". Изучать - это может быть сидеть над страницей несколько часов, пытаясь понять, что там написано, а может быть пролистывая по 60 страниц в час. Главное - не запомнить что там написано, а понять суть и дух языка.
    Ответ написан
    1 комментарий
  • Когда появится реклама google ads?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Тем не менее когда я ищу в поисковике ремонт бытовой технике или ремонт бытовой техники в Ташкенте моя реклама не появляется!!

    1) Потому что система не считает ваши запросы релевантными, мол учитывая что вы часто проверяете, но при этом не переходите по ссылкам, или переходите и сразу выходите, не делает вас потенциальным клиентом, а наоборот - вам скорее не будет показываться реклама из этой категории.

    2) Показ может быть ограничен дневным бюджетом - это можно узнать включив столбец Процент потерянных показов в поисковой сети(бюджет). Если будет высокий процент, то значит надо увеличить дневной бюджет, так как при текущем вы показываетесь только при максимально релевантных запросах

    3) Возможно у вас слишком низкая ставка - это можно узнать включив столбец Средняя позиция показа и Средняя позиция клика, либо сравнив с свою ставку с рекомендуемой ставкой Ads в разделе ключевых слов.

    4) Может повлиять и качество объявления - если низкое, то оно будет выигрывать меньше аукционов и соответственно получать малый процент показов и уж точно не на первой странице.

    Также возможно вы поставили расписание показов, или у вас указан другой часовой пояс в аккаунте Ads.
    Ответ написан
    Комментировать
  • Почему не работает index в mysql?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что WHERE не сортирует результат, а только фильтрует по условию.
    Ответ написан
    Комментировать
  • Как создать такой элемент в wpf?

    habcerga1
    @habcerga1
    Тут маленький мануал который описан очень сжато и читать его нужно просматривая сам проект. Ссылка на него.

    Для того чтобы сделать свой customcontrol нужно две вещи:
    1. View представление самого элемента.
    2. Класс который будем контекстом данных для этого View представления.

    Наше приложение будет базироваться на шаблоне MVVM, если незнаком с этим читаем тут. Так же необходимо понимать что такое binding в WPF,если незнаем читаем тут и тут. Если кратко то связывание, это такая штука
    которая позволяет обновлять состояние UI элемента при изменении его свойств в контексте данных, если этого не сделать то тогда обновлять состояние в UI нужно будет через Dispacher а это будет фризить
    наш UI и так делать не нада. Поэтому добавим в наш проект Папку Services и туда добавим классы ObservableObject и RelayCommand (Код все[ классов находиться в репозитории). В ObservableObject будет описан механизм связывания свойств и мы будет просто наследоваться от этого класса, вызывая метод OnPropertyChanged в set параметре свойств.

    Связывание наших свойств разделим на два этапа, сначала сделаем события обновления данных в самой модели кнопки а затем укажем к какому контексту данных привязаться и с какими свойствами связать в XAML (сама наша кнопка).

    Сначала опишем интерфейс кнопки типом IButtonStyle и создадим абстрактный класс AButton который наследует ObservableObject,IButtonStyle. В классе AButton добавим поля отражающие свойства в IButtonStyle.

    private string _content;
            public string content
            {
                get => _content;
                set { OnPropertyChanged(ref _content, value); }
            }


    Тут реализовано свойство наследованное из интерфейса IButtonStyle (content) которое возвр. поле _content и устанавливает значение с помощью метода OnPropertyChanged(ref _content, value), и тоже самое проделаем со всеми остальными свойствами которые мы наследуем. Потом мы свяжем эти свойства со свойствами нашего UserControl в XAML.

    <Label Content="{Binding content}" Foreground="{Binding fontColor}" FontSize="{Binding fontSize}"/>


    Теперь нам нужно сделать так чтобы при наведении курсора на наш элемент он изменял цвет. Для этого нам нужно создать свойства зависимости типа RelayCommand для нашей кнопки

    private RelayCommand _mouseEnterCommand;
            /// <summary>
            /// Команда входа мышки в поле контролера
            /// </summary>
            public RelayCommand MouseEnterCommand
            {
                get { return _mouseEnterCommand; }
                set
                {
                    OnPropertyChanged(ref _mouseEnterCommand, value);
                }
            }
    
            private RelayCommand _mouseLeaveCommand;
            /// <summary>
            /// Команда покидания мышки поля контролера
            /// </summary>
            public RelayCommand MouseLeaveCommand
            {
                get { return _mouseLeaveCommand; }
            }
    
            private RelayCommand _mouseDownCommand;
            /// <summary>
            /// Команда щелчка мышки
            /// </summary>
            public RelayCommand MouseDownCommand
            {
                get { return _mouseDownCommand; }
            }


    И сделаем пару событий и методов для непосредственной установки значений (цвет или размер шрифта)

    event Action _mouseEnter;
            event Action _mouseLeave;
    
            void MouseEnterEventMethod()
            {
                fontColor = fontColorMouseEnter;
            }
             void MouseLeaveEventMethod()
            {
                fontColor = fontColorNormal;
            }
    
            private void MouseEnter()
            {
                this._mouseEnter.Invoke();
            }
    
            private void MouseLeave()
            {
                this._mouseLeave.Invoke();
            }
    
            public void MouseEnter(object param)
            {
                MouseEnter();
            }
    
            public void MouseLeave(object param)
            {
                MouseLeave();
            }


    И подпишемся на это в конструкторе класса

    public AButton(string _content)
            {
                content = _content;
                _mouseEnter += this.MouseEnterEventMethod;
                _mouseLeave += this.MouseLeaveEventMethod;
    
                this._mouseEnterCommand = new RelayCommand(MouseEnter);
                this._mouseLeaveCommand = new RelayCommand(MouseLeave);
            }


    И так у нас теперь есть свойства content, fontColor, fontColorNormal, fontColorMouseEnter и комманды MouseEnterCommand, MouseLeaveCommand, MouseDownCommand готовые для сзязывания.

    Ну и сделаем пару классов наших кнопок
    class ButtonStyleA : AButton
        {
           public ButtonStyleA(string _content) : base()
            {
                content = _content;
                base.fontColor = "#FF5733";
                base.fontColorNormal = "#FF5733";
                base.fontColorMouseEnter = "#61FF33";
                fontSize = 16;
            }
        }
    
    class ButtonStyleB : AButton
        {
            public ButtonStyleB(string _content) : base()
            {
                content = _content;
                fontColor = "#33B5FF";
                fontColorNormal = "#33B5FF";
                fontColorMouseEnter = "#E933FF";
                fontSize = 12;
            }
        }


    Теперь нам нужно создать контекст данных для нашего элемента, поэтому в папке ViewModels Создадим класс

    public class MenuButtonViewModel
        {
            public AButton MenuButton { get; set; }
    
            public MenuButtonViewModel(AButton menuButton)
            {
                MenuButton = menuButton;
            }
        }


    Очень часто все связывания и Комманды реализовывают иммено в классе контекста данных (MenuButtonViewModel).

    Создадим наш UserControl в папке Views назовем его MyButton и добавим ссылку на класс MouseBehaviour.

    xmlns:u="clr-namespace:WpfMvvmDemo.Services"

    Теперь свяжем события MouseMoveCommand, MouseLeaveCommand, MouseDownCommand с нашими свойствами типа RelayCommand.

    <Grid u:MouseBehaviour.MouseMoveCommand="{Binding MenuButton.MouseEnterCommand}" u:MouseBehaviour.MouseLeaveCommand="{Binding MenuButton.MouseLeaveCommand}" u:MouseBehaviour.MouseDownCommand="{Binding MenuButton.MouseDownCommand}">


    И также свяжем свойсва Label со свойствами AButton

    <Label Content="{Binding MenuButton.content}" Foreground="{Binding MenuButton.fontColor}" FontSize="{Binding MenuButton.fontSize}"/>


    Теперь нам нужен контекст данных для главного окна нашего приложения. Назовем его RootViewModel и создадим в нем две кнопки разных типов ButtonStyleA и ButtonStyleВ.

    public class RootViewModel : ObservableObject
        {
            public MenuButtonViewModel MainPageButton { get; set; }
            public MenuButtonViewModel SecondPageButton { get; set; }
    
            public RootViewModel()
            {
                MainPageButton = new MenuButtonViewModel(new ButtonStyleA("Главная"));
                SecondPageButton = new MenuButtonViewModel(new ButtonStyleB("Вторая"));
            }
    
            private void ChangeToMainPage()
            {
    
            }
    
    
            private void ChangeToSecondPage()
            {
    
            }
        }


    В Классе MainWindow создадим экземпляр типа RootViewModel и сделаем его контекстом данных для MainWindow

    private RootViewModel RootVM;
            public MainWindow()
            {
                InitializeComponent();
                RootVM = new RootViewModel();
                this.DataContext = RootVM;
            }


    В XAML представлении нашего главного окна MainWindow добавим ссылку на наш CustomController xmlns:bn="clr-namespace:WpfMvvmDemo.Views"
    и теперь пересоберем проект а то ide может не увидеть наши кнопки, и потом добавим сообственно сами кнопки и установим для них контекст данных (это те свойства типа MenuButtonViewModel которые мы создали в RootViewModel)
    <Grid >
            <StackPanel Orientation="Vertical">
                <bn:MyButton DataContext="{Binding MainPageButton}" />
                <bn:MyButton DataContext="{Binding SecondPageButton}"/>
            </StackPanel>
        </Grid>


    Ну вот собственно и все, можно запускать и радоваться. За г0внокод просьба не ругать.
    Ответ написан
    4 комментария
  • Парсер букмекерской конторы live + отправка в телеграмм?

    daemonhk
    @daemonhk
    ПсиХоПат
    А зачем? Вы же все равно от балды инфу даете, проиграет-выиграет, какая разница? Бабки вcе равно к каперам уйдут. Сделайте кнопку "рандом".
    Ответ написан
    Комментировать
  • Ошибка «Системе не удается найти указанный путь». C++ Как пофиксить?

    myjcom
    @myjcom Куратор тега C++
    Как пофиксить это?
    5fac6c754c847323947673.png


    https://en.cppreference.com/w/cpp/header/cmath
    #include<cmath>
    Ответ написан
    Комментировать
  • Возможно ли сделать привязку DynDNS домена к android-смартфону через клиентское приложение?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    1) без рута не поднять на 80 порту.
    Так, что даже в своей локалке будете ходить по урлам с :8080 после доменного имени

    2) не знаю опсосов, которые давали бы серый ip . У всех через sock прокси.
    Так что динднс не имеет смысла.
    Ответ написан
    5 комментариев
  • Как детектить собаку на кровати?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вес!

    1. собаки
    2. кровати
    3. ребенка

    Под ножки тензо датчик.
    1+2 - тревога
    1+2+3 - тревога
    Ответ написан
    20 комментариев
  • Не подключается к БД через PDO?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ничего "более развернутого" не нужно, все и так открытым текстом написано: указаны неверные параметры подключения.

    И нет, не надо мне доказывать, что все верно. Доказыавть надо своей базе данных. Если бы было всё верно, соединилось бы без проблем. Л - логика.

    Пользователь бд идентифицируется тремя пунктами - имя, пароль и хост, с которого соединяется.
    Вот и надо смотреть, есть ли пользователь user@localhost с таким паролем
    И дальше надо смотреть какие права у этого пользователя на указанную при коннекте бд
    Ответ написан
    Комментировать
  • Найти среднее арифметическое массива и все числа которые меньше его умножить на 2?

    scottparker
    @scottparker
    сделать ещё один проход по массиву, сравнивая элементы с найденным сред. арифметическим и умножая на два, в случае выполнения условия
    Ответ написан
    Комментировать
  • Какое железо нужно для ПК сервера?

    Zoominger
    @Zoominger Куратор тега Компьютеры
    System Integrator
    Во-первых, вам нужно несколько серверов, потому что все яйца в одну корзину класть нельзя.
    Остальное не имеет смысла.
    Ответ написан
    Комментировать
  • Самый дешевый легальный способ получить Oracle Support Identifier?

    @ComodoHacker
    Зависит от того, что вам там нужно. Вы же не думаете, что там у всех полный доступ ко всему?

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

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Здесь 2 ошибки:
    1) В sql запросах не нужно использовать форматирование строк;
    2) В строке:
    if cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0] != None:
    fetchone() вернул вам None, и вы далее обращаетесь к "первому" элементу None.

    Я в дискорде не шарю, попробуйте такой пример:
    user_id = 1 # id пользователя
    result = cursor.execute("SELECT cash FROM users WHERE id = ?",(user_id,)).fetchone()
    if result != None:
    	print('User found!')
    else:
    	print('Error! User not found!')
    Ответ написан
    4 комментария
  • На каком языке делать парсер?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    На том который знаешь
    Ответ написан
    3 комментария