Skip to content

Instantly share code, notes, and snippets.

@linnv
linnv / rabbitmq-demo.go
Last active July 17, 2023 13:25
all kinds of exchange demo of rabbitmq in golang
package main
import (
"flag"
"fmt"
"log"
"strconv"
"time"
"github.com/streadway/amqp"
@linnv
linnv / go.mod
Last active October 22, 2022 02:20
### A demo that shows how to exact RTP payload and convert to WAV, there are some key points on comment
module rtpdemo
go 1.18
require (
github.com/go-audio/audio v1.0.0
github.com/go-audio/wav v1.1.0
github.com/jart/gosip v0.0.0-20220818224804-29801cedf805
github.com/linnv/logx v1.3.5
github.com/zaf/g711 v0.0.0-20220109202201-cf0017bf0359
@linnv
linnv / es-mapping-date-detect-issue.sh
Created February 12, 2022 00:42
all in one operation of elastic search CRUD, DDL by curl
#!/usr/bin/env bash
getAddr()
{
cat <<EOF
http://elastic:Qnzs2020@172.26.50.105:9230
EOF
}
# curl -XDELETE "$(getAddr)/mappingdetectdemo?pretty"
package demo
import (
"context"
"log"
"math/rand"
"path"
"time"
clientv3 "github.com/coreos/etcd/clientv3"
@linnv
linnv / mergesort.go
Last active July 31, 2019 11:29
merge sort parallelly, reuse slice
package main
import (
"sync"
)
const parallelBySliceLength = 1 << 10 * 3
func MergeSortLoop(src []int64) {
srcReadOnly := make([]int64, len(src))//update only in merge stage
@linnv
linnv / qps-rate-limiting.go
Last active June 30, 2021 09:34
HTTP QPS rate limiting in Golang
package main
import (
"flag"
"fmt"
"log"
"net/http"
"os"
"os/signal"
"time"
@linnv
linnv / adding-version.go
Last active September 2, 2017 23:34
auto update app version from git for Golang
package main
import (
"flag"
"os"
"strings"
)
var (
Version = "1.0.0"
@linnv
linnv / mongodb-multi-collection-query-by-go.go
Last active June 6, 2017 02:47
multi collection querying using aggregation pipeline implemented by go
// import (
// "fmt"
// "time"
//
// mgo "gopkg.in/mgo.v2"
// "gopkg.in/mgo.v2/bson"
// )
// ``` cmd in mongo shell
// db.Slot.aggregate([
@linnv
linnv / redis-sub-pub-golang-demo.go
Last active July 11, 2016 02:29
redis sub/pub demo implement by golang
package main
import (
"encoding/json"
"fmt"
"log"
"time"
"gopkg.in/redis.v2"
)
#!/usr/bin/env bash
cids=`docker ps -a | awk 'FNR>1 {print $1}'`
function stop() {
for v in $cids
do
echo "stop "$v
docker stop $v
done