Задать вопрос
  • На чем в 2017м писать десктопное приложение под винду?

    Ni55aN
    @Ni55aN
    Под винду на старте будет проще .NET (например WPF). Естественно, Visual Studio в качестве IDE, и язык C#
    Ответ написан
    14 комментариев
  • Почему при вызове унаследованого метода он не видит значения переменных объявленные в текущем классе?

    arusef
    @arusef
    Novice .NET dev
    Потому что ключевое слово new при объявлении члена класса скрывает реализацию базового члена. Если хотите сделать член, доступный через ссылку на базовый класс - объявляйте его только в базовом классе. Если хотите переопределить реализацию виртуального метода - используйте ключевое слово override.
    И вообще, вам стоит подтянуть понимание ООП.
    Ответ написан
    4 комментария
  • Кто такие тестировщики игр и чем они занимаются, что нужно для того что бы научиться этому и какие знания?

    BFG1992
    @BFG1992
    iOS Game QA
    Я сам попал в Game QA чисто по везению - одна крупная международная компания по разработке мобильных игр открывала новое подразделение, и набирала большой штат тестеров. Из требований были лишь знание английского на уровне не ниже Upper Intermediate, аналитическое мышление, внимание к деталям, умение работать в команде, базовое знание iOS, базовое знание теории тестирования и любовь к мобильным играм. У меня ещё был небольшой опыт QA-фриланса (веб в основном) и опыт работы в команде на одном из конкурсов по созданию игры за три дня. Может, потому и взяли.

    Как работается.
    Есть билд игры, есть документация на игру, есть средства общения с твоей командой тестирования, и, наконец, есть багтрекер (туда заносятся все баги). Могут быть также различные документы, которые надо заполнять, и ещё могут быть инструменты для ковыряния уделённых данных игроков на сервере. В начале дня тебе дают задание протестировать конкретный участок игры, причём это может быть всё что угодно: от конкретного уровня, до совместимости на разных устройствах и аж до рекламы и соцсетей. Ты, взяв (или сев за) устройство, открываешь документацию, читаешь части, которые относятся к заданию, и, не забывая поглядывать в чат команды (и слушать, что говорят вокруг тебя), "играешь", проходя по пунктам, которые указаны в задании и/или документации, чётко проверяя всё и не забывая деталей. Если тебе показалось, что ты нашёл баг, ты сперва смотришь в багтрекер, не находил ли кто такой баг. Если нет, то консультируешься с коллегами, и если всё ок, то заводишь баг в багтрекере по чётко заданным правилам и формам, не забывая отметить в прочей документации по заданию номер заведённого бага.
    Кажется, что вроде бы всё просто, но вот задания бывают очень комплексными, непонятными и однообразными (а времени - очень мало), описания в документациях - расплывчатыми или отсутствующими вовсе, а коллеги подвержены человеческому фактору. В результате - "что мне делать, я не понял?", головная боль и волнение из-за того, что баг, который ты пропустил как слишком мелкий или не приоритетный по указанию вышестоящего QA, обнаружат пользователи... И да, если ты закончил задание раньше времени - тебе просто дадут новое, для тестеров всегда найдётся работа :P Ах, да, ещё game QA платят обычно меньше, чем остальным QA...

    Работать игровым тестировщиком ещё не перехотелось? Вот что, по моему, нужно для того, чтобы были шансы побольше:
    1. Знание английского. Хотя бы Intermediate (реальный), а лучше - Upper Intermediate. Нужно почти везде, говорю из своего опыта поиска работы на QA длиной в 7 месяцев. Где учить - не знаю, у меня он как-то сам собой выучился, благодаря игре в игры на языке оригинала и просмотра англоязычных фильмов с субтитрами.
    2. Теория тестирования. Нужно, чтобы хотя бы приблизительно представлять себе, как проходит процесс коммерческого тестирования. Прочитай Савина "Тестирование Дот Ком", например, эта книга даст тебе основы. Можно ещё найти бесплатные курсы (как делал я, например). А ещё можно порегаться на сайтах вроде BugFinders/uTest/testIO и попробовать свои силы там. Не то, чтобы тестирование всяких интернет-магазинов сильно помогало в накоплении опыта тестирования игр, но процесс слегка похож, да и немного долларов/евро/фунтов подзаработать изредка можно. Я начинал именно с этого.
    3. Компьютерная грамотность - без комментариев. И в iOS/Android тоже желательно бы разбираться, сейчас в большинстве вакансий если не веб, то мобилки.
    4. Игровой опыт - не настолько обязателен, как может показаться, но он поможет быстрее вникнуть в игру и позволит во многих случаях понять, где баг, даже ещё не сверяясь с документацией. И да, как написал Saboteur выше, тестировать, с большой вероятностью, придётся "унылые флешки", так что если не играл в мобильные/браузерные социальные казуалки с донатом - самое время ознакомиться.
    5. Навыки общения и красноречивость - бывает, необходимо кратко и в то же время ёмко описать то, что ты нашёл, и почему это баг, а также его значимость. В том числе и на английском, если придётся. Впрочем, в команде это быстро наверстается (если коллектив нормальный).
    6. Любить игры и ковыряние в них - обязательно, потому что иначе работа быстро осточертеет :P

    Как-то так. Надеюсь, хоть чем-то, да помог. Желаю удачи в поисках работы :) (Да, начинай искать уже сейчас!)
    Ответ написан
    Комментировать
  • Кто такие тестировщики игр и чем они занимаются, что нужно для того что бы научиться этому и какие знания?

    @huwesu
    Должен вас разочаровать.

    Низкоквалифицированные тестировщики занимаются нудятиной. Платят мало, требуют много. И это не игра в свое удовольствие. А многократная проверка игры во всех режимах, с написанием официального подробного отчета. Каждый уровень по 100 раз будете проходить.

    А высококвалифицированный тестировщик - это полноценный разработчик, со всеми соответствующими навыками. Который запросто может сегодня тестировать, а завтра заменить разработчика. И наоборот.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Тестировщик игр - это обычный тестировщик, который смог устроиться в компанию, которая разрабатывает игры.
    Учить нужно тоже, что и все остальные тестировщики, а именно:

    1. Уметь работать. Не играть, а работать. Если скажут вместо "играть" проверять тонны текста в текстовых диалогах на локализацию - значит проверять тонны текста, возможно даже не запуская игру вообще.

    2. Уметь организовать себя на продолжительную монотонную работу. Возможно один и тот же баг будет встречаться много раз, и все нужно перепроверять заново.

    3. Грамотно писать на русском и английском языке (МИНИМУМ intermediate), чтобы заполнять поля при открытии бага.

    4. Адекватные Computer Essentials знания. Не обязательно быть сисадмином, но чем отличается бит от boolean, как запустить .jar, что такое консоль - весьма полезно.

    5. Большинство тестировщиков должны знать SQL/xml/excel и парочку скриптовых языков хотя бы на базовом уровне.

    И да, тестировать будете скорее всего не интересные игры, а унылые флешки, потому что желающих тестировать что-то крутое за большие деньги - тысячи человек на место, плюс десятки тысяч бесплатных бетатестеров.
    Ответ написан
    Комментировать
  • Что есть в C++, чего нет в C#?

    15432
    @15432
    Системный программист ^_^
    На C/C++ можно написать системный драйвер или микропрограмму для железки.
    В C/C++ есть union
    В коде на C/C++ можно использовать ассемблерные вставки

    Как уже писали, из-за близости языка к ассемблеру и машинному коду, упрощается работа с структурами данных и указателями, отсутствуют проверки и прослойки, само исполнение кода производится быстрее. Не требуется наличие .NET Framework, можно создать программу, не требующую вообще никаких дополнительных библиотек и ПО.
    Ответ написан
  • Что есть в C++, чего нет в C#?

    @vanillathunder
    Множественное наследование.
    Ответ написан
    3 комментария
  • Как выпилить компоненты (doctrine, twig) из symfony?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    Отказаться от использования "symfony/symfony" и подключать конкретные компоненты, которые необходимы

    Рекомендую посмотреть в сторону Symfony Flex, он как раз создан для решения этой проблемы
    Ответ написан
    Комментировать
  • (WPF/C#) Получение Content из одной кнопки удаляет Content из другой. В чем проблема?

    @Sumor
    Проблема в том, что Content у кнопки - это Image (контрол). У контрола может быть только один родитель, и когда вы присваиваете его другой кнопке он просто меняет родителя - с одной кнопки на другую. Поэтому у первой кнопки изображение пропадает.
    При создании кнопки визуальные элементы (Image) нужно создавать заново. А вот загруженную картинку (BitmapImage) )можно использовать ту, которая уже загружена.
    Ответ написан
    Комментировать
  • Как понять методы в C#?

    Therapyx
    @Therapyx
    Data Science
    getName.ыыычто писать;
    getName - это функция со своим внутренним миром, которая тихоничко лежит и никого не трогает, пока ее не вызовешь. Как?
    getName() - если бы у тебя в скобах не было string name.
    public void getName (string name //вот это вот зачем мне?)

    то, что внутри скобок - это параметры, которые функция может использовать из вне.
    т.е. вызывая функцию в меине
    getName(name) ты передаешь в функцию переменную Name, которая находится в меине. Иначе к ней не будет доступа внутри той функции. Можно дописать хоть еще 20 штук: getName(name1,name2,name3....nameN) но и сама функция должна иметь такую же структуру на прием этих переменных

    А вообще не дело это - если не понимаешь в книге, то смотри ютуб ролики, где визуально все разжовывают и такой метод куда дружелюбней для новичков. Имхо: Книгами надо полировать знания и заполнять пробелы, но в наше время выгоднее начать с видео, ибо все в открытом доступе, вплоть до лекций из гарварда.
    И да - плохая идея идти писать игры, не зная таких вещей. Для начала научись программировать, а не тупо заучить синтаксис какого-либо языка, а потом не иметь представления как его использовать.
    Ответ написан
    6 комментариев
  • Почему для использования дженериков нужен интерфейс?

    Вопрос конечно не совсем корректен, интерфейс не обязателен.

    Вы просто в этом примере создаете интерфейс IPerson. Этот интерфейс могут по факту реализовывать сколько угодно классов. Например Person1, Person2, Person3. Все по своему.
    Теперь вам нужно сделать метод SpeakTo, который позволит вам поговорить с любым из этих классов. Окей, пишем дженерик и пишем ограничение на интерфейс. (where T : IPerson )
    Теперь в метод вы можете передать любой класс, реализующий интерфейс IPerson.

    Но вы также можете написать например класс PersonBase вместо интерфейса, унаследовать наши Person1, Person2, Person3 от базового класса. Тогда вам нужно будет написать ограничение не на интерфейс, а на базовый класс where T : PersonBase. И вы также сможете передавать в метод SpeakTo любой класс, унаследованный от PersonBase.
    public class PersonBase
    {
      public virtual string GetFirstName() {return "MY name is base"; }
      public virtual string GetLastName() { return "MY lastname is base"; }
    }
    
    //либо через абстрактный класс
    //public abstarct class PersonBase
    //{
    //  public abstract string GetFirstName();
    //  public abstract string GetLastName();
    //}
    
    class Speaker 
    {
      public void SpeakTo<T>(T person) where T : PersonBase
      {
        string name = person.GetFirstName();
        this.say("Hello, " + name);
      }
    }

    Еще бывают ограничения на конструктор, ограничения ссылочного типа и ограничения типа значения.
    Ответ написан
    Комментировать
  • FOSUserBundle регистрация с ролью по выбору. Как реализовать?

    GTRxShock
    @GTRxShock
    SA
    Роли это своего рода ярлыки у пользователей, сами по себе ничего не значат и являются всего лишь текстовым значением, но имея возможность наследования и обыгрывая различия доступа в коде, вы можете все что угодно)
    security:
        encoders:
            FOS\UserBundle\Model\UserInterface: bcrypt
    
        role_hierarchy:
            ROLE_MANAGER:       ROLE_USER
            ROLE_HEAD_MANAGER:  ROLE_MANAGER
            ROLE_ADMIN:         [ROLE_HEAD_MANAGER, ROLE_SONATA_ADMIN, ROLE_ALLOWED_TO_SWITCH]
            ROLE_SUPER_ADMIN:   [ROLE_ADMIN]
    Ответ написан
    Комментировать
  • Как в Symfony не показывать пароль User Entity?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    https://github.com/symfony/symfony/blob/master/src...
    Вы реализовали этот метод? В нем надо как раз очищать критические поля.

    Если надо исключить не только пароль но и какие-то поля, типа 'age', как в примере, то смотрите в сторону кастомного Normalizer для конкретного объекта.
    https://symfony.com/doc/current/components/seriali...
    https://php-and-symfony.matthiasnoback.nl/2012/01/...
    Ответ написан
    1 комментарий
  • Как запретить использование usb флешек на всех компах кроме авторизированных?

    Stalker_RED
    @Stalker_RED
    На флешку криптоконтейнер. Воткнул - определилась - контейнер примонтировался - работаем.
    Воткнул в домашний комп - определилась - вот он криптоконтейнер - но он зашифрован же!
    (если он в скрытой/неразмеченной области, то его даже не будет видно)

    Другой вариант - есть флешки с аппаратным локом.

    Еще можно внутрь флешки добавить немножко мозгов и начинку в стиле USB Killer. Флешка увидела чужой комп и сожгла. (Лучше согласовать с юристами).
    Ответ написан
  • Можно ли выделить наиболее оптимальный язык для работы с движком Unity?

    GavriKos
    @GavriKos Куратор тега Unity
    Гуглите прям по тостеру.
    Совсем в кратце - джаваскрипта в юнити нет, есть на его основе диалект. C# лучше и рекомендован самими юнитехами.
    Ответ написан
    Комментировать
  • Можно ли выделить наиболее оптимальный язык для работы с движком Unity?

    @S0HardCore
    C#. Больше документации, уроков и возможностей.
    Ответ написан
    Комментировать
  • Как сократить конструктор дочернего класса, дабы установить все параметры родительского объекта в дочерний?

    Попробуйте автомаппер, мне если честно вообще не нравится этот код. Я бы не делал такой конструктор ИМХО. Лучше какой-то маппер/конвертер в отдельном классе. А можно вообще не наследоваться, просто добавьте св-во типа Article. И вокруг него уже пляшите. Зависит от контекста того, что вы делаете.
    Ответ написан
    4 комментария
  • Как создать новый экземпляр класса, а не присваивать ссылку?

    arusef
    @arusef
    Novice .NET dev
    Есть метод MemberwiseClone, он делает примерно то же, что вы описали. Но вложенные ссылочные типы не будут копироваться, будет копирована лишь ссылка.
    Ответ написан
    1 комментарий
  • Можно ли настроить Apache на работу с процессом php, который будет постоянно весить работающим?

    @vkdv
    Можно, но с помощью костыльных либ - reactphp.org (https://toster.ru/q/233230)
    Но это будет уже немного не тот "код" что был до этого, так как память выгружаться не будет, и как следствие возможны неожиданности в рабочем коде
    Ответ написан
    1 комментарий