https://github.com/zhenghaoz/gorse
https://gorse.io/
https://www.thinbug.com/q/58523439
https://www.sojson.com/jsondiff.html
https://mathpretty.com/10851.html
https://martin.kleppmann.com/2021/07/02/debs-keynote-thinking-in-events.html
go get github.com/zhenghaoz/gorse/…
https://docs.gorse.io/ch01-01-installation.html https://github.com/zhenghaoz/gorse/blob/master/config/config.toml.template
https://cdn.gorse.io/example/github.sql
create database gorse; mysql -h 127.0.0.1 -u root gorse < github.sql
gorse-master -c config.toml
gorse-server –master-host 127.0.0.1 –master-port 8086
–http-host 127.0.0.1 –http-port 8087
gorse-worker –master-host 127.0.0.1 –master-port 8086
–http-host 127.0.0.1 –http-port 8089 -j 4
Master Dashboard http://127.0.0.1:8088/ Server RESTful API http://127.0.0.1:8087/apidocs Server Prometheus Metrics http://127.0.0.1:8087/metrics Worker Prometheus Metrics http://127.0.0.1:8089/metrics
User: A user is identified by a string identifier.
type User struct { UserId string } Item: A item is identified by a string identifier. A timestamp is used to record the freshness of this item. The timestamp could be last update time, release time, etc. Labels are used to describe characters of this item, eg., tags of a movie.
type Item struct { ItemId string Timestamp time.Time Labels []string } Feedback: A feedback is identified a triple: feedback type, user ID and item ID. The type of feedback can be positive (like), negative (dislike) or neutural (read). The timestamp record the time that this feedback happened.
type Feedback struct { FeedbackType string UserId string ItemId string Timestamp time.Time }
Non-personalized recommendations (popular/latest/similar) are generated by the master node. Offline personalized recommendations are generated by worker nodes while online personalized recommendations are generated by server nodes.
There are 4 ranking models (BPR2/ALS3/CCD4) and 1 CTR model (factorization machines5) in Gorse. They will be applied automatically by model searcher. In ranking models, items and users are represented as embedding vectors. Since the dot product between two vectors is fast, ranking models are used to find top N items among all items. In CTR models, features from users or items are used in prediction. It’s expensive to use CTR models to predict scores of all items.
https://github.com/zhenghaoz/gitrec
https://docs.gorse.io/ch01-01-installation.html
standard_init_linux.go:228: exec user process caused: exec format error https://stackoverflow.com/questions/67658134/docker-on-m1-standard-init-linux-go219-exec-user-process-caused-exec-format https://github.com/moby/moby/issues/23865 https://axcoto.com/notes/2021-03-13-docker-apple-m-nginx-and-standard-init-linux-go-exec-user-process-caused-exec-format-error-/
https://stackoverflow.com/questions/68193908/docker-image-with-imported-volume-runs-on-docker-for-mac-fails-with-exec-forma
https://docs.docker.com/desktop/multi-arch/
https://www.cnblogs.com/-wenli/p/13307542.html
https://stackoverflow.com/questions/64125554/an-unexpected-error-occurred-https-registry-yarnpkg-com-react-unable-to-get
https://xargin.com/static-analysis/