Próbował ktoś może się przebranżowić na pełnoprawnego #golang Developera? Przeglądałem ostatnio oferty na popularniejszych serwisach i w sumie każda wymagała lat doświadczenia w #golang podejrzewam, że komercyjnego, a nie takiego z pet projectów, więc czy istnieje w ogóle jakaś możliwość wejścia w tę technologię? Oczywiście pomijając sytuacje, gdy aktualny pracodawca zmienia/wprowadza nową technologię.

#programowanie
@right_hook: ja się wkręciłem w pracę, gdzie nie trzeba było mieć doświaczenia. Zgaduję, że teraz jest gorzej, bo ssanie na programistów mniejsze jak i programistów go jest po prostu więcej

Pewnie na twoim miejscu szukałbym takich ofert albo firmy, która niekoniecznie wymaga znajomości danej technologii tylko znajomości innych technologii backendowych.
  • Odpowiedz
Jak Ci się podoba pisanie w GO?

@NikolajTesla1991: bardzo mi sie podoba, to moj glowny jezyk i nie zamierzam sie przesiadac poki co. Bardzo fajna biblioteka standardowa, mega szybki kompilator i prosta cross-kompilacja, masz jedna binarke ktora deployujesz gdzie trzeba i spokoj. Lubie syntax, latwo sie pisze i czyta, i jest duzo utartych standardow/patternow co tez ulatwia prace w zespole. Bardzo szybko sie pisze tez np. narzedzia CLI, albo jakies jednorazowe
  • Odpowiedz
@Nofenak: Z tych dwóch wybrałbym Rust. Programistów jest relatywnie mało. Praca często w specyficznych branżach i technologiach. To razem sprawia, że stawki są lepsze. Poza tym to jest naprawdę narzędzie ogólnego przeznaczenia. Możesz w tym pisać naprawdę low-levelowy kod pod specyficzne wymagania. Kod jest natywny, nie masz garbage collectora, więc wydajność i latency są bardzo dobre, a nie musisz się męczyć jak w C.
  • Odpowiedz
Mam aplikację opartą na zasadzie mikroserwisów: Go-lang (gin) i aplikację Vue, oraz serwer WebDAV w Rust (hyper + jakaś biblioteka do WebDAV). Obie aplikacje to zupełnie osobne projekty. Chciałbym, aby można było wrzucić coś na serwer za pomocą formularza, a potem, aby użytkownik po zalogowaniu na GNOME Account miał dostęp tylko do swoich plików.
Jak się integruje takie mikroaplikacje? Napisać jakiś konfig i jego obsługę w obu aplikacjach, czy może zakodować coś
więc chyba to zły pomysł, aby taki tandem dla każdego użytkownika osobno zestawiać, prawda?


@pyroxar: to zły pomysł jak i te pliki najlepiej abyś trzymał poza podami które niech będą bezstanowe. Prawidłowo masz dwa podejścia:
1. Aplikacja jej silnik jak już musisz ją trzymać na tych dockerach niech będzie to bezstanowe a pliki danego użytkownika aplikacja niech przechowuje tak jak to powinno być i tak robią aplikacje pod Linux - w
  • Odpowiedz
@pyroxar: nie musisz. Jak chcesz to możesz założyć że będzie sama bezpośrednio gadała do swoich zasobów i nimi zarządzała (konfigurowała sobie obiekty w k8s) ale to jest Twój wybór. Gratis dostaniesz np. service discovery - wbudowane nazwy w wewnętrznym DNS które pod nazwą serwisu mają konkretny komponent.
  • Odpowiedz
@pyroxar: jak robisz zwykłą bezstanową appke to generalnie deploy i tyle - jedyne co możesz zrobić (co wpływa na Twój serwis w sensie dodania kodu) to dodać readiness i liveness endpointa - https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ - dzięki temu k8s moze np wykryć że Twoja appka się wykraszyła i ją zrestartuję automatycznie (w tagach masz golang i rust, ale np w javie jak poleci OOM error to proces wisi ale nie przyjmuję więcej requestów,
  • Odpowiedz
#programowanie chcę się pobawić jakimś nowym językiem i frameworkiem. Co polecacie do postawienia sobie proxy z zapisywaniem danych z serwisu zewnętrznego i serwującego te dane lokalnie aż do inwalidacji.
Zapisywałbym dokumenty do jakiegoś #elasticsearch i serwował. High usage (100M requestów miesięcznie),

Standardowo bym użył jakiegoś #symfony #php, ale chcę się pobawić i poczuć jak student ponownie.
#nodejs? #expressjs?
A może #golang? Bo chyba #rustlang #rust się do tego
A może #golang? Bo chyba #rustlang #rust się do tego nie nadaje?


@kamillus: Nadaje się i to bardzo, ale tak jak napisał @Saly jest trochę więcej nauki, bo Rust jest bardziej rozbudowany i bardziej pryncypialny niż Go. Za to potem idzie szybciej bo kompilator więcej kontroluje za programistę i mniej bugów do naprawiania jest ;) W przypadku bardzo krótkiego projektu, jak nie znacie Rusta, to jednak bym go nie wybrał.
  • Odpowiedz
@kamillus: Do Elastica pasuje Java i Spring (masz tam rozbudowane liby pod tę bazę/silnik). Sam Elasticsearch jest napisany w Javie.
A teraz czekam aż się zlecą sekciarze spod znaku "Java zua!" xD
  • Odpowiedz
Ależ to jest durne:

a := []int{1, 2, 3, 4, 5}
lo, hi := a[:2], a[2:]
lo = append(lo, 6, 7, 8) // Ojoj, zamazuje `lo[2:5]`!
fmt.Printf("%v %v\n", lo, hi) // Wypisuje `[1 2 6 7 8] [6 7 8]`

#golang #programowanie

Jak Wy w tym możecie programować?
Przecież przy tym PHP to dobrze zaprojektowany język.
  • 2
Dla odmiany Rust zachowuje się przyzwoicie:

let a = [1, 2, 3, 4, 5];
let (lo, hi) = a.split_at(2);
let lo = lo.iter().chain(&[6, 7, 8]).collect::<Vec<_>>();
println!("{:?} {:?}", lo, hi);

Wynik:

[1, 2, 6, 7, 8] [3, 4, 5]
  • Odpowiedz
@umcumcumcbejbe trzeba mieć jaja ze stali zeby sie w to bawic. Chyba ze ktos naprawde potrafi to polaczyc, ale czasem jest tak ze jeden temat sie pieprzy, a w tym przypadku dwa naraz i wez tu ogarnij to wszystko
  • Odpowiedz