Próbuje nauczyć się Rusta przez proste przykłady, robię prostego geta przy pomocy biblioteki reqwest

Zastanawiam sie czemu twórcy biblioteki reqwest dla pobrania body dali tutaj self -> pub async fn text(self) -> Result

jak pobiorę sobie zawartość body to już nic nie mogę zrobić z obiektem Response, bo jest zniszczony po wywołaniu tej metody. Nie lepiej byloby tutaj dać &mut? Ciężko zrozumieć, że wywołujemy metode na obiekcie a ta konsumuje obiekt i
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fnzavrjvrz: bo twórcy biblioteki dbają o ciebie. Nie można przeczytać dwa razy Response http, bo to nie jest czytanie jednego miejsca z pamięci, tylko strumienia tcp. Kolejność jest taka, bo headery są po prostu pierwsze w http message i mogą wpływać na parsowanie payloadu (kompresja itd). Na pewno fajnym dodatkiem byłaby jakaś funkcja, która mapuje ten typ Result, na taki, który trzyma body jako string.
  • Odpowiedz
@lionbest: taki design. W go domyślny response http działa dokładnie tak samo jako w reqwests, a jest językiem dużo bardziej nastawionym na szybkie klepanie. Niestety nie da się zrobić biblioteki, która będzie jednocześnie przyjemna w 90% przypadków i konfigurowalna/wydajna w pozostałych 10%. Tyle dobrze, że przynajmniej Rust swoim systemem typów pokazał opowi, że zasada działania pod spodem jest inna niż myślał, przez co uniknął buga w kodzie
  • Odpowiedz
#devopsiarz - kolejne zestawienie o ciekawych artykułach, programach, bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python, ale też #rustlang, #wordpress, #pracait czy #produktywnosc. :-)

To samo zestawienie u mnie na stronie (lepsze formatowanie) https://devopsiarz.pl/zestawienia/zestawienie-linkow-materialow-08-03-2021

A jeśli chcesz jeszcze dostępu do większej ilości linków, zapisz się do
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 10
Wołam 26 osób na podstawie algorytmu: wołanie za plusy dla 2 ostatnich
materiałów lub plusy dla przynajmniej 3 z 6 ostatnich materiałów.

Jeśli plusowałeś/aś tylko 2 ostatnie(-nich) materiały(-ów) - nie plusuj posta
rozpoczynającego ten wątek, aby wyłączyć wołanie przy kolejnych wpisach.

Jeśli
  • Odpowiedz
Hej,
W jaki sposób mogę posortować wektor za pomocą dwóch operacji sprawdzania równości?

Chodzi mi o to, że mam wektor vec przy którym c to np. "Roman Okoń".
Za pomocą funkcji split_name(c) uzyskuję krotkę (a,b) zawierająca w tym przypadku ("Roman", "Okoń").

W
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jestem programistą bardziej mobilnym/stacjonarnym, web poza podstawami jest mi obcy. Mam sobie napisany prosty "biedablog" w Ruscie z użyciem Actixa który po wybudowaniu projektu wypluł mi plik wykonywalny. Mam też wykupiony serwer na cyberfolks. Dwa pytania:
- jak powinienem bindować serwer- lokalnie testując robiłem .bind("127.0.0.1:8088") i banglało, tutaj jak to powinno wyglądać?
- jak zgodnie z "sztuką" taki serwer powinien być zainstalowany i startowany?

#rustlang #webdev
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@budyn: przecież OP pyta o klasyczną wiedzę admina, który ogarnia serwery.

Twoja appka ogarniająca zapytania HTTP ma słuchać na "0.0.0.0:", co spowoduje, że będzie przyjmować pakiety z każdego dostępnego interfejsu sieciowego na :.
  • Odpowiedz
@Leinnan: Wszyscy co p------ą, że masz odpalić w screenie lub poprzez & powinni mieć zakaz zbliżania się do systemów produkcyjnych. Jeśli chcesz to ogarnąć "zgodnie ze sztuką" to po prostu napisz konfigurację dla swojego init (jeśli masz tam Linuksa to najpewniej będzie to systemd). Jak dobrze to ogarniesz to możesz nawet słuchać na 80/443 bez odpalania aplikacji z uprawnieniami roota.
  • Odpowiedz
Kilka miesięcy temu wrzucaliśmy tekst o obsłudze błędów i typie Option w Rust. Nie pozwalał on jednak na przekazanie informacji o tym, co faktycznie poszło nie tak. Poznaj typ Result, który daje taką możliwość

Obsługa błędów w języku Rust, cz. 2: Result

#rustlang #naukaprogramowania #programowanie
Bulldogjob - Kilka miesięcy temu wrzucaliśmy tekst o obsłudze błędów i typie Option w...

źródło: comment_1614693151MXxc91YhzyAbdu7BflGn8H.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#devopsiarz - kolejne zestawienie o ciekawych artykułach, programach, bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python, ale też #rustlang, #wordpress, #pracait czy #produktywnosc. :-)

To samo zestawienie u mnie na stronie (lepsze formatowanie) https://devopsiarz.pl/zestawienia/zestawienie-linkow-materialow-01-03-2021

A jeśli chcesz jeszcze dostępu do większej ilości linków, zapisz się do
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 11
Wołam 26 osób na podstawie algorytmu: wołanie za plusy dla 2 ostatnich
materiałów lub plusy dla przynajmniej 3 z 6 ostatnich materiałów.

Jeśli plusowałeś/aś tylko 2 ostatnie(-nich) materiały(-ów) - nie plusuj posta
rozpoczynającego ten wątek, aby wyłączyć wołanie przy kolejnych wpisach.

Jeśli
  • Odpowiedz
#devopsiarz - kolejne zestawienie o ciekawych artykułach, programach, bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python, ale też #rustlang, #wordpress, #pracait czy #produktywnosc.

To samo zestawienie u mnie na stronie (lepsze formatowanie) https://devopsiarz.pl/zestawienia/zestawienie-linkow-materialow-24-02-2021

A jeśli chcesz jeszcze dostępu do większej ilości linków, zapisz się do
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 10
Wołam 26 osób na podstawie algorytmu: wołanie za plusy dla 2 ostatnich
materiałów lub plusy dla przynajmniej 3 z 6 ostatnich materiałów.

Jeśli plusowałeś/aś tylko 2 ostatnie(-nich) materiały(-ów) - nie plusuj posta
rozpoczynającego ten wątek, aby wyłączyć wołanie przy kolejnych wpisach.

Jeśli
  • Odpowiedz
#devopsiarz - kolejne zestawienie o ciekawych artykułach, programach, bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python, ale też #rustlang, #wordpress, #pracait czy #produktywnosc.

To samo zestawienie u mnie na stronie (lepsze formatowanie) https://devopsiarz.pl/zestawienia/zestawienie-linkow-materialow-17-02-2021

A jeśli chcesz jeszcze dostępu do większej ilości linków, zapisz się do
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wołam 20 osób na podstawie algorytmu: wołanie za plusy dla 2 ostatnich
materiałów lub plusy dla przynajmniej 3 z 6 ostatnich materiałów.

Jeśli plusowałeś/aś tylko 2 ostatnie(-nich) materiały(-ów) - nie plusuj posta
rozpoczynającego ten wątek, aby wyłączyć wołanie przy kolejnych wpisach.

Jeśli
  • Odpowiedz
4) YouTube: Kanał na YT osobnika, który wciela się w ofiary oszustów na "AnyDesk" lub "Teamviewer", a następnie mocno daje im się we znaki, oczywiście wszystkie te akcje nagrywa i wrzuca na kanał


@devopsiarz: na czasie ( ͡° ͜ʖ ͡°) jest jeszcze kanał:
kitboga
Jim Browning
  • Odpowiedz
Hej,

Potrzebuję z kodu C++ wyłuskać nazwy wszystkich funkcji, wraz do jakich klas one należą i ile mają argumentów z podziałem również na liczbę domyślnych.

Próbowałem zrobić własną implementację tego, ale niestety odrzuca ona dużą ilość funkcji(Problemy są z szablonami, listą argumentów na wiele linii etc.).
Kod jest sformatowany z clang-format, więc istnieje jakaś standaryzacja.
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Po ponad pół roku korzystania z języka Rust, nie wyobrażam abym kiedykolwiek stworzył nowy program w C/C++(ciągle jednak się trochę udzielam przy istniejących projektach).
Zastrzegam tu, że nie jestem zawodowym programistą, lecz tworzę programy głównie dla rozwiązywania własnych problemów i też wyszukuję czasami błędy w programach open-source.

Kilka powodów:
- Valgrind i GCC/Clang Sanitizers - Zawsze towarzyszyły mi w tworzeniu kodu, ponieważ każda jego zmiana była potencjalnie niebezpieczna. Nie zliczę, ile to razy program zwracał
q.....n - Po ponad pół roku korzystania z języka Rust, nie wyobrażam abym kiedykolwie...

źródło: comment_16130738507Vz3ojwgiEU54OENddT76M.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wołam 20 osób na podstawie algorytmu: wołanie za plusy dla 2 ostatnich
materiałów lub plusy dla przynajmniej 3 z 6 ostatnich materiałów.

Jeśli plusowałeś/aś tylko 2 ostatnie(-nich) materiały(-ów) - nie plusuj posta
rozpoczynającego ten wątek, aby wyłączyć wołanie przy kolejnych wpisach.

Jeśli
  • Odpowiedz
łaska wykopu i jego użytkowników na pstrym koniu jeździ. właśnie kończę oglądać bardzo śmieszną prezentację z #programowanie podczas której omawiana jest "sztuka kodowania" - ale nie chodzi tutaj o samo piekno z perspektywy inżynierii, ale raczej prawdziwej sztuki.

może i te programy prezentowane nie mają wartości biznesowej, a cześć pokazanych egzotycznych (bardzo) jęzków programowania wydaje się w "poważnych" zastosowaniach bezużyteczna (czy też po prostu niesłychanie niewygodna) - ale i tak myślę,
secret_passenger - łaska wykopu i jego użytkowników na pstrym koniu jeździ. właśnie k...
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PortowySzczur: jasne że to ciekawoski i trudno mówić że dają one jakąś super pożyteczną perspektywę na programowanie komercyjne. dla mnie obie części tej prezentacji były bardzo ciekawe. choć przyznam, że jednak część dotycząca programowania była dla mnie znacznie bardziej ciekawa.

nie, nie zakładam z góry że to dla każdego, ale tylko 2 wykopy to jednak nieco mało. spodziewałbym się więcej.
  • Odpowiedz