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ś
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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 -
  • Odpowiedz
Czy tworząc teraz aplikację golang/rust/vue to chcąc ją mieć na kubernetes, muszą pisać jakoś specjalnie?

Jakieś biblioteki pod kubernetes? Jakieś cuda z przetwarzania rozproszonego?

Aplikacja będzie na zasadzie mikroserwisow.

#docker #kubernetes #linux #rust #golang
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
  • 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
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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
  • 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]`
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 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);
  • Odpowiedz
Wszystko, co powiesz, nie może zostać wykorzystane przeciwko Tobie. Wypełnij anonimową ankietę
https://bit.ly/3TRZiYq

#programowanie #it #informatyka #programista15k #testowanieoprogramowania #devops #sysadmin #cybersecurity #webdev #uxdesign #frontend #scrum #analizadanych #gamedev #java #python #cplusplus #csharp #javascript #kotlin
Bulldogjob - Wszystko, co powiesz, nie może zostać wykorzystane przeciwko Tobie. Wype...

źródło: alez skad

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
Jak macie ustawione IDE VSCode albo inne w GO z monorepo? Jeszcze niedawno mi działały normalnie importy a teraz znów się spieprzyło.
Kod trzymam w /home/uzytek/go/src/<foldernaprojekty>/
Otwieram w VSCode folder <foldernaprojekty>.
Nie chcę go.work, nie chcę multiroot workspace w VSCode, nie chcę otwierać każdego folderu z go.mod osobno

#golang #programowanie
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@WielkiZderzaczHarnoldow: w takim wypadku faktycznie nie widzę lepsze rozwiązania niż stare podejście z GOPATH

Nie przekonam kilkudziesięciu ludzi do zmiany. Muszą być osobne per serwis :<


To zrób u siebie. Dodaj go.mod i go.sum do .git/info/exclude. Sklonuj sobie wszystkie repa tak jak było w go/src (oprócz zależności), stwórz moduł i zaciagaj sobie 3rd party zależności automatycznie bez bawienia się w go patha
  • Odpowiedz