技术

  • Java,  技术

    Compile Errors without setting “JAVA_HOME”

    The error looks like following variable environment not initialized in the default constructor It seems lomlock doesn’t work. It turns out I don’t set the “JAVA_HOME”. jenv should be able to set it for me automatically Why maven is so stupid that it doesn’t alert me that “JAVA_HOME” is not set…

  • 性能,  技术,  网络

    How to debug slowness of remote calls?

    This is a good article: https://blog.cloudflare.com/a-question-of-timing/ This is my .curlrc file: --write-out "dnslookup: %{time_namelookup} | connect: %{time_connect} | appconnect: %{time_appconnect} | pretransfer: %{time_pretransfer} | starttransfer: %{time_starttransfer} | total: %{time_total} | size: %{size_download}\n" Run this curl Return:

  • database,  技术

    Database Basis

    Normalize & Denormalize Normalization is the technique of dividing the data into multiple tables to reduce data redundancy and inconsistency and to achieve data integrity. On the other hand, Denormalization is the technique of combining the data into a single table to make data retrieval faster.

  • 技术,  网络

    How TLS handshake works

    This chart is based on the article here: https://www.cloudflare.com/learning/ssl/what-happens-in-a-tls-handshake/ It would be much clear to be able to show it in a sequence chart. The key point is in each step what client/server has to generate sessionKey. The premasterSecret is the key factor here. it got generated in the client side by using the pubic key generated in server side. In this way, client side has it’s value (since it generated in client side) and the server side can get it by using private key to decrete it. Sequence diagram source code: mTLS mutual TLS is enhanced TLS which server side needs to verify the identity on the client side…