• Как происходит деплой Netty сервера?

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

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Немного подскажу:
    1) Обязательно будьте уверены какая кодировка в файле и в какую читаете.
    2) Строку легко разбить к примеру так для начала String[] arr = "неведомая строка с числом 100 и 72".split(" ");
    3) Далее можно пойти в лоб,но это не совсем хорошо, вот так Integer.parseInt( String str ), такие же методы есть у других примитивных типов.
    Ответ написан
    Комментировать
  • 40 IP-телефонов и АТС, что выбрать?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Как вариант на роль АТС чтобы не париться с астериском Yeastar MyPBX U300.
    В роли ip телефонов любые которые нравятся. Как более дешевый вариант любой софтфо на ПК. Намного более удобный вариант SIP на самом смартфоне человека через внутренний WiFi, в андроидах софтфон "изкоробки" в стандартной звонилке есть, на айфонах кажется нету но полно софтфонов.
    Ответ написан
  • Как реализовать свой мост между 2 ЯП на backend?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Как вариант gobind.
    Ответ написан
    Комментировать
  • Почему enum должен быть immutable?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Хорошо или плохо надо смотреть по ситуации. Аналогичная ситуация с интерфейсами в которые суют default реализации.
    К примеру приблизительно такую реализацию я не считаю плохой:
    public enum Model {
           CYLINDER(new Cylinder(), "Cylinder"),
           CONES(new Cone(), "Cones"),
           BOX(new Box(), "Box"),
           Line(new Line(), "Line");
    
           private final String label;
           private final Model model;
    
           Model(Model model, String label) {
               this.model = vis;
               this.label = label;
           }
           public Model getVisualization() {
               return this.model;
           }
           public String getLabel() {
               return this.label;
           }
       }

    Ситуация когда туда пихают вообще все что непопадя уже проблема.
    Приведите живой пример что он у вас туда напихал.
    Ответ написан
  • В действительности ли читеры могут без проблем взломать клиенты многопользовательских игр и таким образом получать преимущество?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) Абсолютно в любой защите найдется дырочка, она будет очень страшной или так себе.
    2) Чем сильнее и серьезнее защита тем меньше комфорта игроку.
    3) Некоторые (статистика молчит но есть множество доводов) разработчиков специально некоторое время не латают дыры и не банят читеров дабы срубить бабла волной банов на покупках новых копий игры. *
    4) Многие разработчики полагаются на сторонние античиты но это зачастую равносильно тому что пытаются перегородить дорогу светофором.
    Ответ написан
    Комментировать
  • Всегда ли в C++ false == 0, true == 1?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    В С++ существует миллиард и 1 способ как отстрелить себе ногу или обеспечить головной боли на пару недель маленькой строчкой причем на разных компиляторах это число и холоднокровные трюки разнятся. К примеру классический
    #define false true

    Во, откопал древний веселый прикол .
    Ответ написан
    Комментировать
  • Как создают программы, внедряющиеся в память другой программы/игры (чит)?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Базово существует 3 подхода:
    1) Путем чтения\записи памяти. Самый простой вариант это поиск нужного адреса памяти а далее воля фантазии в виде замены значения дав себе +1000 хп или просто чтение значения к примеру чтобы сделать wallhack. Самый простой вариант и делается очень легко.
    2) Путем инжекции в игру\программу. Пример игра использует некую стороннюю библиотеку library.dll, в случае если она опенсурс то цепляются в ней к методу типа init() и дальше копаются в игре или на асме инжектятся в нужную функцию. Сложность в том что придется восстанавливать структуры данных, искать функции и т.д. а уже потом дергать нужные с нужными параметрами.
    3) Типа MItM, пишут простенький прокси сервер который ловит весь трафик между игрой и сервером. Придется разбираться в пакетах и также восстанавливать структуры если они есть, быть очень быстрой и хранить очень много данных. Самый профитный среди всех и одновременно самый сложный. Не так давно подобным способом роняли ММ в КСГО, роняли сервера в ОВ, загубили пару онлайн ММО но давно(вечная память разрабу той универсальной софтины).

    Как правило 95% читов относятся к 1 категории public и private, оставшиеся 5% ко 2й и 3й personal и именно они самые дорогие и делаются под заказ ограниченному числу людей(часто ценник уходят за 1к бакс и выше).
    Ответ написан
    2 комментария
  • Как вылечить модем Yota при использовании в связке с Mikrotik?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Проделать шаги:
    1) Дать гарантированное питание модему в 2 ампера. Нужно через хороший активный хаб.
    2) Убедиться что модем не колбасит перегревом. (Просто на ощупь не разбирая модем)
    3) Убедиться что модем не глючный сам по себе путем его нагрузки трафиком на разных пк\ноутбуках.

    Мало вероятно но не исключено
    18:45:41 lte,debug unknown modem
    18:45:41 lte,debug LTE: unknown modem
    18:45:41 interface,info LTE link up

    Модем или микрот пытается дать некую АТ команду на что не получает ответ или получает не то что ожидал, т.е. он просто не знает о таком модеме о чем написано в логе. Если ситуация именна эта то спасет только смена модели модема или ожидание обновы прошивки микротика.
    Ответ написан
  • Как создаются большие игры на c++ или c#?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Как, да просто.
    1) Взять талмут особенностей карт nvidia и такой же amd.
    2) Взять талмут особенностей винды\линукса\макось.
    3) Изучить матан,геометрию и все связанное.
    4) Изучить и овладеть с\с++ на очень хорошем уровне, лучше даже быть одним из лучших.
    5) Дальше оп и двиг готовый какраз на уровне ue4, ce, unity или фростбайта.

    Для 3д игр, особенно сетевых писать свой собственный двиг нынче почти нереально(именно на уровне что это будет нормально работать у всех, быть удобным и красиво выглядеть). Этим занимаются огромные команды спецов всех областей и не 1 десяток лет ежедневной работы.

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

    Если так хочется с\с++ то попробуйте для начала сделать простенький 2д двиг и игру на нем, думаю желание отпадет где то в самом начале =)
    Ответ написан
    2 комментария
  • Какие трудности могут возникнуть при разработке на java под linux?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Трудностей не будет но тонкости есть и они относятся ко всем 3м платформам(win\linux\mac):
    1) При работе с путями фс всегда юзайте кросплатформенную File.separator.
    2) Не пользуйтесь получение списка дисков т.к. оно работает только в win среде, в линуксах и маках он всегда выдаст корень ''/" а не разделы.
    3) Политика доступа к файлам очень сильно различается(в плане битов на файле и мета инфы). Единого однообразного средства просмотра всех свойств нет и для каждой платформы он сильно отличается.
    4) Опасайтесь использования переменных сред типа %user.home%, в разных ОС они ведут в разные места.
    5) javaFX из коробки есть только в oracleJDK\jre но не входит в openJDK.
    Во всем остальном особых приколов не возникнет.
    В целом от себя под линуксами возможностей гораздо больше чем под окнами. К примеру меня очень сильно радует порт FUSE которым можно делать крутые штуки для себя. Больше свойств у файлов. Намного проще колхозить что то с самой операционкой к примеру банальное управление параметрами монитора типа яркости и насыщенности или получать доступ к железу.
    Ответ написан
    1 комментарий
  • Какая система лучше всего подходит для х86-роутера?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Если так хочется изучить линуксы то самый лучший вариант поставить себе на десктоп\ноутбук обычную десктопную систему без варианта загрзуки\дуалбута с виндой. Для начала что нибудь типа opensuse\арча\убунты. Когда пройдет с полгода-год и появятся проблески в понимании и удобстве\неудобстве можно думать о роутере и лучший вариант будет что то на WRT прошивке обычного роутера. А уже после этого двигаться в сторону х86 больших домашних серверов.
    Ответ написан
  • Какие архитектурные подходы выбрать для разработки клиент-серверной игры?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1) Разделите мир на "чанки", т.е. просто на квадраты конкретного размера. В случае 2д это будет очень удобно.
    2) Сервер обрабатывает только те чанки в которых находятся игроки, в случае отсутсвия игрока в нем то он сейвится на винт\бд. На клиенте чанки так же выгружается из памяти если он ушел в новый чанк.
    3) Понадобится система пресказания какой чанк надо подгрузить. Скажем зная направления игрока предполагаем что он попадет в такойто то чанк а значит грузим его заранее.
    4) Игроку при приближении к чанку отправляй его полное состояние а уже после только то что в нем изменяется.
    5) Часть вычислений для линейных(предсказуемых) объектов можно синхронизировать только периодически. К примеру летящий астероид логически обсчитывается и на клиенте и на сервере но только в случае событий(столкновение к примеру) идет синхронизация между клиент-сервером.

    На заметку, чем больше линейных(т.е. предсказуемых) объектов тем меньше можно синхронизировать их. Кроме того это сразу же даст бонус в виде достаточно простой реализации интерполяции и экстраполяции.
    Ответ написан
    3 комментария
  • Как вычислить нахождение абонента по номеру телефона через GSM?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    нужно вычислить местоположение абонента, зная номер телефона.

    Невозможно. Может только сам оператор и то со смешной точностью в большинстве случаев.
    Ну и сюда же. Допустим есть ситуация, что звонит другой человек, вымагает деньги. Как определить где он находиться, зная его номер?

    Идете в МВД и пишите заявление.
    Ответ написан
    Комментировать
  • Язык программирования для 40летнего начинающего?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Полноценно перескочить в кодеры будет проблемно.
    Если цель именно полностью сменить вид деятельности то лучше очень сильно подумать.
    Если цель получить постоянный сторонний доход то на мой взгляд есть 2 варианта:
    1) PHP - работы хоть одним местом жуй на фрилансе. Да будут не такие приятные суммы, но как дополнительный источник дохода очень даже подойдет. Минус в том что огромная конкуренция а как следствие побеждает тот кто запросит меньшую сумму, придется брать нормальное число заказов. Плюс в том что большая часть задач решается очень быстро. Можно вообще сесть на 4-5 проектов по поддержке сайта и не напрягаться.
    2) 1С - работы тоже достаточно много. Оплачивается очень достойно. Изучается, особенно для новичков, очень легко. Кучи отличной литературы. Плюсы в том что заказов физически получится делать меньше но при этом получать больше, очень жирный плюс что можно устроиться подработкой в 2-3 организации в своем городе приходным 1сником и рубить купусту. Минусы то что нужно рассчитывать свои силы исходя из задачи(одно дело базы подрезать да мелкие правки вносить в конфигурацию и совсем другое приколбасить к 1ске всякие железки или хитрые обмены между разным софтом.)
    Ответ написан
    Комментировать
  • Какую систему лучше поставить на Raspberry PI Zero W?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    NodeJS + Electron
    с ними бессмысленно пытаться что то "ускорять", железо нужно в разы лучше.
    Для малины идеальный вариант это с\с++, чуть хуже питон.
    Ответ написан
    Комментировать
  • Можно ли встроить JVM в desktop приложение?

    jamakasi666
    @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Есть штатные механизм, называется self containing application.
    Ответ написан
    Комментировать
  • Как лучше подключить виртуальный номер?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    1)
    +73919, а нам необходимо +73912
    если вы будете пытаться терминировать звонки с номера другого города то это наказуемо, в некоторых случаях еще и очень болезненно для бюджета.
    2) Имеет смысл потыкать палкой местных провайдеров.
    3) Не бывает бесплатной переадресации.
    4) Есть, остается старый номер на пол годика на котором висит автоответчик говорящий что номер теперь такойто, после чего переадресация на новый номер, так же позаботиться что бы абсолютно во всей рекламе и во всех сервисах инета был правильный номер(2гис\гуглокарты и т.д.). Другие варианты в виде "а мы пока временно сделает полную переадресацию без оповещения что номера скоро не будет" в конечном счете выльется в 2 номера.
    Ответ написан
    Комментировать
  • Как восстановить связь до mikrotik по winbox?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Консольный порт как правило есть у всех но может быть не распаян. Вскрыть роутер и найти на плате rx\tx пятаки, с вероятностью 99% они будут 3.3 вольтовые а значит нужен uart который можно купить или сделать из старого шнурка какойнибудь нокии\самсунга\сименса. Цепляетесь им на эти пины и вперед. Для удобства на будущее можно напаять штырьки и в корпусе над ними просверлить дырочки чтобы если такое снова случится можно было подключиться без разборки роутера.
    Ответ написан