via Wykop Mobilny (Android)
  • 0
Jest jakiś łatwy sposób na napisanie rozproszonej bazy danych? Mam kilka komputerów z #linux

I one zapisują informacje.

Nie mam za to serwera.

Ktoś
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pyroxar: Istnieją różne sposoby na napisanie rozproszonej bazy danych, ale nie ma łatwego sposobu, który sprawdzi się w każdej sytuacji. W zależności od tego, jakie potrzeby masz i jakie masz do dyspozycji zasoby, mogą istnieć różne opcje.

Jeśli nie masz serwera i wszystkie komputery są z systemem Linux, jedną opcją byłoby skorzystanie z bazy danych CouchDB. Jest to baza danych oparta na systemie rozproszonym, która pozwala na przechowywanie i replikowanie
  • Odpowiedz
Kończy mi się staż i szef powiedział, żebym sobie poprzeglądał otwarte stanowiska w firmie bo chcą mnie zatrzymać na stałe. ( ͡ ͜ʖ ͡)

Wpadł mi w oko zespół piszący CAD-owską aplikację w C++. Aktualnie robię web-dev, ale nie powiem, żebym to jakoś szczególnie kochał.

Jeżeli chodzi o CAD, to w poprzedniej firmie pisałem add-iny do autodeskowych aplikacji w C# i przyznam że bardziej mnie to kręciło niż

Opłaca się wchodzić w C++ w 2023?

  • Tak, C++ jest wieczny. 50.6% (45)
  • Nie, to zabytek. 21.3% (19)
  • To zależy. 28.1% (25)

Oddanych głosów: 89

  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@BeginEnd: Tylko Rust. Golang ma fatalne powolne FFI (jak Java; spowodowane obecnością GC oraz wątków M:N), więc trochę słabo w zastosowaniach mocno niskopoziomowych gdzie musisz wywoływać kod w C/C++. Poza tym Golang dość mało ekspresywny jest. W Rust takie rzeczy jak serializacja/deserializacja do Jsona robisz dwiema linijkami (derive na struct i potem wywolujesz parse i zrobione), w sumie to w żadnym innym języku nie widziałem tak dobrze rozwiązanej serializacja/deserializacji. Rust
  • Odpowiedz
Hej, mam pytanie o problem producenta i konsumenta w wielowątkowości, znalazłem taki przykład
https://pastebin.com/9apeiazL

Thread Sanitizer wyrzuca mi tutaj: WARNING: ThreadSanitizer: double lock of a mutex

Ktoś wie jak można to naprawić aby nie wyrzucało tego warninga? Teoretycznie unique_lock powinien chyba zwalniać ten mutex po wyjściu ze scope?
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@stiv95: pewnie zadziała, ale nie wygląda to na najszczęśliwsze rozwiązanie. Gdy konsument dobierze się do sekcji krytycznej, to zablokuje innych producentów i konsumentów, aż do całkowitego opróżnienia kolejki. Kiepsko.
  • Odpowiedz
@stiv95 Tak w ogóle to możesz wyrzucić tego checka na rozmiar kolejki z while'a. Powiedziałbym że to nawet nie najlepsze rozwiązanie, bo gdy konsumenci opróżnią kolejkę zanim producenci ją wypełnią, stracisz wątki konsumentów.
  • Odpowiedz
Zacząłem się uczyć Qt i mam pytanie do ludzi co lepiej to ogarniają. Jak chcę skomunikować ze sobą dwa widgety np checkbox i textedit by po zaznaczeniu checkboxa zaczął mi się zwiększać co sekundę czas w textedit to połączenia robicie designerem czy widgety piszecie z palca?

Próbowałem designerem ale nie wiem jak wywołać setter na widgecie textedit i by zmienić mu wartość na jaką chce.

#programowanie #cpp #
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Sudo_exit: Designera używam wyłącznie do układania widgetów w okienkach, całą logikę piszę z palca. Wygodniej jest napisać jak coś ma działać niż to wyklikiwać - nie wiem nawet czy jest to możliwe

W twoim przypadku musisz zrobić dwie rzeczy: połączyć sygnał QCheckbox::stateChanged() z funkcją, która uruchomi odpowiednio skonfigurowany timer oraz połączyć QTimer::timeout() z funkcją, która pobierze aktualną wartość textedita, doda 1 i zapisze wynik. Poszukaj w dokumentacji qt funkcji connect()
  • Odpowiedz
@Sudo_exit: Weź poczytaj jakąś książkę do Qt i C++, zanim zadajesz takie pytania, albo miej 150IQ, bo inaczej nie poradzisz sobie w programowanie.

ui_mainwindow.h nie ruszasz i nie kopiujesz z niego kodu XD

Trzeba naprawdę nie umieć w programowanie, by nie widzieć, że MainWindow ma dodany wskaźnik ui przez który jak wpiszesz ui-> to nawet QtCreator podpowiada, że posiada pola o nazwach
  • Odpowiedz
Człowiek wykonuje mnóstwo nikomu niepotrzebnej pracy, żeby ogarnąć IDE w którym jednym kliknięciem można z tego samego kodu skompilować i uruchomić aplikację GUI na Windows 3.11 i Windows 11 (na upartego i macOS) ( ͡° ͜ʖ ͡°) wxWidgets jest fajne i lekkie, nie to co Qt ( ͡~ ͜ʖ ͡°)
#programowanie #retrocomputing #retrogaming #cplusplus #starekomputery
bero33bb - Człowiek wykonuje mnóstwo nikomu niepotrzebnej pracy, żeby ogarnąć IDE w k...

źródło: comment_1664215678vgEMdUJldatuWGqvIjkYvy.jpg

Pobierz
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak już ogarnę wszystko do końca to opublikuję instalator, do którego trzeba tylko zgrać swoje dyskietki Win 3.11 i/lub Win 95 i autonomicznie instaluje systemy, pobiera IDE, kompilatory, wxWidgets, kompiluje frameworki i instaluje szablony do robienia aplikacji pod MS-DOS, Win 3.11, Win 95 oraz "współczesny" 64-bitowy Windows, instaluje sam Win 3.11 i Win 95 w dosboxie razem z pobraniem aktualizacji, robi integrację myszy i instaluje sieć w dosboxie, podpina dosboxa jako debugger
  • Odpowiedz
Pracuję od kilku miesięcy nad symulatorem lotów orbitalnych, który ma wbudowaną maszynę wirtualną z własnym językiem asemblera. VM steruje lotem rakiety (podobnie jak na przykład Apollo Guidance Computer sterował lotem statku Apollo).
Pisze się programy w języku VM, które wprowadzają statek kosmiczny na orbitę o określonych parametrach, itp.

Nie korzystam z żadnych gotowych silników: wszystko oprogramowuję od podstaw sam w C++ (i "nowoczesnym" OpenGL) - łącznie z obliczeniami fizyki, renderowaniem grafiki i translatorem języka
gacek_w - Pracuję od kilku miesięcy nad symulatorem lotów orbitalnych, który ma wbudo...

źródło: comment_1664037071i0zFq3HpMKtXC5r44Uq3iQ.jpg

Pobierz
  • 25
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

CTO Microsoftu chce końca C i C++

**Według dyrektora technicznego Azure C i C++ należy raz na zawsze odłożyć do lamusa. Oczywiście sugeruje alternatywę*
*https://bulldogjob.pl/readme/cto-microsoftu-odradza-korzystanie-z-c-i-c-proponuje-cos-innego

#programowanie #technologia #cplusplus #jezykc #rustlang #naukaprogramowania
Bulldogjob - CTO Microsoftu chce końca C i C++

**Według dyrektora technicznego Azu...

źródło: comment_1663935736HcmRqniWEG0qmWbiCqLC94.jpg

Pobierz
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

A ty w ile czasu byś ropykał to zadanie na rozmowie? W komentarzu podziel się rozwiązaniem w swoim języku programowania i ile ci to zajęło.


@BeginEnd: fajna zarzutka. Za darmo dostać rozwiązania ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@BeginEnd: Proszę:

perl -MFile::Slurp -le'$dir="."; $,="\n"; print sort { read_file($a) cmp read_file($b) } glob("$dir/*.txt");'
Jeżeli ma być bez używania zewnętrznych bibliotek, to:

perl -le'$dir="."; sub r { open($h,"<",shift); return <$h>; } $,="\n"; print sort { r($a) cmp r($b) } glob("$dir/*.txt");'
Wiem, że brzydko, bez kontroli błędów, nie akceptuje parametru (bo to jednolinijkowiec) itd. Ale działa ¯\_(ツ)_/¯
  • Odpowiedz
@anotmajarny: przedostatnia linia kodu.

@RRybak: chyba nie rozumiesz. Człowiek blokuje choćby na wykopie wszystkie tagi prawackie, lewackie, blm, polityka, katolickie itp żeby mieć od tego święty spokój po czym bierze książkę, techniczną i w przykładzie "Black Lives Matter". Co autor miał na myśli? Po co wciskać tutaj jakiś kontekst polityczny, społeczny, rasistowski itp? Wiele książkę przeczytałem technicznych ale spotykam się z czymś takim pierwszy raz
  • Odpowiedz
Witajcie ceplusplusowe świry ( ) Dzisiaj w serii #zloteradypassera będzie o tzw. "zniechęcających przeciążeniach funkcji."

Jak zapewne wiecie jedną z nowości w C++ w stosunku do C jest mechanizm przeciążania funkcji. Możemy dzięki temu zdefiniowiać wiele funkcji o tej samej nazwie tak długo jak różnią się one parametrami.
Kompilator wybierze odpowiednią wersje na podstawie argumentów które do funkcji przekażemy.

Zgodnie z zasadą ODR każdy symbol powinien
Passer93 - Witajcie ceplusplusowe świry (✌ ゚ ∀ ゚)☞ Dzisiaj w serii #zloteradypassera ...

źródło: comment_1662097888RaiNnQfrLXVLhu8uSMkxnP.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Saly: "you cannot bind lvalue to an rvalue reference" czy jakoś tak. A gdy wywołujemy z intem funkcję, która przyjmuje double to podczas konwersji powstaje rvalue double'a, czyli włącza się funkcja double&&.
  • Odpowiedz