Czy warto zacząć naukę CGI + C++ dla wydajności? Jeśli tak to macie jakieś przydatne dokumentacje/artykuły/poradniki?
Jeśli chodzi o podstawę bez bibliotek to wygląda to jak w C++ tylko nie mam pomysłu jak pobierać POST & GET z formularzy bez żadnych dodatkowych bibliotek.
#programowanie #naukaprogramowania #cpp #webdev
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

cgicc


@wynkelring: Nie mam pojęcia bo nie robiłem cgi w c++, wiem tylko, że biblioteka standardowa C++ nie zapewnia takich funkcjonalności (zresztą jak więszkości rzeczy xd)

C++ + CGI to masochizm trochę, tylko ma to sens gdy się obsługuje ogromny ruch. "Głupi" JavaScript na node.js potrafi obsłużyć kilkadziesiąt tysięcy requestów na sekundę to po co w c++ sobie życie komplikować
  • Odpowiedz
@wynkelring: Post i get to zwykły tekst, więc jak się wepniesz odpowiednio, to wystarczy potem znaleźć pierwszą pustą linię (powyżej są nagłówki) i będziesz mieć treść. Dość skomplikowane będzie bez dodatkowych bibliotek, ale nie niemożliwe.
  • Odpowiedz
Czy istnieje jakaś pożądna biblioteka do dat i czasów? Próbowałem użyc boost date_time, ale oprócz nieprzyjemnego interfejsu zauważyłem, że brakuje funkcji do sparsowania pełnego ISO 8601 np. 2018-09-22T07:45:30+01:00

#cpp
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,
bawię się w przygotowanie biblioteki, która będzie w miarę niezależna od dystrybucji #linux. Moja biblioteka potrzebuje:
- liba.so
- libb.so
- libc.so
wszystkie mają jakieś symbole w sobie, a finalnie, po linkowaniu statycznym dokładane są jeszcze moje. Próbowałem zrobić strip --strip-unneeded na końcowym pliku, ale to tylko usuwa symbole z mojej biblioteki, a te z zewnętrznych zostają. Da się zrobić to na odwrót? Tj. usunąć symbole z bibliotek
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lionbest: z takich właśnie korzystam. Znalazłem już problem i linkuje się dobrze. Parametry linkowania podawałem dla cmake w zmiennej CMAKEEXELINKERFLAGS, a powinienem w CMAKESHAREDLINKERFLAGS. Razem z opcją set(CMAKECXXVISIBILITYPRESET hidden) i set(CMAKESHAREDLINKERFLAGS "-Wl,--exclude-libs,ALL") działa super :)

Trzeba było tylko jeszcze ustawić visibility na default w funkcjach, które chcę wystawić za pomocą mojej biblioteki.

Co do linkowania, to problem pojawił
  • Odpowiedz
@Niegrzeczny_gentleman: W sumie asio dalej niema dobrej alternatywy.
@bolot: Przede wszystkim biblioteki które weszły lub mają odpowiedniki w nowych standardach C++, shared_ptr, tuple, variant, any, regex, treads, bind, array, atomic, date time, filesystem, function, format, lexical cast, optional, signals, random.
Niestety sporo legacy kodu powstało i nikt nie kwapi się by podmienić je na STL.
Tak naprawdę najważniejsza jest umiejętność czytania dokumentacji, dokładniej referencji do bibliotek bo do
  • Odpowiedz
#programowanie #naukaprogramowania #cpp #sfml #youtube

Właśnie robię sobie tutki i teksturuje i pomyślałem że podzielę się z wami fajnym kanałem.
Lekcje są krótkie ale koleś fajnie tłumaczy od samego początku i powoli począwszy od instalacji sfml przechodzimy dalej.
Mi osobiście świetnie się ogląda i robi ten tutek więc polecam. Podstawowy angielski i odrobina wiedzy z zakresu c++ obsługi środowiska (ja codeblocks a autor używa microsoft
krulwypoku_IgB6 - #programowanie #naukaprogramowania #cpp #sfml #youtube

Właśnie r...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wstępna wersja mojego programu do obsługi hot corners w praktycznie każdym środowisku już wstępnie działa :D
https://github.com/Leinnan/lwa-hot-corners

Baaardzo długo go nie tykałem jednak w ten weekend w domu rodzinnym naszła mnie wena żeby w końcu coś hobbystycznie pokodzić i wypadło akurat na to. Zrefaktorowałem kod, używam więcej rozwiązań z nowszych standardów C++ i mam wrażenie że już teraz całkiem elegancko śmiga.

Myślę też czy nie dodać też jakiegoś graficznego konfiguratora, ale to już rzecz dodatkowa.
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Może wykażę się butą ale IMO cały tamten program to fuszerka.


@Leinnan: Wiem xD

Jednak dzięki mojemu podejściu możesz używać mojego rozwiązania nawet jak nie masz gtk w ogóle w
  • Odpowiedz
Jednak według mojej opinii co jest do wszystkiego to jest do niczego i to się zazwyczaj sprawdza.


@Kryspin013: Jakbym starał się obsługiwać zarówno Xy, Waylanda i jeszcze Windowsa(XD) to taki zarzut byłby zasadny :P

Może napiszę od zera. Musiałbym tylko ogarnąć
  • Odpowiedz
@cruc: Jak to ja nie napiszę stronki w C++? Pamiętam jak 10 lat temu o-------m server w C++ by zrobić stronę do konfiguracji, bo na 200 MHz i 32 MB ramu ciężko jeszcze zmieścić Apache i PHP. Działa w wielu miejscach po dziś dzień, bo kto będzie wymieniał dobrze działający sprzęt. Teraz jest trochę inaczej bo o ile każda drukarka/router/dron z WiFi ma konfiguracje przez stronę, to najlepszym sposobem jest
  • Odpowiedz
@Danieru: jeśli udowodnisz, że ten "statyczny polimorfizm" rzeczywiście przyspiesza w stosunku do normalnego rozwiązania, to *koniecznie* wołaj. Będę w szoku, jeśli w ten sposób ugrasz więcej, niż błąd pomiaru.

A tak serio to zanim zaczniesz robić takie sztuczki i zaciemniać kod, użyj profilera i sprawdź, gdzie najwięcej czasu tracisz.

- jest duże prawdopodobieństwo, że możesz poprawić algorytm,
- jeśli masz jakiekolwiek IO (np. sieć, pliki, ...), to na bank indirection nie
  • Odpowiedz
@CppPolska: Bardzo fajny wpis, ale brakuje zupełnie dwóch informacji.
Po pierwsze, co zwraca std::visit ? Bo w sumie jedno zdanie czyli tyle ile na cppreference.com. Jeżeli nie da się wymusić konkretnego zwracanego typu to pewnie trzeba zadbać żeby przykładowo wszystkie instantacje lambdy zwracały to samo.
Po drugie jak wydajne jest to rozwiązanie? Tutaj można przedstawić jakieś benchmarki wobec ręcznej (switch case) i dynamicznej implementacji (virtual caller).
Czyli w sumie
  • Odpowiedz
Cześć, znacie jakieś materiały na temat pisania iteratorów w #cpp ? Znalazłem sporo tutoriali, ale dla boosta, a chodzi mi o taką konstrukcje w C++ 11:

for (auto element : moja_kolekcja) {
...
}

albo pod jakimi hasłami tego szukać?
#programowanie
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@didijo:
Musisz zaimplementować w swojej klasie metody begin() i end(), które będą zwracały coś iteratoro-podobnego, tzn. spełniającego bodajże koncept BidirectionalIterator. W praktyce sprowadza się to do tego, że musisz zdefiniować:

- default ctor
- operator ++ i --
-
  • Odpowiedz
Mirki mam problem z projektem zaliczeniowym. Muszę napisać program rozwiązujący konkretny problem matematyczny w c++, lecz nie uczyli nas programowania przez studia (logika uczelni wyższych, poza tym i tak w tym jestem denny). Jest może ktoś chętny by wesprzeć pomocą?
#studbaza #cpp #programowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #gcc #cpp #jezykc

Czy da się zmienić linker używany przez gcc bez praw roota? Chciałbym użyć lld od LLVM, niestety z tego co czytam w internetach nie da się tego zrobić inaczej niż przez symlink do /usr/bin/ld.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach