#programowanie

238
1752
Tak jak obiecywałem podsyłam demo mojej gry o latającej dupie!

Dajcie znać co myślicie

Sterowanie: strzałeczki + spacja

https://vuaaas.itch.io/flying-ass-demo

#gry #darmowegry #gamedev #diy #hobby #programowanie #muzyka #tworzeniemuzyki

Dwa ostatnie tagi bo muzykę też robiłem sam xd
5eaeeda4-4b8f-4f2f-b279-57de570bbd14
Amebcio

Zrób sequel: Flying Ass: Pushing Hard

Masterick

Przeszedłem, całość + achi 43 godziny gameplayu. Polecam!

Vuaaas

Zapomniałem że miałem wołać @VonTrupka

Zaloguj się aby komentować

Zostań Patronem Hejto i odblokuj dodatkowe korzyści tylko dla Patronów

  • Włączona możliwość zarabiania na swoich treściach
  • Całkowity brak reklam na każdym urządzeniu
  • Oznaczenie w postaci rogala , który świadczy o Twoim wsparciu
  • Wcześniejszy dostęp, do wybranych funkcji na Hejto
Zostań Patronem
No i stało się co miało się stać.
Przy próbie dodania dodatku, ci od firefoxa dali sobie 1 dzień na jego sprawdzenie i... pomyślnie przeszedł weryfikację!

Link do dodatku - https://addons.mozilla.org/en-US/firefox/addon/imager/
Najfajniejsze jest to że jak próbuję to wyszukać w wyszukiwarce dodatków po frazie "imager" to nic mi nie wyszukuje(pewnie musi być nieco bardziej popularny).

Link do kodu na githubie - https://github.com/qarmin/imager - jednak nie zalecam tam patrzeć, jakość kodu nie powala i oczywiście nie ma tam wbudowanej funkcji która kopie bitcoiny i przelewa utarg na moje konto, które wykorzystuję do kupowania kebabów - nie ma tam takiej funkcji, więc sprawdzać tego nie musicie.

Wołam @RACO i @Odczuwam_Dysonans bo chcieliście skrypt, więc oto jest

Filmik przedstawia krótką instrukcję jak zainstalować dodatek i go używać
Jeśli zaznaczonych jest wiele kart, to potrafi na nich wszystkich za jednym razem zadziałać

https://streamable.com/yx4r8g

#programowanie
#firefox
#tworczoscwlasna
M4G33k

Robienie własnych rozszerzeń zawsze na propsie, jest tam coś specyficznego zapiętego z Firefoxa czy na innych przeglądarkach też pójdzie? Czy się mylę bo robię na Chlam a FF to inna bajka?

redve

@qarmin o kurde, to ty stoisz za czkawką

Zaloguj się aby komentować

Dodatek nabiera kształtów i jest już zgłoszony do dodania do sklepu Firefox(pewnie będzie odrzucony, ale pomarzyć można)

Mam jednak problem z tym, że po podmianie całej strony, przy użyciu

document.body.innerHTML = "";
var scripts = document.getElementsByTagName('script');
for (var i = scripts.length; i >= 0; i--) {
if (scripts[i] && scripts[i].parentNode) {
scripts[i].parentNode.removeChild(scripts[i]);
}
}
dalej w tle skrypty są uruchomione i czasami wpadają w jakąś dziwną pętlę.
W jaki sposób mogę wyszyścić ze strony absolutnie wszystko?
Na filmiku widać że popup z hejto wyskoczył, mimo że w tle podmieniłem całą stronę

Jest kilka różnic w stosunku do ostatniej wersji:

  • kod się roztył do 300 linijek javascriptu - całkowicie nieotypowany, nie wiem jak to może działać, ale działa
  • obrazy są teraz pokazywane w x kolumnach bez niepotrzebnych pustych przestrzeni
  • dodane są ustawienia(ale nie wiem czy działają po ponownych uruchomieniu przeglądarki) - można dostosować liczbę kolumn, ignorowane linki, śledzenie href linku czy ignorowanie linków bez rozszerzeń obrazowych
  • nowe, brzydkie logo

https://streamable.com/9sltr8

#programowanie
Catharsis

@qarmin Może po prostu otworzyć nową kartę z tymi obrazkami zamiast nadpisywać całą stronę?

Zaloguj się aby komentować

Szukam nazwy do cargo dla projektu bo image-resizer już zajęte moje pomysły to picport, imgport. Macie może pomysł na coś lepszego albo który wybrać? Program będzie zmieniać formaty obrazków i skalować ale też będzie mógł działać w trybie prostego serwera http/formdata

Link do repo: image-resizer

#programowanie #rustlang
93e7aeb9-3781-4b89-8ba0-6763260c0e93
burt

@rayros Obrazoom

MostlyRenegade

@rayros a może nazwij go po prostu Wiesław, albo Ryszard ( ͡° ͜ʖ ͡°)

borsukh

Szwagropic, albo picpol

Zaloguj się aby komentować

Ktoś jeszcze bawi się w RAG? Postawiłem sobie ollama + longchain + chroma. Napisałem parę prostych skryptów do indexiwania plików, które mnie interesują i konektor który bierze prompt i robi chain między vector db a ollamą i zwraca wynik. Robi to wszystko co chciałem i mam przeczucie, że to jest "za proste". Coś pominąłem? Czy to rozwiązanie jest w jakiś sposób upośledzone? Pomijając oczywiście fakt, że sporo rzeczy na ten moment mam zahardkodowane bo się tylko bawię. Rozumiem, że jest jeszcze cała otoczka typowej apliacji (security, interfejsy itp itd). Ale chodzi mi o samo uzyskiwanie wyników odnośnie tego co siedzi w plikach. Napisanie interfejsu do czatu jako takiego zajęło mi więcej czasu.

edit: żeby było jasne - jestem stosunkowo zielony w tej dziedzinie programowania

#programowanie #llm
htcone

@mortt próbowałem tutorial z Realpython.com ale mnie przerosło wchodzenie w szczegóły danych szpitalnych i nie potrafiłem tego przełożyć na swoje potrzeby, więc mi bardziej się przyda "za proste" podejście.

Zaloguj się aby komentować

Ostatnio potrzebowałem narzędzia do wyświetlania wszystkich obrazów z danej strony i zrobiłem to co programista powinien zrobić - napisałem go od zera, bo nigdzie nie znalazłem dodatku, który by to robił.

Doświadczenia z javascriptem w przeglądarce miałem 0, więc nie obyło się bez problemów i wygląda to brzydko.
Wcześniej myślałem nawet, że mógłbym nawet udostępnić dodatek w sklepie firefoxa bo być może inni też potrzebują takiego narzędzia, ale okazało się że udało mi się to napisać w 150 liniach kodu i w sumie każdy kto chciał to sobie to sam napisał

#programowanie

https://streamable.com/6qxf6y
Catharsis

@qarmin Hmm też kiedyś coś takiego potrzebowałem i też to sam napisałem bo to tylko querry selector na wszystkie img ale

nigdzie nie znalazłem dodatku, który by to robił.

https://chromewebstore.google.com/detail/download-all-images/ifipmflagepipjokmbdecpmjbibjnakm

https://chromewebstore.google.com/detail/download-all-images/nnffbdeachhbpfapjklmpnmjcgamcdmm

https://chromewebstore.google.com/detail/images/iieipaakoflfijmpbjdoicmhgafhmgme


takich dodatków jest masa xD, wiem bo kiedyś też szukałem i żadne mi się nie podobało dlatego napisałem swoje.

mike-litoris

@qarmin widzę nie tylko ja taktycznie przed zrobieniem screena czy nagraniem screencapa chowam bookmarki

libertarianin

A Firefox nie ma wbudowanej takiej opcji?

Zaloguj się aby komentować

Chciałbym nauczyć się czegoś w dziedzinie IT. Od czego i co zacząć, skąd wziąć wiedzę do nauki?

#kiciochpyta #programowanie
koszotorobur

@m0ria - zapraszamy na tag #python - popełniłem tam kilka wpisów - zwłaszcza dla początkujących.

Jeśli chodzi o IT to bez #linux i podstawowego opanowania #bash ciężko będzie Ci zrozumieć wiele zagadnień.

Obecnie dużo pracuje się z kontenerami więc wypada zapoznać się z #konteneryzacja oraz #docker i #podman .

Usługi chmurowe są teraz bardzo popularne - ja polecam #aws i spróbować ich Free Tier.

Generalnie jesteśmy tu też w stanie pomóc więc jak masz jakieś konkretne pytania to wal śmiało.

psalek

@m0ria jako przykładowe zadania polecam codingame.com

Nie wiem czy jest dla początkujących programistów. Mi po prostu sprawiło dużo frajdy pisanie botów do pokonywania botów napisanych przez innych uczestników.

koszotorobur

@m0ria - fajnie by było gdybyś napisał jak Ci idzie jak już na przykład Python spróbujesz

Zaloguj się aby komentować

Tak, przyznam się, to cały jo xD

  1. Dostaj taska
  2. Mniej na to wyjebane, a będzie ci dane #pdk
  3. Zbliża się deadline
  4. Na sprintach mów, że kończysz, że tylko unit testy i koniec... ale tak sa serio uj@#% kończysz, bo nawet nie zacząłęś xD
  5. No dobra, czas zrobić tego taska
  6. Czytasz opis taska, chuja wiesz, o co chodzi, specyfikacja nie jasna. A jak jest jasna, to nie klei się kupy.
  7. Klopsztanga face.

#programowanie
b45433f9-9382-4abc-9ee2-e719b97146f3
ErwinoRommelo

Hehe wyslij byle co potem ze u ciebie na maszynie dziala i ugrasz 2 dni bez problemu.

wonsz

Czytasz opis taska, chuja wiesz, o co chodzi, specyfikacja nie jasna. A jak jest jasna, to nie klei się kupy.

Ten moment kiedy zadajesz pierwsze pytanie w tasku osobie której od początku sprintu mówisz że w zeszłym skończyłeś teraz tylko testy i docsy...

Amhon

To ja w tym miesiącu. Już mam hertzklekoty jak myślę o wysyłce godzin na koniec miesiąca. Dlaczego ja to sobie robię...

Zaloguj się aby komentować

Kiedy przyszedłem do projektu, release przez CI/CD trwało 60 min
Kiedy odchodziłem trwało to tylko 15 minut
Kiedy powróciłem po roku przerwy - teraz zajmuje 2,5h

#devops #programowanie #monorepo
fe948a14-10fd-4860-bf9b-a4a303a9cf64
rm-rf

@Klopsztanga zależy co robicie i jak robocie ale jak docker tam leci to możesz sobie layery zrobić mądrze w docker i odpalać build dind, tym sposobem cała warstwa z modules i bin się przeniesie do nowego builda a budujesz tylko zmiany. Co do testów w njs to u nas skończyło się na przepisaniu sorry cypress na swój i wszystko nadal hula w parallel.

Felonious_Gru

@Klopsztanga co to jest cicd

cyber_biker

@Klopsztanga trzeba było iść w layer2 a nie jakąś chujnię

Zaloguj się aby komentować

Tank1991

@rayros a jak, a prawdziwa wartosc testow sie poznaje jak regresje wylapuja

dotevo

Małe projekty zazwyczaj robię w TDD. Czyli najpierw piszę testy bo wtedy gdy piszę testy to od razu wiem czego od programu oczekuję, a potem gdy mam nawet 15 min wolnego czasu to naprawiam kod aby przechodIł dany test.


Przy większych projektach zazwyczaj mi się to nie sprawdza bo za dużo czasu idzie na przepisywanie testów gdy koncepcja się zmienia, ale piszę testy gdy coś implementuję. Gdy test testuje moją apkę zamiast (robić to manualnie) to wiem, że zrobi to tak samo za każdym razem

Orzech

@rayros Take się pisze normalnie rusta czy dopiero się uczysz?

Zaloguj się aby komentować

#gry #programowanie

Fajnie tak kiedyś ktoś opisał możliwość programowania konsolki przy pomocy którejś z gier Pokemon - wykorzystując jakieś glitche w grze manipulowali zawartością pamięci w ten sposób, że mogli bezpośrednio, chyba na jakimś GameBoy, wyświetlać to co chcieli na ekranie konsolki (jakiś autorski obrazek np.).

Kojarzy ktoś jakieś źródło gdzie to opisane jest bo sobie z googlami poradzić nie mogę.
Tylko_Seweryn

@matips temat jest na tyle ciekawy, że ja który się programowaniem średnio interesuje sam robie wow jak oglądam takie rzeczy xd

Zaloguj się aby komentować

Cały ten i poprzedni tydzień nie ruszyłem palcem w temacie gierki o latającej dupie.
Powodem jest mały zapierdol w pracy, więc absolutnie nie miałem siły nic tykać ostatnio.

Dzisiaj podczas sobotnich porządków rozmyślałem sobie co by tam dodać i przypomniało mi się o pewnym projekcie który zacząłem i porzuciłem 5 lat temu. Jako że ta stara wersja była nawet grywalna to postanowiłem wrzucić ją na itch.io. Była to wersja testowa dodana na Google Play Store, którą przerobiłem dziś na desktop.

Także ten, mam nadzieję że jeśli komuś bardzo się nudziło to zapewniłem mu rozrywkę na chociaż 15 minut/ 3 levele.
Sterowanie strzałeczkami (lewo, prawo), ilość leveli jest nieograniczona ale są dodatkowe elementy/ zwiększona prędkość asteroid - ja najdalej doszedłem do STAGE 10.

Gra nazywa się Galaxy Warrior

Link:
https://vuaaas.itch.io/

Postanowiłem też że dodam link na donejty, nie wiem z jakim to się spotka odzewem więc proszę mnie nie wyzywać i nie banować xd Link w komentarzu, żeby nie wywaliło wpisu w razie czego.

No i koniecznie piorunujcie!!!

#gamedev #programowanie #gry #darmowegry #diy #modelowanie3d #gownowpis #hejtogierki #indiegames #pc
4cd48e4e-425d-47f6-8bfb-1b6081bcef1f
wombatDaiquiri

@rebe-szunis pan Dariusz nadal nie kuma, że nie jest panem i władcą życia i ludziom należy się szacunek nawet jak nie spełniają jego wydumanych wymagań. Głupi się urodził i głupi zdechnie.

dolitd

@wombatDaiquiri Jaki dokładnie szacunek? Tzn. gdzie u pana Dariusza jest brak szacunku?

wombatDaiquiri

@dolitd taki brak szacunku, że to jego problem że źle przeprowadził rozmowę, zakomunikował oczekiwania i sprawdził umiejętności potencjalnego pracownika. Dodatkowo najwyraźniej nie umie też wyważyć oczekiwań, skoro od nowego pracownika wymaga po prostu tego samego co od doświadczonego.


Może lepszym określeniem byłoby "brak pokory" ale Daro tekstem typu "nie płacę za naukę" pokazuje, że nie rozumie że łatwość albo trudność onboardingu to jego problem a nie jego pracownika.

Basement-Chad

Jeśli w jakiejś firmie głównym narzędziem pracy jest Corel to można być niemal pewnym, że jest to jakiś konkretny januszex.

Pajra

Chetnie zadałbym mu pytania na forum, czemu uważa, że wypłata za dzień wdrożenia jest czymś ekstra?

Czemu zatrudnił na zlecenie a nie UOP na okres próbny?

Czemu nie odniósł się do tematu jedzenia o niewłaściwej porze i mówienia "cześć"?

Zaloguj się aby komentować

Ostatnio w pracy zauważyliśmy, że podczas startu urządzenia(bardzo wolny armv7 32 bitowy), skrypt pythona(którego importowanie/uruchamianie traw~20/30 sekund) czasami(zwykle 1%-5% przypadków) się wysypuje, wewnątrz jakiegoś losowego importu.

Na internecie, głównym problemem jest brak np. avx, ale ten program normalnie działa, tylko czasami się wysypuje, tylko podczas importu.

Macie jakiś może pomysł co może powodować problem i w jaki sposób go próbować naprawić?

 Fatal Python error: Illegal instruction
 Current thread 0x76fc8010 (most recent call first):
  File "/usr/lib/python3.9/site-packages/matplotlib/__init__.py", line 593 in __setitem__
  File "/usr/lib/python3.9/site-packages/matplotlib/__init__.py", line 760 in _rc_params_in_file
  File "/usr/lib/python3.9/site-packages/matplotlib/__init__.py", line 796 in rc_params_from_file
...
  File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
  File "<frozen importlib._bootstrap>", line 1030 in _gcd_import
  File "/usr/lib/python3.9/importlib/__init__.py", line 127 in import_module
  File "/usr/lib/python3.9/site-packages/celery/loaders/base.py", line 89 in import_module
  File "/usr/lib/python3.9/site-packages/celery/utils/imports.py", line 105 in import_from_cwd
  File "/usr/lib/python3.9/site-packages/celery/loaders/base.py", line 92 in import_from_cwd
  File "/usr/lib/python3.9/site-packages/celery/loaders/base.py", line 86 in import_task_module
...
  File "/usr/lib/python3.9/site-packages/celery/bin/celery.py", line 217 in main
  File "/usr/lib/python3.9/site-packages/celery/__main__.py", line 15 in main
  File "/usr/lib/python3.9/site-packages/celery/__main__.py", line 19 in
  File "/usr/lib/python3.9/runpy.py", line 87 in _run_code
  File "/usr/lib/python3.9/runpy.py", line 197 in _run_module_as_main

lub
 Fatal Python error: Illegal instruction
 Current thread 0x76fdd010 (most recent call first):
  File "/usr/lib/python3.9/textwrap.py", line 431 in dedent
  File "/usr/lib/python3.9/site-packages/pandas/util/_decorators.py", line 477 in __call__
  File "/usr/lib/python3.9/site-packages/pandas/core/window/rolling.py", line 2041 in Rolling
  File "/usr/lib/python3.9/site-packages/pandas/core/window/rolling.py", line 1862 in
...
  File "<frozen importlib._bootstrap>", line 680 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 986 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1007 in _find_and_load
  File "<frozen importlib._bootstrap>", line 1030 in _gcd_import
  File "/usr/lib/python3.9/importlib/__init__.py", line 127 in import_module
  File "/usr/lib/python3.9/site-packages/uvicorn/importer.py", line 21 in import_from_string
  File "/usr/lib/python3.9/site-packages/uvicorn/config.py", line 477 in load
  File "/usr/lib/python3.9/site-packages/uvicorn/server.py", line 67 in serve
  File "/usr/lib/python3.9/asyncio/runners.py", line 44 in run
...
  File "/usr/lib/python3.9/site-packages/click/core.py", line 782 in main
  File "/usr/lib/python3.9/site-packages/click/core.py", line 829 in __call__
  File "/usr/lib/python3.9/site-packages/uvicorn/__main__.py", line 4 in
  File "/usr/lib/python3.9/runpy.py", line 87 in _run_code
  File "/usr/lib/python3.9/runpy.py", line 197 in _run_module_as_main

#programowanie
Klopsztanga

Porównaj syslogi . Może Linux czasem czegoś nie zdąży załadować.

qarmin

@Klopsztanga Wstępnie przeglądałem i nie zauważyliśmy żadnych powiązań z wysypywaniem się a kolejnością uruchamiania systemowych.

Cała aplikacja uruchamia się jest zależna od redisa, który dość późno się uruchamia, więc raczej gdy aplikacje się importują, to już wszystko w systemie prawie wstało.


@wonsz - akurat jak z ręki go uruchamiamy po dłuższym okresie czasu, to problemy raczej nie występują(choć pewni nie jesteśmy). Więc dodanie delayu, pewnie nieco by problem zmniejszyło, ale jest dla nas bardzo ważne jest by ta aplikacja się uruchamiała jak najszybciej jak to możliwe.

wonsz

@qarmin ok, ale opóżnienia możecie użyć do określenia wymagań środowiska do poprawnego uruchomienia skryptu. jakiś skrypt puścić co weżmie jakieś opóźnienie, zrzuci info o środowisku, spróbuje odpalić skrypt, zanotuje czy się wyjebał, zaktualizuje odpowiednio wartość opóźnienia do kolejnej iteracji, restart...i zostawić na weekend niech napierdala i zbiera dane

666

Masz to w dokerze? Bo wlasnie po to jest doker zeby nie bylo "u mnie dziala". Jesli nie masz kodu w dokerze to spora szansa ze to naprawi sprawe

qarmin

@666 Cały system z zależnościami jest zbudowany przez nas przy użyciu Yocto i szans na wgranie dockera tam nie ma.

666

@qarmin no to moze raz zbudowac z tego skryptu binarke (pod konkretna platforme) tak zeby za kazdym razem nie interpretowac kodu - o ile sie nie myle to python jest interpretowalny? JIT?

groman43

Masz cały callstack, weź po prostu sprawdź co dokładnie poszło nie tak w pliku źródłowym.

Zaloguj się aby komentować

No i oficjalnie dzisiaj przydało mi się w życiu twierdzenie pitagorasa.

Nie no, do pracy. Musiałem narysować linię między dwoma współrzędnymi w układzie, który po 180 stopniach się kończy i powiela się zaczynając od -180 (projekcja mapy). Z racji, że współrzędne przechodzą przez granicę (np. 170 do -170 najkrótszą drogą) w rzeczywistości trzeba narysować dwie linie. Więc znamy podstawę i wysokość trójkąta prostokątnego i znamy nową podstawę i trzeba wyliczyć pozostały bok (długość oryginalnej linii) - pitagoras. A potem cosinusem dziada żeby wyliczyć kąt a na koniec mając kąt i nowy bok można wyliczyć nową wysokość. Uf, dawno nie robiłem geometrii.

Jak to robiłem to mi się przypomniało, że pojawiają się czasem wpisy pokroju "minął kolejny dzien Twojego życia bez zastosowania wzoru skróconego mnożenia" i stąd mój wpis.

#chwalesie #programowanie #gownowpis
VonTrupka

> "minął kolejny dzien Twojego życia bez zastosowania wzoru skróconego mnożenia"


@mortt gdy trafiłem na ten tekst po raz pierwszy aż poczułem niepokój, że nie pamiętałem o co kaman

od wtedy aż po dziś dzień nie zapominam o wzorze na kwadrat sumy


nawet nie wiem czy użyłem choć raz w życiu, ale za to twierdzenie Pita Gorasa to mi się już kilka razy w życiu przydało (ง •̀ᴗ•́)ง

Zaloguj się aby komentować

może ktoś z #programowanie #devops ma jakieś doświadczenia z postgres-operatorem od Zalando https://github.com/zalando/postgres-operator/tree/master i mógłby się podzielić wrażeniami?

Use-case: chcę mieć platformę do taniego i szybkiego publikowania swoich aplikacji w internecie. W tym celu tworzę sobie mini-datacenter w domu oparte na kubernetesie, chwilowo składające się z jednego komputera. Dostęp do niego z publicznego internetu robię przez Cloudflare Tunnel https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/

Chcę żeby setup był rozszerzalny i chcę zachować jak najmniejszy stack technologiczny, bo nie lubię się uczyć rzeczy "od zera". Obecnie zastanawiam się jak załatwić temat relacyjnej bazy danych. Myślałem nad postawieniem postgresa bezpośrednio na baremetalu, ale wydaje mi się że networking żeby potencjalnie dopuścić do niego ruch z kolejnych nodów w przyszłości to będzie tragedia.

#technologia #komputery #siecikomputerowe #programista15k #naukaprogramowania #lajko
127840f5-09e5-4847-998a-944ed0aa51b9
koszotorobur

@wombatDaiquiri - ja Kubernetesa mam po dziurki w pracy, żeby się z nim jeszcze w domu pierdzielić

Oczywiście z tym Postgres Operatorem od Zalando nie miałem do czynienia - ale patrząc po README.md z GitHuba to wygląda dobrze - możesz opisać co dokładnie Cię w tym urzekło do Twoich zastosowań jak masz tylko jedną maszynę?

Ja jako, że jestem minimalistą to używam Podmana i uruchamiam bardziej skomplikowane rzeczy w podach.

Na Malince 5 z 8GB ramu mam teraz właśnie Postgresa bo postawiłem kilka rzeczy i codzienny backup robię na mojego Bieda-NASa rsynciem (który później też rsynciem jest backupowany na większy serwer tak na wszelki wypadek - już kiedyś opisywałem mój setup i dlaczego tak akurat robię) - mi starcza

Generalnie bardziej staram się zrozumieć co Ty tam próbujesz osiągnąć z tym swoim setupem bo cały wysiłek, który w to wkładasz oceniam bardzo pozytywnie - nie każdemu się chce i nie każdy potrafi - zwłaszcza jeśli to co robisz ma Ci się przydać w pracy i by zarabiać lepszą kasę

wombatDaiquiri

@koszotorobur próbuję się wyzbyć metody szukania "poprawnego rozwiązania" więc bardzo dziękuję Ci za Twojego posta.


Generalnie chciałem postawić jakoś instancję bazy danych żebym mógł z niej korzystać w kontenerkach. A dzięki Twojej sugestii zmieniłem trochę zapytanie do google i dostałem tutorial na prostszych komponentach które już z nam więc plan właśnie uległ zmianie https://www.digitalocean.com/community/tutorials/how-to-deploy-postgres-to-kubernetes-cluster


Wysokopoziomowo - jestem programistą. Jestem nieskromnie mówiąc niezły w pisanie programów. Ale całe środowisko w którym te programy były uruchamiane były własnością firmy w której pracowałem. W ten sposób zawsze uczyłem się procedur które ktoś mi przygotował, ale na własne potrzeby nadal korzystałem z `./binarka &` bo w sumie działa.


No i z wiekiem odczuwam potrzebę podzielenia się wiedzą jak tworzyć cyfrowe produkty, ale do tego potrzebuję środowiska uruchomieniowego które uczeń będzie mógł zreplikować i rozszerzać według własnych potrzeb. A i mi się przyda wyrobić opinię i usystematyzować stack bo często ciekawe pomysły upadają jak staję przed wizją pierdół do wykonania zanim się zaczną ciekawe zadania.

koszotorobur

@wombatDaiquiri - widzę, że zacząłeś od bardzo wysokiego poziomu abstrakcji i komplikacji, którym jest Kubernetes (nawet w konfiguracji Sinlge Node K8s) - dobrze go oczywiście znać ale do swoich zastosowań często jest to overkill jeśli nie wybrałeś tego rozwiązania świadomie ze wglądu na benefity, które faktycznie Tobie oferuje (a dalej musisz płacić cenę za skomplikowanie projektu).


Ja od zeszłego roku preferuję Podmana zamiast Dockera gdyż Docker wymaga dwóch daemonów ciągle działających na systemie (dockerd oraz containerd) a Podman jest daemonless i może uruchamiać aplikacje od razu w podach (i też można użyć z nim Compose).


Jeśli chodzi o super prosty deployment Postgresa (jak nie masz klastra K8s) to możesz uruchomić go w łatwy sposób z obrazu kontenera tak by mieć data persistance oraz być w stanie zrobić backup.


Utwórz dwa foldery na serwerze ~/postgres_data oraz ~/postgres_backup.


Uruchom kontener:

podman run -p 5432:5432 --name postgres -v ~/postgres_data:/var/lib/postgresql/data -v ~/postgres_backup:/home -e POSTGRES_PASSWORD=<YOUR_PASS> -d docker.io/library/postgres:alpine


A tak wywołać psql w działającym kontenerze:

podman exec -it <CONTAINER_NAME_OR_ID> psql -U postgres


Od tego kroku, droga jest prosta uruchamiania w ten sam sposób narzędza pg_dump lub pg_dumpall czy pg_basebackup (i zrobienia backupu do folderu /home kontenera) a następnie potem zbackupowania dumpa z folderu ~/postgres_backup serwera na innego hosta przy pomocy narzędzia rsync.

Zaloguj się aby komentować