Co je to Shiba Inu coin?

Shiba coin má přezdívku „Zabiják Dogecoin“. Jedná se o meme coin tak jako Dogecoin. A znakem je také pes Shiba-Inu. Co to ale je? Odpovědi bychom mohli najít v Woof Paper (White Paper), neboli zakládajícím dokumentu, kde jsou popsány hlavní myšlenky kryptoměny.

„Jsme experiment spontánní decentralizované komunity …“ V zakládajícím dokumentu zmiňují GameStop (společnost její akcie prudce stouply po té, co je začaly houfně nakupovat drobní investoři) a Wallstreetbates (internetové fórum na sociální síti Reddit) jako příklad toho, co se stane, když kontrolu převezmou konzumenti a nezkušení investoři (viz obrázek).

Číst dálCo je to Shiba Inu coin?

Informace o dotazech v PostgreSQL

Modul pg_stat_statements umožňuje sledovat statistiku vykonávání SQL příkazů. K získání těchto dat poskytuje databázové view (pohled) pg_stat_statements.

Query vrací dané sql, calls počet volání daného sql a mean_time průměrnou dobu vykonání sql. Další zajímavé sloupce jsou max_time a mean_time a další.

select query, calls, mean_time from pg_stat_statements where mean_time > 1 order by calls desc;
+---------------------------------------------------------------------------------------------------+-------+------------------+
|query                                                                                              |calls  |mean_time         |
+---------------------------------------------------------------------------------------------------+-------+------------------+
|select subscripti0_.id as id1_13_, subscripti0_.created_at as created_2_13_, subscripti0_.updated_a|1683638|1.6858550426386856|
|select userfilter0_.id as id1_15_0_, filterdiff2_.id as id1_3_1_, filterkitc4_.id as id1_6_2_, filt|46466  |7.517142569714144 |
+---------------------------------------------------------------------------------------------------+-------+------------------+

Zdroj: postgresql.org/docs/current/pgstatstatements.html

Zajímavá nastavení lockback

Základní konfigurační soubor lockback.xml

<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

Zapnutí debug režimu pro lockback

Číst dálZajímavá nastavení lockback

Zobrazení data v PostgreSQL v určité časové zóně

K zobrazení času v určité časové zóně se v PostegreSQL používá at time zone + zóna.

select created_at at time zone 'CEST' as cest, created_at at time zone 'GMT' as gmt, created_at at time zone 'EST' as est from table_name;

+--------------------------+--------------------------+--------------------------+
|cest                      |gmt                       |est                       |
+--------------------------+--------------------------+--------------------------+
|2021-05-06 13:13:44.360009|2021-05-06 11:13:44.360009|2021-05-06 06:13:44.360009|
|2021-05-06 13:13:43.676227|2021-05-06 11:13:43.676227|2021-05-06 06:13:43.676227|
|2021-05-06 13:13:43.578580|2021-05-06 11:13:43.578580|2021-05-06 06:13:43.578580|
+--------------------------+--------------------------+--------------------------+

Zdroj: popsql.com/learn-sql/postgresql/how-to-convert-utc-to-local-time-zone-in-postgresql

Webflux a BlockHound

BlockHound je java agent (software nahraný JVM před zavoláním main metody), který způsobí to, že pokud v rámci neblokujícího vlákna (vlákno, které nemá volat blokující volání) zavoláte metodu, která blokuje vlákno, vyhodí se chyba.

Závislost

implementation("io.projectreactor.tools:blockhound:1.0.4.RELEASE")

Pokud si chceme BlockHound přizpůsobit, vytvoříme třídu, která implementuje BlockHoundIntegration

Číst dálWebflux a BlockHound

Posílání chyb do Sentry

Sentry je primárně zaměřeno na chyby. Je to místo, kam budou všechny pády systému reportovány. Na sentry si musíte vytvořit účet a nastavit projekt tak, aby chyby posílal do sentry a mít je na jednom místě.

build.gradle

implementation("io.sentry:sentry-spring-boot-starter:4.3.0")

application.yml
Tato data dostanete při registraci do sentry.

sentry:
    dsn: https://xxx@yyy.ingest.sentry.io/zzz

Kód, který pošle chybu do sentry.

try {
    throw Exception("This is a v1 test.")
} catch (e: Exception) {
    Sentry.captureException(e)
}

Je možné přidat tento kód do GlobalErrorHandleru.

@ControllerAdvice
@RestController
class GlobalErrorHandler {
    private val logger: Logger = LoggerFactory.getLogger(javaClass)

    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
    @ExceptionHandler
    fun handle(e: Exception) {
        logger.error("Error", e)
        Sentry.captureException(e)
    }
}

Přidání uvozovek na začátek a konec každého řádku v souboru pomocí awk

Awk příkaz v příkazové řádce Linuxu, který umožňuje modifikovat soubor. Pro přidání prefixu na začátek souboru se použije příkaz

awk '{print "PREFIX"$0}' FILE

Pro přidání suffixu příkaz

awk '{print $0"SUFFIX"}' FILE

Pokud potřebujete v rámci textu přidat jednoduché uvozovky, je třeba použít '\''.

Jako příklad použiji tento soubor s názvem pokus.

lksajfs
asklfa
ksfawoowp
2526827628276262
koishf
a

sjfoisfj
osfo

Následujícím příkazem vytvořím nový soubor s názvem pokus-modified, který bude mít na začátku každé řádky jednoduchou uvozovku a na konci jednoduchou uvozovku a čárku.

awk '{print "'\''"$0}' pokus | awk '{print $0"'\'',"}' > pokus-modified

Takto bude vypadat modifikovaný soubor.

'lksajfs',
'asklfa',
'ksfawoowp',
'2526827628276262',
'koishf',
'a',
'',
'sjfoisfj',
'osfo',

Zdroje:

 

Scratch: Hra vyhýbání se překážkám

V tomto příspěvku si naprogramujeme jednoduchou hru na vyhýbání se překlážkám v jazyce Scratch. Pokud nevíte, co Scratch je, doporučuji tento tutoriál zde na webu.

Nejdříve si zvolte pozadí. Pak si nakreslete auto, což bude naše hlavní postava. Jeden větší obdélník jako karoserie a čtyři menší obdélníky jako kola.

Číst dálScratch: Hra vyhýbání se překážkám