• Как превратить Java программу в .exe файл в IntelliJ IDEA?

    raydac
    @raydac
    очень ленивый программист
    можно посмотреть на этом примере https://github.com/raydac/battleships-resurrection как пакуются игры для разных платформ, в том числе с генерацией exe и под мак
    Ответ написан
    Комментировать
  • Как превратить Java программу в .exe файл в IntelliJ IDEA?

    @fsfsfs32
    Используйте Launch4J
    Ответ написан
    Комментировать
  • Что делать если youtube занимает слишком много времени?

    Kadzi
    @Kadzi
    Ом
    Тут речь о мягких навыках, в частности про управление собой и концентрацию.

    Как вариант, использовать эту привычку во благо. Посещать ютуб стало привычкой, теперь нужно культивировать просмотр нужного контента.

    Начать стоит с коротких полезных видео по тематике профессии или что-нибудь про софт-скилы. Уверен, что никаких резких изменений не последует, но, культ полезного контента даст плоды.

    Вот например, чтобы изучить что-то основательно, нужно курить 3-4 часовые видео + практика, но в реалиях такого энтузиазма мало у кого есть, поэтому, как вариант начать с 5-15 минутных видео. Просто начать.

    У меня была точно такая же история, только вместо ютуба я читал тостер)))) Понимая, что не могу с собой ничего поделать, я начал просматривать по 300-400 советов из разных тематик ежедневно в том числе рубрики в которых я полный ноль. А позже я культивировал полезный поиск + сбор полезных материалов, в том числе из комментариев.

    Я купил ежедневник, где что-то зарисовываю или записываю о том, что я смотрю и читаю, подстегивая себя к новым знаниям. Это своеобразная медитация. Скептически всегда относился к ежедневникам, но оказалось забавно, как такая штука может якорить и напоминать: не останавливайся, чувак!

    В один момент, я понял, что хочу углубляться по вопросам и перескочил с тостера на видео, книги и практику. Начинал так же, с банальных вещей, которые культивировал. Например, что такое цвет? И по 15-20 мин ежедневно что-то читал, смотрел изучал, пока не захотелось это делать по 30 мин в день. некоторые вещи я хочу делать теперь по 3-4 часа в день.

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

    Повторюсь, если ты чувствуешь что жизнь идёт как у овоща, начни с примитивнейших вещей и самых простых ежедневных задач. Например, завтра делай всё тоже самое, только посмотри 10 минут видео, которое полезно, например про софт скилы. Завтра снова страдай херней, но снова посмотри 10 минут и так далее. Через месяц-полтора доза увеличиться, а свою привычку ты сможешь использовать во благо.

    Мягкие навыки 1
    мягкие навыки 2
    40 правил философии ответственности обрати внимание на 2 правило
    теория психики
    рекомендую его заметки

    Давай ещё разок: тебе не сжигать мосты нужно, а выжать полезное действие из привычки.

    0. Никаких резких перемен не будет.
    1. Почитать про софт скилы и что формирует их.
    2. Продолжить смотреть ютуб, разбавив ежедневной рубрикой "полезные 15 минут"
    3. Окружить себя инфополем текущего уровня, пока не захочется на следующий. А захочется, так как эти 15 минут превратятся рано или поздно в 20, а потом в 30. Культивация полезного действия.
    4. Попав на новый уровень, проделать тоже самое.

    Культ полезного действия применим к любым жизненным ситуациям. Учиться учиться, учиться правильно читать, искать, серфить, смотреть и слушать. Это тоже навык.
    Ответ написан
    Комментировать
  • 3D графика на Java. Какую программу/движок использовать?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Здравствуйте!
    Не являюсь экспертом в этой области, но если вам нужно именно в Java, то могу порекомендовать вам следующие движки и фреймворки:

    Desktop/Android/BlackBerry/iOS/HTML5 Java game development framework
    https://libgdx.badlogicgames.com

    Lightweight Java Game Library
    https://www.lwjgl.org/

    JMonkeyEngine
    https://jmonkeyengine.org/

    Но если желаете профессионально заниматься разработкой игр, то насколько мне известно, сейчас это:
    Unity (ЯП - C#)
    Unreal Engine (ЯП - C++)
    Ответ написан
    Комментировать
  • Java. Как изменять размер ArrayList?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    HashMap<Integer, String>
    Ответ написан
    Комментировать
  • Java. Как изменять размер ArrayList?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Если вам нужны строки с индексами сделайте Map<Integer, String>
    Ответ написан
    Комментировать
  • Как передать с сервера клиенту данные типа Object?

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

    GavriKos
    @GavriKos
    Ну вообще если у вас есть RGB-цвет, то сделать из него черно белый просто - нужно и в R и в G и в B положить усредненное значение.
    Т.е. либо считаете среднее арифметические RGB и кладете его во все каналы. Либо - с использованием коэффициентов (вроде бы таких - Y = 0.2125 R + 0.7154 G + 0.0721 B).

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

    @majstar_Zubr
    C++, C#, gamedev
    alex4answ, процедурный стиль использует только понятия модель памяти, типы, инструкции, программа и подпрограмма.

    Вот и всё. Никаких составных типов. Концепция "состояние" в коде никак не выражается. Держите её если хотите в голове либо в комментариях.

    Никаких сущностей в коде. Держите из в голове или в комментариях.

    Нет понятия функции. Функция это слишком сложно в рамках процедурного программирования. Это какие-то особые требования к подпрограмме должны быть, тем более требуется вводить понятие аргументов и параметров функции, что требует какой-то сложной модели памяти с понятиями статический, константный, передача по значению, передача по ссылке и т.д.

    Но это всё уже вводится в структурном программировании.

    Процедурное программирование вводит модель памяти с понятиями стек и куча. Хотите сделать функцию в процедурной парадигме - вам придется оформить её в виде подпрограммы и вызывать её из другой. Причем понятия линковки нет, вы будете делать это используя адрес в куче, а какие-то данные, типа, аргументы, будете сами на стэк ложить, каждый раз при вызове подпрограммы "функция".
    Ах, да, захотите функцию для сложения двух чисел, придется сделать ctrl-c, ctrl-v и в теле подпрограммы написать сложение двух кусков данных взятых со стека. Для разности - копируете код, в теле меняете инструкции. И так для каждой функции.

    Да, понятия область видимости нет, придется его выражать в коде таким вот образом самостоятельно.

    Ну, и поскольку ОС не даст лезть за пределы одного процесса, подпрограмму придется положить в сорцы выше, чем ваш код.

    А максимум абстрагирования, которое вводит процедурное программирование, это символьное произвольное именование адреса в памяти. Да и вместо типов, скорее, используется смещение байтов для коллекции, которым просто даны имена.

    Дело в том, что о процедурной парадигме можно говорить только ретроспективно. В основном, процедурная парадигма это классический ассемблер.

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

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

    Т.е. берёте вы современный компилятор / интерпретатор любого языка, пишете решение в один файл, не используете составные типы, а только интегрированные простые (если вы выбрали язык со строгой типизацией), не используете функции, а только операторы, как закончите, смотрите на код - вы решили задачу в рамках процедурной парадигмы.

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

    А вот в языке с полной поддержкой процедурной парадигмы можно делать такие подпрограммы, которые косплеят функции, но возвращают несколько "аргументов", причем пишут прямо в память. Да и в принципе, в процедурной парадигме можно делать свой ABI, нет никаких стандартов, нет правил, ничто не истинно и всё дозволено.
    Ответ написан
    Комментировать
  • В чем суть процедурного программирования?

    @koperagen
    Следование принципам ООП помогает локализовать изменения в реализации, к примеру смена протокола передачи данных не повлияет на код, которому нужно "просто" отправить сообщения. Этого можно добиться введением интерфейса - отправителя сообщений и внедрением зависимости, к примеру через конструктор. Т.е. требуется дополнительное действие (создание и передача в конструктор) + нужно продумать интерфейс + немного увеличивается кодовая база.
    Но не всегда же требуется иметь возможность сменить протокол передачи данных. В структурном программировании код, отправляющий сообщение, просто вызывал бы вполне конкретную процедуру отправки массива байт по TCP. Такой код быстрее написать, но смена протокола потребует вносить изменения везде, где он используется

    p.s. не уверен, что правильно понял вопрос. Оказывается, есть отличие между процедурным и структурным программированием. Структурное все же намного ближе к нашему времени и современным языкам, наверно речь в вопросе именно о нем?
    Ответ написан
    Комментировать
  • В чем суть процедурного программирования?

    @res2001
    Developer, ex-admin
    Можно запросто писать в ООП стиле на процедурном языке. Плюшек в виде готовых конструкций, конечно нет и кода будет больше, чем то же самое реализованное на ООП ЯП. Но это не значит, что код будет медленнее или менее эффективен, просто в ООП язык программирования (компилятор) делает некоторую работу за вас, а в процедурном вы сами это делаете и этот факт увеличивает размер вашего кода.
    Вообще ООП вырос из процедурного стиля.
    Говоря о том, что многие проекты написаны в процедурном стиле, вы преувеличиваете важность "стиля". На самом деле многие проекты написаны на Си (процедурный стиль туда просто прикладывается как данность) и на то есть куча причин.
    Ответ написан
    Комментировать
  • Как лечить спину айтишникам?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Идете к врачу, получаете направление на МРТ.
    Идете на МРТ, делаете снимок.
    Идете к врачу, понимаете что именно у вас со спиной - ушиб, воспаление, защемление нерва, протрузия, грыжа.

    Слушаете рекомендации врача что с этим делать. Решаете как дальше жить.
    Просто без диагноза по МРТ идти в зал, особенно если у вас уже грыжа/протрузия - значит убить себе спину окончательно. Идти на массаж с защемлением нерва или воспалением - мало смысла. Там нужно подождать, возможно даже поколоть что-то, если воспаление зашло далеко и само не хочет проходить.

    В общем, первым делом - диагноз. Без него - лучше вообще ничего не начинать.
    Ответ написан
    4 комментария
  • Как лечить спину айтишникам?

    GavriKos
    @GavriKos
    Ну йопт. Вот вы айтишник. Вы же знаете что вопросы по теме надо задавать тем кто шарит в теме, а не сгружать вопросы по программированию переводчикам. Сходите к врачу! И он вам все скажет что и как лучше для ВАШЕГО организма.
    Ответ написан
    11 комментариев
  • Ошибка при отображении GIF-анимации в Java-игре! Как исправить?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Самое правильное для игры - не использовать gif-анимацию вообще. Анимируйте например sprite sheet-ом. И используйте движки, где уже все такие базовые проблемы решены.

    Ну а так писать на чистой джаве и Draw вообще жесть и зло. Хотя бы сделайте двойную буфферизацию - рисуйте в картинку в память, а потом одним проходом натягивайте эту картинку на весь экран. Уже будет лучше.
    Ответ написан
    Комментировать
  • Как из строки вытащить оператор "+"?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если по простому - разбивайте строку через regexp.
    String text = "5+(2-3*8/10)/123=ERR";
    		Pattern pattern = Pattern.compile("[+|\\-|\\*|/|=|\\(|\\)]");
    		Matcher matcher = pattern.matcher(text);
    		
    		int prev = 0;
    		while(matcher.find()) {
    			String operator = text.substring(matcher.start(), matcher.end());
    			String operand = text.substring(prev, matcher.start());
    			System.out.printf("Operand: '%s', operator: '%s'\n", operand, operator);
    			prev = matcher.end();
    		}
    		if(prev > 0 && prev < text.length()) {
    			String last = text.substring(prev, text.length());
    			System.out.printf("Last: %s\n", last);
    		}


    Operand: '5', operator: '+'
    Operand: '', operator: '('
    Operand: '2', operator: '-'
    Operand: '3', operator: '*'
    Operand: '8', operator: '/'
    Operand: '10', operator: ')'
    Operand: '', operator: '/'
    Operand: '123', operator: '='
    Last: ERR

    Ну а если по взрослому - то вам в antlr - https://www.antlr.org/ или javaCC - https://javacc.github.io/javacc/

    ЗЫ. для antlr есть фал грамматики для калькулятора - https://github.com/antlr/grammars-v4/tree/master/c...
    И на почитать - https://www.baeldung.com/java-antlr
    Ответ написан
    Комментировать
  • Как из строки вытащить оператор "+"?

    @Cheypnow
    Если нужен разбор вместе со скобками и знаками с разным приоритетом, смотрите лучше в сторону обратной польской нотации.
    Один из примеров реализации на java
    Ответ написан
    Комментировать
  • Java. Как форматировать текст в JTextArea и JTextField (изменять цвет, шрифт и т.д.)?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Есть JEditorPane и JTextPane, на них и смотрите.
    Ответ написан
    Комментировать
  • Java. Как форматировать текст в JTextArea и JTextField (изменять цвет, шрифт и т.д.)?

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Любой коммит должен соответствовать одной задаче. В принципе первоначально должна быть задача, потом вы ее закрываете выкладывая новый функционал и тест его покрывающий.

    Правда мне встречался и ежедневный коммит, писали откровенную фигню, но тоже бывает
    Ответ написан
    2 комментария