Skip to content

Instantly share code, notes, and snippets.

View SolaTyolo's full-sized avatar

SolaTyolo SolaTyolo

  • treelab
  • Shanghai
View GitHub Profile
package main
import (
"fmt"
"github.com/xuri/excelize/v2"
)
func main() {
f := excelize.NewFile()
@SolaTyolo
SolaTyolo / worker_pool.go
Created October 26, 2022 19:04
impl worker pool use golang
package main
import (
"fmt"
"time"
)
const TASK_CAP = 50
const WORKER_CAP = 10
@SolaTyolo
SolaTyolo / LFU.go
Created December 1, 2021 05:32
cache using LFU algo
package main
type node struct {
key, val, times int
prev, next *node
}
type LFUCache struct {
key2Node map[int]*node
//每个次数链表的虚拟头尾节点
@SolaTyolo
SolaTyolo / docker_shell.sh
Created November 7, 2021 14:10
awesome shell script of docker clean
# 默认列出运行的容器, -a 选项列出包含停止的容器
docker container ls
# 列出镜像信息,-a 选项会列出 intermediate 镜像
docker image ls
# 列出数据卷。
docker volume ls
# 列出 network。
docker network ls
# 显示系统级别的信息,比如容器和镜像的数量等。
docker info
@SolaTyolo
SolaTyolo / go_stack.go
Created November 3, 2021 16:47
a generic stack impl
package stack
type StackItem struct {
item interface{}
next *StackItem
}
// Stack is a base structure for LIFO
type Stack struct {
sp *StackItem
@SolaTyolo
SolaTyolo / go_queue.go
Created November 3, 2021 16:47
a generic queue implementation
package queue
type QueueItem struct {
item interface{}
prev *QueueItem
}
// Base data structure for Queue
type Queue struct {
current *QueueItem
@SolaTyolo
SolaTyolo / simple-factory.go
Created November 2, 2021 16:07
golang design pattern -- simple factory
package simplefactory
import "fmt"
//API is interface
type API interface {
Say(name string) string
}
//NewAPI return Api instance by type
@SolaTyolo
SolaTyolo / FIFO_by_stack.go
Created November 1, 2021 03:51
use two stack(fito) instance a FIFO
package main
type MyQueue struct {
inS, outS []int
}
func Constructor() MyQueue {
return MyQueue{}
}
package main
type LRUCache struct {
capacity int
size int
cache map[int]*LinkedNode
head, tail *LinkedNode
}
type LinkedNode struct {
@SolaTyolo
SolaTyolo / m-binary-tree.go
Created October 15, 2021 07:35
multi binary tree
type TreeNode struct {
Val int
Parent *TreeNode
Children []*TreeNode
}
func traverse( t *TreeNode ) {
for i:= 0 ; i < len(t.Children) ; i++ {