<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-380186287506750332</id><updated>2026-05-31T02:32:28.691+08:00</updated><category term="Android"/><category term="Laravel"/><category term="PHP"/><category term="Kotlin"/><category term="Vuejs"/><category term="Java"/><category term="CentOS"/><category term="Linux"/><category term="WindowsPhone"/><category term="C#"/><category term="Flash"/><category term="HTML"/><category term="Objective-C"/><category term="Cocos2D"/><category term="Nginx"/><category term="Xcode"/><category term="ActionScript"/><category term="iOS"/><category term="web"/><category term="Reading"/><category term="Sublime Text 3"/><category term="ssl"/><category term="AI"/><category term="Chart"/><category term="Eclipse"/><category term="LLM"/><category term="Swift"/><category term="bash"/><category term="Apache"/><category term="JSON"/><category term="Ollama"/><category term="git"/><category term="shell"/><category term="ubuntu"/><category term="Ajax"/><category term="Blogger"/><category term="CSS"/><category term="CocoaPods"/><category term="Database"/><category term="Gradle"/><category term="Mac"/><category term="Macbook"/><category term="PC"/><category term="Redmine"/><category term="VS Code"/><category term="Visual Studio Code"/><category term="VisualStudio"/><category term="Vuido"/><category term="jQuery"/><category term="python"/><category term="ssh"/><category term="想法"/><category term="電子書"/><title type='text'>Tony Blog</title><subtitle type='html'>Code for fun</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.tonycube.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>209</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-2172131083179360238</id><published>2025-01-22T21:31:00.004+08:00</published><updated>2025-01-31T10:59:26.338+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Ubuntu 自動調整螢幕色溫</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWYfOMup3-bcAcQl3AEIeta2rzehil9oR5QUFdUpV2A2jQn3jAHlotE6h2qcNwflgMDm-BJZjpafSC_KSgfjGdXj9tkO_38xXOC6T5EAJcHFcW0RFrfUFC29KDhEitC39KvTurkgxy4foZH_2FqhwQRrcQbgZ3ZBagD7p_ZSRLSBmaAJ3zH9uXcUjr4_k/s1600/colortemperature200.webp&quot; data-original-height=&quot;200&quot; data-original-width=&quot;200&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;色溫&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 長時間使用電腦螢幕，降低藍光保護眼睛。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2025/01/ubuntu-night-light-color-temperature.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/2172131083179360238/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2025/01/ubuntu-night-light-color-temperature.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/2172131083179360238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/2172131083179360238'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2025/01/ubuntu-night-light-color-temperature.html' title='Ubuntu 自動調整螢幕色溫'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWYfOMup3-bcAcQl3AEIeta2rzehil9oR5QUFdUpV2A2jQn3jAHlotE6h2qcNwflgMDm-BJZjpafSC_KSgfjGdXj9tkO_38xXOC6T5EAJcHFcW0RFrfUFC29KDhEitC39KvTurkgxy4foZH_2FqhwQRrcQbgZ3ZBagD7p_ZSRLSBmaAJ3zH9uXcUjr4_k/s72-c/colortemperature200.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-7504173855457621858</id><published>2024-12-17T10:44:00.005+08:00</published><updated>2024-12-17T16:21:27.759+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="LLM"/><category scheme="http://www.blogger.com/atom/ns#" term="Mac"/><title type='text'>關於 Mac mini M4 做叢集 (cluster) 運算跑 LLM 的筆記</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; data-original-height=&quot;707&quot; data-original-width=&quot;702&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8EhJBSnNxRwqu0fPew3D1u-evZES2mMUFRhS-iaC9Y-kRmt5Tmx2BPmNE-qJqu8IIz2lvNtEJlRCEi2nquSnpIP0rgseojasAd8W1Y4NoTiWI_ePJLcvAeG_5_5u4-y_NiCw3kU4_ev9eEBqAyZYm9wr87cUMNuxsX_8l7jJKPD7a2ikFfJuIvME0DCM/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202024-12-17%2010-20-05.webp&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Mac mini M4&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 看到一位 Youtube 影片在實驗 Mac mini 跑大語言模型的最佳組合，做了一些筆記。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear: both;&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2024/12/mac-mini-m4-cluster-run-llm.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/7504173855457621858/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2024/12/mac-mini-m4-cluster-run-llm.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7504173855457621858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7504173855457621858'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2024/12/mac-mini-m4-cluster-run-llm.html' title='關於 Mac mini M4 做叢集 (cluster) 運算跑 LLM 的筆記'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8EhJBSnNxRwqu0fPew3D1u-evZES2mMUFRhS-iaC9Y-kRmt5Tmx2BPmNE-qJqu8IIz2lvNtEJlRCEi2nquSnpIP0rgseojasAd8W1Y4NoTiWI_ePJLcvAeG_5_5u4-y_NiCw3kU4_ev9eEBqAyZYm9wr87cUMNuxsX_8l7jJKPD7a2ikFfJuIvME0DCM/s72-c/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202024-12-17%2010-20-05.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-401924135711605146</id><published>2024-11-18T18:51:00.000+08:00</published><updated>2024-11-18T18:51:53.659+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="LLM"/><category scheme="http://www.blogger.com/atom/ns#" term="Ollama"/><title type='text'>透過 Ollama 的 Modelfile 檔案配置模型的基本參數</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid9NXiVBpywS_-8mGTGQFdglyEVRbDtBYrEA8GsV2v4usaVrdQDLlDL7uUx20m5nra8Hg16wafKOU1dRIw8twEPrUrXNJbbFwizoEmOFpQB8JYBWDXYbSGlg5DxOop8FDhykmJgLWX006ZABsyBM_xoQ2NVPW3uzNGH2pCGBEymY_jz4TGkroNZrBQrdg/s1600/ollama.webp&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Ollama&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 使用 Modelfile 來客製化模型的基本參數，讓模型更適合我們需要的使用情境。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2024/11/ollama-modelfile.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/401924135711605146/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2024/11/ollama-modelfile.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/401924135711605146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/401924135711605146'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2024/11/ollama-modelfile.html' title='透過 Ollama 的 Modelfile 檔案配置模型的基本參數'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid9NXiVBpywS_-8mGTGQFdglyEVRbDtBYrEA8GsV2v4usaVrdQDLlDL7uUx20m5nra8Hg16wafKOU1dRIw8twEPrUrXNJbbFwizoEmOFpQB8JYBWDXYbSGlg5DxOop8FDhykmJgLWX006ZABsyBM_xoQ2NVPW3uzNGH2pCGBEymY_jz4TGkroNZrBQrdg/s72-c/ollama.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-6212281832115119402</id><published>2024-11-14T15:46:00.003+08:00</published><updated>2025-02-11T13:09:10.891+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AI"/><category scheme="http://www.blogger.com/atom/ns#" term="LLM"/><category scheme="http://www.blogger.com/atom/ns#" term="Ollama"/><title type='text'>使用 Ollama 執行 LLM (大型語言模型) 建立個人用 AI</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid9NXiVBpywS_-8mGTGQFdglyEVRbDtBYrEA8GsV2v4usaVrdQDLlDL7uUx20m5nra8Hg16wafKOU1dRIw8twEPrUrXNJbbFwizoEmOFpQB8JYBWDXYbSGlg5DxOop8FDhykmJgLWX006ZABsyBM_xoQ2NVPW3uzNGH2pCGBEymY_jz4TGkroNZrBQrdg/s1600/ollama.webp&quot;  data-original-height=&quot;256&quot; data-original-width=&quot;256&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Ollama&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
  Ollama 是一個開放源始碼的工具，可以讓我們在自己的電腦上建立 LLM (大型語言模型) 的運行環境，打造擁有個人隱私的 AI 工具。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2024/11/ollama-llm-ai.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/6212281832115119402/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2024/11/ollama-llm-ai.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/6212281832115119402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/6212281832115119402'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2024/11/ollama-llm-ai.html' title='使用 Ollama 執行 LLM (大型語言模型) 建立個人用 AI'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid9NXiVBpywS_-8mGTGQFdglyEVRbDtBYrEA8GsV2v4usaVrdQDLlDL7uUx20m5nra8Hg16wafKOU1dRIw8twEPrUrXNJbbFwizoEmOFpQB8JYBWDXYbSGlg5DxOop8FDhykmJgLWX006ZABsyBM_xoQ2NVPW3uzNGH2pCGBEymY_jz4TGkroNZrBQrdg/s72-c/ollama.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-2663692576319566941</id><published>2024-07-31T10:43:00.007+08:00</published><updated>2024-08-06T18:18:32.388+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><title type='text'>Android 版本、Plugins、Gradle、Kotlin 版本升級對照表</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQi8mRsPuWg47veHBo6OzXJrSnOTaMKOR7XYPhVmDhnafAO9BqNAWqw-ZDMpDi2EZNBMJ4rqiXaFOwRfjDF8FmgdjN3jkwOAzolWjyTV-La9cSOC3_dGMGfgNJ3mImW70Hy8Ch2j3aDv_lSBRBtiagLdAS-klYYZv_Mu8o0waahJFJKzAH0id_gpBCXdk/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202024-07-31%2010-06-47.webp&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;AGP 版本&lt;/p&gt;&lt;/span&gt;&lt;span class=&quot;summary&quot;&gt;Android 專案架構現今(2024年)已經來到非常複雜的情況，在升級時必須考慮所有外掛、Gralde 版本的配合才能順利升級。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear: both;&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2024/07/android-gradle-kotlin-version.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/2663692576319566941/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2024/07/android-gradle-kotlin-version.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/2663692576319566941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/2663692576319566941'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2024/07/android-gradle-kotlin-version.html' title='Android 版本、Plugins、Gradle、Kotlin 版本升級對照表'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQi8mRsPuWg47veHBo6OzXJrSnOTaMKOR7XYPhVmDhnafAO9BqNAWqw-ZDMpDi2EZNBMJ4rqiXaFOwRfjDF8FmgdjN3jkwOAzolWjyTV-La9cSOC3_dGMGfgNJ3mImW70Hy8Ch2j3aDv_lSBRBtiagLdAS-klYYZv_Mu8o0waahJFJKzAH0id_gpBCXdk/s72-c/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7%202024-07-31%2010-06-47.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-1460829578816272764</id><published>2023-09-19T12:38:00.005+08:00</published><updated>2023-09-19T12:38:51.432+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 再次進入 TIOBE Index Top 20</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-44_-YUmNNaGEBr3PwuXO53nUyzu_98b3vjq6vcdWOcetFqxDhc7mTbpqSA3SVek0_DXH7urtW4xSrKep1elYvjMrD8-LUUYHsIQ8EqfLkuFc3ycqH0MOpyM5IX-iSgGv8dVj6IEokhfVzLy5QQWqMyj8eIeMirBHlIcjJuKSPuNpFpFs4bOznNAQgg0/s1600/2023-09-19kotlin-index.webp&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;TIOBE Index for Kotlin&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 Kotlin 再次進入 TIOBE Index Top 20
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear: both;&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2023/09/tiobe-index-for-kotlin-kotlin-tiobe-top.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/1460829578816272764/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2023/09/tiobe-index-for-kotlin-kotlin-tiobe-top.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/1460829578816272764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/1460829578816272764'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2023/09/tiobe-index-for-kotlin-kotlin-tiobe-top.html' title='Kotlin 再次進入 TIOBE Index Top 20'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-44_-YUmNNaGEBr3PwuXO53nUyzu_98b3vjq6vcdWOcetFqxDhc7mTbpqSA3SVek0_DXH7urtW4xSrKep1elYvjMrD8-LUUYHsIQ8EqfLkuFc3ycqH0MOpyM5IX-iSgGv8dVj6IEokhfVzLy5QQWqMyj8eIeMirBHlIcjJuKSPuNpFpFs4bOznNAQgg0/s72-c/2023-09-19kotlin-index.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-3516141804310483951</id><published>2023-04-19T17:59:00.004+08:00</published><updated>2023-04-19T18:04:13.644+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="想法"/><title type='text'>關於選擇無聊的技術一文的想法</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqcElK8Z6Q-7OVdEcQkdqdcwil7B_U7h38bQVJ1q98uuoVVRTOa56h2cGjwI809fPHZmQvWlzH61VhzmM3P9CrWX14371TGHn9_uOJPjvGoIArs3irjfMgD7cCLp3bjrwy3JzfxIeF2oiR72gQkjMFua07X5wdHQXq2oPKCNJXePnWme2VL237loE1/s16000/slides.087.webp&quot; width=&quot;200&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;思考產品&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 選擇無聊的技術
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear: both;&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2023/04/about-choose-boring-technology.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/3516141804310483951/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2023/04/about-choose-boring-technology.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/3516141804310483951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/3516141804310483951'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2023/04/about-choose-boring-technology.html' title='關於選擇無聊的技術一文的想法'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqcElK8Z6Q-7OVdEcQkdqdcwil7B_U7h38bQVJ1q98uuoVVRTOa56h2cGjwI809fPHZmQvWlzH61VhzmM3P9CrWX14371TGHn9_uOJPjvGoIArs3irjfMgD7cCLp3bjrwy3JzfxIeF2oiR72gQkjMFua07X5wdHQXq2oPKCNJXePnWme2VL237loE1/s72-c/slides.087.webp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-5705431475414310096</id><published>2022-05-20T11:00:00.003+08:00</published><updated>2022-06-02T12:51:07.163+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Ubuntu 使用 Python 自動更換桌布</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;200&quot; data-original-width=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbB4Tg9R0d5u0d-ZZqAzzfteaGycgvBSdNyzi5vIsB0xDrJSn03B1pV5zz6_XgID0Po4SxXYooexZHZASyoUSWgatYNWIvLIsze9XQNapg6k0__rN79H0PGzffF_mlv9r2QaeXQZZd0H7zxQiEaUSOUY7NARqMBCJpzC_CgO17pLPaLuF0IETK8bLw/s1600/29985a98-ubuntu-logo32.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Ubuntu&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 在 Ubuntu 中使用 Python 每 5 分鐘自動更換桌布。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2022/05/ubuntu-auto-refresh-wallpaper.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/5705431475414310096/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2022/05/ubuntu-auto-refresh-wallpaper.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/5705431475414310096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/5705431475414310096'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2022/05/ubuntu-auto-refresh-wallpaper.html' title='Ubuntu 使用 Python 自動更換桌布'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbB4Tg9R0d5u0d-ZZqAzzfteaGycgvBSdNyzi5vIsB0xDrJSn03B1pV5zz6_XgID0Po4SxXYooexZHZASyoUSWgatYNWIvLIsze9XQNapg6k0__rN79H0PGzffF_mlv9r2QaeXQZZd0H7zxQiEaUSOUY7NARqMBCJpzC_CgO17pLPaLuF0IETK8bLw/s72-c/29985a98-ubuntu-logo32.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-7417788690964696486</id><published>2021-10-27T20:10:00.003+08:00</published><updated>2022-05-11T11:39:04.327+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="PC"/><title type='text'>自組電腦 MSI DP20Z + AMD Ryzen 7 5700G</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9LyQU5Pj4ot0c7OIS01qQAAjgjOw0LGLdZGYKJacWwd0L0upC5uuDYXLJ55mmAlzgSDTbpn4cmMxLFR7ji02E7AoSvGjYTjY5iYmD-m87GXiw7mUuyYU2WO_9UQ16Td1owkGNLBMofhJj/s0/MSI-DP20Z.jpg&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;MSI DP20Z&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 Mac 太貴了，自組工作用小型 PC，比 ITX 還小。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2021/10/msi-dp20z-amd-ryzen-7-5700g.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/7417788690964696486/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2021/10/msi-dp20z-amd-ryzen-7-5700g.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7417788690964696486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7417788690964696486'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2021/10/msi-dp20z-amd-ryzen-7-5700g.html' title='自組電腦 MSI DP20Z + AMD Ryzen 7 5700G'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9LyQU5Pj4ot0c7OIS01qQAAjgjOw0LGLdZGYKJacWwd0L0upC5uuDYXLJ55mmAlzgSDTbpn4cmMxLFR7ji02E7AoSvGjYTjY5iYmD-m87GXiw7mUuyYU2WO_9UQ16Td1owkGNLBMofhJj/s72-c/MSI-DP20Z.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-202423650697525815</id><published>2021-10-18T21:17:00.005+08:00</published><updated>2025-03-04T11:46:32.288+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Macbook"/><title type='text'>Macbook Pro 過保自己換電池</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg41OtGtnIV8QqeQOsVIgNqfhIRQEatUnjme-GN8ybkeNU8RQvZ0ALYtBecnLL4pJo0hM_lZHzSTrFbsK0Zd9VhkAjTOQKtofli-MVYE_gkhM_Xpmema0M2pouh8atJwQd5dWrOAyRppBRt/s0/battery.jpg&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;吃太撐的電池&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 Macbook Pro 過保了，換個電池貴松松，自己換吧！
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2021/10/macbook-pro-battery-repair.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/202423650697525815/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2021/10/macbook-pro-battery-repair.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/202423650697525815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/202423650697525815'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2021/10/macbook-pro-battery-repair.html' title='Macbook Pro 過保自己換電池'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg41OtGtnIV8QqeQOsVIgNqfhIRQEatUnjme-GN8ybkeNU8RQvZ0ALYtBecnLL4pJo0hM_lZHzSTrFbsK0Zd9VhkAjTOQKtofli-MVYE_gkhM_Xpmema0M2pouh8atJwQd5dWrOAyRppBRt/s72-c/battery.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-6755550607729053390</id><published>2021-07-01T11:25:00.007+08:00</published><updated>2021-07-01T11:42:38.499+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>查詢 Java 程式的 class 檔編譯的 JVM 版本</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLthROXPqom3wI0PStfKkXmVA3f9bwDdpK5dP1nB3uHU4KAXKHAdZrt8JqlejsjB4DA6n0H3tZYEcI7PagIgB-ftAHhg8sUwMVApN1o4QiqW-DgQnNaqB8OQt_iqKWcqaB-SNiXgqRPoxP/s1600/openjdk.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;OpenJDK&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 最近開始將執行環境的 JVM 8 升到 11，舊專案在編譯的時候如果沒有指定目標版本，就可能在執行時出現 &lt;a href=&quot;https://docs.oracle.com/javase/8/docs/api/index.html?java/lang/UnsupportedClassVersionError.html&quot; target=&quot;_blank&quot;&gt;UnsupportedClassVersionError&lt;/a&gt; 的錯誤。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2021/07/java-class-version.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/6755550607729053390/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2021/07/java-class-version.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/6755550607729053390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/6755550607729053390'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2021/07/java-class-version.html' title='查詢 Java 程式的 class 檔編譯的 JVM 版本'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLthROXPqom3wI0PStfKkXmVA3f9bwDdpK5dP1nB3uHU4KAXKHAdZrt8JqlejsjB4DA6n0H3tZYEcI7PagIgB-ftAHhg8sUwMVApN1o4QiqW-DgQnNaqB8OQt_iqKWcqaB-SNiXgqRPoxP/s72-c/openjdk.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-6200614674495785032</id><published>2021-02-01T17:56:00.000+08:00</published><updated>2021-02-01T17:56:06.229+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CentOS"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="ssl"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>更新 Certbot 使用 Snapd</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
&lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw_ZH9WDQokPwSJoIqLHEOEijppK2bossGkQDn2SlMWE6cnhSspscLpe1seKAcqI87W5nD4kkbjfJOCm0hyMMaW7gKWZN9o5fyOSnlmToTiKo3_KNi5iJxurXpGWXBz4VXGLHI6X7t2l4S/s1600/le-logo-standard.png&quot;&gt;
&lt;p class=&quot;caption&quot;&gt;Let&amp;#39;s Encrypt&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 舊版 certbot-auto 程式不再被支援，必須改用新版程式。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2021/02/certbot-snapd.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/6200614674495785032/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2021/02/certbot-snapd.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/6200614674495785032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/6200614674495785032'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2021/02/certbot-snapd.html' title='更新 Certbot 使用 Snapd'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw_ZH9WDQokPwSJoIqLHEOEijppK2bossGkQDn2SlMWE6cnhSspscLpe1seKAcqI87W5nD4kkbjfJOCm0hyMMaW7gKWZN9o5fyOSnlmToTiKo3_KNi5iJxurXpGWXBz4VXGLHI6X7t2l4S/s72-c/le-logo-standard.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-8193480471908557053</id><published>2020-09-21T18:37:00.001+08:00</published><updated>2020-12-30T10:30:35.460+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (10) Pair、解構式宣告、範圍函式</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 &lt;p&gt;Kotlin 有幾個特別一提的功能，例如 Pair 及 Triple 可以將兩個及三個資料放在一起，對於暫時傳遞資料用非常方便，搭配解構式宣告使用起來更加方便。範圍函式是一種很特別的函式，基本上完全不使用它也不會怎麼樣，但是如果用得好，能夠讓程式碼更加結構化，在閱讀上語義更清楚。&lt;/p&gt;
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/09/kotlin-by-example-10-pair-triple-and-scope-functions.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/8193480471908557053/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/09/kotlin-by-example-10-pair-triple-and-scope-functions.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8193480471908557053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8193480471908557053'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/09/kotlin-by-example-10-pair-triple-and-scope-functions.html' title='Kotlin 實戰範例 (10) Pair、解構式宣告、範圍函式'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-7583594567483883601</id><published>2020-09-14T21:07:00.002+08:00</published><updated>2021-03-16T19:53:40.397+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (9) 集合</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 &lt;p&gt;為了解決陣列的不足，Kotlin 針對一組相關的資料項目，提供了針對集合的操作。Java 8 新增的 &lt;a href=&#39;https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html&#39;&gt;Stream&lt;/a&gt; 套件，也是專門用來處理集合的，相關內容可以參考 &lt;a href=&#39;https://blog.tonycube.com/2015/10/java-java8-3-stream.html&#39;&gt;Java8 新功能筆記 (3) - Stream&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;Kotlin 提供的集合處理套件非常好用，而且因為語言本身的設計，在處理集合上更加安全、有效率，我們可以靈活的選擇要建立唯讀的集合，或是不可變動的集合，並且對集合做轉換、過濾、群組、截取、排序及聚合運算等等操作，在某些情況下使用序列運算還可以提升處理效率。&lt;/p&gt;
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/09/kotlin-by-example-9-collections.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/7583594567483883601/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/09/kotlin-by-example-9-collections.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7583594567483883601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7583594567483883601'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/09/kotlin-by-example-9-collections.html' title='Kotlin 實戰範例 (9) 集合'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-4485200605966336797</id><published>2020-09-07T20:59:00.001+08:00</published><updated>2020-09-14T21:08:44.344+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (8) 功能擴充、例外處理</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 &lt;p&gt;Kotlin 的擴充功能為什麼比類別的繼承好；例外處理又是如何和 Java 不同？&lt;/p&gt;
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/09/kotlin-by-example-8-extensions-and-exceptions.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/4485200605966336797/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/09/kotlin-by-example-8-extensions-and-exceptions.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/4485200605966336797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/4485200605966336797'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/09/kotlin-by-example-8-extensions-and-exceptions.html' title='Kotlin 實戰範例 (8) 功能擴充、例外處理'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-4804385616900570787</id><published>2020-08-31T20:39:00.000+08:00</published><updated>2020-09-07T21:10:37.855+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (7) 高階函式</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 &lt;p&gt;Kotlin 最重要的特性應該就是高階函式了，有了高階函式我們就能做到許多單純物件導向程式語言無法做到的事，像是把函式當成值來傳遞。要瞭解高階函式要先知道什麼是頭等函式，以及其他重要的程式特性：函式型別、匿名函式、Labmda 表達式等等。&lt;/p&gt;
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/08/kotlin-by-example-7-higher-order-functions.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/4804385616900570787/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-7-higher-order-functions.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/4804385616900570787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/4804385616900570787'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-7-higher-order-functions.html' title='Kotlin 實戰範例 (7) 高階函式'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-8954106524101035804</id><published>2020-08-24T19:17:00.000+08:00</published><updated>2020-09-07T21:04:13.884+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (6) 類別與物件 </title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 &lt;p&gt;當應用程式變得龐大，程式碼就會變得複雜，我們需要一種工程方法來處理隨著功能變多而導致複雜度提高的眾多程式碼，解決方式有很多，物件導向是其中一種。&lt;/p&gt;
 &lt;p&gt;物件導向程式設計藉由對資料抽象及封裝等等特性，讓相關的程式碼藕合在一起，架構出一個由許多程式碼元件組合而成的應用程式。&lt;/p&gt;
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/08/kotlin-by-example-6-class-and-object.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/8954106524101035804/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-6-class-and-object.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8954106524101035804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8954106524101035804'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-6-class-and-object.html' title='Kotlin 實戰範例 (6) 類別與物件 '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-592252154164927868</id><published>2020-08-17T17:40:00.000+08:00</published><updated>2020-09-07T21:07:17.033+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (5) 基礎 (函式、套件)</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 函式可以讓我們建立一個程式碼區塊來執行特定的任務，函式可以有輸入參數及回傳值，也可以都沒有，一個函式應該只做一件事。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/08/kotlin-by-example-5-function-and-package.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/592252154164927868/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-5-function-and-package.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/592252154164927868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/592252154164927868'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-5-function-and-package.html' title='Kotlin 實戰範例 (5) 基礎 (函式、套件)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-1404290197650951513</id><published>2020-08-10T20:08:00.002+08:00</published><updated>2020-09-07T21:07:10.501+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (4) 基礎 (條件控制、循環執行)</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 條件控制可以讓程式執行或跳過某個區塊的程式碼，另外可以透過程式迴圈來指示電腦循環執行一段程式碼。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/08/kotlin-by-example-4-control-flow-and-loop.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/1404290197650951513/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-4-control-flow-and-loop.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/1404290197650951513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/1404290197650951513'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-4-control-flow-and-loop.html' title='Kotlin 實戰範例 (4) 基礎 (條件控制、循環執行)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-8898556717318335519</id><published>2020-08-03T20:59:00.001+08:00</published><updated>2020-09-07T21:07:02.620+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (3) 基礎 (Null、相等、字串、註解)</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 Kotlin 在型別系統中直接針對 null 做處理，讓我們的程式碼更穩固；相等比較也和 Java 略有不同，但是更好用；字串模板讓我們在串接變數時更有效率。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/08/kotlin-by-example-3-null-equals-string-comments.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/8898556717318335519/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-3-null-equals-string-comments.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8898556717318335519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8898556717318335519'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/08/kotlin-by-example-3-null-equals-string-comments.html' title='Kotlin 實戰範例 (3) 基礎 (Null、相等、字串、註解)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-8068257095008991307</id><published>2020-07-27T21:07:00.000+08:00</published><updated>2020-09-07T21:13:08.095+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (2) 基礎 (變數、型別)</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 此篇要來介紹在 Kotlin 中如何宣告變數，型別系統又是如何有別於 Java，還有 Kotlin 的程式起點和檔案命名和 Java 有什麼不同。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/07/kotlin-by-example-2-basic-variable-types.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/8068257095008991307/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/07/kotlin-by-example-2-basic-variable-types.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8068257095008991307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8068257095008991307'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/07/kotlin-by-example-2-basic-variable-types.html' title='Kotlin 實戰範例 (2) 基礎 (變數、型別)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-7027997459027632637</id><published>2020-07-20T18:37:00.000+08:00</published><updated>2020-09-07T21:06:48.543+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (1) 為什麼要學 Kotlin</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 Java 寫的好好的，為什麼要改用 Kotlin 呢？Kotlin 提供了哪些 Java 沒有的語言特性？這些特性如何讓我們寫程式更順手、更開心呢？
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/07/kotlin-by-example-1-why-kotlin.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/7027997459027632637/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/07/kotlin-by-example-1-why-kotlin.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7027997459027632637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/7027997459027632637'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/07/kotlin-by-example-1-why-kotlin.html' title='Kotlin 實戰範例 (1) 為什麼要學 Kotlin'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-5970108019872370904</id><published>2020-07-13T19:08:00.000+08:00</published><updated>2020-09-07T21:06:37.418+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><title type='text'>Kotlin 實戰範例 (0) 前言</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
   Kotlin 是什麼？我是如何接觸 Kotlin 而愛上 Kotlin 這個程式語言，目前 Kotlin 的發展方向是什麼？
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear: both;&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/07/kotlin-by-example-0-preface.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/5970108019872370904/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/07/kotlin-by-example-0-preface.html#comment-form' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/5970108019872370904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/5970108019872370904'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/07/kotlin-by-example-0-preface.html' title='Kotlin 實戰範例 (0) 前言'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-8208115065607373424</id><published>2020-04-16T20:00:00.000+08:00</published><updated>2020-04-28T09:59:16.639+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Kotlin"/><category scheme="http://www.blogger.com/atom/ns#" term="電子書"/><title type='text'>新書上架：Kotlin 實戰範例</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s1600/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Kotlin 實戰範例&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 Kotlin 實戰範例，以範例介紹 Kotlin 程式語言特性的電子書。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2020/04/learn-kotlin-by-example-ebook.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/8208115065607373424/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2020/04/learn-kotlin-by-example-ebook.html#comment-form' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8208115065607373424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/8208115065607373424'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2020/04/learn-kotlin-by-example-ebook.html' title='新書上架：Kotlin 實戰範例'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6qF7y-rEUahkBLu77lTJFdad7Zq2hmF-WkMvBO3HR1ToF368ooIMObxx409EGryWw5no-7_7027HMsfDPMvzlTrMlpl_Ea_C90EepopojwCu4UQ8CdpxWFlJfCxlTv6H7rV-fdutUuE0F/s72-c/Kotlin%25E5%25AF%25A6%25E6%2588%25B0%25E7%25AF%2584%25E4%25BE%258B.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380186287506750332.post-412958882961337241</id><published>2019-07-15T15:24:00.002+08:00</published><updated>2019-07-15T15:36:06.865+08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Nginx"/><title type='text'>設定 Nginx 使用密碼登入</title><content type='html'>&lt;div class=&quot;post-summary&quot;&gt;
 &lt;span class=&quot;polaroid&quot;&gt;
  &lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyRK-POjiVKGZnH_6os0dWNhKOJoYQejlmobTWUVJxTUCnloa-mMWMxQZ4kXS4-pd864cNJfX7jJFRJdob09WZWA1wUsg1sO3RTFKpnHJo9wRxk-xxRQ3is3Sdzz5CYouL1kmTLtcGgRR6/s1600/password_prompt.png&quot;&gt;
  &lt;p class=&quot;caption&quot;&gt;Password Prompt&lt;/p&gt;
 &lt;/span&gt;

 &lt;span class=&quot;summary&quot;&gt;
 如何使用 Nginx 來做登入驗證。
 &lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;
&lt;a href=&quot;http://blog.tonycube.com/2019/07/nginx-password-prompt.html#more&quot;&gt;閱讀全文 »&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tonycube.com/feeds/412958882961337241/comments/default' title='張貼留言'/><link rel='replies' type='text/html' href='http://blog.tonycube.com/2019/07/nginx-password-prompt.html#comment-form' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/412958882961337241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380186287506750332/posts/default/412958882961337241'/><link rel='alternate' type='text/html' href='http://blog.tonycube.com/2019/07/nginx-password-prompt.html' title='設定 Nginx 使用密碼登入'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyRK-POjiVKGZnH_6os0dWNhKOJoYQejlmobTWUVJxTUCnloa-mMWMxQZ4kXS4-pd864cNJfX7jJFRJdob09WZWA1wUsg1sO3RTFKpnHJo9wRxk-xxRQ3is3Sdzz5CYouL1kmTLtcGgRR6/s72-c/password_prompt.png" height="72" width="72"/><thr:total>1</thr:total></entry></feed>