<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>月与灯依旧</title>
	<atom:link href="https://www.zhukun.net/feed" rel="self" type="application/rss+xml" />
	<link>https://www.zhukun.net</link>
	<description>不见去年人， 泪湿春衫袖。</description>
	<lastBuildDate>Wed, 06 May 2026 01:04:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>
	<item>
		<title>回国见闻</title>
		<link>https://www.zhukun.net/archives/8772</link>
					<comments>https://www.zhukun.net/archives/8772#respond</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Wed, 06 May 2026 01:01:51 +0000</pubDate>
				<category><![CDATA[电脑网络]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8772</guid>

					<description><![CDATA[出国整整3.5年, 真的是豪无意外的生疏了国内的各种规则. 五一黄金周 五一假期的每一天都不适合出游, 注意是每一天, 甚至是最后一天. 我是5月4号抵达香港的, 当时以为是最后2天了, 人应该没有那么多了. 结果证明是自己 too young too naive 了. 那天跑了4家银行, 很多银行门口都是各种办港卡的人, 他们繁忙的在手机上点来点去. 去问银行柜台, 要么被告知今天名额满了, 要么只能办100W资产以上的银行卡. 工银亚洲门口的保安老大爷提示我们可以去某处“远程见证开户”. 于是我风尘仆仆的跑到第一个远程开户点, 发现只有1台机器可以&#8221;远程见证开户&#8221;, 且人已经排队到网点大门外了. 排了半小时队, 里面终于有1位同胞完成了见证开户出来了. 同胞说, 进去以后系统排队至少还要1小时起, 即使排上了, 办卡业务也得持续1小时起. 于是放弃, 坐港铁来到了第2个可以远程见证开户的点, 幸运的是这里居然没有人排队, 而且有2台机器可以&#8221;见证开户&#8221;, 于是排队了1小时以后, 终于有了1台空机器, 我进去又排了半小时, 机器终于接通了远程客服. 一顿提交资料, 期间甚至提交了加拿大银行超过百万人民币等值资产的证明. 结果, 竟然被客服告知开户申请被拒了. 此时又过去了整整1个小时. 这天, 抽空下载了汇丰, 中银的App, 尝试在App上申请开户. 汇丰提交成功了, 说是几个工作日以后给出结果. 中银App甚至没有走到最后一步系统就直接提示不满足开户要求. 我TM. 回去的路上, 我暗暗告诉自己, 以后再也不会去办工银亚洲和中银的卡. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">出国整整3.5年, 真的是豪无意外的生疏了国内的各种规则.</p>



<h3 class="wp-block-heading">五一黄金周</h3>



<p class="wp-block-paragraph">五一假期的每一天都不适合出游, 注意是每一天, 甚至是最后一天.</p>



<p class="wp-block-paragraph">我是5月4号抵达香港的, 当时以为是最后2天了, 人应该没有那么多了. 结果证明是自己 too young too naive 了. 那天跑了4家银行, 很多银行门口都是各种办港卡的人, 他们繁忙的在手机上点来点去. 去问银行柜台, 要么被告知今天名额满了, 要么只能办100W资产以上的银行卡. </p>



<p class="wp-block-paragraph">工银亚洲门口的保安老大爷提示我们可以去某处“远程见证开户”. 于是我风尘仆仆的跑到第一个远程开户点, 发现只有1台机器可以&#8221;远程见证开户&#8221;, 且人已经排队到网点大门外了. 排了半小时队, 里面终于有1位同胞完成了见证开户出来了. 同胞说, 进去以后系统排队至少还要1小时起, 即使排上了, 办卡业务也得持续1小时起. 于是放弃, 坐港铁来到了第2个可以远程见证开户的点, 幸运的是这里居然没有人排队, 而且有2台机器可以&#8221;见证开户&#8221;, 于是排队了1小时以后, 终于有了1台空机器, 我进去又排了半小时, 机器终于接通了远程客服. 一顿提交资料, 期间甚至提交了加拿大银行超过百万人民币等值资产的证明. 结果, 竟然被客服告知开户申请被拒了. 此时又过去了整整1个小时.</p>



<p class="wp-block-paragraph">这天, 抽空下载了汇丰, 中银的App,  尝试在App上申请开户. 汇丰提交成功了, 说是几个工作日以后给出结果.  中银App甚至没有走到最后一步系统就直接提示不满足开户要求. 我TM.</p>



<p class="wp-block-paragraph">回去的路上, 我暗暗告诉自己, 以后再也不会去办工银亚洲和中银的卡.</p>



<h3 class="wp-block-heading">人际沟通</h3>



<p class="wp-block-paragraph">很多年前, 跟朋友约饭的时候, 我都会说一句&#8221;避开牛蛙和海鲜, 其它我都可以&#8221;. 然后吃饭一直都比较开心的. 出国几年以后, 我忘记了这一点. </p>



<p class="wp-block-paragraph">那晚抵达广州, 朋友擅作主张的选了一家火到不行的必吃榜餐厅, 一去的时候门口就坐满了各种排队的人, 可想而知它家的火爆.  但当真正点餐的时候, 我傻眼了, 它家榜上有名的菜几乎全是海鲜. </p>



<p class="wp-block-paragraph">结果可想而知, 我尴尬了吃了几只炸虾, 就借口吃饱了.  那晚明明没吃饱,  却只能饿着肚子去朋友家. 路上看到各种小笼包, 各种大排档, 口水都快流出来了.</p>



<h3 class="wp-block-heading">人口素质</h3>



<p class="wp-block-paragraph">这一点, 真的是国内国外一个样了. 我在香港机场转机的时候, 看到不远处有一个空的坐椅, 于是走过去准备坐下. 但就当我距离那个坐位仅剩2米且低头看了一下手机的时候, 一个大姐以超光速冲到那里并坐了下去. 然后大姐立即用手指的方式告诉不远处的朋友那里还有一个空位置. 当时很无语, 也知道这大姐豪无疑问的是中国人. 因为早有心理预期,  心里上也告诉自己别为了这种事情生气.</p>



<p class="wp-block-paragraph">随后回到了国内, 也辗转了好几个地方, 发现国内有素质的人还是很多, 甚至是一点也不比国外少.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8772/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Set up self-hosted runners for Github Actions</title>
		<link>https://www.zhukun.net/archives/8732</link>
					<comments>https://www.zhukun.net/archives/8732#respond</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Sun, 07 Apr 2024 17:15:39 +0000</pubDate>
				<category><![CDATA[编程学习]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8732</guid>

					<description><![CDATA[Add and Install a new runner on our host Highly recommand run self-hosted runner as a systemd service Then, we will see these below Set up the workflow for our Github Actions Official Document https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Add and Install a new runner on our host</h3>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1681" height="1383" data-id="8733" src="https://www.zhukun.net/wp-content/uploads/8732.01.png" alt="" class="wp-image-8733" srcset="https://www.zhukun.net/wp-content/uploads/8732.01.png 1681w, https://www.zhukun.net/wp-content/uploads/8732.01-600x494.png 600w, https://www.zhukun.net/wp-content/uploads/8732.01-1536x1264.png 1536w" sizes="(max-width: 1681px) 100vw, 1681px" /></figure>
</figure>



<figure class="wp-block-image size-full"><img decoding="async" width="1650" height="1825" src="https://www.zhukun.net/wp-content/uploads/8732.02.png" alt="" class="wp-image-8734" srcset="https://www.zhukun.net/wp-content/uploads/8732.02.png 1650w, https://www.zhukun.net/wp-content/uploads/8732.02-600x664.png 600w, https://www.zhukun.net/wp-content/uploads/8732.02-1389x1536.png 1389w" sizes="(max-width: 1650px) 100vw, 1650px" /></figure>



<p class="wp-block-paragraph">Highly recommand run self-hosted runner as a systemd service</p>



<pre class="wp-block-code"><code># Save settings
./config.cmd --url https://github.com/XXX/MyApp --token XXXXXXXXX

# Lets's deploy a systemd service
# Refer: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service
sudo ./svc.sh install</code></pre>



<p class="wp-block-paragraph">Then, we will see these below</p>



<pre class="wp-block-code"><code>Run as user: zhang3
Run as uid: 1000
gid: 1000
Created symlink /etc/systemd/system/multi-user.target.wants/actions.runner.XXX.service → /etc/systemd/system/actions.runner.XXX.service.</code></pre>



<h3 class="wp-block-heading">Set up the workflow for our Github Actions</h3>



<figure class="wp-block-image size-full"><img decoding="async" width="1675" height="1352" src="https://www.zhukun.net/wp-content/uploads/8732.03.png" alt="" class="wp-image-8735" srcset="https://www.zhukun.net/wp-content/uploads/8732.03.png 1675w, https://www.zhukun.net/wp-content/uploads/8732.03-600x484.png 600w, https://www.zhukun.net/wp-content/uploads/8732.03-1536x1240.png 1536w" sizes="(max-width: 1675px) 100vw, 1675px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1735" height="1429" src="https://www.zhukun.net/wp-content/uploads/8732.04-1.png" alt="" class="wp-image-8737" srcset="https://www.zhukun.net/wp-content/uploads/8732.04-1.png 1735w, https://www.zhukun.net/wp-content/uploads/8732.04-1-600x494.png 600w, https://www.zhukun.net/wp-content/uploads/8732.04-1-1536x1265.png 1536w" sizes="auto, (max-width: 1735px) 100vw, 1735px" /></figure>



<h3 class="wp-block-heading">Official Document</h3>



<p class="wp-block-paragraph"><a href="https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners">https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners</a></p>



<p class="wp-block-paragraph"><a href="https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service">https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8732/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Javascript Array</title>
		<link>https://www.zhukun.net/archives/8723</link>
					<comments>https://www.zhukun.net/archives/8723#respond</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Thu, 11 Jan 2024 16:24:39 +0000</pubDate>
				<category><![CDATA[编程学习]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8723</guid>

					<description><![CDATA[Handle element in an Array Find element A shorter code: Find an element in Object find() method ONLY returns the first element in the provided array that satisfies the provided testing function Filter Iterate Array Combine Array Destruct an Array We can also destruct an Object like this:]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h3 class="wp-block-heading">Handle element in an Array</h3>



<pre class="wp-block-code"><code>const hobbies = &#91;"sports", "cooking", "reading"];

console.log(hobbies&#91;0]);       # Get single element

hobbies.push("surfing");       # Add new element to the end
hobbies.unshift("movies");     # Add new element to th start

hobbies.pop();                 # remove the last element
hobbies.shift();               # remove the first element</code></pre>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h3 class="wp-block-heading">Find element</h3>



<pre class="wp-block-code"><code>const index = hobbies.findIndex((item) => {
    return item === "reading"
});
console.log(index);</code></pre>



<p class="wp-block-paragraph">A shorter code:</p>



<pre class="wp-block-code"><code>const index = hobbies.findIndex((item) => item === "reading");
console.log(index);

// Result
2</code></pre>



<p class="wp-block-paragraph">Find an element in Object</p>



<pre class="wp-block-code"><code>const inventory = &#91;
  { name: "apples", quantity: 2 },
  { name: "bananas", quantity: 0 },
  { name: "cherries", quantity: 5 },
];

const result = inventory.find(({ name,quantity }) => name === "cherries");

console.log(result); 

// Result:
 { name: 'cherries', quantity: 5 }</code></pre>



<p class="wp-block-paragraph"><strong><code>find()</code></strong> method ONLY returns the <strong>first element</strong> in the provided array that satisfies the provided testing function</p>
</div></div>



<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h3 class="wp-block-heading">Filter</h3>



<pre class="wp-block-code"><code>const words = &#91;'spray', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter((word) => word.length > 6);

// Result:
&#91;"exuberant", "destruction", "present"]</code></pre>
</div></div>



<h3 class="wp-block-heading">Iterate Array</h3>



<pre class="wp-block-code"><code>const newHobbies = hobbies.map((item) => item + "!");
consoloe.log(newHobbies);

// Result
(3) &#91;"sports!", "cooking!", "reading!"]</code></pre>



<h3 class="wp-block-heading">Combine Array</h3>



<pre class="wp-block-code"><code>const numbers = &#91;1,2,4,5];
const all = &#91;...hobbies, ...numbers];
console.log(all);

// Result
(7) &#91;"sports", "cooking", "reading", 1, 2, 4, 5]</code></pre>



<h3 class="wp-block-heading">Destruct an Array</h3>



<pre class="wp-block-code"><code>const userName = &#91;"John", "Ted"];

// Old School Way
// const firstName = userName&#91;0];
// const lastName = userName&#91;1];

// New Way
const &#91;firstName, lastName] = &#91;"John", "Ted"];
console.log(firstName);
console.log(lastName);

// Result:
John
Ted</code></pre>



<p class="wp-block-paragraph">We can also destruct an Object like this:</p>



<pre class="wp-block-code"><code>const {name,quantity} = { name: "apples", quantity: 2 };
console.log(name);
console.log(quantity);

// Result:
apples
2</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8723/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Get Ubuntu release code name in Script</title>
		<link>https://www.zhukun.net/archives/8719</link>
					<comments>https://www.zhukun.net/archives/8719#respond</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Sun, 24 Dec 2023 17:39:54 +0000</pubDate>
				<category><![CDATA[Linux运维]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8719</guid>

					<description><![CDATA[Use it in Shell Script]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-code"><code>$ lsb_release -h
Usage: lsb_release &#91;options]

Options:
  -h, --help         show this help message and exit
  -v, --version      show LSB modules this system supports
  -i, --id           show distributor ID
  -d, --description  show description of this distribution
  -r, --release      show release number of this distribution
  -c, --codename     show code name of this distribution
  -a, --all          show all of the above information
  -s, --short        show requested information in short format


$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.3 LTS
Release:	22.04
Codename:	jammy


$ lsb_release -sc
jammy

$ lsb_release -sr
22.04</code></pre>



<p class="wp-block-paragraph">Use it in Shell Script</p>



<pre class="wp-block-code"><code>echo "deb http://apt.kubernetes.io/ kubernetes-$(lsb_release -sc) main kubernetes-$(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/kubernetes.list</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8719/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>大学回忆录之2023</title>
		<link>https://www.zhukun.net/archives/8708</link>
					<comments>https://www.zhukun.net/archives/8708#comments</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Thu, 21 Dec 2023 14:36:08 +0000</pubDate>
				<category><![CDATA[记录生活]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8708</guid>

					<description><![CDATA[真不敢相信, 今天是我在这所大学的 last day. 好像昨天还是刚刚入学的日子一样, 时间, 过的真是快啊. 同学们陆陆续续的散去, 这个陕小的教室也终于安静下来了 我是这么的不愿意离开, 这里的回忆简直太多了 那个好看的尼泊尔同学, 名字叫Dipesh, 每次从我身边经过的时候, 我都会偷偷打量他. 每次都在作业的 due date 前一天, 他也会准时在whats app上找我帮忙, 我也很乐意帮忙, 谁叫人家长的好看呢 坐在对角的哥伦比亚大龄同学, 每次路过我的座位的时候, 都要双掌合十, 然后喊我一句&#8221;master&#8221; 还有我前面那位印度大胡子同学, 叫什么Pavit的, 每次回头看我, 嘴里都要哼着一句我听不懂的印度歌曲, 好像叫什么faya kun的, 这位大胡子同学每次课堂上咳嗽的时候, 嘴里也会小声说一句sorry. 另外一位尼泊尔的同学, 自从我教会了他 how to say fuck you in chinese 以后, 每次见面, 他都要说一句&#8221;草拟&#8221;&#8230; 哦对了, 那位哥伦比亚同学, 也教过我 how to say fuck you [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">真不敢相信, 今天是我在这所大学的 last day.</p>



<p class="wp-block-paragraph">好像昨天还是刚刚入学的日子一样, 时间, 过的真是快啊.</p>



<p class="wp-block-paragraph">同学们陆陆续续的散去, 这个陕小的教室也终于安静下来了</p>



<p class="wp-block-paragraph">我是这么的不愿意离开, 这里的回忆简直太多了</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2560" height="1920" src="https://www.zhukun.net/wp-content/uploads/8708.03-scaled.jpg" alt="初见" class="wp-image-8712" srcset="https://www.zhukun.net/wp-content/uploads/8708.03-scaled.jpg 2560w, https://www.zhukun.net/wp-content/uploads/8708.03-600x450.jpg 600w, https://www.zhukun.net/wp-content/uploads/8708.03-1536x1152.jpg 1536w, https://www.zhukun.net/wp-content/uploads/8708.03-2048x1536.jpg 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>



<p class="wp-block-paragraph">那个好看的尼泊尔同学, 名字叫Dipesh, 每次从我身边经过的时候, 我都会偷偷打量他. 每次都在作业的 due date 前一天, 他也会准时在whats app上找我帮忙, 我也很乐意帮忙, 谁叫人家长的好看呢</p>



<p class="wp-block-paragraph">坐在对角的哥伦比亚大龄同学, 每次路过我的座位的时候, 都要双掌合十, 然后喊我一句&#8221;master&#8221;</p>



<p class="wp-block-paragraph">还有我前面那位印度大胡子同学, 叫什么Pavit的, 每次回头看我, 嘴里都要哼着一句我听不懂的印度歌曲, 好像叫什么faya kun的, 这位大胡子同学每次课堂上咳嗽的时候, 嘴里也会小声说一句sorry.</p>



<p class="wp-block-paragraph">另外一位尼泊尔的同学, 自从我教会了他 how to say fuck you in chinese 以后, 每次见面, 他都要说一句&#8221;草拟&#8221;&#8230;</p>



<p class="wp-block-paragraph">哦对了, 那位哥伦比亚同学, 也教过我 how to say fuck you in spanish, 好像是什么类似于 &#8216;budha&#8217; 的发音. 有一次我在休息区说了一句 budha, 他们吓的全跑开了, 也不知道为啥</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="2114" height="2560" src="https://www.zhukun.net/wp-content/uploads/8708.04-scaled.jpg" alt="" class="wp-image-8713" srcset="https://www.zhukun.net/wp-content/uploads/8708.04-scaled.jpg 2114w, https://www.zhukun.net/wp-content/uploads/8708.04-600x727.jpg 600w, https://www.zhukun.net/wp-content/uploads/8708.04-1268x1536.jpg 1268w, https://www.zhukun.net/wp-content/uploads/8708.04-1691x2048.jpg 1691w" sizes="auto, (max-width: 2114px) 100vw, 2114px" /></figure>



<p class="wp-block-paragraph">还有一次, 我记得那是一节 Programming basic 课程, 一个胖胖的男老师, 虽然很胖, 但是眼神里却透露着一股子凶恶的感觉. 那次, 也不知道讲到哪个知识点了, 大胡子 Pavit 同学当场拿着 ChatGPT 的结果上去提出了疑问&#8230; 结果, 课间的 Break time 之后, 这位&#8221;凶恶&#8221;的男老师再也没有回来了&#8230;. 后来还是教学主任出马, 把他请了回来. 当然, 不是请回了教室, 只是改为了远程上课了&#8230;</p>



<p class="wp-block-paragraph">还有那个高贵冷艳的 Indigeneous 女生, 平时也懒得搭理我的, 最后的 e-commerce project 却跟她分到了一组, 当时觉得天都塌了, 没想到在做 Project 的时候, 她竟然异常的热情&#8230;</p>



<p class="wp-block-paragraph">太多的回忆了, 数都数不过来&#8230;</p>



<p class="wp-block-paragraph">自己一直是个极其怀旧的人, 大家都走了, 我还一个人坐在这个空荡荡的教室里, 舍不得离开</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1280" height="720" src="https://www.zhukun.net/wp-content/uploads/8708.jpg" alt="" class="wp-image-8709" srcset="https://www.zhukun.net/wp-content/uploads/8708.jpg 1280w, https://www.zhukun.net/wp-content/uploads/8708-600x338.jpg 600w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></figure>



<p class="wp-block-paragraph">在这间教室的一年, 是我人生中技术领域进步最快的一年了</p>



<p class="wp-block-paragraph">也许上北美的老师都很负责吧, 又或者同学们都太努力了, 这一年在各种 Project + Assignment + Quiz 的轮翻轰炸下, 我也算是入了前端的门了. 虽然还是很菜, 但至少, 现在有了能自己写 WordPress 主题的能力了, 也能写出一个简单的 CMS 了. 收获还是大大滴.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1280" height="720" data-id="8711" src="https://www.zhukun.net/wp-content/uploads/8708.02.jpg" alt="" class="wp-image-8711" srcset="https://www.zhukun.net/wp-content/uploads/8708.02.jpg 1280w, https://www.zhukun.net/wp-content/uploads/8708.02-600x338.jpg 600w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></figure>
</figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8708/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>error converting YAML to JSON: yaml: line 16: found a tab character that violates indentation</title>
		<link>https://www.zhukun.net/archives/8706</link>
					<comments>https://www.zhukun.net/archives/8706#respond</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Tue, 19 Dec 2023 08:40:31 +0000</pubDate>
				<category><![CDATA[Linux运维]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[kubernetes]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8706</guid>

					<description><![CDATA[We might be got this error when executing kubectl command: Fix it: Use vim to open this file, then :set list, then you will see the special characters.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">We might be got this error when executing kubectl command:</p>



<pre class="wp-block-code"><code>$ kubectl apply -f test1.yaml 
error: error parsing test1.yaml: error converting YAML to JSON: yaml: line 16: found a tab character that violates indentation</code></pre>



<p class="wp-block-paragraph">Fix it: Use <code>vim</code> to open this file, then <code>:set list</code>, then you will see the special characters.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="988" height="365" src="https://www.zhukun.net/wp-content/uploads/8706.png" alt="" class="wp-image-8707" srcset="https://www.zhukun.net/wp-content/uploads/8706.png 988w, https://www.zhukun.net/wp-content/uploads/8706-600x222.png 600w" sizes="auto, (max-width: 988px) 100vw, 988px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8706/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Protected: 那些年，我所呆过的互联网公司</title>
		<link>https://www.zhukun.net/archives/8655</link>
					<comments>https://www.zhukun.net/archives/8655#comments</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Tue, 03 Jan 2023 01:53:44 +0000</pubDate>
				<category><![CDATA[记录生活]]></category>
		<category><![CDATA[互联网]]></category>
		<category><![CDATA[工作]]></category>
		<category><![CDATA[生活]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8655</guid>

					<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
										<content:encoded><![CDATA[<form action="https://www.zhukun.net/wp-login.php?action=postpass" class="post-password-form" method="post"><input type="hidden" name="redirect_to" value="https://www.zhukun.net/archives/8655" /></p>
<p>This content is password-protected. To view it, please enter the password below.</p>
<p><label for="pwbox-8655">Password: <input name="post_password" id="pwbox-8655" type="password" spellcheck="false" required size="20" /></label> <input type="submit" name="Submit" value="Enter" /></p>
</form>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8655/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>The easiest way to build a http/ftp server with Python</title>
		<link>https://www.zhukun.net/archives/8656</link>
					<comments>https://www.zhukun.net/archives/8656#respond</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Thu, 01 Dec 2022 16:30:08 +0000</pubDate>
				<category><![CDATA[Linux运维]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8656</guid>

					<description><![CDATA[Build a HTTP Server Build a FTP Server A powershell script could run in Windows place a file named &#8220;ftp.ps1&#8221; with the following content: and then run with Powershell Advanced Usage Referencehttps://blog.51cto.com/phyger/5182139]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">Build a HTTP Server</h3>



<pre class="wp-block-code"><code># Python2
python -m SimpleHTTPServer PORT

# Python 3
python -m http.server PORT
python -m http.server PORT --bind example.com</code></pre>



<h3 class="wp-block-heading">Build a FTP Server</h3>



<pre class="wp-block-code"><code>pip install pyftpdlib

python -m pyftpdlib -p 21    # notice: it's ftpd, not ftp

# if you want a username and password
python -m pyftpdlib -u USERNAME -P PASSWORD</code></pre>



<h3 class="wp-block-heading">A powershell script could run in Windows</h3>



<p class="wp-block-paragraph">place a file named &#8220;ftp.ps1&#8221; with the following content:</p>



<pre class="wp-block-code"><code>Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Set-Location -Path D:\Download
Start-Process -NoNewWindow python --version
python -m pyftpdlib -p 21 -u USERNAME -P PASSWORD
Read-Host -Prompt "Press Enter to exit"</code></pre>



<p class="wp-block-paragraph">and then run with <code>Powershell</code></p>



<h3 class="wp-block-heading">Advanced Usage</h3>



<pre class="wp-block-code"><code>from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer


authorizer = DummyAuthorizer()
authorizer.add_user('python', '123456', 'F:\\Working~Study', perm='elradfmwM')
handler = FTPHandler
handler.authorizer = authorizer


server = FTPServer(('0.0.0.0', 8888), handler)
server.serve_forever()</code></pre>



<p class="wp-block-paragraph">Reference<br>https://blog.51cto.com/phyger/5182139</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8656/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>pproxy简单介绍</title>
		<link>https://www.zhukun.net/archives/8650</link>
					<comments>https://www.zhukun.net/archives/8650#comments</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Mon, 24 Oct 2022 19:52:29 +0000</pubDate>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8650</guid>

					<description><![CDATA[pproxy是一个简单的小工具, 顾名思议它是一个临时的代理小工具. 下面介绍其使用方法. 安装 服务端和客户端都可以使用如下方式进行安装 服务端运行 客户端运行 客户端简单运行 然后客户端会提示&#8221;Serving on :8080 by http,socks4,socks5&#8243;. 客户端建立http代理 然后客户端会提示&#8221;Serving on 127.0.0.1:8080 by http&#8221;. 客户端建立DNS tunnel 由于ss(AEAD)协议不支持udp, 因此我们只能换用socks5或者tunnel (raw socket)协议来支持udp. 然后客户端会提示&#8221;Serving on UDP 127.0.0.1:53 by tunnel&#8221;, 可以在客户端使用dig @127.0.0.1 dropbox.com检验tunnel效果.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a rel="noreferrer noopener" href="https://github.com/qwj/python-proxy" target="_blank">pproxy</a>是一个简单的小工具, 顾名思议它是一个临时的代理小工具. 下面介绍其使用方法.</p>



<h2 class="wp-block-heading">安装</h2>



<p class="wp-block-paragraph">服务端和客户端都可以使用如下方式进行安装</p>



<pre class="wp-block-code"><code>pip3 install pproxy</code></pre>



<h2 class="wp-block-heading">服务端运行</h2>



<pre class="wp-block-code"><code>pproxy -l ss://aes-128-gcm:MyPassword@:3389</code></pre>



<h2 class="wp-block-heading">客户端运行</h2>



<p class="wp-block-paragraph"><strong>客户端简单运行</strong></p>



<pre class="wp-block-code"><code>pproxy -r ss://aes-128-gcm:MyPassword@ServerIP:3389 -vv</code></pre>



<p class="wp-block-paragraph">然后客户端会提示&#8221;Serving on :8080 by http,socks4,socks5&#8243;.</p>



<p class="wp-block-paragraph"><strong>客户端建立http代理</strong></p>



<pre class="wp-block-code"><code>sudo pproxy -l http://127.0.0.1:8080 -r ss://aes-128-gcm:MyPassword@ServerIP:3389 -vv</code></pre>



<p class="wp-block-paragraph">然后客户端会提示&#8221;Serving on 127.0.0.1:8080 by http&#8221;.</p>



<p class="wp-block-paragraph"><strong>客户端建立DNS tunnel</strong></p>



<p class="wp-block-paragraph">由于ss(AEAD)协议不支持udp, 因此我们只能换用socks5或者tunnel (raw socket)协议来支持udp.</p>



<pre class="wp-block-code"><code>服务端:
pproxy -ul socks5://0.0.0.0:3389

客户端:
sudo pproxy -ul tunnel{8.8.8.8}://127.0.0.1:53 -ur socks5://ServerIP::3389 -vv</code></pre>



<p class="wp-block-paragraph">然后客户端会提示&#8221;Serving on UDP 127.0.0.1:53 by tunnel&#8221;, 可以在客户端使用dig @127.0.0.1 dropbox.com检验tunnel效果.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8650/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How to add or remove a directory from media library on Windows</title>
		<link>https://www.zhukun.net/archives/8642</link>
					<comments>https://www.zhukun.net/archives/8642#respond</comments>
		
		<dc:creator><![CDATA[bear]]></dc:creator>
		<pubDate>Wed, 31 Aug 2022 15:31:18 +0000</pubDate>
				<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[media server]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">https://www.zhukun.net/?p=8642</guid>

					<description><![CDATA[在Windows 10系统里添加一个文件夹到media server里非常容易. 仅仅需要右击文件夹, 并选择&#8221;Include in library&#8221;即可. 但是要把这个文件夹从library里移出来, 可能就稍显麻烦了. 下面介绍解决方法(点击可以查看大图). Windows 11系统里, 也很容易, 打开&#8221;文件夹选项&#8220;, 按如下所示操作即可]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">在Windows 10系统里添加一个文件夹到media server里非常容易. 仅仅需要右击文件夹, 并选择&#8221;Include in library&#8221;即可. 但是要把这个文件夹从library里移出来, 可能就稍显麻烦了. 下面介绍解决方法(点击可以查看大图).</p>


<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><a href="https://www.zhukun.net/wp-content/uploads/8642.jpg" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" src="https://www.zhukun.net/wp-content/uploads/8642.jpg" alt="" class="wp-image-8643" width="965" height="654" srcset="https://www.zhukun.net/wp-content/uploads/8642.jpg 1930w, https://www.zhukun.net/wp-content/uploads/8642-600x407.jpg 600w, https://www.zhukun.net/wp-content/uploads/8642-1536x1041.jpg 1536w" sizes="auto, (max-width: 965px) 100vw, 965px" /></a></figure>
</div>


<p class="wp-block-paragraph">Windows 11系统里, 也很容易, 打开&#8221;<strong>文件夹选项</strong>&#8220;, 按如下所示操作即可</p>



<figure class="wp-block-image size-full"><a href="https://www.zhukun.net/wp-content/uploads/8642.02.jpg" target="_blank" rel="noreferrer noopener"><img loading="lazy" decoding="async" width="574" height="725" src="https://www.zhukun.net/wp-content/uploads/8642.02.jpg" alt="" class="wp-image-8653"/></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zhukun.net/archives/8642/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
