Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach,
bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python. Ponadto #security, #apple, #rustlang,
#haskell i czasem #produktywnosc

Ponieważ w tym tygodniu sporo Was albo na #pracazdalna, albo coś w ten deseń (piwnica), z powodu wszystkim wiadomego, to mam dla Was nieco więcej linków, bo jak zdalnie,
dlaczego Go nie ma porządnego debuggera? Myślałem, że taki dojrzały język za którym stoi taki gigant (Google) zrobi robotę. Ok, jest to Delve ale debuggowanie w terminalu przypomina lata 70. Na co dzień pracuję z JS-em i narzędzia developerskie w Chromie to cudo. Mam wrażenie, że zamiast uczyć się języka to kopię się z jego ekosystemem. To samo miałem z Haskellem :D
#golang
Skoro koronawirus to tak popularny temat, to może zamiast o nim pisać, napiszę coś innego.

Otóż ostatnio tworzę swój mały projekt w kilku językach programowania. Niestety, nie jestem w tym dobry jak widać, bo ostatnio coraz częściej szukając np.: porad jako coś zrobić, znajduję taki i zalecają wykorzystać biblioteki.

No dobra, to z niej korzystam i nie robi tego co bym chciał lub wymaga jakiś dziwnych obejść problemu. No to już kilka
@otlet: Zwykle nie, sam protokół AMQP ma kilka wersji, na dodatek musisz pamiętać, że to nie jest tylko kwestia stworzenia pakietu i wysłania po TCP, ale musisz mieć wątek, który będzie wysyłał heartbeat, musisz się rejestrować do kolejki, potem sterować sobie w programie tym co przychodzi - biblioteki robią to za Ciebie.

Oczywiście są wypadki, kiedy lepiej coś samodzielnie napisać, ale zwykle jest kilka istniejących rozwiązań do wyboru, z których można
@otlet:
IMO musiałbyś podać jakieś konkretniejsze przykłady.
Wiesz, jeśli korzystasz z drobnej części jakiejś biblioteki, która jest słabo udokumentowana, to naturalnie jesteś w stanie sam sobie to napisać szybciej.
Ale na pewno to nie jest reguła. Podstawowa zasada: nie wymyślaj koła na nowo. W większości przypadków korzystanie z gotowej biblioteki było znacznie lepszym rozwiązaniem.


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach,
bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python.



### Materiał tego zestawienia (wyróżnienie subiektywnie) ###

https://stackshare.io/ - #programowanie #technologie

Dzięki tej stronie możesz zobaczyć potencjalne technologie, które spotkasz w różnych projektach IT. Różne osoby i firmy
dają tam informacje o swoich stackach technologicznych wraz z uzasadnieniem dlaczego używają,


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach,
bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python.
Wcześniej niż obiecałem, ale tak bywa :-)



### Materiał tego zestawienia (wyróżnienie subiektywnie) ###

- https://golang.org/doc/go1.14 - #golang
Wyszła nowa wersja Go, w wersji 1.14, zobacz do linku, aby dowiedzieć się co się zmieniło.
Ze swej strony i testów, mogę
Cześć, mam problem z intefejsami może ktoś pomoże

Mam interfejs model oraz struct user, który "implementuje" interfejs model.
Tak samo mam interfejs repository oraz struct user, który "implementuje" interfejs repository.

Niestety np. w metodzie:

func (ur *userRepository) findOneBy(ctx context.Context, field string, value string) *model.Model {
user := model.User{}

ur.Con.Collection("users").FindOne(ctx, bson.M{field: value}).Decode(&user)

return &user
}

Dostaję informację, że zamiast *mode.Model chcę zwrócić *model.User. Jak mogę rozwiązać to? Jestem świeży w Go :)

Wycinki


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach,
bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python. Ponadto jakieś ciekawe linki z tego
gatunku do takiego zestawienia.

Ponieważ w przyszłym tygodniu jestem na wyjeźdzcie służbowym, to mały prezencik na piąteczek - nowe zestawienie
od devopsiarza (za to nowego nie będzie conajmniej do 2 marca, dam jeszcze znać w


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach,
bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python. Ponadto jakieś ciekawe linki z tego
gatunku do takiego zestawienia.

Od dziś 25 linków + kilka libek, bo powyżej 45 to rzeczywiście przegięcie pały. :)



### Materiał tego zestawienia (wyróżnienie subiektywnie) ###

https://medium.com/better-programming/understanding-best-practice-python-tooling-by-comparing-popular-project-templates-6eba49229106 - #python
Które toole stosować w programowaniu


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach,
bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python. Ponadto jakieś ciekawe linki z tego
gatunku do takiego zestawienia.



### Materiał tego zestawienia (wyróżnienie subiektywnie) ###

https://www.youtube.com/watch?v=xIB_VQVVWKk - #software #programowanie #technologia
Jeżeli dane Ci było spotkać się z terminem Event Storming, ale nie wiesz na czym on polega, to
via Wykop Mobilny (Android)
  • 6
@sokytsinolop: czytałem i muszę powiedzieć że nie widziałem że GC w Go może sprawiać tyle problemów.

najbardziej chyba jednak zaskoczyło mnie że już niezoptymlizowana wersja w Ruscie działała tak samo szybko jak optymalizowana przez długi czas wersja napisana w Go.

nie jestem specjalnie uprzedzony do Go, ale cieszy mnie każda taka wiadomość gdy Rust pokazuje swoją siłę.


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach, bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python. Ponadto jakieś ciekawe linki z tego gatunku do takiego zestawienia.

Na wstępie dziękuje wszystkim za wypełnienie ankiety, mam nadzieję, że wasze głosy nie pójdą na marne. :-)



1) https://kubernetes.io/blog/2020/01/22/kubeinvaders-gamified-chaos-engineering-tool-for-kubernetes/ - #kubernetes
Używanie kubernetes trzeba jakoś urozmaicić, no i to jeden
@pesymistyk: go jest fajnym językiem, ale IMO ma mało zastosowań. Głownie tam, gdzie królują proste serwisy/infrastruktura. Do biznesu się nie nadaje: brak elementów funkcyjnych i generyków sprawia, że cięzko napisać cos z skończonym czasie, co będzie bezpiecznie do utrzymania i zrozumienia. Czasami mam zrywy, że muszę napisać jakiś prosty skrypt/program. Probowałem to robić kilka razy w go, ale jest po prostu trudniej i mniej intuicyjnie. Przez to, że jezyk jest prosty
@Saly:

Przykładowo chciałem zrobić deep copy typu map[string]interface{}. Innego rozwiązania niż hack pod postacią serializacji/deserializacji do jsona nie znalazłem.


Interfejs jest abstrakcja, a sposób kopiowania danych jest cechą konkretnego typu, nie jest to nic dziwnego. Paczka encoding/json robi introspekcje żeby ustalić czy interface{} przykrywa jakiś znany tym który wie jak zaprezentować, lub woła MarshalJSON który trzeba zaimplementować samemu.

W Pythonie masz do tego copy.deepcopy(), które obsługuje parę prostych typów, dla
#mstarzecnews #webdev #programowanie #nodejs #javascript #golang #rust #it #bash #aws #kubernetes #apple

links
node.js/web:
https://blog.bitsrc.io/20-top-frontend-developers-tools-in-2020-78eeb1b2da5a - 20 tooli do usprawnienia pracy przy web
https://blog.bitsrc.io/10-chrome-console-utility-apis-you-probably-never-used-14a0b64f1bd6 - funkcje chrome console ktorych prawdopodobnie nie znales - monitor(func), monitorEvents(object, [,events]), $_ , $(element), $$(element) etc
https://github.com/OptimalBits/redbird - reverse proxy w node.js - loadbalancer, http->https redirecty, obsluga dockera, letsencrypta, etcd
https://blogs.quickheal.com/first-node-js-based-ransomware-nodera/ - ransomware napisany w node.js

kubernetes:
https://www.civo.com/learn/gitops-using-helm3-and-flux-for-an-node-js-and-express-js-microservice - deploy aplikacji node.js za pomoca gitops helm3 i


Pod tagiem #devopsiarz (obserwuj lub czarnolistuj) publikuję od czasu do czasu informacje o ciekawych programach, bibliotekach z działki #devops i nie tylko - najczęściej #golang i #python. Ponadto jakieś ciekawe linki z tego gatunku do takiego zestawienia.

Sorry, że teraz, ale kapownik z linkami mi przedwcześnie spuchnął, mam nadzieję, że się nie obrazicie za to :-)



### czytanki ###

1) https://www.efekarakus.com/golang/2019/12/29/working-with-interfaces-in-go.html
Kolejny artykuł o interfejsach Go i
#mstarzecnews #webdev #programowanie #nodejs #javascript #golang #rust #it #bash #aws #kubernetes #apple

links
https://github.com/gothinkster/realworld - przykład stworzenia klonu medium.com z użyciem większości dostępnych technologi np front react/redux + backend node/express lub front riot.js v3 + backend Akka Http (można używać dowolnych bo wszystkie mają wspólne api) - artykuł na medium https://medium.com/@ericsimons/introducing-realworld-6016654d36b5
https://itnext.io/writing-custom-git-hooks-with-nodejs-2d53732865aa - Git Hook w node.js

https://tiny-helpers.dev/ - zestaw jednofunkcyjnych narzędzi np base64 encode, regex online, crontab guru dla web developerów