1<!DOCTYPE html><html><head> 2<meta charset="utf-8"> 3<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 4<meta name="generator" content="Observable Framework v1.13.4"> 5<title>å¤å¨å¤·æµæ°´è´¦ | Yingyu Pages</title> 6<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 7<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap" crossorigin=""> 8<link rel="preload" as="style" href="../../../_observablehq/theme-air,near-midnight.b050d634.css"> 9<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&display=swap" crossorigin=""> 10<link rel="stylesheet" type="text/css" href="../../../_observablehq/theme-air,near-midnight.b050d634.css"> 11<link rel="modulepreload" href="../../../_observablehq/client.3724cce3.js"> 12<link rel="modulepreload" href="../../../_observablehq/runtime.607a8173.js"> 13<link rel="modulepreload" href="../../../_observablehq/stdlib.277aeab8.js"> 14 15 <link rel="icon" href="../../../_file/images/favicon.d88f8e9b.ico" type="image/ico" sizes="64x64"> 16 <link rel="stylesheet" type="text/css" href="../../../_file/style/default.f67a1631.css"> 17 <link rel="alternate" type="application/json" href="https://wingu.se/feed.json" title="Yingyu Pages JSON Feed"> 18 <link rel="alternate" type="application/atom+xml" href="https://wingu.se/atom.xml" title="Yingyu Pages Atom Feed"> 19 <link rel="alternate" type="application/rss+xml" href="https://wingu.se/rss.xml" title="Yingyu Pages RSS Feed"> 20 <link rel="alternate" type="application/json" href="https://wingu.se/feed-en.json" title="Yingyu Pages JSON Feed (English)"> 21 <link rel="alternate" type="application/atom+xml" href="https://wingu.se/atom-en.xml" title="Yingyu Pages Atom Feed (English)"> 22 <link rel="alternate" type="application/rss+xml" href="https://wingu.se/rss-en.xml" title="Yingyu Pages RSS Feed (English)"> 23
23<script> 24 window.translationMap = {"/2010/08/25/sudoku-poj-2676-cpp-html-javascript-css":{"en":"Me and Sudoku â Starting from POJ2676","zh":"æåæ°ç¬ââä»POJ2676说起"},"/2010/08/27/3-141592-pi-big-number-calculation":{"en":"A Small Program for Calculating Pi_Arbitrary-Precision Algorithm Practice","zh":"计ç®åå¨ççå°ç¨åº_é«ç²¾åº¦ç®æ³ç»ä¹ "},"/2010/08/28/internet-sharing-1-access":{"en":"Things About Network Sharing (1) â Shared Internet Access","zh":"ç½ç»å ±äº«é£äºäº(ä¸)ââå ±äº«ä¸ç½"},"/2010/09/11/number-of-stack-pop-catalan_number":{"en":"Stack Pop Count Problem (Catalan Numbers)","zh":"åºæ æ°éé®é¢ï¼å¡å¡å °æ°ï¼"},"/2010/12/01/the-maximum-bipartite-matching-problem-poj-1422":{"en":"Maximum Bipartite Matching Template","zh":"äºå徿大å¹é 模æ¿"},"/2011/10/20/cmd-help-generator":{"en":"Generating Help for CMD Commands","zh":"CMDå½ä»¤å¸®å©çæ"},"/2011/11/21/data-you-send-in-http-request":{"en":"From a Developer's Perspective, What Do You Submit When You Open a Web Page","zh":"ä»å¼åè çè§åº¦ï¼å½ä½ æå¼ç½é¡µçæ¶åï¼ä½ æäº¤äºä»ä¹"},"/2012/02/09/thoughts":{"en":"Some Thoughts","zh":"å°æè§¦"},"/2012/03/08/shortest-path":{"en":"Shortest Path Topic","zh":"æçè·¯ä¸é¢"},"/2012/05/19/Bipartite-graph":{"en":"Bipartite Graph Topic","zh":"äºåå¾ä¸é¢"},"/2012/06/22/genetic-algorithm":{"en":"A Small Experiment with Genetic Algorithms","zh":"å°è¯éä¼ ç®æ³"},"/2012/08/29/possibilities":{"en":"Obtaining a Uniform Probability Distribution from a Non-uniform Probability Distribution","zh":"ä»ä¸ä¸ªä¸å¹³åæ¦çåå¸è·å¾ä¸ä¸ªå¹³åçæ¦çåå¸"},"/2012/12/15/k-th":{"en":"The k-th Number Topic","zh":"第kæ°ä¸é¢"},"/2014/07/19/partition":{"en":"Number Theory and a Partition Strategy","zh":"æ°è®ºåPartitionçç¥"},"/2015/09/08/brain-storm":{"en":"Brainstorm","zh":"头è飿´"},"/2016/05/16/useless-social":{"en":"Ineffective Socializing","zh":"æ æç¤¾äº¤"},"/2016/10/07/trip-to-xinjiang":{"en":"A Hike in Xinjiang","zh":"æ°ç徿¥"},"/2016/11/13/trip-2-us":{"en":"Three Weeks in the Bay Area, 2016-10","zh":"2016-10 æ¹¾åºçä¸å¨"},"/2017/02/26/high-dimensional-to-low-dimensional":{"en":"Projection of a High-Dimensional World onto a Low-Dimensional Plane","zh":"é«ç»´ä¸ç对ä½ç»´å¹³é¢çæå½±"},"/2017/03/11/to-the-utopia":{"en":"To Utopia","zh":"è´ä¹æé¦"}
24,"/2017/03/25/information-should-goes-freely":{"en":"Information Should Flow Freely","zh":"ä¿¡æ¯å°±åºè¯¥èªç±æµå¨"},"/2017/03/27/solution-to-meg-cap-problem-3":{"en":"MegCup Geek Challenge Problem 3","zh":"MegCup æå®¢ææèµç¬¬ä¸é¢"},"/2017/04/22/free-of-charge-is-the-most-expensive":{"en":"What Is Free Is the Most Expensive; You Can't Rely on Commercial Companies","zh":"å è´¹çï¼ææ¯æè´µçï¼ä¸è½ä¾èµåä¸å ¬å¸"},"/2017/07/31/bathroom-thought":{"en":"Bathroom Thoughts","zh":"æµ´å®¤æ²æ"},"/2017/08/31/dependency-injection-in-scala":{"en":"Reflection-based Dependency Injection in Scala","zh":"Scala çåå°ä¾èµæ³¨å ¥"},"/2017/09/24/jimei-software-engineer-homework-1-summary":{"en":"Summary of the First Homework for Jimei University Software Engineering","zh":"éç¾å¤§å¦è½¯ä»¶å·¥ç¨å©æç¬¬ä¸æ¬¡ä½ä¸å°ç»"},"/2018/02/23/block-chain-learning":{"en":"Some Thoughts on Blockchain","zh":"åºåé¾ä¸ç¹æè"},"/2018/03/11/openwrt-usb-wifi-wireguard-ipset-dnsmasq-iptables-route":{"en":"Open WRT / Wireguard / IPSet / Route","zh":"Open WRT / Wireguard / IPSet / Route"},"/2018/03/11/wireguard":{"en":"Wireguard Configuration Guide","zh":"Wireguard é ç½®æå"},"/2018/10/30/economic-reasoning":{"en":"Economic Model Deduction","zh":"ç»æµæ¨¡åæ¼ç»"},"/2019/08/25/Hong_Kong_anti-extradition_bill_protests":{"en":"Hong Kong's Movement Against the Extradition Bill Amendment","zh":"馿¸¯çå对ãéç¯æ¡ä¾ãä¿®è®¢èæ¡è¿å¨"},"/2020/06/13/some-random-words":{"en":"Daily Rambling","zh":"æ¥å¸¸å å¨"},"/2021/02/06/clubhouse":{"en":"Trying Out Clubhouse","zh":"Clubhouse ä½éª"},"/2021/06/14/xiaomi":{"en":"Notes on Tinkering with the Xiaomi 11 Pro","zh":"å°ç±³ 11 Pro æè ¾ç¬è®°"},"/2021/07/18/da-tong":{"en":"A Weekend in Datong","zh":"大åç卿«"},"/2021/07/29/networking":{"en":"Misconceptions About Safe Internet Access","zh":"å®å ¨ä¸ç½çè¿·æ"},"/2023/04/21/dnat-source-in-source-out":{"en":"DNAT Preserving Client IP with Symmetric Routing","zh":"DNAT ä¿ç客æ·ç«¯ IP 䏿ºè¿æºåº"},"/2023/11/18/import-gpg-key-from-yubikey":{"en":"Import GPG Public Key from YubiKey","zh":"ä» YubiKey ä¸å¯¼å ¥ GPG public key"},"/2023/11/30/only-apple-can-do-allow-apps-tracking-users-location-without-consensus":{"en":"Apple allows applications to track user locations without authorization","zh":"è¹æå 许åºç¨ç¨åºå¨æªç»ææçæ åµä¸è¿½è¸ªç¨æ·ä½ç½®"},"/2024/10/16/podman-compose-bridge-network":{"en":"Setting Up a Podman Machine Bridge Network on macOS: A Step-by-Step Guide","zh":"å¨macOSä¸è®¾ç½®Podmanèææºæ¡¥æ¥ç½ç»ï¼éæ¥æå"},"/2026/01/02/location-tracking-solution":{"en":"Changed Location Timeline Tool","zh":"æ¢äºä½ç½®æ¶é´çº¿å·¥å ·"},"/2026/06/14/hawaii":{"en":"Hawaii Journal","zh":"å¤å¨å¤·æµæ°´è´¦"},"/about":{"en":"About","zh":"About"},"/index":{"en":"Yingyu Pages","zh":"Yingyu Pages"}}; 25 (function() { 26 const preferredLang = localStorage.getItem('lang') || (navigator.language.startsWith('zh') ? 'zh' : 'en'); 27 const currentPath = window.location.pathname.replace(/\.html$/, '').replace(/\/$/, ''); 28 const isEn = currentPath.endsWith('/en') || currentPath === '/en'; 29 const currentLang = isEn ? 'en' : 'zh'; 30 31 if (preferredLang !== currentLang) { 32 const basePath = isEn ? currentPath.slice(0, -3) : (currentPath === '' ? '/index' : currentPath); 33 const targetPath = preferredLang === 'en' ? (basePath + '/en') : (basePath === '/index' ? '/' : basePath); 34 if (window.translationMap[basePath] && window.translationMap[basePath][preferredLang]) { 35 window.location.href = (targetPath === '/' ? '/' : targetPath + '.html'); 36 } 37 } 38 39 function updateSidebar() { 40 const isEn = window.location.pathname.replace(/\.html$/, '').endsWith('/en'); 41 if (isEn) { 42 document.querySelectorAll('#observablehq-sidebar a').forEach(a => { 43 const href = a.pathname.replace(/\.html$/, ''); 44 const base = href.endsWith('/en') ? href.slice(0, -3) : href; 45 if (window.translationMap[base] && window.translationMap[base].en) { 46 a.innerText = window.translationMap[base].en; 47 if (!a.pathname.includes('/en.html')) { 48 a.setAttribute('href', base + '/en.html'); 49 } 50 } 51 }); 52 } 53 } 54 document.addEventListener('DOMContentLoaded', updateSidebar); 55 // Also observe for sidebar changes (Observable Framework might re-render) 56 const observer = new MutationObserver(updateSidebar); 57 document.addEventListener('DOMContentLoaded', () => { 58 const sidebar = document.querySelector('#observablehq-sidebar'); 59 if (sidebar) observer.observe(sidebar, { childList: true, subtree: true }); 60 }); 61 })(); 62 (function() { 63 let actions = []; 64 function handler(e) { 65 const now = Date.now(); 66 actions.push(now); 67 if (actions.length > 10) actions.shift(); 68 if (actions.length === 10) { 69 const pause = actions[5] - actions[4]; 70 if (pause >= 2000 && pause <= 5000) { 71 let valid = true; 72 for (let i = 1; i < 10; i++) { 73 if (i !== 5 && actions[i] - actions[i - 1] > 500) { 74 valid = false;
75 break; 76 } 77 } 78 if (valid) { 79 fetch('https://pv.wingu.se/?opt-out=tou-tpo', {credentials: 'include'}); 80 alert("Opt-out activated."); 81 actions = []; 82 } 83 } 84 } 85 } 86 document.addEventListener('click', handler, true); 87 document.addEventListener('touchstart', handler, {capture: true, passive: true}); 88 })(); 89 (function() { 90 function addImgCaptions() { 91 document.querySelectorAll('main img').forEach(img => { 92 if (img.dataset.captioned) return; 93 img.dataset.captioned = 'true'; 94 const alt = img.getAttribute('alt'); 95 if (alt && alt.trim()) { 96 const parent = img.parentElement; 97 if (parent && parent.tagName === 'P' && parent.children.length === 1 && parent.textContent.trim() === '') { 98 const figure = document.createElement('figure'); 99 const figcaption = document.createElement('figcaption'); 100 figcaption.textContent = alt; 101 parent.replaceWith(figure); 102 figure.appendChild(img); 103 figure.appendChild(figcaption); 104 } 105 } 106 }); 107 } 108 document.addEventListener('DOMContentLoaded', addImgCaptions); 109 const observer = new MutationObserver(addImgCaptions); 110 document.addEventListener('DOMContentLoaded', () => { 111 const main = document.querySelector('main'); 112 if (main) observer.observe(main, { childList: true, subtree: true }); 113 }); 114 })(); 115 </script>
115 116
117<script type="module"> 118 119import "../../../_observablehq/client.3724cce3.js"; 120 121</script>
121 122</head> 123<body> 124<input id="observablehq-sidebar-toggle" type="checkbox" title="Toggle sidebar"> 125<label id="observablehq-sidebar-backdrop" for="observablehq-sidebar-toggle"></label> 126<nav id="observablehq-sidebar"> 127 <ol> 128 <label id="observablehq-sidebar-close" for="observablehq-sidebar-toggle"></label> 129 <li class="observablehq-link"><a href="../../../">Yingyu Pages</a></li> 130 </ol> 131 <div id="observablehq-search"><input type="search" placeholder="Search"></div> 132 <div id="observablehq-search-results"></div> 133
133<script>{const o=document.querySelector("#observablehq-search");o.setAttribute("data-shortcut",`${/Mac|iPhone/.test(navigator.platform)?"\u2318":"Alt-"}K`);const t=o.querySelector("input"),r=()=>import("../../../_observablehq/search.434c4fef.js");t.addEventListener("focus",r,{once:!0}),t.addEventListener("keydown",r,{once:!0});const c=document.querySelector("#observablehq-sidebar-toggle");addEventListener("keydown",e=>{(e.code==="KeyK"&&e.metaKey&&!e.altKey&&!e.ctrlKey||e.key==="/"&&!e.metaKey&&!e.altKey&&!e.ctrlKey&&e.target===document.body)&&(c.checked?t.focus():(c.click(),t.focus(),c.click()),t.select(),e.preventDefault())});}</script>
133 134 <ol> 135 <li class="observablehq-link"><a href="../../../about.html">About</a></li> 136 </ol> 137 <details open="" class="observablehq-section-active"> 138 <summary>2026</summary> 139 <ol> 140 <li class="observablehq-link observablehq-link-active"><a href="./hawaii.html">å¤å¨å¤·æµæ°´è´¦</a></li> 141 <li class="observablehq-link"><a href="../../01/02/location-tracking-solution.html">æ¢äºä½ç½®æ¶é´çº¿å·¥å ·</a></li> 142 </ol> 143 </details> 144 <details> 145 <summary>2024</summary> 146 <ol> 147 <li class="observablehq-link"><a href="../../../2024/10/16/podman-compose-bridge-network.html">å¨macOSä¸è®¾ç½®Podmanèææºæ¡¥æ¥ç½ç»ï¼éæ¥æå</a></li> 148 </ol> 149 </details> 150 <details> 151 <summary>2023</summary> 152 <ol> 153 <li class="observablehq-link"><a href="../../../2023/11/30/only-apple-can-do-allow-apps-tracking-users-location-without-consensus.html">è¹æå 许åºç¨ç¨åºå¨æªç»ææçæ åµä¸è¿½è¸ªç¨æ·ä½ç½®</a></li> 154 <li class="observablehq-link"><a href="../../../2023/11/18/import-gpg-key-from-yubikey.html">ä» YubiKey ä¸å¯¼å ¥ GPG public key</a></li> 155 <li class="observablehq-link"><a href="../../../2023/04/21/dnat-source-in-source-out.html">DNAT ä¿ç客æ·ç«¯ IP 䏿ºè¿æºåº</a></li> 156 </ol> 157 </details> 158 <details> 159 <summary>2021</summary> 160 <ol> 161 <li class="observablehq-link"><a href="../../../2021/07/29/networking.html">å®å ¨ä¸ç½çè¿·æ</a></li> 162 <li class="observablehq-link"><a href="../../../2021/07/18/da-tong.html">大åç卿«</a></li> 163 <li class="observablehq-link"><a href="../../../2021/06/14/xiaomi.html">å°ç±³ 11 Pro æè ¾ç¬è®°</a></li> 164 <li class="observablehq-link"><a href="../../../2021/02/06/clubhouse.html">Clubhouse ä½éª</a></li> 165 </ol> 166 </details> 167 <details> 168 <summary>2020</summary> 169 <ol> 170 <li class="observablehq-link"><a href="../../../2020/06/13/some-random-words.html">æ¥å¸¸å å¨</a></li> 171 </ol> 172 </details> 173 <details> 174 <summary>2019</summary> 175 <ol> 176 <li class="observablehq-link"><a href="../../../2019/08/25/Hong_Kong_anti-extradition_bill_protests.html">馿¸¯çå对ãéç¯æ¡ä¾ãä¿®è®¢èæ¡è¿å¨</a></li> 177 </ol> 178 </details> 179 <details> 180 <summary>2018</summary> 181 <ol> 182 <li class="observablehq-link"><a href="../../../2018/10/30/economic-reasoning.html">ç»æµæ¨¡åæ¼ç»</a></li> 183 <li class="observablehq-link"><a href="../../../2018/03/11/wireguard.html">Wireguard é ç½®æå</a></li> 184 <li class="observablehq-link"><a href="../../../2018/03/11/openwrt-usb-wifi-wireguard-ipset-dnsmasq-iptables-route.html">Open WRT / Wireguard / IPSet / Route</a></li> 185 <li class="observablehq-link"><a href="../../../2018/02/23/block-chain-learning.html">åºåé¾ä¸ç¹æè</a></li> 186 </ol> 187 </details> 188 <details> 189 <summary>2017</summary> 190 <ol> 191 <li class="observablehq-link"><a href="../../../2017/09/24/jimei-software-engineer-homework-1-summary.html">éç¾å¤§å¦è½¯ä»¶å·¥ç¨å©æç¬¬ä¸æ¬¡ä½ä¸å°ç»</a></li> 192 <li class="observablehq-link"><a href="../../../2017/08/31/dependency-injection-in-scala.html">Scala çåå°ä¾èµæ³¨å ¥</a></li> 193 <li class="observablehq-link"><a href="../../../2017/07/31/bathroom-thought.html">æµ´å®¤æ²æ</a></li> 194 <li class="observablehq-link"><a href="../../../2017/04/22/free-of-charge-is-the-most-expensive.html">å è´¹çï¼ææ¯æè´µçï¼ä¸è½ä¾èµåä¸å ¬å¸</a></li> 195 <li class="observablehq-link"><a href="../../../2017/03/27/solution-to-meg-cap-problem-3.html">MegCup æå®¢ææèµç¬¬ä¸é¢</a></li> 196 <li class="observablehq-link"><a href="../../../2017/03/25/information-should-goes-freely.html">ä¿¡æ¯å°±åºè¯¥èªç±æµå¨</a></li> 197 <li class="observablehq-link"><a href="../../../2017/03/11/to-the-utopia.html">è´ä¹æé¦</a></li> 198 <li class="observablehq-link"><a href="../../../2017/02/26/high-dimensional-to-low-dimensional.html">é«ç»´ä¸ç对ä½ç»´å¹³é¢çæå½±</a></li> 199 </ol> 200 </details> 201 <details> 202 <summary>2016</summary> 203 <ol> 204 <li class="observablehq-link"><a href="../../../2016/11/13/trip-2-us.html">2016-10 æ¹¾åºçä¸å¨</a></li> 205 <li class="observablehq-link"><a href="../../../2016/10/07/trip-to-xinjiang.html">æ°ç徿¥</a></li> 206 <li class="observablehq-link"><a href="../../../2016/05/16/useless-social.html">æ æç¤¾äº¤</a></li> 207 </ol> 208 </details> 209 <details> 210 <summary>2015</summary> 211 <ol> 212 <li class="observablehq-link"><a href="../../../2015/09/08/brain-storm.html">头è飿´</a></li> 213 </ol> 214 </details> 215 <details> 216 <summary>2014</summary> 217 <ol> 218 <li class="observablehq-link"><a href="../../../2014/07/19/partition.html">æ°è®ºåPartitionçç¥</a></li> 219 </ol> 220 </details> 221 <details> 222 <summary>2012</summary> 223 <ol> 224 <li class="observablehq-link"><a href="../../../2012/12/15/k-th.html">第kæ°ä¸é¢</a></li> 225 <li class="observablehq-link"><a href="../../../2012/08/29/possibilities.html">ä»ä¸ä¸ªä¸å¹³åæ¦çåå¸è·å¾ä¸ä¸ªå¹³åçæ¦çåå¸</a></li> 226 <li class="observablehq-link"><a href="../../../2012/06/22/genetic-algorithm.html">å°è¯éä¼ ç®æ³</a></li> 227 <li class="observablehq-link"><a href="../../../2012/05/19/Bipartite-graph.html">äºåå¾ä¸é¢</a></li> 228 <li class="observablehq-link"><a href="../../../2012/03/08/shortest-path.html">æçè·¯ä¸é¢</a></li> 229 <li class="observablehq-link"><a href="../../../2012/02/09/thoughts.html">å°æè§¦</a></li> 230 </ol> 231 </details> 232 <details> 233 <summary>2011</summary> 234 <ol> 235 <li class="observablehq-link"><a href="../../../2011/11/21/data-you-send-in-http-request.html">ä»å¼åè çè§åº¦ï¼å½ä½ æå¼ç½é¡µçæ¶åï¼ä½ æäº¤äºä»ä¹</a></li> 236 <li class="observablehq-link"><a href="../../../2011/10/20/cmd-help-generator.html">CMDå½ä»¤å¸®å©çæ</a></li> 237 </ol> 238 </details> 239 <details> 240 <summary>2010</summary> 241 <ol> 242 <li class="observablehq-link"><a href="../../../2010/12/01/the-maximum-bipartite-matching-problem-poj-1422.html">äºå徿大å¹é 模æ¿</a></li> 243 <li class="observablehq-link"><a href="../../../2010/09/11/number-of-stack-pop-catalan_number.html">
243åºæ æ°éé®é¢ï¼å¡å¡å °æ°ï¼</a></li> 244 <li class="observablehq-link"><a href="../../../2010/08/28/internet-sharing-1-access.html">ç½ç»å ±äº«é£äºäº(ä¸)ââå ±äº«ä¸ç½</a></li> 245 <li class="observablehq-link"><a href="../../../2010/08/27/3-141592-pi-big-number-calculation.html">计ç®åå¨ççå°ç¨åº_é«ç²¾åº¦ç®æ³ç»ä¹ </a></li> 246 <li class="observablehq-link"><a href="../../../2010/08/25/sudoku-poj-2676-cpp-html-javascript-css.html">æåæ°ç¬ââä»POJ2676说起</a></li> 247 </ol> 248 </details> 249</nav>
250<script>{const e=document.querySelector("#observablehq-sidebar"),o=document.querySelector("#observablehq-sidebar-toggle"),r=sessionStorage.getItem("observablehq-sidebar");r?o.checked=r==="true":o.indeterminate=!0;for(const t of document.querySelectorAll("#observablehq-sidebar summary")){const s=t.parentElement;switch(sessionStorage.getItem(`observablehq-sidebar:${t.textContent}`)){case"true":s.open=!0;break;case"false":s.classList.contains("observablehq-section-active")||(s.open=!1);break}}addEventListener("beforeunload",()=>sessionStorage.setItem("observablehq-sidebar-scrolly",`${e.scrollTop}`));const a=sessionStorage.getItem("observablehq-sidebar-scrolly");a!=null&&(e.style.cssText="overflow: hidden;",e.scrollTop=+a,e.style.cssText="");}</script>
250 251<div id="observablehq-center"> 252<header id="observablehq-header"> 253<div style="position: absolute; top: 10px; right: 10px;"> 254 <a href="./hawaii/en.html" onclick="localStorage.setItem('lang', 'en')">English</a> 255 </div><h1>å¤å¨å¤·æµæ°´è´¦</h1><small>
255<script>document.write(new Date(1781483400000).toLocaleString())</script>
255 <img src="https://pv.wingu.se/?r=wingu.se/2026/06/14/hawaii" style="vertical-align: middle; height: 1em;"></small> 256</header> 257<aside id="observablehq-toc" data-selector="h1:not(:first-of-type)[id], h2:first-child[id], :not(h1) + h2[id]"> 258<nav> 259<div>Contents</div> 260<ol> 261<li class="observablehq-secondary-link"><a href="#part-1-big-island">Part 1. 大å²ï¼Big Islandï¼</a></li> 262<li class="observablehq-secondary-link"><a href="#part-2-oahu">Part 2. 欧è¡å²ï¼Oahuï¼</a></li> 263<li class="observablehq-secondary-link"><a href="#-6">尾声</a></li> 264</ol> 265</nav> 266</aside> 267<main id="observablehq-main" class="observablehq"> 268<p>æè¿æ¥äºä¸ä¸ªæ°æ³æ³ï¼ç¶åææ¥ AI 帮æåäºè°ç ï¼æè§è¿æºé è°±ï¼å±äº low hanging fruitï¼ä¸ç¥éåé¢è¦ä¸è¦æäº²èªä¸åºåï¼ç¶å take 个 creditï¼ä½æ¯é½å¨äºä¸åäºï¼æåååä¸äºçµèï¼èªå·±æ¶æ¾è¡æï¼å¥åå¤å¨å¤·ã</p> 269<p>äºå®è¯æï¼äººä¸è½å¨åå¿ä¸åå³å®ã临åºé¨åä¸éæå¿èä¹±ï¼å¯¼è´å®¶éç Z-Wave å Zigbee USB ç½å ³ä¸å°å¿è¢«ç¢°æ¾äºãç»æå°±æ¯ï¼äººå¨å¤§æ´å½¼å²¸ï¼å®¶éçæºè½ç¯å èªå¨åå ¨é¢ç«çªã</p> 270<h2 id="part-1-big-island" tabindex="-1"><a class="observablehq-header-anchor" href="#part-1-big-island">Part 1. 大å²ï¼Big Islandï¼</a></h2> 271<h3 id="" tabindex="-1"><a class="observablehq-header-anchor" href="#">âï¸ æ§½ç¹æ»¡æ»¡çå¼å±</a></h3> 272<p>åºé¨åè婿±åï¼æè½¦å»æºåºã叿ºæ¯ä¸ªåä»å æ¿å¤§æ¬æ¥çèå¥ï¼å¼è½¦å¾ä¿å®ï¼å¨äºä¸åç 405 å¾å µï¼æåä¸å¾ä¸ç±æå å½äººè导èªï¼å¬ä»åè¿ HOVï¼å ±ä¹è½¦éï¼ã</p> 273<p>飿ºä¸è¦é£æ¼«é¿çäºä¸ªå¤å°æ¶ãä¹°äºä¸ª 8 åç Starlink è¿ä¸è¯è¯ãåªè½è¯´ï¼å å 1.7 ä¸äº¿å¸å¼çå ¬å¸ï¼è¿å«æç½ç»çæ¯ä¸å¤ªç¨³å®ï¼è½ç¶å³°å¼é度è¿å¯ä»¥ï¼ãä¸è¿è· Delta é£äºå¨éå°ä¸ç©ºç¿±ç¿ä¸å è´¹ç Wi-Fi ç¸æ¯ï¼å¨å¤§æ´ä¸ç©ºä¹ç®æ²¡å¥å¯æ¯æ§ã</p> 274<p>è½å°ãç§è½¦ï¼è½¦è¡ç»äºè¾å¼äºå¿«åä¸è±éçç ´å°¼æ¡ãæè ¾å°å¤§å²çé åºå·²ç»å¿«æ·±å¤ 11 ç¹ï¼è¥¿é 徿¶é´åæ¨ 3 ç¹ï¼ãå 为å°å¾å¤ªæï¼åå°æ©å°±ä¸çäºã</p> 275<h3 id="-1" tabindex="-1"><a class="observablehq-header-anchor" href="#-1">ð¨ æ··åå ¬å¯åº¦åæä¸âä¸æè´¹ç¨âçæé¯æ</a></h3> 276<p>第äºå¤©éæ¥å»è¡¥æ¿é¥åï¼ç»æè¢«åç¥è¦è¡¥äº¤ 118 åçæ¸ æ´è´¹ãç¾å¸çæ æ¸¸ä¸ææ¶å¿çå°æ¹å°±å¨è¿éââåç§åç®çéèè´¹ç¨ï¼Feeï¼ãæææè®°å¾é¢å®æ¶åçæ¯ All Fee Includedãæ¬çä¸åæ¶è´¹ä¸»ä¹ä½å¤´çååï¼æè½¬å¤´å°±å»å Capital One æ±æ¨æè¯ï¼æåæåæå°äº 200 åç Creditã</p> 277<p>æå¼è¿ç¬æ¶å¿äººçè´¹ç¨ä¸è°ï¼è¿ä¸ªçæ¾çæ··åå ¬å¯å¼åº¦åæï¼Condo Resortï¼å ¶å®è¿ç®ä¸éï¼æ¿åè½èï¼ä½é¢ç§¯å¤§ãè£ é¥°å¥½ï¼ä¹è¶³å¤å¹²åãä¸å卿µ·è¾¹èººå¹³ãæ¸¸æ³³ï¼æ©æ´ä¸åé¨ï¼æµæ··æ²æ²ä¸ï¼å¤§å²ç第ä¸å¤©å°±è¿å»äºã</p> 278<h3 id="-2" tabindex="-1"><a class="observablehq-header-anchor" href="#-2">ð ç«å±±å½å®¶å ¬åï¼å¤§èªç¶çç¡¬æ ¸çæ¯</a></h3> 279<p>第ä¸å¤©ä¸å¤§æ©ï¼ç ®äº 8 个鸡èå½å¹²ç²®ï¼éæ¿ç´å¥ç«å±±å½å®¶å ¬åã</p> 280<ul> 281<li><strong>ç«å±±æº¶æ´ï¼Thurston Lava Tubeï¼</strong>ï¼ç®åæ£å¨ç»´ä¿®ï¼èµ°äºä¸åï¼æè§å¤§åå°å¼ï¼æ²¡å¥ææã</li> 282<li><strong>ç«å±±å£ Trail</strong>ï¼å¯¹é¢çæ¥éä¸è·¯ä¸å°ç«å±±ååºé¨ãè½ç¶è¿ä¸ªç«å±±å£æ©å°±å·å´äºï¼ä½è¸©å¨ç¡¬é¦é¦ã满æ¯è¤¶ç±çç«å±±å²©å°æ¿ä¸ï¼è¿æ¯è½æåå°å°å£³æ¾ç»æ¶å¨çåéãèåçé»è²å²©ç³ç¼ééï¼é¡½å¼ºå°é¿çä¸ç§å« <strong>ÅhiÊ»a Lehua</strong> çç¹ææ¤ç©ï¼å¼çä¸ç°ç°çº¢è²çç»ç¶è±ã</li> 283</ul> 284<figure><img src="../../../_file/images/2026-06-Ohia-Lehua.bffce499.jpg" alt="Kilauea lki Crater ç«å±±å£éåä¸é¢ç红è²ç»è±æ¤ç©"><figcaption>Kilauea lki Crater ç«å±±å£éåä¸é¢ç红è²ç»è±æ¤ç©</figcaption></figure> 285<ul> 286<li><strong>Chain of Craters Road</strong>ï¼è¿æ¡è·¯ä¸è·¯åä¸ç»µå»¶äºåäºåå ¬éï¼æ²¿éæ¯ä¸ä¸ªæ¥ä¸ä¸ªç巨大ç«å±±å£å·¨åãæä»¬ä¸ç´å¼å°å¿«å°æµ·è¾¹çæ¬å´ï¼çäºä¸ç¼ææ¶æå²¸ä¾¿æè¿äºã</li> 287</ul> 288<figure><img src="../../../_file/images/2026-06-Chain-of-Craters-Road-to-ocean.be131e9a.jpg" alt="Chain of Craters Road å°æµ·è¾¹ï¼å·å´çç«å±±å²©å°±åçå±ç²ç²"><figcaption>Chain of Craters Road å°æµ·è¾¹ï¼å·å´çç«å±±å²©å°±åçå±ç²ç²</fig
288caption></figure> 289<p>æåæä»¬åå°äºè¥¿çº¿ï¼è¿æçå°äºçæ£ç¬¦åæ³è±¡çç»é¢ï¼ä¸ä¸ªä¸æåçç½ççè¸æ±½åï¼Steam Ventsï¼ï¼ä»¥åä¸ä¸ªè½ç¶ä»å¤©æ²¡å·åãä½ä¸ç´å¨æºæºä¸æåçç巨大活ç«å±±å£ã</p> 290<figure><img src="../../../_file/images/2026-06-smoking-volcano.1e7226f9.jpg" alt="æ£å¨åççç«å±±å£ï¼å¯ææ²¡èµ¶ä¸å·å"><figcaption>æ£å¨åççç«å±±å£ï¼å¯ææ²¡èµ¶ä¸å·å</figcaption></figure> 291<h3 id="100" tabindex="-1"><a class="observablehq-header-anchor" href="#100">ð¸ 100åè´çâæ¿ä»·ææâ</a></h3> 292<p>æä¸å¼è½¦å°åè¾¹ç叿´ï¼Hiloï¼åé¥ãåäºä¸çæå¤§å©é¢ï¼é¡ºä¾¿å»è¶ å¸ä¹°äºä¸ªå½å°çæ¨çï¼é¡ºéç»ä»°äºå¤å¨å¤·çå½å¡ç¾åç¾åå½ççéåã</p> 293<p>å¨è·¯ä¸ï¼æå¬å°ä¸ç§æå ¶è¯¡å¼ä¸å亮çé¸å«å£°ï¼å¥½å¥ç¨ææºæ¥äºä¸ä¸ï¼ç»æå¤§åéæ¼ãè¿ç©æå¿åæ ¹ä¸æ¯é¸ï¼èæ¯<strong>å£å¨èï¼Coqui Frogï¼</strong>ãæ®è¯´è¿å±äºå¤æ¥ç©ç§å ¥ä¾µï¼å¨å¤å¨å¤·é¨ååºåæ³æ»¥å°ä¸è±äº©è½æä¸ä¸åªãä¸å°æä¸ï¼å®ä»¬çå«å£°è½é£å° 100 åè´ãè¿ç§ææçåªé³ç´æ¥å¯¼è´å¨è¾¹ç¯å¢åæç²¾ç¥æ±¡æï¼è¿å¸¦éè¿çæ¿ä»·é½è·çä¸è·ï¼å¦ä»å¨å²ä¸å±äºäººäººåæçç¶æã</p> 294<h2 id="part-2-oahu" tabindex="-1"><a class="observablehq-header-anchor" href="#part-2-oahu">Part 2. 欧è¡å²ï¼Oahuï¼</a></h2> 295<h3 id="-3" tabindex="-1"><a class="observablehq-header-anchor" href="#-3">âï¸ è·¨å²</a></h3> 296<p>åå«äºå¤§å²ï¼æä»¬å» Costco 转äºä¸åãæ¬æ³ççæä»ä¹æ°é²ç©æï¼ç»æåç°å ¨å½ç Costco é½å·®ä¸å¤ï¼åªæ¯å¤äºç
296¹æ¬å°ç¹è²çé¶é£ãæ¥çå»äºéè¿ä¸ä¸ªæä¸ºæ´æçå½å®¶åå²å ¬ååæµ·æ»©ï¼æµ·æ°´æ¶ä¸é»è²ç«å±±å²©ï¼éé¢è½æ¸ æ°å°çå°å°é±¼åè¾è¹ï¼è¿æ¯æºæè¶£çã</p> 297<p>å¨ Costco ç»ç§çè½¦å æ»¡æ²¹ã顺äºä¸ª Pizza 填饱èåï¼ä¾¿è¿è½¦é£å¾æªé¦å±±ï¼Honoluluï¼ã</p> 298<p>å°äºæ¬§è¡å²ï¼æ¢äºä¸è¾ä¸è±å°è½¦ãè¿æ¬¡çé åºæ¯å å¨ Way Finder å 4 天ï¼ç¶åæåä¸å¤©å¨ä¸è±ªãWay Finder è¿ä¸ªé åºæ´å æâè ç¾æ¯â忥å°äºæè´ãè½ç¶æå¤´æä¸¤ä¸ªé¢å®ï¼ä½ 100 åçé åº Credit åªç»ä¸ä»½ï¼èè¿éçå车费ä¸å¤©å°±è¦ 45 åãæä¸è· Chase 客æå¨çµè¯éç论ï¼è¢«å¯¹æ¹ç¨ä¸æ¡âå°å°çéèæ¡æ¬¾âç»æ¼äºåæ¥ãæ©ç¥éè¿æ ·ï¼ç该æä¸è±ªé£ä¸å¤©çè¡ç¨æªå°ä¸é´æ¥ã</p> 299<h3 id="waikiki" tabindex="-1"><a class="observablehq-header-anchor" href="#waikiki">ð¢ çç æ¸¯çæ²éï¼ä¸ Waikiki çâä¸é¥ºåâ</a></h3> 300<p>åä¸å¤©ç¡å¾æ©ï¼æ¸ æ¨ 6 ç¹å°±èªç¶éäºã</p> 301<p>æ©é¥å驱车åå¾<strong>çç æ¸¯</strong>ãæ¬æ¥å¯¹æé没æ±å¤ªå¤§å¸æï¼ç»æè¿æ°ä¸éï¼ä¸å°æ¶å顺å©ç»ä¸äºæ¸¡è½®ï¼åè§äº<strong>äºå©æ¡é£å·æåè°çºªå¿µé¦</strong>ã飿¯ä¸åº§æ¨ªè·¨å¨æ²è¹é骸ä¸çç½è²å»ºçï¼æ°´é¢ä¸è¿è½çå°å½å¹´åè°æ®çççå±ï¼è±ä½è³ä»è¿å¨ç¼ç¼å夿¸çâäºå©æ¡é£çç¼æ³ªâï¼çæ²¹ï¼ã</p> 302<p>ä¸åå»ç¬äº<strong>é»ç³å¤´å±±ï¼Diamond Headï¼</strong>ãå¨å±±é¡¶ä¿¯ç°äºæ´ä¸ªå¨åºåºæµ·å²¸çº¿ãä¸å±±åæ¥çè·¯ä¸ï¼ææéçç®å ææå°äºä¸ä¸ªå¯ä»¥å è´¹å车çè¡è¾¹ç©ºä½ââ为äºçä¸é£ä¸å¤© 45 åçåè½¦è´¹ï¼æå³å®ä»æå°±åè¿äºã</p> 303<p>æä¸å¨ Waikiki åäºé¡¿å¹¿ä¸èãè徿²¹ï¼è䏿¯çè´µãç»è´¦æ¶ç³»ç»é»è®¤å¼ºå äº 18% çæ¶è´¹ï¼è½ç¶å¹³æ¶æä¹ç»è¿ä¹å¤ï¼ä½è¢«å¼ºå å°±æ¯å¾ä¸ç½ï¼ï¼æ´ç¦»è°±çæ¯å·å¡è¿è¦åæ¶ 3% çæç»è´¹ã<strong>对游客ç䏿§æ¯âåºè å°½è âã</strong></p> 304<p>åå®é¥å»æµ·è¾¹æ¶é£ï¼å¨åºåºçæ²æ»©ä¸å ¨æ¯äººï¼å¯å¯éº»éº»ççåä¸é¥ºå䏿 ·ãå 为å¿éæ»æ¦è®°çé£ä¸ªå 费车ä½ï¼åé åºåç¹æåç»è¿å»çäºä¸ç¼ãè¿å ååé±ï¼çå¾å¤ªä¸å®¹æäºã</p> 305<h3 id="-4" tabindex="-1"><a class="observablehq-header-anchor" href="#-4">â©ï¸ å¹³çé¢ãå¼ å¦è¯ä¸âæ¾å¤§ççæ¯â</a></h3> 306<p>éå¤©æ¬æ³å»æ¤ç©åï¼ç»æåäºä¸ªéé¨ç¾¹ï¼ä¸´æ¶æ¹éå»äºå飿µ·å²¸ç<strong>å¤å¨å¤·å¹³çé¢ï¼Byodo-In Templeï¼</strong>ã</p> 307<p>è¿æ¯ä¸åº§ 1:1 å¤å»æ¥æ¬å®æ²»å¹³çé¢çä½å¯ºãé¢åå ¶å®æºæ®éï¼æ 鿝ååé¦é²¤åå°é¸ãä½å¥å¦çæ¯ï¼å¯ºåºå¨å´æ¯ä¸å¤§ç绿油油çèåªå¢å°ï¼å°±å¨å¯ºåºé¨å£ä¸è¿å¤ï¼åçµçä¸åæ°å½åå²ä¸çä¼ å¥äººç©ââ<strong>å¼ å¦è¯ä¸èµµä¸è»çåè¬å¢</strong>ãç«å¨å¢åäºè§£äºä¸ä¸åå²ï¼ä¸å æäºæå¹ã西å®äºåå被软ç¦äºå¤§åè¾åï¼å¥½ä¸å®¹æè·å¾èªç±ï¼æåé¿ç å¨è¿å¤ªå¹³æ´å¤å²ç绿èµä¹ä¸ï¼ä¹æ¯ä¸ç§è¯´ä¸åºçæå±ä¸ä¼ å¥ã</p> 308<figure><img src="../../../_file/images/2026-06-zhang-xue-liang-tomb-view-byodo-in-teemple.8cb6fb0a.jpg" alt="å¼ å¦è¯å¢çæ¥éä¸çå¹³ç寺"><figcaption>å¼ å¦è¯å¢çæ¥éä¸çå¹³ç寺</figcaption></figure> 309<p>éåå»äºå¤å °å°¼ç§åºï¼ä¾ç½çºªå ¬åææå°ï¼ãéé¢åºæ¬ä¸å±äºæ åçææ å¥è·¯ï¼å°å¤ç«ççµå½±åæ¯å°ççåï¼çå¤äºæºæ²¡ææãå忝è¿éè¿çæ å¿æ§å±±èéå¸¸æææââå±±å¿æå ¶é¡å³ï¼ååæ§å¿ä¸è¬ï¼å²©å£ä¸è¦ççååçæ¤è¢«ï¼æ´»åä¸ä¸ª<strong>æ¾å¤§çç绿è²çæ¯</strong>ãè¿ä¹ä¾§é¢è¯´æäºè¿çè¿é£å¡çéé¨éæå¤ä¹æäººã</p> 310<p>è¿ä¸å¤©ææç¬çææ²æ¯ï¼æä¸åæ¥ä¸ºäºæ¾å 费车ä½ï¼å¨è¡åºé足足转äºåä¸ªå°æ¶ââæ¬æ¥æ©å°±çå°ä¸¤ä¸ªç©ºä½çï¼ç»æå ä¸ºè´ªå¿æ³æ¾ä¸ä¸ªæ´è¿çä½ç½®ï¼ç¶åå¹¶æ²¡ææ´è¿ç空ä½äºï¼èæ³åå头èçæ¶åï¼å´åç°é£ä¸¤ä¸ªç©ºä½é½ä¸å¨äºï¼æä»¥åç»äºå¥½ä¸ä¼æåä¸ã</p> 311<h3 id="-5" tabindex="-1"><a class="observablehq-header-anchor" href="#-5">ð è¦è½¦ä¸æè½¦ç大åèåæ§æ³ç°åº</a></h3> 312<p>å¨äºæ©ä¸åå®é¥ï¼æç¹æå¨ 8:29 èµ°å°çªè¾¹ççé¹ââçé£äºåä¸å¤©æä¸è¿ç« åå¨è¡è¾¹ãè¿æ²¡æ¥å¾åå¼èµ°çè½¦æ¯æä¹è¢«æ¶æ¾çãæ¶é´ä¸å°ï¼å¥½å è¾è¦è½¦åæè½¦éªçç¯å¼å¸èè³ï¼æè½¦å¸æºæ¾ç¤ºç©è²åªè¾è½¦æ¯è¾å¥½æï¼è¦å¯å¨ä
312½å¨´çå°è´´å°é»æ¡ãåºé¢å¤¸å¼ ç¹è¯´å°±åè¦åªå¤§ç䏿 ·çå¨ä½æï¼ä»¿ä½è¿å ¨åèå¨å°±æ¯ä¸ºäºè¿æ¯å¤©æ©ä¸ä¸å¤§æ©çâ稳èµçæâã</p> 313<h3 id="dole" tabindex="-1"><a class="observablehq-header-anchor" href="#dole">ð æ²¡è½ç Dole è èå¸å½</a></h3> 314<p>éåè¡¥å¡äºåå¤©æ²¡å»æçåè¾¹æ¤ç©åï¼é£æ¯ä¾æ§æ¯é£äºâæ¾å¤§ççæ¯âï¼å ¶å®è¿æ¯æºå¥½ççï¼ï¼èµ°äºä¸å便审ç¾ç²å³äºãä¸ååäºä»½åéæè¶³çç é±¼é¥ï¼åè¾¹çæµ·æ»©ææ¾æ¯ Waikiki å¹²åå¾å¤ï¼äººå°ãæ°´æ¸ ï¼å°±æ¯ç´«å¤çº¿è½æäººææç®ã</p> 315<figure><img src="../../../_file/images/2026-06-hoomaluhia-botanical-garden.7bfca226.jpg" alt="æ¤ç©åæ¯è²"><figcaption>æ¤ç©åæ¯è²</figcaption></figure> 316<figure><img src="../../../_file/images/2026-06-waimanalo-bay.552cfe7b.jpg" alt="海滨æ¯è²"><figcaption>海滨æ¯è²</figcaption></figure> 317<p>ä¸åå»äºèåç <strong>Doleï¼é½ä¹ï¼è èç§æ¤å</strong>ãç°å¨çååºåºæ¬ä¸å·²ç»æ²¡æåä¸äº§ä¸åè½äºï¼å®å ¨åæäºä¸ä¸ªçº¯çº¯çææ æå¡ç¹ãæä»¬åçå¤å¤å°ç«è½¦å¨ååºé转äºä¸åï¼ä¸¤æçåç°æ¾å¾æäºç ´è´¥ã</p> 318<p>éé¢å·ç§°ä¸çæå¤§çæ¤ç©è¿·å®«ç±äºé¿æ¶é´ç¼ºä¹ä¿®åªåç»´æ¤ï¼ç»äºå¤ªå¤ä½å¼çæºä¼ãä½ä¸ºå½å¹´å¤§åé¼é¼çé½ä¹åæºå°ï¼å¦ä»è¡°è´¥æè¿æ ·ï¼ç®ç´æ¯<strong>ç¾å½å¶é ä¸ç©ºå¿å</strong>å¨å¤ªå¹³æ´æµ·å²ä¸çå®ç¾ç¼©å½±ã</p> 319<p>åç¨æ¶ Costco çæ²¹ä»·åªè¦ $4.5/å ä»ã</p> 320<h2 id="-6" tabindex="-1"><a class="observablehq-header-anchor" href="#-6">尾声</a></h2> 321<p>æåä¸å¤©ï¼æè¡ææ¬å°äºä¸è±ªé åºï¼è½ç¶å¯ä»¥é¡ºå©æå Check-inï¼ä½æ²¡æä»»ä½å级ãç±äºç»ç 100 å Credit ä¾ç¶ä¸è½æµæ£å车费ï¼ä¸ºäºä¸è¢«åè ï¼æä¸æçä¸è±å°è½¦ç»§ç»é²å®¿è¡å¤´ã</p> 322<p>å¼è½¦å¾ä¸åæ¹åç»å²ï¼ä¸éæ³èµ·æ³³é没æ¿ï¼ç¹ææè¿åå»åãç»æå 为太é³å®å¨å¤ªå¤§ã太æï¼æä»¬åæ ¹è¿æµ·é½æ²¡ä¸ï¼æ³³é纯å±ç½æ¿ãä¸éå» Premium Outlets æç®æ¶è´¹ä¸ä¸ï¼ä¹åä¸ç´ç©¿ Nike çæï¼ç¬¬ä¸æ¬¡ä¹°äºä¸¤åææçé¿è¿ªè¾¾æ¯ãä¸èçç¬¬ä¸æè§æ¯ï¼è¿éæä¹æç¹æ²ï¼ä½å²çææï¼ä¹å°±è¿æ ·å§ã</p> 323<p>åç¨çè¿å¤©æ¸ æ¨ï¼å¤å¨å¤·ç»äºä¸èµ·äºé¨ãå»åè½¦çæ¶åï¼åç°æ¨æè±æç¥æ¦åå¨è·¯ç¯ä¸ç车ä½éå°äºéç»´æå»ââè·¯ç¯ä¸ç«äºé¸ï¼è½¦é¡¶åæ¡é£ç»çä¸è¢«æäºå¥½å å¨å·¨å¤§çç²ç²ã</p> 324<p>å» Costco å äºæå䏿¬¡æ²¹ï¼$4.59/galï¼ï¼ä¹°äºç¹å¤å¨å¤·ç¹äº§çèå¹²ï¼ä¾¿å¥åæºåºãæºåºè·¯å£èµ°éï¼ç»äºä¸å¤§åï¼å¯¼è´æ¶é´åå¾é常紧ãè¿å®æ£æ¶å éçæ°´å¿è®°åäºï¼è¢«å®æ£æ æ å°è¯·åºå»å宿°´ãéæ°æéåèµ°äºä¸æ¬¡å®æ£ãç»æºå卿ºåºä¹°äºä¸¤ä¸ªæå ¶æ®é便å½ï¼å± ç¶è¦ 35 åã对游客çâåºè å°½è âï¼ä¸ç´è´¯å½»å°äºèµ·é£åçæåä¸ç§ã</p> 325<p>ç°å¨åå¨åç¨ç飿ºä¸ï¼è¿æ¬¡æ¯å¤å¨å¤·èªç©ºï¼å è´¹ç Star link ç½ç»ï¼åæ§½ä¸ä¸ï¼è¿ä¸æ¯é¿ææ¯å åå¤å¨å¤·èªç©ºåå¹¶äºä¹ï¼æä¹ä¸æ¬¡è¦æ¶æ 8 åæï¼</p> 326<p>çççªå¤çäºå±ï¼çªç¶æ³å°æå¤©åè¦å¼å§ä¸ºäºçæ´»å¥æ³¢çç马æ¥åï¼æ²ä»ä¸æ¥ã</p> 327<p>å¤å¨å¤·å¾å¥½ï¼ä¸æ¬¡æ¥ï¼å¸æä¸ç¨é£ä¹å¤ãææºæåãã</p> 328</main> 329<footer id="observablehq-footer"> 330<nav><a rel="prev" href="../../../about.html"><span>About</span></a><a rel="next" href="../../01/02/location-tracking-solution.html"><span>æ¢äºä½ç½®æ¶é´çº¿å·¥å ·</span></a></nav> 331<div> 332<section id="isso-thread"> 333 <noscript>Javascript needs to be activated to view comments.</noscript> 334</section>
335<script data-isso="https://comments.wingu.se/" src="https://comments.wingu.se/js/embed.min.js" data-isso-css="false"></script>
335 336<div id="footer"> 337 © 2026 338 339 <a href="https://github.com/winguse" rel="me" target="_blank"> 340 <svg class="svg-icon"> 341 <use xlink:href="https://wingu.se/minima-social-icons.svg#github"></use> 342 </svg> 343 <span class="username">winguse</span> 344 </a> 345 346 <a href="https://m.wingu.se/@winguse" rel="me" target="_blank"> 347 <svg class="svg-icon"> 348 <use xlink:href="https://wingu.se/minima-social-icons.svg#mastodon"></use> 349 </svg> 350 <span class="username">winguse</span> 351 </a> 352 353 <a href="https://wingu.se/rss.xml" target="_blank" rel="noopener noreferrer"> 354 <svg class="svg-icon"> 355 <use xlink:href="https://wingu.se/minima-social-icons.svg#rss"></use> 356 </svg> 357 <span class="username">RSS</span> 358 </a> 359 360 <a href="https://wingu.se/atom.xml" target="_blank" rel="noopener noreferrer"> 361 <svg class="svg-icon"> 362 <use xlink:href="https://wingu.se/minima-social-icons.svg#rss"></use> 363 </svg> 364 <span class="username">Atom</span> 365 </a> 366 367<a href="https://comments.wingu.se:8443/about" style="width: 0; height: 0; display: block; overflow: hidden;" target="_blank" rel="noopener noreferrer">Honeypot</a> 368</div> 369 </div> 370</footer> 371</div> 372 373 374</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.