> 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.