хотел бы писать вещи, которые можно пощупать руками и показать друзьям
- В веб идти не очень хочу
работа сугубо в крупных компаниях и крупных городах.не волнуйся, всегда полно работы в маленьких городах и маленьких компаниях за копейки. Тут каждому свое
которые можно просто запустить у себя на компеда любые просто
Kotlin я уже пробовал, и он мне не очень понравилсяхреново, типичный синтаксис современного ооп языка
- В джаве все действительно настолько страшно, или я сам придумал - сам испугался?если говорить аналогиями, в русском все страшно или может все таки зависит от сферы и места работы? тебе не романы писать или новые языковые конструкции. Джава обычный язык общего назначения.
Есть ли у меня соответствующие моим запросам альтернативы?ну я вижу одни "мне не нравится". И это перекрывает буквально все сферы. Выглядит как "хочу чтобы ничего не делать, было легко и много денег за это". Так тут все просто, найти легкую работу и на джаве можно, даже без спринга, и будешь копейки получать(лично у меня такая была). Много всем подряд не платят. Традиционно просто джава в банках используется, а эта сфера сложная. Но есть и другие сферы, да и в банках много левых проектов.
И решение, если я читаю часы-минуты-секунды и получаю в секундах 00 - то мне следует перечитать минуты ещё раз и сделать вывод.
<profiles>
<profile>
<id>java</id>
<properties>
<main.class.name>org.example.JavaTemplate</main.class.name>
<jar.name>java-template</jar.name>
</properties>
</profile>
<profile>
<id>java-kafka-producer</id>
<properties>
<main.class.name>org.example.kafka.JavaKafkaProducerTemplate</main.class.name>
<jar.name>java-kafka-producer-template</jar.name>
</properties>
</profile>
....
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<Main-Class>${main.class.name}</Main-Class>
</manifest>
</archive>
<finalName>${jar.name}</finalName>
</configuration>
</plugin>
java-kafka-producer-template: build
mvn package -DskipTests -Pjava-kafka-producer
cp -f target/java-kafka-producer-template.jar ./bin/
build: clean
mvn install dependency:copy-dependencies
cp -f target/dependency/* ./bin/
rsync src/main/resources/shell/* ./bin
clean:
rm -fr bin/*
mkdir -p bin/
...
@Test
void testMultiproducer() throws InterruptedException {
Sinks.Many<Integer> sinksA = Sinks.many().multicast().onBackpressureBuffer();
Sinks.Many<Integer> sinksB = Sinks.many().multicast().onBackpressureBuffer();
Sinks.Many<Integer> sinksC = Sinks.many().multicast().onBackpressureBuffer();
Sinks.Many<Integer> sinkCommon = Sinks.many()
.multicast()
.onBackpressureBuffer();
sinkCommon.asFlux()
.mergeWith(sinksA.asFlux().delayElements(Duration.ofMillis(100)))
.mergeWith(sinksB.asFlux().delayElements(Duration.ofMillis(200)))
.mergeWith(sinksC.asFlux().delayElements(Duration.ofMillis(300)))
.subscribe(e -> log.info("Element {}", e)); // Your consumer
IntStream.range(0, 100)
.forEach(sinksA::tryEmitNext); // Your producers
IntStream.range(1000, 1100)
.forEach(sinksB::tryEmitNext);
IntStream.range(2000, 2100)
.forEach(sinksC::tryEmitNext);
Thread.sleep(10000); // Is necessary for test only
}