notes_database || learning log

> cat learning_journal.log

extra info.

a collection of concepts, reverse engineering notes, and q&a snippets i've picked up.

q&a notes

> How do you bypass cloudflare tls fingerprinting in scrapy?

Standard Python requests or Scrapy HTTP clients send predictable TLS signatures. You need to use HTTP/2 client middleware or browser impersonation libraries like curl_cffi to spoof legitimate browser TLS fingerprints.

> What is the difference between asynchronous I/O and multithreading?

Async I/O runs on a single thread using an event loop to switch between non-blocking tasks while waiting for network responses. Multithreading spawns multiple OS threads, which adds memory overhead and potential race conditions in Python due to the GIL.