Instantly share code, notes, and snippets.

View Java_is_still_free.md

Java Is Still Free

最近 Oracle JDK の配布方法とサポート方法が変更されたので、 Oracle JDK 、 Oracle's OpenJDK builds および他のプロバイダーがビルドした OpenJDK の扱いが分かりづらくなってしまった。 もちろん無償でアップデートするための方法や、複数のベンダーから提供される有償のサポートもある。 このドキュメントには(訳注:要点だけ知りたい人のための)ショートバージョンと詳細を含んだロングバージョンがある。

ショートバージョン

View CExp_include_c_exp.h
#ifndef C_EXP_H
#define C_EXP_H
#include <stdio.h>
void POSIX_print(char *string);
#endif
View gime-ext.groovy
@Grab('net.moznion:gimei:1.3.0')
import net.moznion.gimei.*
import net.moznion.gimei.name.*
interface GimeiExt {
Name generateName()
Male generateMale()
Female generateFemale()
}
View elasticsearch-kube.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
labels:
run: elasticsearch
spec:
replicas: 1
selector:
matchLabels:
View translate-bot.js
// Description:
// Utility commands surrounding Hubot uptime.
//
// Commands:
// ping - Reply with pong
// echo <text> - Reply back with <text>
// time - Reply with current time
'use strict';
let AWS = require('aws-sdk')
View App.kt
package com.example
import com.lisb.daab.ActionResponse
import com.lisb.daab.Response
import com.lisb.daab.Robot
import com.lisb.daab.TextMessage
import com.lisb.daab.message.QuestionAfterMessageHandler
import com.lisb.daab.message.QuestionSent
import com.lisb.daab.message.Stamp
import com.lisb.daab.receive.Receive
View compare-annotations.groovy
import java.lang.annotation.*
@Retention(RetentionPolicy.RUNTIME)
@Target([ElementType.TYPE, ElementType.METHOD])
@interface Foo {
String bar()
int baz()
}
@Foo(bar = 'test', baz = 1)
View App.java
/*
* Copyright 2018 Shinya Mochida
*
* Licensed under the Apache License,Version2.0(the"License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,software
View EchoServer.java
class EchoServer {
public static void main(String[] args) {
var serverSocket = new ServerSocket(8000); //(1)
while(true) {
Socket socket = serverSocket.accept(); // (2)
var reader = toBufferedReader(socket.getInputStream());
var writer = toPrintWriter(socket.getOutputStream());
String line;
while ((line = reader.readLine()) != null && !line.isEmpty()) { //(3) & (4)
writer.println(line); // (5)
View builder-patterns.md

ミュータブルなビルダー

ビルダークラスを簡単に作ろうとすると,どうしてもミュータブルになりがちです.

class Builder {
  String foo;
  String bar;