Имам няколко идеи за проект. Накарая ще се спра над една, но на първо време искам да попитам кои от изброените са изобщо подходящи. Ще допълня описанията, ако не са изчерпателни.
1. Go imports upgrade:
По настоящем go import прави следното:
INPUT:
import (
"fmt"
"github.com/gorilla/mux"
"io/ioutil"
"code.fmi.com/x/config"
opentracing "github.com/opentracing/opentracing-go"
"net/url"
uuid "github.com/satori/go.uuid"
"code.fmi.com/x/config"
"crypto/sha1"
)
OUTPUT:
import (
"fmt"
"io/ioutil"
"github.com/gorilla/mux"
"net/url"
"code.fmi.com/x/config"
opentracing "github.com/opentracing/opentracing-go"
uuid "github.com/satori/go.uuid"
"code.fmi.com/x/config"
"crypto/sha1"
)
PROJECT IDEA:
import (
"fmt"
"net/url"
"io/ioutil"
"crypto/sha1"
"github.com/gorilla/mux"
uuid "github.com/satori/go.uuid"
opentracing "github.com/opentracing/opentracing-go"
"code.fmi.com/x/config"
"code.fmi.com/x/config"
)
2. Hot code Reload
При запеметяване на файл от някакъв проект, да се презареди самия проект. Това означава да се компилира с новите промените и да пусне наново.
3. Distributed Кey Value Store
Дистрибутиран Key-Value store, който менажира записи с формат:
key:blob_value
4. Go Change Tracer
За множество от променени файлове F, да се върне множество от директории D, където всеки член да D отговаря на слените условия:
- поддиректория на текущата working directory
- съдържа поне един файл *_test.go, който има depedency(транзитивно или директно) от пакети, съдържащи файл от множеството F
F може да е изхода от git diff --name-only
Може да се направи кеш на изхода, ако няма промени.