×
👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

На Go теж доволі швидко, може запропонувати порівняти в наступній статті
playground

package gouuid

import (
	"github.com/google/uuid"
	"github.com/stretchr/testify/require"
	"strings"
	"testing"
)

const (
	input = `53d33661-95f4-4410-8005-274cb477c318,                  fd9cef68-7783-449e-bd02-f6aa1591de84,
6160607e-c770-40ab-94be-ddd5dd092300,        4a35fac7-6768-4c57-8a06-42b96c5b3438,7864a0db-1707-4358-b877-594bc4648f6b,
68d2091f-e194-4361-a1a4-f38332b1ab13,    
979cde21-0b24-433e-9790-8d52daf125fd,  
83a36f67-db75-4b8f-92a8-369001416a5e,            I_AM_NOT_A_GUID,3f4d46ca-0b38-4f65-b915-d280187bcc4f,  
71ba44b1-eb6d-472c-841a-56f08f08ec87,                   d12be9e7-2eb6-4841-b9d0-275db66a4d6e,
f9942cff-c51e-4d48-9b8e-225edc397528,   `
)

func ExtractIDs(input string) []string {
	var tokens = strings.Split(input, ",")
	var result = tokens[:0] // reuse

	for _, token := range tokens {
		var trimmed = strings.TrimSpace(token)

		if _, err := uuid.Parse(trimmed); err == nil {
			result = append(result, trimmed)
		}
	}

	return result
}

func TestExtractIDs(t *testing.T) {
	require.Equal(
		t,
		[]string{"53d33661-95f4-4410-8005-274cb477c318", "fd9cef68-7783-449e-bd02-f6aa1591de84", "6160607e-c770-40ab-94be-ddd5dd092300", "4a35fac7-6768-4c57-8a06-42b96c5b3438", "7864a0db-1707-4358-b877-594bc4648f6b", "68d2091f-e194-4361-a1a4-f38332b1ab13", "979cde21-0b24-433e-9790-8d52daf125fd", "83a36f67-db75-4b8f-92a8-369001416a5e", "3f4d46ca-0b38-4f65-b915-d280187bcc4f", "71ba44b1-eb6d-472c-841a-56f08f08ec87", "d12be9e7-2eb6-4841-b9d0-275db66a4d6e", "f9942cff-c51e-4d48-9b8e-225edc397528"},
		ExtractIDs(input),
	)
}

func BenchmarkExtractIDs(b *testing.B) {
	for i := 0; i < b.N; i++ {
		_ = ExtractIDs(input)
	}
}
BenchmarkExtractIDs   	  655533	      1627 ns/op	     328 B/op	       6 allocs/op
PASS

Курс від egghead.io, зазвичай в них дуже якісні уроки

Небольшая печалька для скала програмистов(scala vs rust)

youtu.be/Oy_VYovfWyo?t=874

интересный послужной список у парниши github.com/zesterer/hire-me

Як на мене, цей хлопець вже має сам наймати в свою ІТ компанію

static site generator github.com/getzola/zola , навіть є готові теми

cobalt-org.github.io , github.com/cobalt-org/cobalt.rs — тоже интересный генератор статических сайтов. :-)

было бы клево если бы функи можно было так декларировать
#i32,i32->i32
fn add(x,y){
}
вместо
fn add(x:i32, y:i32) -> i32{}

если бы еще создали предефайнед сборки с самыми популярными пакетами, чтобы не компилировать под каждый проект заново, иногда занимают по 200-900 мег

кто нибудь юзал rocket or actix-web, какие ощущения?

gluon-lang.org — ИМХО как по-мне этот язык, написанный на расте, 100% должен быть интересен любителям раста. :-)

Підписатись на коментарі