Web Framework Erguotou Web Framework 二锅头 基于fasthttp的轻量级web框架
erguotou "二锅头"是基于FastHttp的Http Web框架 品鉴、品味、品质,红星二锅头采用传统工艺传承八百年,国粹流芳,红星青花瓷,国粹二锅头...阅读全文
erguotou "二锅头"是基于FastHttp的Http Web框架 品鉴、品味、品质,红星二锅头采用传统工艺传承八百年,国粹流芳,红星青花瓷,国粹二锅头...阅读全文
package main import "fmt" import "time" func main() { // ch := make(chan int, 10) ch := make(chan int) go produce("生产者1",ch) go produce("生产者2",ch) time.Sleep(1 * time.Second) go use(ch) time.Sleep(101 * time.Second) } func produce(pname string,ch chan int) { for i:= 0;i < 20;i++ { fmt.Println("produce", pname ," : ", i) ch <- i // 这里需要在打印语句之后,否者可能产...阅读全文
最近两年产品经理岗位异常受欢迎,没技术的想做产品经理、有技术的也想转行做产品经理,甚至一线明星邓超也要做产品经理了。现在的产品经理岗位已经变成人人都可做的岗位了? 其实不然,产品经理岗位是一个对综合能力要求特别高的岗位,特别是硬件产品经理。今天在网上看到一个硬件产品经理的4种境界,感觉总结得特别到位,分享出来,供想从事或已经从事硬件产品经理岗位的童鞋参考,对比自己处于什么境界。 境界一:懂产品不懂技术 产品经理首选需要具备的就是要有“眼光”和“直觉”,不懂技术可以,但必须要懂市场。如果只有技术不懂市场,那你不应该是产品经理,而是研发人员。 这个阶段的产品经理已经过了懵懂期,有了一些小自信,尝到了一些小甜头,应该开始研究用户需求、消费潮流、行业趋势、同行竞争、 竞品分析...阅读全文
golang中比较好用的kafka client有 sarama confluent-kafka-go go_kafka_client optiopay-kafka siesta 其中 sarama的使用者应该是最多的, 然后还有一个sarama的cluster版本sarama-cluster 本文简单描述下sarama的一些简单使用 生产者接口 func producer_test() { fmt.Printf("producer_test\n") config := sarama.NewConfig() config.Producer.RequiredAcks = sarama.WaitForAll config.Producer.Partitioner = sarama.NewRand...阅读全文
packagemainimport("fmt""sync")//实现一个生产者和消费者/*生产者产生数据添加到通道里面,消费者消费数据从通道里面不带缓存实现*/funcmain(){ch:=make(chanint)varwgsync.WaitGroupwg.Add(2)goproducers(&wg,ch)goconsumer(&wg,ch)wg.Wait()}//生产者funcproducers(wg*sync.WaitGroup,chchanint){fori:=0;i<10;i++{fmt.Println("send:",i)ch<-i}close(ch)wg.Done()}//消费者funcconsumer(wg*sync.WaitGroup,chchanint){forv:=ra...阅读全文
package main import ( "fmt" "time" ) // 生产者 func producer(channel chan int){ for i:=0;i<100;i++{ fmt.Println("老怪创造了小怪", i) time.Sleep(time.Second) channel <- i } // 关闭通道 close(channel) } // 消费者 func consumer(name string, channel chan int, done chan bool){ for{ val, ok := <-channel if ok { fmt.Println(name, "消灭了怪物", val) }else{ fmt.Println("消灭了所有怪物!...阅读全文
**1**.商场里有n类产品,从高到低按价格排序,若价格相同则按生产日期排序,价格保留小数点后两位 ```go package main import ( "fmt" ) type Shop struct { Price float32 Date string } func main() { shops := []Shop{{1, "222"}, {7, "222"}, {3, "222"}, {4, "222"}, {5, "2018/1/21"}, {5, "2018/1/20"},{5, "2018/1/16"},{5, "2018/1/19"}} num :=len(shops) //先按价格用冒泡排序将商品从低到高排列好,若价格相同则判断日期,按由早到晚排序 for i:=0;i<...阅读全文
消息队列由生产者和消费者共同协作,生产者产生消息放入队列中,消费者从队列中取出消息。 1.消费者 type Producer struct { id int64 addr string conn producerConn config Config logger logger logLvl LogLevel logGuard sync.RWMutex responseChan chan []byte errorChan chan []byte closeChan chan int transactionChan chan *ProducerTransaction transactions []*ProducerTransaction state int32 concurrentProduce...阅读全文
``` package main import ( "fmt" "math/rand" "sync" ) func main() { c := sync.NewCond(&sync.Mutex{}) queueList := make(chan int, 10) //producer go func() { for { c.L.Lock() if len(queueList) == 5 { c.Wait() } num := rand.Intn(100) fmt.Println("Producer:", num) queueList <- num if len(queueList) == 5 { c.Signal() } c.L.Unlock() } }() //consumer go fu...阅读全文