Dump links #33

Oto kolejny zrzut linków:

  • https://blog.hydra.so/blog/2023-05-30-materialized-views-precompute-with-postgres
  • https://compile7.org/decompile/authorization-request-headers-explained/
  • https://dev.to/puritanic/how-are-you-writing-a-commit-message-1ih7
  • https://securitylabs.datadoghq.com/articles/container-security-fundamentals-part-1/
  • https://xata.io/blog/postgres-full-text-search-engine
  • https://gildia-developerow.pl/cykl-zycia-encji-w-doctrine-2/
  • https://www.backblaze.com/blog/nas-raid-levels-explained-choosing-the-right-level-to-protect-your-nas-data/
  • https://github.com/makeplane/plane – rozwiązanie podobne do Jira (lecz jeszcze w fazie rozwoju)
  • https://www.bytebase.com/blog/postgres-vs-mysql/
  • https://www.freecodecamp.org/news/git-rebase-handbook/
  • https://arstechnica.com/information-technology/2023/07/the-ibm-mainframe-how-it-runs-and-why-it-survives
  • https://stytch.com/blog/jwts-vs-sessions-which-is-right-for-you
  • https://github.com/linkwarden/docs
  • https://ftisiot.net/postgresqljson/what-are-the-differences-json-jsonb-postgresql/
 

Dump links #31

Kolejny zrzut linków:

  • https://dev.to/davepar/intro-to-postgres-row-level-security-3b3
  • https://thedatabaseme.de/2022/03/20/i-do-it-on-my-own-then-self-hosted-s3-object-storage-with-minio-and-docker/
  • https://mario-gunawan.medium.com/stop-copy-pasting-old-scripts-use-makefile-instead-68331cdf6a32
  • https://github.com/r-spacex/SpaceX-API
  • https://james.darpinian.com/blog/how-see-a-satellite-tonight-works#apis-libraries-and-services
  • https://kind.sigs.k8s.io
  • https://sideproject.guide/en
  • https://brandur.org/fragments/postgres-table-rename
  • https://www.red-gate.com/simple-talk/databases/postgresql/index-types-in-postgresql-learning-postgresql-with-grant/
  • https://geek.justjoin.it/jak-dobre-sa-twoje-testy-o-testowaniu-mutacyjnym/
  • https://vafri.is/
  • https://zawarstwaabstrakcji.pl/20200630-modular-monolith-wprowadzenie/
  • https://zawarstwaabstrakcji.pl/20201012-modular-monolith-testy/
  • https://phptherightway.com/#documenting
  • https://scribe.rip/you-are-doing-sql-pagination-wrong-739a700acbd0
  • https://www.manageiq.org/
  • https://flickity.metafizzy.co/
  • https://github.com/Haxxnet/Compose-Examples/tree/main/examples
  • https://github.com/collabnix/kubelabs
  • https://hackerstations.com/setups/daniel_stenberg/
 

Dump links #30

Tym razem okrągły dump, bo #30. 

  • https://dennylesmana.medium.com/what-is-database-caching-ceebe57de9ba
  • https://brandur.org/fragments/postgres-table-rename
  • https://dmarc.postmarkapp.com/
  • https://www.postgresql.org/docs/current/sql-merge.html
  • https://mailcatcher.me/
  • https://github.com/mailhog/MailHog
  • https://codeception.com/12-15-2013/testing-emails-in-php.html
  • https://tria.ge/login
  • https://jolicode.com/blog/how-to-dynamically-validate-some-data-with-symfony-validator
  • https://archiv.pehapkari.cz/blog/2017/02/24/symfony-validator-dynamic-constraints/
  • https://austingil.com/automatically-deploy-from-git/
  • https://chenhuijing.com/blog/understanding-browser-cookies/
  • https://wcedmisten.fyi/post/self-hosting-osm/
  • https://www.crunchydata.com/blog/postgres-query-boost-using-any-instead-of-in
  • https://www.postgresql.org/docs/current/sql-merge.html
  • https://cachethq.io/
  • https://dencode.com/
  • https://hazelweakly.me/blog/scaling-mastodon/
 

Dump links #27

Przy piątku pora na zrzut linków.

  • https://dev.to/tiaeastwood/how-to-create-a-fake-rest-api-for-your-project-with-json-server-214e
  • https://adamj.eu/tech/2022/06/20/how-to-find-and-stop-running-queries-on-postgresql/
  • https://explain.dalibo.com/
  • https://idea-instructions.com/
  • https://github.com/Netflix/suro
  • https://riemann.io
  • https://lbrito1.github.io/blog/2020/02/repurposing-android.html
  • https://architecturenotes.co/things-you-should-know-about-databases/
  • https://en.m.wikipedia.org/wiki/Punycode
  • https://www.depesz.com/2022/07/05/understanding-pg_stat_activity/
  • https://github.com/WangYihang/GitHacker
  • https://semaphoreci.com/blog/monolith-microservices
  • https://dev.to/dailydevtips1/using-the-native-web-share-javascript-api-23ei

 

 

Dump links #19 – PostgeSQL

Wydanie specjalne – składające się tylko z linków dotyczących PostgreSQL.

  • https://www.cybertec-postgresql.com/en/understanding-lateral-joins-in-postgresql/
  • https://database.guide/how-to-test-for-overlapping-dates-in-postgresql/
  • https://www.pgmustard.com/blog/calculating-per-operation-times-in-postgres-explain-analyze
  • https://www.cybertec-postgresql.com/en/postgresql-limit-vs-fetch-first-rows-with-ties/
  • https://blog.rustprooflabs.com/2021/07/postgres-permission-mat-view

 

 

TimeStamp w PostgreSQL

Każdy kto pracuje z PostgreSQL używał wbudowanej funkcji NOW() – zwraca ona 'aktualny’ TimeStamp. Jednak czas jaki zwraca funkcja może w niektórych przypadkach nieco zmylić.

poniżej prosty select:

aljandor=# select now();
              now
-------------------------------
 2017-02-28 19:34:50.054909+00
(1 row)

aljandor=# select now();
              now
-------------------------------
 2017-02-28 19:35:23.217189+00
(1 row)

zobaczmy co się stanie jeśli zawrzemy dwa powyższe selecty w transakcji:

aljandor=# BEGIN;
BEGIN

aljandor=# select now();
              now
-------------------------------
 2017-02-28 19:40:28.228707+00
(1 row)

aljandor=# select now();
              now
-------------------------------
 2017-02-28 19:40:28.228707+00
(1 row)

aljandor=# COMMIT;
COMMIT

 

Zdziwiony? Dzieje się tak, iż funkcja now() zwraca time-samp czasu rozpoczęcia transakcji. Tak więc jeśli potrzebny nam dokładny znacznik czasu, użyjmy funkcji clock_timestamp():

aljandor=# BEGIN;
BEGIN

aljandor=# select clock_timestamp();
       clock_timestamp
-----------------------------
 2017-02-28 19:45:38.977532+00
(1 row)

aljandor=# select clock_timestamp();
        clock_timestamp
-------------------------------
 2017-02-28 19:45:43.540535+00
(1 row)

aljandor=# COMMIT;
COMMIT

jak widać, funkcja zwraca zawsze aktualny time-stamp. Nieświadome używanie funkcji now() może powodować bardzo groźne sytuacje w przypadkach dla których ważne jest utrzymanie rzeczywistego znacznika czasu.