Ответы пользователя по тегу Программирование
  • Как сделать .collect() в лямбдавыражении?

    Collector.of(
        TreeMap::new,
        (map, e) -> map.put(e.getKey, e.getValue()),
        (left, right) -> {left.putAll(right); return left;}
        EnumSet.of(Collector.Characteristics.UNORDERED, Collector.Characteristics.IDENTITY_FINISH))

    как-то так.
    Ещё можно написать свой Collector
    Но можно проще так:
    NavigableMap<Integer, Items> result = new TreeMap<>();
    
    ...forEach(e -> result.put(e.getKey(), e.getValue())
    Ответ написан
    2 комментария
  • Языки разметки и декларативные языки

    Все языки транслируются. И не важно, декларативные это языки или императивные.

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

    Например, Markdown и Wiki транслируются в HTML. JSP - в Java. Си - в ассемблер, объектный код, исполнимый код.

    Языки разметки можно назвать частным случаем декларативных языков. Но чаще - это лишь формат представления данных, который транслируется в некоторое внутреннее представление (интерпретация), но не в исполнимый код (компиляция). JSP - одно из исключений.
    Ответ написан
    Комментировать
  • Java, чтение файла

    Вы ж поток закрыли перед тем, как начать его читать.
    Ответ написан
  • Java. Сериализация объекта в html

    Velocity Templates?
    Ответ написан
    Комментировать
  • Есть конкретная цель - нужны советы по ее воплощению

    Вы реально хотите променять физику на "хочу чтобы по кнопочке играла музычка"?

    Программисты решают задачи подручными средствами. В вашем случае - без программирования. Если бы у вас хоть как-то соображала голова в области управления компьютером (в т.ч. программировании) вы бы уже "задачу" решили. Бросьте идею заниматься программированием, пока не поздно. Это не ваше.
    Ответ написан
    3 комментария
  • Сколько времени в среднем проходит для освоения программирования с нуля и возможностью заработка?

    Хорошим программистом можно стать только если это занятие нравится. По крайней мере в первые годы это занятие должно приносить удовольствие само по себе. Это должно быть стремление, страсть, талант. Если бы у вас это было, вы бы вопросы здесь не задавали, а просто программировали. Не важно что.

    То, что вам, похоже, нужно - это быстрый заработок. Для этого нужно изучить спрос, и сопоставить его с вашими возможностями. Здесь уже писали, что хороший источник статистики спроса - это фриланс-биржи. Смотрите заказы, ищете наиболее популярные темы. Всякие там Wordpress и django с RoR для веб, а может что-то по мобильной разработке, но это уже сложнее. Смотрите, что это такое (по попсовым темам очень много материалов), изучаете (попсовые темы потому и попсовые, что легки в освоении) и практикуетесь.

    С выходом на фриланс лучше повременить. Не имея опыта можно сходу угробить себе репутацию, а исправить это тяжело. Лучше пойдите к кому-нибудь в подмастерья. Есть у вас на районе веб-студии небольшие? Вот к ним. У них вечно работы больше, чем исполнителей. И не звездите сразу. Подмастерья зарабатывают мало. Немного опыта на реальных проектах - и вы готовы конкурировать с индусами на фриланс-биржах...

    Ответ написан
    Комментировать
  • Программирование com-портов. Изменение буфера r/w FIFO?

    Мда, а размер буфера PureJavaComm не устанавливает.
    Ответ написан
    Комментировать
  • Программирование com-портов. Изменение буфера r/w FIFO?

    В коде драйверов COM-портов для Java, например в PureJavaComm, встречал очень простой способ: смотрим скорость передачи и делим на неё размер данных. Получаем время, которое нужно подождать до завершения передачи.

    rs232 ну очень примитивный протокол. Передача идёт постоянно, с одной и той же скоростью, пока в буфере есть данные. И не важно, подключено ли к порту устройство, которое эти данные получает. Способа определить наличие устройства нет.

    Ну а размер буфера указать можно, так же как и и узнать переданы ли все данные из буфера. Сказать какие ioctl использовать, к сожалению, не могу. Но разобраться довольно легко. Для примера, как это делается, можно заглянуть в код PureJavaComm — там есть соответствующие вызовы.
    Ответ написан
  • Булевское свойство или функция

    С точки зрения эволюции кода, безопаснее использовать, например, перечисления (enum). Не «правильнее», а именно «безопаснее», в смысле будущих модификаций.

    Вдруг (наверняка?) у вас возникнет необходимость в дополнительных способах аутентификации (OAuth например)? В случае использования перечислений (или других аналогов шаблона «визитёр» — типа case classes из Scala), среда разработки подскажет вам, где вы забыли учесть новый вариант аутентификации. Не знаю как Visual Studio, а Eclipse или IDEA выдадут предупреждение в следующем коде:
    switch (principal.getAuthMethod()) {
    case LOGIN: /* Login / password auth */
        break;
    case CERTIFICATE: /* Certificate auth */
        break;
    }
    

    как только добавится новый тип аутентификации (OAUTH). Это даст вам знать, что вы забыли учесть новый способ ещё в каком-то месте.

    Так что если IDE помогает в таком деле, то почему бы этим не воспользоваться?
    Ответ написан
    Комментировать
  • Где искать «командного» фрилансера?

    А «командные» фрилансеры без собственной команды разве бывают? Как вы вообще представляете себе работу с малознакомым человеком удалённо, но «в команде»? Фрилансеры-одиночки, как правило, берут чётко поставленную задачу и выполняют её. Качественно и в срок. Этим и обеспечивается репутация. Если же вы не в состоянии чётко сформулировать задачу, то что можно сказать о вашем отношении к архитектуре?

    Так что ответ: нигде.
    Ответ написан
    3 комментария