[Iter-X] 64/100days

Day 6️⃣4️⃣

Immersed in a sea of data, endlessly exploring. Today I’ve been calibrating the transformation from WGS84 to GCJ02 coordinate systems. Some of the previous data had location inaccuracies, so I’m adjusting the logic to fix it. Hopefully I can finish refining the scripts this week and start large-scale POI processing. Related images are also being crawled, and will later be uploaded in batches to OSS.

When dealing with images and videos, the two most costly factors are usually: 1. Storage and 2. Bandwidth. Storage tends to be cheaper, and we can optimize costs by implementing cold/hot storage separation. But bandwidth is where costs can spiral, so we pay extra attention there.

Typically, we generate several thumbnail versions of each image. In most cases, a thumbnail of just a few dozen KB is sufficient, especially on mobile screens. With lossless compression, we can reduce file sizes of high-res images significantly. And we can even sacrifice some resolution without noticeable impact to the human eye — unless you zoom in. That’s why we strike a balance between visual quality and cost by generating a few common thumbnail sizes.

Some systems even support on-the-fly image resizing via URL parameters. This avoids the need to store multiple versions, though it requires generating images in real-time. However, if paired with a CDN, you only need to generate the image on the first request, which is totally acceptable. There’s no silver bullet — only solutions that best match your scenario and budget.

Progress so far:

  1. Prototype & UI/UX Design: 33%
  2. Backend (Go): 60%
  3. Client (Flutter): 55%
  4. Data: 14%

If you identify with the following, let’s talk:

  1. You’re persistent
  2. You’ve got dreams
  3. You’re genuinely interested



Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • zsh nice 5 🧐. How the nice value disturb the… | by ifuryst | Medium
  • TCP congestion control. Statement!!! | by ifuryst | Medium
  • [Iter-X] 65/100days
  • [Iter-X] 63/100days
  • [Iter-X] 62/100days