• Почему VS Code debugger не работает с 127.0.0.1 (localhost) ip в Docker?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    У контейнера внутри свой loopback интерфейс изолированный от хостовой системы. Подключатья к нему бессмысленно.

    Docker Containers and localhost: Cannot Assign Req...

    Или пробрось порт или обращайся по IP контейнера (это возможно в нативной среде Linux, под Windows не получится).
    Ответ написан
    Комментировать
  • Как исправить эту ошибку типизации?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Это решение не нарушает типизацию, а наоборот - вы точно знаете что в этом случае в T будет именно number и поэтому `return this._numberStep(value)` полностью валидно. А вот компилятор не знает, и вы ему таким образом даете подсказку.
    Конечно лучше если он сам смог вы сузить T до number в этом случае, но тут придется немного помочь.

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

    Пишите as и спите спокойно.
    Ответ написан
    1 комментарий
  • Как выбрать ORM?

    @AndrewRusinas
    Если новичок, и на ноде, то рекомендую попробовать SailsJS, в состав которого входит Waterline ORM, которая поддерживает все популярные БД. Сможете изучить одну ORM и работать с любой БД, пробовать, тестировать по скорости и т.д. )
    Ответ написан
    1 комментарий
  • Как выбрать ORM?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    https://medium.freecodecamp.org/a-comparison-of-th...

    как правило, ОРМ не бывает больше 3-5,
    знакомиться нужно со всеми, выбирать - в каждом случае под конкретную задачу
    Ответ написан
    Комментировать
  • Почему не работает реактивность?

    nikichv
    @nikichv
    Frontend dev. Current stack: Next.js/RTK/Saga
    methods: {
      toggle() {
        this.isActive = !this.isActive;
      }
    }

    Поменяйте стрелочную функцию toggle: () => { на метод toggle() { и тогда все заработает.

    P.S. Откуда вы все вообще решили, что в методах компонента нужно писать стрелочные функции? :)
    Просто вы не первый с такой проблемой. Ощущение, будто все насмотрелись уроков по ES6 и стали бездумно писать стрелочные функции там, где они вовсе не нужны.
    Ответ написан
    Комментировать
  • Почему программа зацикливается если ввести большое число?

    15432
    @15432
    Системный программист ^_^
    В коде отсутствует обработка некорректного ввода. Он точно так же зациклится, если вы введёте букву. Необходимо добавить очистку stdin в случае невозможности распарсить вход как int
    Ответ написан
    1 комментарий
  • Зачем нужен redux в сборке с React?

    @Aves
    Redux — это просто хранилище, обеспечивающее однонаправленный поток данных. Вот и храните в нём три массива: авторы, книги и жанры.
    Ответ написан
    4 комментария
  • Как получить данные из выбранной ячейки DataGrid?

    попробуйте datagrid.currentcell

    //в лоб , грязно, проверки на null опущены
    var cell = this.list.CurrentCell;
    var binding = (Binding)((DataGridBoundColumn) cell.Column).Binding;
    var name = binding.Path.Path;
    var value = cell.Item.GetType().GetProperty(name).GetValue(cell.Item);
    Ответ написан
    7 комментариев
  • Как проще всего дополнить массив значениями из другого массива?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    array_merge() или так:
    foreach (['foo', 'bar'] as $field) {
      $fame[$field] = $timm[$field];
    }

    Когда ключей не очень много, я предпочитаю второй вариант - он нагляднее и более устойчив к появлению багов.
    Ответ написан
    3 комментария
  • Как подключиться к бд MySQL в приложении Windows Forms (C#)?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    www.codeproject.com/Tips/810596/Csharp-Cplusplus-C...
    www.codeproject.com/Tips/1021641/Csharp-Java-Using...

    Но если на сервере вообще не разрешен внешний доступ к MySQL, то подключиться не выйдет. Бывает такое, что запрещены конкретные запросы, скажем на изменение.
    Тогда либо менять настройки на сервере (если хостинг -то может не быть такой возможности вообще), либо делать REST API.
    Ответ написан
    2 комментария
  • Что именно значит ошибка?

    Android позволяет работать с Ui только в основном потоке.Проблему можно решить классом Handler.
    Ответ написан
    Комментировать
  • Что именно значит ошибка?

    petermzg
    @petermzg
    Самый лучший программист
    Это значит, что состояние view вы можете обновлять только из потока в котором view создан. Как правило - основного.
    Передайте параметры в основной поток и из него обновите view
    Ответ написан
    Комментировать
  • Почему переменная сессии удаляется?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    The read callback will retrieve any existing session data (stored in a special serialized format) and will be unserialized and used to automatically populate the $_SESSION superglobal when the read callback returns the saved session data back to PHP session handling.
    php.net/manual/en/function.session-start.php

    Другими словами, вы пытаетесь использовать данные сессии до того, как её инициализируете.
    Ответ написан
    Комментировать
  • Насколько код ООП и что бы вы посоветовали по его улучшению?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    <?php
    // PSR-1, PSR-2, PSR-4 Читаем и пользуем!
    // namespace все дела... "Model_admin" - это прошлое.
    // phpDocumentor - твой друг, прописывай всюду типы данных
    class Model_admin extends Model
    {
    // Лишний перевод строки
        private $name;
        private $password;
        private $code;
        private $mail;
    // Не информативное название. get model admin... что бы это значило...
        public function get($login, $password) {
    // Где проверка аргумантов? Влететь может что угодно
            $this->name = $login;
            $this->password = $password;
    // Модель НЕ должна управлять подключением к БД, это должно выполняться выше в коде
            $this->db_connect();
    // Код вообще проверялся?)) у вас закрывающей строки нет.
            $result = msql_query("SELECT 'login', 'password', 'mail' FROM 'admin_authorization'";
    // сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
            $arr = mysql_fetch_array($result);
    // Зачем нужен цикл, это дро*ба БД!!! Вытягиваете одну запись по логину и проверяете соответствует ли пароль
            do {
    // Лишний перевод строки
                if ($login === $arr['login']) {
    // Лишний перевод строки
                    if (
                        md5( md5( trim( $password ))) === $arr['password']
                    ) {
                        $this->mail = $arr['mail'];
                        $this->random_code();
    // Перед return лучше делать перевод строки
                        return true;
                    }
    // Лишний перевод строки
                }
    // сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
    // Присваивание в условиях управляющих кнострукций лучше не делать, это операции разного характера
            } while ($arr = mysql_fetch_array($res));
    
            return false;
    // Лишний перевод строки
        }
    
        private function random_code($length = 15) {
    // Где проверка аргумантов? Влететь может что угодно
            $symbols = '0123456789abcdefghijklmnopqrstuvwxyz_-~!+*%$#&';
    
            for ($i = 0; $i < (int)$length; $i++)
            {
                $num = rand (1, strlen ($symbols));
                $this->code .= substr ($symbols, $num, 1);
            }
    // сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
            $bool_update = mysql_query('UPDATE "admin_authorization" SET code="'.$this->code.'" WHERE login="'.$this->name.'"');
    // Вот так писать плохо, всегда используйте фигурные скобки.
            if ($bool_update) $this->send_code();
    // Лишний перевод строки
        }
    
        private function send_code() {
    // Модель НЕ должна отправлять письма, под отправку обычно пишется отдельная подсистема/сервис
            mail ($this->mail, "Admin code", $this->code);
        }
    
        public function check_code($user_code) {
    // Где проверка аргумантов? Влететь может что угодно
    // SQL инъекция!!!!
    // сие уже deprecated, забудьте про mysql_*** функции, используйте PDO
            $this->code = mysql_query("SELECT 'code' FROM admin_authorization WHERE code='".$user_code."'");
    // Вот так писать плохо, всегда используйте фигурные скобки.
            if ($this->code != '') return true;
        }
    // Лишний перевод строки
    }
    Ответ написан
    13 комментариев
  • Насколько код ООП и что бы вы посоветовали по его улучшению?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    забейте на время на MVC, почитайте про SOLID.

    1) mysql_* функции депрекейтед, используйте pdo (mysqli слишком низкоуровневая штука)
    2) делать 2 раза md5 не имеет никакого смысла. Сейчас можно генерить миллиарды хэшей в секунду на видеокартах так что подбор коллизии к хэшу займет не сильно много времени и большая часть паролей будет подобрана за первые пару часов. Используйте password_hash и password_verify. Для PHP < 5.5 есть флэбэк написанный на PHP.
    3) вы нарушили принцип единой ответственности, это к вопросу о том насколько ваш код ООП. Ну и принцип инверсии зависимостей туда же....
    Ответ написан
    5 комментариев
  • Насколько код ООП и что бы вы посоветовали по его улучшению?

    @dk-web
    Привет, коллега! Сейчас тебе посыпется, надеюсь... Мой совет - не бойся и прислушайся... я сначала не воспринимал все эти новшества, понадобилось время.
    Но на правах первого ответа... если уж ООП стал постигать - сразу внедряй PDO и подготовленные запросы...
    - уходи с mysql_query,,,
    mysql_query("SELECT 'code' FROM admin_authorization WHERE code='".$user_code."'");
    вот за это точно по голове "получишь")...
    Ответ написан
  • Как в редакторе Unity задать вертикальную ориентацию экрана?

    @Espleth
    Ee52DFl.png
    На вкладке Game
    Если нужно, чтобы Scene тоже была вертикально, то просто подвигайте края
    Ответ написан
    Комментировать
  • Можете дать пару советов по C#?

    @Espleth
    Ваша главная ошибка в том вопросе была в том, что вы просто скинули нам код, мол сами разбирайтесь что у меня там не работает. Так не хорошо.
    А говнокод - это все временно. С приходом опыта код становится лучше.
    1) Рихтер CLR via C# (хотя эта книга не для начинающих, и стоит отложить ее на потом)
    Макконнелл Code Complete.
    Еще что-нибудь по алгоритмам.
    Ну и что-нибудь по C# типа Шилдта или Троелсена (я бы выбрал 2 вариант)
    2) Код программы должен быть максимально читаемым и модульным, чтобы куски кода можно было переиспользовать в дальнейшем. Еще погуглите паттерны проектирования.
    3) Избегайте конструкций, которые приводят к копипасте кода. Это главное. И второе - избегайте конструкций, из-за которых код становится менее читабельным. Например можно с помощью LINQ и лямбда-выражений написать кучу кода в несколько строчек (я так один раз по фану быструю сортировку в одну строчку написал, включая объявление метода). Так вот, так делать плохо, потому что сильно ухудшается читаемость кода. Лучше расписать это все подробнее. Будет больше строчек, но зато понятно, что написано.
    4) А вот тут не знаю. У всех свои ошибки
    Ответ написан
    1 комментарий
  • Почему не работают события?

    @Espleth
    Ой ужас, объедините кнопки в массив и избавьтесь от дублирования кода
    Как заставить кнопки реагировать на события я вам точно сейчас не скажу, но скажу как посмотреть:
    Добавьте на форму простую кнопку. Сделайте даблклик по ней. Создастся в коде метод для события, куда вас сразу же перекинет. Нас это не интересует, нас интересует то, что создалось в автоматически сгенерированном коде (там отдельный файл, находящийся в форме). Там для вашей кнопки будет что-то типа this.button1.onClick += button1_Click; вот это именно то, что вам и нужно.
    Вообще вы так можете смотреть в этот автоматически-сгенерированный код как в шпаргалку для того, чтобы узнавать, как реализовывать такие вещи.
    Ответ написан
    4 комментария
  • Как скриптом перейти в начало страницы?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Муторный способ

    if (document.documentElement.scrollTop) {
    	document.documentElement.scrollTop = 0;
    } else if (document.body.scrollTop) {
    	document.body.scrollTop = 0;
    }


    Простой способ

    document.documentElement.scrollIntoView(true);
    Ответ написан
    Комментировать