Skip to content

Instantly share code, notes, and snippets.

View amata1219's full-sized avatar

amata1219 amata1219

View GitHub Profile
@amata1219
amata1219 / catalytic.md
Last active April 30, 2023 11:48
ScyllaDB用のRust ORMであるCatalyticのチュートリアル(次のリンクを元にChatGPTで生成: https://www.scylladb.com/2022/02/15/introducing-catalytic-an-orm-designed-for-scylladb-and-cassandra-written-in-rust/)

ScyllaDBおよびCassandra用のRust ORM、Catalyticを始める方法

このチュートリアルでは、Rustで記述されたScyllaDBとCassandra用の非常に高速で安全なORM(Object-Relational Mapping)であるCatalyticを使い始める方法を学びます。

前提条件

  • Rustの基本的な理解
  • ScyllaDBがインストールされ、実行されている(できればDockerを使用)
  • ScyllaDBとCassandraの概念に精通している

概要

@amata1219
amata1219 / EntityStack.java
Created April 24, 2022 08:13
Record for easy handling of stacked entities.
import org.bukkit.Location;
import org.bukkit.entity.Entity;
import java.util.List;
public record EntityStack(List<Entity> entities) {
public void stack() {
if (entities.size() <= 1) return;
unstack();
@amata1219
amata1219 / SelfCountableTask.java
Last active January 1, 2021 06:11
実行回数を自身でカウント可能なBukkitTask。
import org.bukkit.scheduler.BukkitTask;
import java.util.function.BiConsumer;
import java.util.function.Function;
public class SelfCancelableTask implements Runnable {
private final BiConsumer<Long, BukkitTask> processing;
private long count;
private BukkitTask runningTask;
@amata1219
amata1219 / BukkitRunner.java
Last active December 31, 2020 19:15
runTaskLater in runTaskLater をStream風に記述出来るようにするクラス。
public abstract class BukkitRunner implements Runnable {
private BukkitRunner head;
private BukkitRunner next;
private long delay;
public static BukkitRunner of(long delay, Runnable processing) {
BukkitRunner runner = new BukkitRunner() {
@Override
public void process() {
import java.math.BigDecimal;
import java.math.BigInteger;
public class Main {
private static final int N = 100;
//メンバー数
public static void main(String[] args) {
BigInteger sum = BigInteger.ZERO;
@amata1219
amata1219 / AsyncTask.java
Last active December 14, 2020 14:39
自己キャンセル可能な非同期タスクの定義と実行を簡潔に記述する為の関数型インターフェースです。
import java.util.function.Consumer;
import org.bukkit.Bukkit;
import org.bukkit.scheduler.BukkitTask;
public interface Async extends Runnable {
public static void main(String[] $){
define(self -> {
if(self.count() < 10) System.out.println();
@amata1219
amata1219 / Recursable.java
Last active December 14, 2020 14:36
関数型インターフェースを用いた再帰関数の簡潔な記述を可能にします。
@FunctionalInterface
public interface Recursable<T, R> {
public static void main(String[] args){
Recursable<Integer, Integer> factorial = define((n, self) -> {
if(n <= 1) return n;
else return n * self.apply(n - 1);
});
System.out.println(factorial.apply(6));
}