• Какой движок стоит изспользовать если я хочу разработать игру на подобие barotrauma?

    Стоит использовать тот, с которым ты умеешь работать.
    Различия в первую очередь экономические, а не технические.
    Ответ написан
    Комментировать
  • Что за исключение выдает Tomcat при попытке запуска war-файла?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Вот проблема:
    Caused by: java.lang.IllegalArgumentException: Invalid [first_servlet] in servlet mapping

    Не правильное имя сервлета "first_servlet". Ищите в коде <servlet-mapping> и <servlet>. Там имя сервлета должно быть в точности одно и то же
    Ответ написан
    1 комментарий
  • Есть ли какой то адекватный бесплатный vpn для android?

    Keffer
    @Keffer
    ICANN
    Проблема авторов подобных тем в том, что они считают vpn неким субъектом\объектом, который можно в виде приложеньки скачать откуда то и установить на телефон\комп и все проблемы сразу решатся. Полное непонимание сущности слова VPN. Поэтому тут все в ответах и предлагают программное обеспечение для vpn такое как strongswan wireguard или прочее. Которое само по себе имеет ценности ровно ноль для авторов))
    Ответ написан
    Комментировать
  • Как обучить ИИ по своим данным?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Зачем транзисторы? Нужна сверх-задача.
    Например.

    Загрузил туда все данные по котировкам - и завтра разбогател.
    Или загрузил всю историю литературы - и завтра стал литературным гением.
    Или загрузил всю науку за последние 20 веков - и стал новым Ноббелевским лауреатом.

    Зачем унижаете возможности GPT?
    Ответ написан
    Комментировать
  • Как использовать АОП в паттернах?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    5 комментариев
  • Какие инструменты нужны для разработки игр?

    @MarkusD
    все время мелю чепуху :)
    Сегодня существует ровно два базовых направления разработки конкретного коммерческого проекта.
    Способ первый: купить лицензию или подписку на уже готовый инструмент разработки и заняться непосредственно разработкой своей игры.
    Способ второй: иметь в своем штате команду разработчиков собственного инструмента, на базе которого можно заняться разработкой своей игры.

    Первый способ популяризирует публичные универсальные инструменты разработки.
    Второй способ эксплуатирует проприетарные инструменты.

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

    DirectX, Vulkan и OpenGL, равно как Metal и ряд проприетарных GAPI некоторых закрытых платформ, не являются графическими библиотеками. Это все - Graphics Application Programming Interface - GAPI.
    Это - низкоуровневые интерфейсы драйвера GPU, позволяющие эксплуатировать ресурсы видеокарты в своих целях. Не только для рисования чего-то, а для ИИ, ML, сложных статистических вычислений, предсказаний и прочих расчетов на больших объемах данных.
    Под капотом любого инструмента, будь-то проприетарный или публичный, в его графическом слое используется один или несколько GAPI. Без этого никак.
    OpenGL, как и DirectX 11, нисколько не устарели, поскольку предоставляют упрощенный интерфейс управления ресурсами GPU. Они используются тогда, когда разработчикам не нужны самые тонкие механизмы управления ресурсами GPU, которые предоставляют DirectX 12 или Vulkan. Потому что последние, помимо прочего, требуют от разработчиков более глубокой экспертизы и больше ресурсов на разработку всего того же, что на OpenGL и DirectX 11 реализуется меньшими силами и за меньшее время.

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

    Информации по каждой отдельной области разработки игр хоть отбавляй. Ее настолько много, что одному человеку за жизнь не усвоить. Поэтому от современного специалиста сегодня требуется спрофилироваться, т.е. определиться со своим профилем работы и стать экспертом.
    Я больше 15 лет занимаюсь разработкой игровых движков и медиаферймворков. Более 10 лет занимаюсь коммерческой разработкой кросслпатформенных инструментов. Я начинал свое обучение по книгам и документации для всех интересующих меня областей еще 20 лет назад. Я самостоятельно освоил множество API, включая графические, сетевые, звуковые и API целевых платформ, используя книги и документацию. Экспертные знания C++ и прочих языков я получил тоже через изучение документации, стандартов и книг.
    Я могу сказать что обучаться по книгам и документации можно и самостоятельно. Еще можно заплатить деньги и получить более точечные знания через их интерпретацию на распространенных сегодня онлайн-курсах. Такие знания не всегда бывают лучше полученных самостоятельно, но времени на освоение того же объема знаний на курсах уйдет меньше чем при самостоятельном изучении. Иными словами, занятия на онлайн-курсах не отменяют важности самостоятельного изучения основных источников информации.
    По открытым видеоурокам на ютубе и прочих видеохостингах обучаться нечему. Цель этих видео - чтобы зритель посмотрел рекламу и этим принес доход автору.
    Ответ написан
    2 комментария
  • На чем собрать удобный интерфейс веб-сервиса под мобильные телефоны?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    просто сделайте сайт адаптированный под краны ваших сотрудников.
    В чем то проблема? Их куча. Пусть будет бутстрап или какая нибудь булма
    Ответ написан
    3 комментария
  • Как позиционировать уведомления Toast?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    https://developer.android.com/reference/android/wi...

    Написал сперва ответ никак. Потом засомневался а прав ли. До 30го апи гравити работало.
    Ответ написан
    Комментировать
  • Где на практике используется явное преобразование объектных типов в Java?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Чаще всего приведения типов используются в говнокоде программистов, не осиливших даже учебник для начинающих.
    Ответ написан
    Комментировать
  • Почему у меня пишет Android App Bundle не подписан?

    Geminix
    @Geminix
    Фуллстек nuxt, .net разработчик
    Подписать?
    Ответ написан
    3 комментария
  • Зачем пентестеру-программирование?

    @mkone112
    Начинающий питонист.
    Зачем взломщику знать об устройстве замков?
    Ответ написан
    5 комментариев
  • Можно ли заряжать айфон блоком питания от ноутбука?

    Да, можно. Адаптер от Huawei поддерживает PD
    Ответ написан
    Комментировать
  • Что значит Junior/Middle+?

    xez
    @xez
    TL Junior Roo
    "Плюс", видимо, значит "чуть больше чем мидл", "уже не мидл, но еще не сеньер". С джуном - аналогично.
    Формальных никаких признаков нет, все эти грейды - чистая условность и могут сильно различаться в разных компаниях.
    Ответ написан
    Комментировать
  • Что значит Junior/Middle+?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Это потуги расширить и без того размытый спектр грейдов. Под junior+ чаще всего имеют ввиду человека, у которого уже есть опыт работы, но на мидла ещё не тянет, а middle+ - это мидл с большим опытом, но не тянущий на сеньора.
    Ответ написан
    Комментировать
  • Как сделать так чтобы в играх и дискорде по умолчанию использовался микрофон гарнитуры?

    xez
    @xez
    TL Junior Roo
    В настройках звука нужно поставить нужный микрофон «по умолчанию».
    Можно ещё встроенный вообще отключить.
    Ответ написан
    2 комментария
  • Можно ли в 2022 году начать новичку изучать Kotlin в обход Java?

    Можно, разрешаю начать.

    знаю были такие темы, но год-два-три назад.

    А что за это время изменилось?

    Хотелось бы также Вашего совета - с чего начать новичку, для того чтобы придти к созданию мобильного приложения под андройд.

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

    @AlexVWill
    Второй случай явно неправильный, т.к. всетаки сначала должен загружаться список, а потом он должнен по свайпу обновляться. Поэтому ты ничего и не видишь, т.к. формирование списка происходит не вначале, а после срабатывания листенера setOnRefreshListener на элементе mSwipeRefreshLayout.
    Почему не работает вывод списка в первом случае - х.з., т.к. код ты скрыл (что за дурацкая привычка?), а телепаты все разъехались на Бали прочищать свои чакры.
    Но если там какой то RecyclerViever, то это работает приблизительно как то так:
    spoiler

    RecyclerView historyRecyclerView = binding.adrecyclerView;
            historyRecyclerView = historyRecyclerView.findViewById(R.id.adrecycler_view);
            HistoryViewRecycler historyView = new HistoryViewRecycler();
            historyView.initRecycler(historyRecyclerView);
    
            swipeRefreshLayout = binding.swipeRefreshLayout.findViewById(R.id.swipeRefreshLayout);
            swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
                    //make new recycle view on swipe refresh
                    RecyclerView newhistoryRecyclerView = binding.adrecyclerView;
                    HistoryViewRecycler newhistoryView = new HistoryViewRecycler();
                    JSONArray newhistory = new HistoryViewRecycler().updateHistory(getContext());
                    if (newhistory == null) {
                        new History().getFullHistory(getContext());
                        //Snackbar.make(getActivity().findViewById(android.R.id.content), R.string.auth_error, 3000).setDuration(5000).show();
                    }
                    newhistoryView.initRecycler(newhistoryRecyclerView);
                    swipeRefreshLayout.setRefreshing(false);
                }
            });


    Не претендую на исключительность кода, это просто для примера.
    У тебя же в коде onRefresh() никакого обновления списка нет, кроме остановки кручения индикатора... ну и с какого перепугу он должен что-то там обновлять?
    Размести тогда уж код формирования списка в обоих разделах (как бы 1+2 пример совмести) и посмотри что получится.
    Ответ написан
    1 комментарий
  • Джуны в андроид не нужны?

    @mkone112
    Начинающий питонист.
    Это твоя главная ошибка.
    Джуны в андроид не нужны?

    мониторю вакансии

    Джунов разработчиков практически не ищут

    Однако вакансий для мидлов и синьоров прилично.

    Спрос и число вакансий - связаны примерно никак. Джуны(не трейни) нужны везде, всегда и много.
    Ответ написан
    4 комментария
  • На какой платформе изучать Python 2?

    @deliro
    где можно изучать Python 2?

    В 2008 году

    Желательно в бюджетном сегменте, ведь деньги у меня не резиновые.

    Потратил на изучение питона за все 8 лет 2000р — купил Fluent Python спустя пару лет после начала обучения, когда уже работал
    Ответ написан
    Комментировать