Skip to content

Instantly share code, notes, and snippets.

View alexcheng1982's full-sized avatar
๐ŸŽ‰
AI time

Fu Cheng alexcheng1982

๐ŸŽ‰
AI time
View GitHub Profile
@alexcheng1982
alexcheng1982 / generate_keystore.sh
Created December 12, 2017 16:46
Generate keystore
keytool -keystore mykey.jks -alias mykey -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -genkey -validity 3650
package calculator
actual fun log(msg: String) = console.log(msg)
fun main(args: Array<String>) {
Calculator.add(1, 2)
Calculator.subtract(1, 2)
}
package calculator
actual fun log(msg: String) = System.out.println(msg)
fun main(args: Array<String>) {
Calculator.add(1, 2)
Calculator.subtract(1, 2)
}
package calculator
expect fun log(msg: String)
object Calculator {
fun add(x: Int, y: Int): Int {
log("add -> $x $y")
return x + y
}
id:0
event:random
data:751025203
id:1
event:random
data:-1591883873
id:2
event:random
import org.springframework.http.codec.ServerSentEvent;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
import reactor.util.function.Tuples;
import java.time.Duration;
import java.util.concurrent.ThreadLocalRandom;
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class FunctionalStarterApplicationTests {
@Autowired
private TestRestTemplate restTemplate;
@Test
public void calculate() {
assertThat(doCalculate("add", "3", "5")).isEqualTo("8");
assertThat(doCalculate("subtract", "3", "5")).isEqualTo("-2");
assertThat(doCalculate("multiply", "3", "5")).isEqualTo("15");
@Configuration
public class Config {
@Bean
@Autowired
public RouterFunction<ServerResponse> routerFunction(final CalculatorHandler calculatorHandler) {
return RouterFunctions.route(RequestPredicates.path("/calculator"), request ->
request.queryParam("operator").map(operator ->
Mono.justOrEmpty(
ReflectionUtils.findMethod(CalculatorHandler.class, operator, ServerRequest.class))
.flatMap(method -> (Mono<ServerResponse>) ReflectionUtils
@Component
public class CalculatorHandler {
public Mono<ServerResponse> add(final ServerRequest request) {
return calculate(request, (v1, v2) -> v1 + v2);
}
public Mono<ServerResponse> subtract(final ServerRequest request) {
return calculate(request, (v1, v2) -> v1 - v2);
}
public Mono<ServerResponse> multiply(final ServerRequest request) {
return calculate(request, (v1, v2) -> v1 * v2);
@alexcheng1982
alexcheng1982 / Dockerfile
Last active June 6, 2016 21:51
Java 8 + Maven 3.3.9 - Dockerfile
FROM phusion/baseimage
CMD ["/sbin/my_init"]
RUN apt-get update && apt-get install -y --no-install-recommends \
bzip2 \
unzip \
xz-utils \
&& rm -rf /var/lib/apt/lists/*