<prompt> Unda huduma ya kifupi cha URL huko Golang. Watumiaji wanapaswa kuwa na uwezo wa kuwasilisha URL ndefu kupitia ombi la HTTP POST, na huduma inapaswa kurudisha URL iliyofupishwa. Hifadhi ramani kati ya URL ndefu na fupi katika hifadhidata ya Cassandra. Watumiaji wanapotembelea URL iliyofupishwa, wanapaswa kuelekezwa kwenye URL asili ndefu.  <response>: Ili kuunda huduma ya kifupi cha URL huko Golang, utahitaji kufuata hatua hizi:1. Weka mazingira yako ya ukuzaji na Go na Cassandra.2. Unda mpangilio wa hifadhidata unaohitajika kwa ajili ya kuhifadhi URL ndefu na fupi.3. Tekeleza seva ya HTTP inayoshughulikia maombi ya POST kwa kuunda URL zilizofupishwa na GET maombi ya kuelekeza watumiaji kwenye URL ndefu za asili.Hapa kuna sampuli ya utekelezaji wa huduma ya kifupisho cha URL kwa kutumia Go na Cassandra:1. Sakinisha Go na usanidi nafasi yako ya kazi: Sakinisha Cassandra: Sakinisha kiendeshi cha GoCQL cha kuunganisha kwa Cassandra kutoka kwa Go: nenda upate github.comgocqlgocqlSasa wacha tuunde schema ya hifadhidata inayofaa: sqlCREATE KEYSPACE url_shortener WITH replication darasa: SimpleStrategy, replication_factor: 1;TUMIA url_shortener;TUNZA url za TABLE id UUID FUNGUO YA MSINGI, maandishi_ya_refu, maandishi_fupi_ya_url;Ifuatayo, tutatekeleza seva ya HTTP katika Go:nendakifurushi kikuukuagiza fmtloginethttpgithub.comgocqlgocqlfunc main Unganisha kwa Cassandranguzo : gocql.NewCluster127.0.0.1cluster.Keyspace url_shortenerkipindi, hitilafu : cluster.CreateSessionikiwa makosa ! nil log.Fatalhitilafukuahirisha kipindi.Fungahttp.HandleFuncfupisha, funcw http.ResponseWriter, r http.Request longURL : r.FormValueurl Tengeneza kitambulisho cha kipekee cha URL fupiid : gocql.TimeUUIDshortURL : fmt.Sprintf r.Host, id.String Ingiza ramani kwenye hifadhidataerr : session.QueryINGIZA NDANI ya urls id, long_url, short_url VALUES ?, ?, ?, id, longURL, shortURL.Execikiwa makosa ! nil http.Kosaw, Hitilafu katika kuunda URL fupi, http.StatusInternalServerErrorkurudiw.WritebyteshortURLhttp.HandleFunc, funcw http.ResponseWriter, r http.Ombi shortURL : fmt.Sprintf r.Host, r.URL.Pathvar longURL kambaerr : session.QueryCHAGUA long_url KUTOKA url WHERE short_url ?, shortURL. ChanganualongURLikiwa makosa ! nil http.Haijapatikanaw, rkurudihttp.Redirectw, r, longURL, http.StatusFoundlog.Fatalhttp.ListenAndServe:8080, nilIli kuendesha seva, hifadhi msimbo katika faili iitwayo main.go na utekeleze go run main.go. Seva itaanza kusikiliza kwenye bandari 8080.Sasa unaweza kujaribu huduma kwa kutuma ombi la HTTP POST ili kuunda URL iliyofupishwa:bashicurl -X POST -d url inapaswa kurudisha jibu kama URL hii fupi katika kivinjari chako kunafaa kukuelekeza kwenye URL asili ndefu. 