Git Naming Convention
- Branch naming convention
- master (production code)
- sandbox (staging code)
- develop (development code)
- feature/XXX
- release/XXX
- hotfix/XXX
import com.comphenix.protocol.PacketType | |
import com.comphenix.protocol.ProtocolLibrary | |
import com.comphenix.protocol.events.PacketAdapter | |
import com.comphenix.protocol.events.PacketContainer | |
import com.comphenix.protocol.events.PacketEvent | |
import org.bukkit.entity.Entity | |
import org.bukkit.entity.Player | |
import org.bukkit.event.EventPriority | |
import org.bukkit.event.entity.EntityDeathEvent | |
import org.bukkit.event.player.PlayerQuitEvent |
import com.fasterxml.jackson.databind.ObjectMapper | |
import com.fasterxml.jackson.databind.type.CollectionType | |
import org.jetbrains.exposed.sql.Column | |
import org.jetbrains.exposed.sql.ColumnType | |
import org.jetbrains.exposed.sql.Table | |
fun <T : Any> Table.array(name: String, clazz: Class<T>, jsonMapper: ObjectMapper = ObjectMapper()): Column<Array<T>> | |
= registerColumn(name, ArrayType(clazz, jsonMapper)) | |
class ArrayType<out T: Any>(private val clazz: Class<T>, private val mapper: ObjectMapper): ColumnType() { |
package me.oska.plugins.event; | |
import org.bukkit.event.Event; | |
import org.bukkit.event.EventException; | |
import org.bukkit.event.Listener; | |
import org.bukkit.plugin.EventExecutor; | |
import org.jetbrains.annotations.NotNull; | |
import java.util.HashMap; | |
import java.util.Map; |
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/7QCEUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAGgcAigAYkZCTUQwYTAwMGE2ZTAxMDAwMGM2MDIwMDAwZDkwNDAwMDA0MTA1MDAwMGFjMDUwMDAwMzgwODAwMDAxYTBiMDAwMDkzMGIwMDAwMTEwYzAwMDA5NDBjMDAwMDFiMTEwMDAwAP/bAEMABgQFBgUEBgYFBgcHBggKEAoKCQkKFA4PDBAXFBgYFxQWFhodJR8aGyMcFhYgLCAjJicpKikZHy0wLSgwJSgpKP/bAEMBBwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKP/CABEIAJYAlgMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAABQYDBAcCAf/EABgBAQEBAQEAAAAAAAAAAAAAAAABAgME/9oADAMBAAIQAxAAAAHqgAAAAAAAAAAAIeqx8Zy6WOX53Zi+xmlU7JaQp2PN6Fv8+tlWHa0d7rzAAAA5DZov7w9GfU97dV/Drz9zI6+5HTcBaYaRY6NkxZe3EAAADn2WOguPotWtrZlqHUuW3G5lWPFN54j3UWe5Z6VdevALAAAON13anMWD92KNajdPY1c7vcxC7FU+K96iX/q3Ievb5hYAAByLJYdPG80HD7ksHqysVndskoiX3imx09j59Lh0eGme/nAAAA5LhmYnh2ps7JlxRHSce80ydz7dlIs9r37Pe7FSusAAAAV2odEiMb57ix+uHotdn5ntdOXQ9Guae8WzU05Dn092/V2u3ELAAAPkXKioerazqo5LUin4LuuaFlvCo2SAKAAAAAAAAAAA/8QAJxAAAgIBAwMFAAMBAAAAAAAAAgMBBAUAERITITAGFBUjMhYiUDH/2gAIAQEAAQUC/wAq7alIOy9gCDMWC1715goyIMjf9sMZhxAnKMklX |
package me.ms.plugin.inventory; | |
public class ExampleInventory extends InventoryUI<ExampleInventory.Props, ExampleInventory.State> { | |
protected ExampleInventory(Props props) { | |
super("ExampleInventory", 54, props, null); | |
} | |
public class Props { |
package me.oska.plugins.logger; | |
import com.google.gson.JsonObject; | |
import me.oska.minecraft.OskaRPG; | |
import org.apache.commons.lang.exception.ExceptionUtils; | |
import org.bukkit.Bukkit; | |
import javax.net.ssl.HttpsURLConnection; | |
import java.io.*; | |
import java.net.URL; |
staging: | |
image: node:10.19.0 # can replace to your image | |
stage: deploy | |
only: | |
- master # target to branch? | |
script: | |
# apply ssh private key | |
- "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )" | |
- eval $(ssh-agent -s) | |
- ssh-add <(echo "$SSH_PRIVATE_KEY") |
Git Naming Convention
const App = getApp(); | |
Page({ | |
data: { | |
// data decleration 应该放上面,方便进来查看变数的时候直接看得到 | |
}, | |
async fetchStore() { | |
// 处理API 并且获取data, 和处理 error handling 之类的 | |
return data; | |
}, |
Utility function for building data loader for loading repeating data in relational. There still many other use case.
DataLoader is a generic utility used to abstract request batching and caching. It use to solve N+1 Problem when using with data loading. BatchLoader taking all of the required keys when preload and postload return the data to the stack where we call.