diff --git a/content/categories/agreement/_index.md b/content/categories/agreement/_index.md index 17e5ee8cc..459baa609 100644 --- a/content/categories/agreement/_index.md +++ b/content/categories/agreement/_index.md @@ -1,4 +1,4 @@ --- title: Agreement -image: "https://webp.debuginn.com/202304131900179.jpg" +image: "https://static.debuginn.com/202304131900179.jpg" --- \ No newline at end of file diff --git a/content/categories/algorithm/_index.md b/content/categories/algorithm/_index.md index 95c51b66c..cc468c436 100644 --- a/content/categories/algorithm/_index.md +++ b/content/categories/algorithm/_index.md @@ -1,4 +1,4 @@ --- title: Algorithm -image: "https://webp.debuginn.com/202303031922787.jpg" +image: "https://static.debuginn.com/202303031922787.jpg" --- \ No newline at end of file diff --git a/content/categories/coin/_index.md b/content/categories/coin/_index.md index 22cc0a0ab..693a31682 100644 --- a/content/categories/coin/_index.md +++ b/content/categories/coin/_index.md @@ -1,4 +1,4 @@ --- title: Coin -image: "https://webp.debuginn.com/202303142342799.jpg" +image: "https://static.debuginn.com/202303142342799.jpg" --- \ No newline at end of file diff --git a/content/categories/debuginn/_index.md b/content/categories/debuginn/_index.md index b4b0025b5..4fb475901 100644 --- a/content/categories/debuginn/_index.md +++ b/content/categories/debuginn/_index.md @@ -1,4 +1,4 @@ --- title: Debuginn -image: "https://webp.debuginn.com/202303031922787.jpg" +image: "https://static.debuginn.com/202303031922787.jpg" --- \ No newline at end of file diff --git a/content/categories/git/_index.md b/content/categories/git/_index.md index 2d18eb2ed..7f864dcdf 100644 --- a/content/categories/git/_index.md +++ b/content/categories/git/_index.md @@ -1,4 +1,4 @@ --- title: Git -image: "https://webp.debuginn.com/202303252231697.jpg" +image: "https://static.debuginn.com/202303252231697.jpg" --- \ No newline at end of file diff --git a/content/categories/golang/_index.md b/content/categories/golang/_index.md index ec2cda78f..4b18eb219 100644 --- a/content/categories/golang/_index.md +++ b/content/categories/golang/_index.md @@ -1,4 +1,4 @@ --- title: Golang -image: "https://webp.debuginn.com/202302262119034.jpg" +image: "https://static.debuginn.com/202302262119034.jpg" --- \ No newline at end of file diff --git a/content/categories/job/_index.md b/content/categories/job/_index.md index 05aaebb3e..18f3d2158 100644 --- a/content/categories/job/_index.md +++ b/content/categories/job/_index.md @@ -1,4 +1,4 @@ --- title: Job -image: "https://webp.debuginn.com/202302262202290.jpg" +image: "https://static.debuginn.com/202302262202290.jpg" --- \ No newline at end of file diff --git a/content/categories/js/_index.md b/content/categories/js/_index.md index 52e02a421..d99ac34a8 100644 --- a/content/categories/js/_index.md +++ b/content/categories/js/_index.md @@ -1,4 +1,4 @@ --- title: JavaScript -image: "https://webp.debuginn.com/202306202016717.png" +image: "https://static.debuginn.com/202306202016717.png" --- \ No newline at end of file diff --git a/content/categories/os/_index.md b/content/categories/os/_index.md index 1cd95a147..4083db0c1 100644 --- a/content/categories/os/_index.md +++ b/content/categories/os/_index.md @@ -1,4 +1,4 @@ --- title: OS -image: "https://webp.debuginn.com/202303161935472.jpg" +image: "https://static.debuginn.com/202303161935472.jpg" --- \ No newline at end of file diff --git a/content/categories/phoenix/_index.md b/content/categories/phoenix/_index.md index 36fbca390..a4d2db30c 100644 --- a/content/categories/phoenix/_index.md +++ b/content/categories/phoenix/_index.md @@ -1,4 +1,4 @@ --- title: Phoenix -image: "https://webp.debuginn.com/202402111005028.jpeg" +image: "https://static.debuginn.com/202402111005028.jpeg" --- \ No newline at end of file diff --git a/content/categories/project/_index.md b/content/categories/project/_index.md index 4707c2076..8a4ec6a5b 100644 --- a/content/categories/project/_index.md +++ b/content/categories/project/_index.md @@ -1,4 +1,4 @@ --- title: Project -image: "https://webp.debuginn.com/202303191412328.jpg" +image: "https://static.debuginn.com/202303191412328.jpg" --- \ No newline at end of file diff --git a/content/categories/software/_index.md b/content/categories/software/_index.md index f04828175..a77a5228a 100644 --- a/content/categories/software/_index.md +++ b/content/categories/software/_index.md @@ -1,4 +1,4 @@ --- title: Software -image: "https://webp.debuginn.com/202303191228166.jpg" +image: "https://static.debuginn.com/202303191228166.jpg" --- \ No newline at end of file diff --git a/content/categories/sql/_index.md b/content/categories/sql/_index.md index 54ffaa027..ab6ee0355 100644 --- a/content/categories/sql/_index.md +++ b/content/categories/sql/_index.md @@ -1,4 +1,4 @@ --- title: SQL -image: "https://webp.debuginn.com/202303121916799.jpg" +image: "https://static.debuginn.com/202303121916799.jpg" --- \ No newline at end of file diff --git a/content/categories/summary/_index.md b/content/categories/summary/_index.md index de5869be9..99001a809 100644 --- a/content/categories/summary/_index.md +++ b/content/categories/summary/_index.md @@ -1,4 +1,4 @@ --- title: Debug客栈 -image: "https://webp.debuginn.com/202303261138384.jpg" +image: "https://static.debuginn.com/202303261138384.jpg" --- \ No newline at end of file diff --git a/content/page/about.md b/content/page/about.md index d50ae0cfd..c6874f4b6 100644 --- a/content/page/about.md +++ b/content/page/about.md @@ -4,7 +4,7 @@ date: 2019-05-28T22:11:11+08:00 layout: "about" slug: "about" comments: true -image: "https://webp.debuginn.com/202302262119034.jpg" +image: "https://static.debuginn.com/202302262119034.jpg" --- 你好,我是 Meng小羽,非标准程序猿,喜欢编码、摄影、音乐、吉他,对新鲜事物和新的技术总是保持着好奇心并愿意去探索。 @@ -30,4 +30,4 @@ image: "https://webp.debuginn.com/202302262119034.jpg" 目前我开源了一些[小工具和思路](/project),感兴趣的可以去给一个 Star, 感谢。 -![Gopher](https://webp.debuginn.com/202303022149399.png) \ No newline at end of file +![Gopher](https://static.debuginn.com/202303022149399.png) \ No newline at end of file diff --git a/content/page/links.md b/content/page/links.md index 6d7e3d6ec..7311c7474 100644 --- a/content/page/links.md +++ b/content/page/links.md @@ -2,7 +2,7 @@ title: 友情链接 links: - title: Debug客栈 - image: https://webp.debuginn.com/202302182238057.JPG + image: https://static.debuginn.com/202302182238057.JPG website: https://debuginn.com description: 做一个爱分享的程序猿 - title: Moea @@ -34,7 +34,7 @@ links: website: https://blognas.hwb0307.com description: 百代繁华一朝都,谁非过客;千秋明月吹角寒,花是主人。 - title: 追梦者个人博客 - image: https://webp.debuginn.com/202401250946192.ico + image: https://static.debuginn.com/202401250946192.ico website: https://codelin.site/ description: 不畏将来,不念过往。 - title: Nemo @@ -46,11 +46,11 @@ links: website: https://www.re1ife.top description: 一个淹死在时代浪潮里的coder - title: 浮云的博客 - image: https://webp.debuginn.com/202311181848462.ico + image: https://static.debuginn.com/202311181848462.ico website: https://last2win.com/ description: 浮云的博客 - title: Halo - image: https://webp.debuginn.com/202401250945310.png + image: https://static.debuginn.com/202401250945310.png website: https://bluemiaomiao.github.io description: 大道至简,顺势而为。 - title: 王明明的小站 @@ -75,7 +75,7 @@ comments: true ```yaml - title: Debug客栈 - image: https://webp.debuginn.com/202302182238057.JPG + image: https://static.debuginn.com/202302182238057.JPG website: https://blog.debuginn.com description: 永远相信美好的事情即将发生~ ``` diff --git a/content/page/project.md b/content/page/project.md index e3acfb6e3..002b66e4e 100644 --- a/content/page/project.md +++ b/content/page/project.md @@ -3,7 +3,7 @@ title: "我的项目" date: 2023-03-17T15:39:10+08:00 keywords: "我的项目" comments: true -image: "https://webp.debuginn.com/202302262119034.jpg" +image: "https://static.debuginn.com/202302262119034.jpg" --- ## 🤠 Hi,我是 Meng小羽 diff --git a/content/page/subscribe.md b/content/page/subscribe.md index 49704dfce..ea98a9ed4 100644 --- a/content/page/subscribe.md +++ b/content/page/subscribe.md @@ -13,7 +13,7 @@ Debug客栈给您提供了四种常规订阅方式,分别是 **[邮箱订阅]( [![RSS](https://img.shields.io/badge/RSS订阅(经典)-ff6600?logo=rss&logoColor=white&style=for-the-badge)](https://blog.debuginn.com/index.xml) [![Github](https://img.shields.io/badge/Github(Follow)-000000?logo=github&logoColor=white&style=for-the-badge)](https://github.com/debuginn) -![WeChat](https://webp.debuginn.com/202302202248422.png) +![WeChat](https://static.debuginn.com/202302202248422.png) ## 专栏订阅 @@ -31,4 +31,4 @@ Debug客栈给您提供了四种常规订阅方式,分别是 **[邮箱订阅]( [![BiliBili](https://img.shields.io/badge/Bilibili-ff0066?logo=bilibili&logoColor=white&style=for-the-badge)](https://space.bilibili.com/238989334) [![Youtube](https://img.shields.io/badge/Youtube-ff0000?logo=youtube&logoColor=white&style=for-the-badge)](https://www.youtube.com/@debuginn) -![Gopher](https://webp.debuginn.com/202303022149399.png) \ No newline at end of file +![Gopher](https://static.debuginn.com/202303022149399.png) \ No newline at end of file diff --git a/content/post/ajax/ajax-async-js-xml.md b/content/post/ajax/ajax-async-js-xml.md index 66dbdcd7f..556d6c091 100644 --- a/content/post/ajax/ajax-async-js-xml.md +++ b/content/post/ajax/ajax-async-js-xml.md @@ -13,8 +13,8 @@ tags: [ "ajax","js","xml" ] categories: [ "js" ] -image: "https://webp.debuginn.com/202304131856440.jpg" -imagePreview: "https://webp.debuginn.com/202304131856440.jpg" +image: "https://static.debuginn.com/202304131856440.jpg" +imagePreview: "https://static.debuginn.com/202304131856440.jpg" --- ## Ajax 技术简介 diff --git a/content/post/ajax/ajax-get-post.md b/content/post/ajax/ajax-get-post.md index 499abc1e9..0d39b8755 100644 --- a/content/post/ajax/ajax-get-post.md +++ b/content/post/ajax/ajax-get-post.md @@ -13,8 +13,8 @@ tags: [ "js","ajax","xml","post","get" ] categories: [ "js" ] -image: "https://webp.debuginn.com/202304131856440.jpg" -imagePreview: "https://webp.debuginn.com/202304131856440.jpg" +image: "https://static.debuginn.com/202304131856440.jpg" +imagePreview: "https://static.debuginn.com/202304131856440.jpg" --- ## Ajax中的Get请求 diff --git a/content/post/ajax/ajax-process-cache.md b/content/post/ajax/ajax-process-cache.md index ed2e46dc3..40b9cafad 100644 --- a/content/post/ajax/ajax-process-cache.md +++ b/content/post/ajax/ajax-process-cache.md @@ -13,8 +13,8 @@ tags: [ "js","ajax","cache" ] categories: [ "js" ] -image: "https://webp.debuginn.com/202304131856440.jpg" -imagePreview: "https://webp.debuginn.com/202304131856440.jpg" +image: "https://static.debuginn.com/202304131856440.jpg" +imagePreview: "https://static.debuginn.com/202304131856440.jpg" --- ## 缓存 diff --git a/content/post/ajax/ajax-xml-io.md b/content/post/ajax/ajax-xml-io.md index 9b91d9a38..0d0db444f 100644 --- a/content/post/ajax/ajax-xml-io.md +++ b/content/post/ajax/ajax-xml-io.md @@ -13,8 +13,8 @@ tags: ["js","ajax","xml"] categories: ["js"] -image: "https://webp.debuginn.com/202304131856440.jpg" -imagePreview: "https://webp.debuginn.com/202304131856440.jpg" +image: "https://static.debuginn.com/202304131856440.jpg" +imagePreview: "https://static.debuginn.com/202304131856440.jpg" --- - Ajax负责请求xml和接收xml信息,dom负责处理xml信息 diff --git a/content/post/coin/coin-financing.md b/content/post/coin/coin-financing.md index cc674140e..67abcc0be 100644 --- a/content/post/coin/coin-financing.md +++ b/content/post/coin/coin-financing.md @@ -9,7 +9,7 @@ keywords: "coin,financing" comments: true tags: ["coin"] categories: ["coin"] -image: "https://webp.debuginn.com/202303142342799.jpg" +image: "https://static.debuginn.com/202303142342799.jpg" --- 最近在上了一个在线的理财班(微信群实时上课),因为收费比较便宜,自己抱着学到赚到的原则,看看实际情况进行合理安排自己的进阶课程,因为知道这是一个类似公益性质的课程,之后会推荐他们专业课程,所以自己有一定的衡量,接下来对这个理财做一下小结。 diff --git a/content/post/coin/coin-taishan.md b/content/post/coin/coin-taishan.md index 38558a8c9..762a56d48 100644 --- a/content/post/coin/coin-taishan.md +++ b/content/post/coin/coin-taishan.md @@ -13,8 +13,8 @@ tags: ["coin"] categories: ["coin"] -image: "https://webp.debuginn.com/202303162005793.jpg" -imagePreview: "https://webp.debuginn.com/202303162005793.jpg" +image: "https://static.debuginn.com/202303162005793.jpg" +imagePreview: "https://static.debuginn.com/202303162005793.jpg" --- 自己有着收藏纪念币的习惯,在11月21号凌晨成功预约到了央行发行的首枚异型纪念币普币“泰山纪念币”,看官网通知这枚纪念币值发行了1.2亿枚,所以说相对来说具有较高的收藏价值,并且此纪念币有塑料桶包装,对于收藏来说更容易一些。 @@ -35,11 +35,11 @@ imagePreview: "https://webp.debuginn.com/202303162005793.jpg" 今天昌平区支行进行兑换,总体来说比较顺利,可能是去的比较晚,竟然没有排队的,顺利兑换完毕,接下来给大家看一下泰山币。 -![](https://webp.debuginn.com/202303162007928.jpg) +![](https://static.debuginn.com/202303162007928.jpg) -![](https://webp.debuginn.com/202303162007374.jpg) +![](https://static.debuginn.com/202303162007374.jpg) -![](https://webp.debuginn.com/202303162007381.jpg) +![](https://static.debuginn.com/202303162007381.jpg) ## 发行 diff --git a/content/post/coin/coin-use-epay.md b/content/post/coin/coin-use-epay.md index 9fffa71fe..6ba157922 100644 --- a/content/post/coin/coin-use-epay.md +++ b/content/post/coin/coin-use-epay.md @@ -13,8 +13,8 @@ tags: ["coin","e-pay","数字人民币","纪念币"] categories: ["coin"] -image: "https://webp.debuginn.com/202302272023525.jpeg" -imagePreview: "https://webp.debuginn.com/202302272023525.jpeg" +image: "https://static.debuginn.com/202302272023525.jpeg" +imagePreview: "https://static.debuginn.com/202302272023525.jpeg" --- 今天使用数字人民币兑换了建党100周年纪念币,过程比较坎坷,不过最终还是兑换成功了。 @@ -29,5 +29,5 @@ imagePreview: "https://webp.debuginn.com/202302272023525.jpeg" 数字人民币未来由国家导向大力推广,会使人民的支付更加便捷,不过个人建议纸质币保留下来,照顾不会使用手机的老年群体,总之,技术的进步,未来看来我们都是为了一串数字而奋斗喽。 -![数字人民币](https://webp.debuginn.com/202302272024966.jpg) +![数字人民币](https://static.debuginn.com/202302272024966.jpg) diff --git a/content/post/coin/financing-long-bridge.md b/content/post/coin/financing-long-bridge.md index 20054865d..05fd09e72 100644 --- a/content/post/coin/financing-long-bridge.md +++ b/content/post/coin/financing-long-bridge.md @@ -9,14 +9,14 @@ keywords: "证券,长桥,港美股,longbridge" comments: true tags: ["证券","长桥","港美股","longbridge"] categories: ["coin"] -image: "https://webp.debuginn.com/202302242223160.jpg" +image: "https://static.debuginn.com/202302242223160.jpg" --- 办理港卡之后,在证券市场找到了一款注重用户交互的证券 APP(长桥证券 APP),使用体验是大家常用港美股证券 APP 中最好的,**活动期间通过专属链接注册开户,可以申请港美股终身免佣**,推荐大家使用,投资港美股主要就是港卡比较难办,现在长桥与两个银行搞团办活动,大家感兴趣的可以办理注册下,另外现在入金还有奖励,办理好港卡和银行账户,就可以投资港美股了,就可以做世界 Top 公司的股东了。当然要牢记**股市有风险,投资需谨慎**,理性投资。 ## 注册长桥 -![专属邀请页面](https://webp.debuginn.com/202302242233592.jpeg) +![专属邀请页面](https://static.debuginn.com/202302242233592.jpeg) ## 办理港卡 @@ -66,6 +66,6 @@ image: "https://webp.debuginn.com/202302242223160.jpg" 如果你是可支持认证的企业员工的话,建议做一下企业认证,一般有企业邮箱的话直接输入邮箱账号接收验证码就可以完成认证了,企业认证后有需要优惠活动。 -![企业认证](https://webp.debuginn.com/202302242229071.jpeg) +![企业认证](https://static.debuginn.com/202302242229071.jpeg) -![企业用户活动](https://webp.debuginn.com/202302242230664.png) \ No newline at end of file +![企业用户活动](https://static.debuginn.com/202302242230664.png) \ No newline at end of file diff --git a/content/post/debuginn/about-5g-sa-nsa.md b/content/post/debuginn/about-5g-sa-nsa.md index fbafcb46f..c61fc1618 100644 --- a/content/post/debuginn/about-5g-sa-nsa.md +++ b/content/post/debuginn/about-5g-sa-nsa.md @@ -9,7 +9,7 @@ keywords: "5g,sa,nsa" comments: true tags: ["5g","sa","nsa"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303182246662.jpg" +image: "https://static.debuginn.com/202303182246662.jpg" --- 今天又一次看了何同学的5G的视频,从视频上看了关于何同学讲联通试运行的是NSA架构,SA架构还在研发试运行中,我就纳闷了,作为一个计算机行业的学生,怎么不明白这个架构名词,是自己out了么,后来上网找了资料,原来这个是通讯技术的专业名词,今天算是恶补了一下。 @@ -20,11 +20,11 @@ image: "https://webp.debuginn.com/202303182246662.jpg" 为了大家能够通俗易懂的描述这5G的两个架构,给大家举个栗子: -![举个栗子](https://webp.debuginn.com/202303182247885.jpg) +![举个栗子](https://static.debuginn.com/202303182247885.jpg) 话说这个张老板,家里养着一头肥朵1, 肥朵1 的小日子过得也很不错! -![ 肥朵1 的小日子](https://webp.debuginn.com/202303182248732.jpg) +![ 肥朵1 的小日子](https://static.debuginn.com/202303182248732.jpg) 但是突然有一天 肥朵 的价钱大涨,张老板想再养一只 肥朵,可是由于资金不足,(理想状态是一头 肥朵 需要有一个单独的房间)张老板很是苦恼,于是张老板给想出了两套方案: @@ -33,11 +33,11 @@ image: "https://webp.debuginn.com/202303182246662.jpg" 方案一按照理想状态的话,有一个比较大的缺点就是花费比较多,这就比较难受了......,但是 肥朵 比较开心~~~~ -![方案一理想状态](https://webp.debuginn.com/202303182248092.jpg) +![方案一理想状态](https://static.debuginn.com/202303182248092.jpg) 方案二是将房子重新升级变大即可作为资金花费最少,同时能够获得最大效益,张老板选择的面比较大,可就难受了 肥朵,唉,万恶的资本家。 -![方案二节省资金](https://webp.debuginn.com/202303182249596.jpg) +![方案二节省资金](https://static.debuginn.com/202303182249596.jpg) 想必大家就已经知道**制约SA和NSA的因素**了吧!就是money~~~ @@ -45,11 +45,11 @@ image: "https://webp.debuginn.com/202303182246662.jpg" - 按照方案一 肥朵1 的房子 可以看作是 4G核心网络; - 按照方案一 肥朵2 的房子 可以看作是 5G核心网络; -![方案一对比](https://webp.debuginn.com/202303182251067.jpg) +![方案一对比](https://static.debuginn.com/202303182251067.jpg) 按照方案二的话是将 **肥朵1 和肥朵2的房子** 看作是**4G核心网络**,而 **肥朵1** 也是 **4G基站**,**肥朵2** 也是**5G基站**,请看下图 : -![方案二](https://webp.debuginn.com/202303182252318.jpg) +![方案二](https://static.debuginn.com/202303182252318.jpg) **简而言之,之所以有SA与NSA架构主要是因为运营商愿意不愿意出钱重新部署。** @@ -57,7 +57,7 @@ image: "https://webp.debuginn.com/202303182246662.jpg" 目前讲到的都是 5G网络架构 中的两种,其实还有以下多种选项: -![5G网络架构的8个选项](https://webp.debuginn.com/202303182252847.png) +![5G网络架构的8个选项](https://static.debuginn.com/202303182252847.png) 这8个选项分为独立组网和非独立组网两组。其中选项1,2,5,6是独立组网,选项3,4,7,8是非独立组网。非独立组网的选项3,4,7还有不同的子选项。 @@ -65,7 +65,7 @@ image: "https://webp.debuginn.com/202303182246662.jpg" ### 独立组网SA -![独立组网SA](https://webp.debuginn.com/202303182254891.png) +![独立组网SA](https://static.debuginn.com/202303182254891.png) - 选项1:就是单纯的4G核心网+4G核心站,就是纯4G组网架构; - 选项2:可以看得出来,就是我们上面例子的方案一,纯5G组网架构; @@ -80,13 +80,13 @@ image: "https://webp.debuginn.com/202303182246662.jpg" #### NSA3系 -![NSA3系](https://webp.debuginn.com/202303182256536.png) +![NSA3系](https://static.debuginn.com/202303182256536.png) 可以看到3系的解决方案就是将原有4G网络升级加5G基站,让手机实现“双通道上网”,但是控制面在4G,用户面4G与5G互相向用户终端提供支持,这样的好处就是可以在5G升级过度时期起到临时代替作用,但是这样会加大4G基站的负荷,本来好好的够1头肥朵居住,突然之间加到了10头肥朵,想想也是有些吃不消的。 #### NSA7系 -![NSA7系](https://webp.debuginn.com/202303182257729.png) +![NSA7系](https://static.debuginn.com/202303182257729.png) 看到了7系你是不是有了对3系的对比,相比而言,7系有三点改进: @@ -98,7 +98,7 @@ image: "https://webp.debuginn.com/202303182246662.jpg" #### NSA4系 -![NSA4系](https://webp.debuginn.com/202303182258069.png) +![NSA4系](https://static.debuginn.com/202303182258069.png) 可以看到,到达4系阶段,把控制权交了出来,5G就距离SA架构只差一步了吧,这种状态应该是目前转型阶段后期的事情了吧!这样的架构方式同时能享受到4G的低费率,5G的高速率,你是不是有所期待!!! diff --git a/content/post/debuginn/answer-anotherdayu.md b/content/post/debuginn/answer-anotherdayu.md index c543446aa..f11f661c2 100644 --- a/content/post/debuginn/answer-anotherdayu.md +++ b/content/post/debuginn/answer-anotherdayu.md @@ -6,7 +6,7 @@ keywords: "debuginn,questionnaire" comments: true tags: ["debuginn", "questionnaire"] categories: ["debuginn"] -image: "https://webp.debuginn.com/20241123YYRL9F.jpeg" +image: "https://static.debuginn.com/20241123YYRL9F.jpeg" --- ## 简单介绍下自己或者你的博客? @@ -26,7 +26,7 @@ image: "https://webp.debuginn.com/20241123YYRL9F.jpeg" 感谢你关注 Debug客栈,也期待与大家在这里共同成长,探索更多有趣、有价值的内容! -![debuginn](https://webp.debuginn.com/20241123LGffwe.png) +![debuginn](https://static.debuginn.com/20241123LGffwe.png) ## 什么契机让你开始写博客? @@ -44,7 +44,7 @@ image: "https://webp.debuginn.com/20241123YYRL9F.jpeg" 此外,博客内容也会同步发布到微信公众号「**Debug客栈**」,欢迎关注! -![obsidian](https://webp.debuginn.com/20241123Vio0py.png) +![obsidian](https://static.debuginn.com/20241123Vio0py.png) ## 运营博客的过程中是否有失去过动力? diff --git a/content/post/debuginn/code-picture.md b/content/post/debuginn/code-picture.md index b55811628..8eb2b7fb6 100644 --- a/content/post/debuginn/code-picture.md +++ b/content/post/debuginn/code-picture.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["default"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303181147944.jpg" +image: "https://static.debuginn.com/202303181147944.jpg" --- 是不是经常在群中看到大神闲的无聊敲的代码构图,今天,他来了,搜集了网上尽可能多的代码构图,展示给大家,友情提示,推荐使用比较大的屏幕查看,效果会比较好的。 diff --git a/content/post/debuginn/computer-install.md b/content/post/debuginn/computer-install.md index 8edc1ba14..c8100313b 100644 --- a/content/post/debuginn/computer-install.md +++ b/content/post/debuginn/computer-install.md @@ -9,7 +9,7 @@ keywords: "computer" comments: true tags: ["computer"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303122249241.jpg" +image: "https://static.debuginn.com/202303122249241.jpg" --- 早就想着装一台组装机,来实操一下高中学的计算机组装与维修 ?,哈哈,开玩笑,想着组装一台电脑是我早有打算的事情,凭借着在学校实验室的时候帮助老师修理百十来台电脑的经验也可以轻松应对,正好家里人有装电脑的需求,本想着装机是一件比较愉快的事情,实时是激动的心、残废的手,装机翻车了,不过整体流程还可以,最后也正常的运行了起来,听我细细道来吧。 @@ -32,13 +32,13 @@ image: "https://webp.debuginn.com/202303122249241.jpg" ## 包装 -![包装](https://webp.debuginn.com/202303122254830.jpg) +![包装](https://static.debuginn.com/202303122254830.jpg) 不得不说,京东快递就是很快,不过,快归快,3000米,抱着这三个大箱子往住的地方跑,最后手抖不停???,看来要健身减肥了。 打开了纸箱,买的配件都显露了出来,在床上摆拍了一下。 -![包装](https://webp.debuginn.com/202303122255171.jpg) +![包装](https://static.debuginn.com/202303122255171.jpg) 很壮观,也很有气势,哈哈,接下来就进行拆解组装了………… @@ -46,7 +46,7 @@ image: "https://webp.debuginn.com/202303122249241.jpg" 一般组装都讲究顺序,作为从不看产品使用说明的我,上来就装起了主板 ?,看到 CPU 和散热风扇在孤零零的躺着,emmm,拆出来吧,唉,就这样才把 CPU 放上,装上了内存,固态 SSD,和散热器,由于太过锋利,又没有防护措施,唉,挂了彩。 -![挂了彩](https://webp.debuginn.com/202303122255566.jpg) +![挂了彩](https://static.debuginn.com/202303122255566.jpg) 此处省略弱鸡的我装机,省略500子,最后终于安装成功。 @@ -63,11 +63,11 @@ image: "https://webp.debuginn.com/202303122249241.jpg" 经过以上安装步骤,终于安装完毕,请看结果: -![请看结果](https://webp.debuginn.com/202303122257806.jpeg) +![请看结果](https://static.debuginn.com/202303122257806.jpeg) 插上电源,为我爆灯……………… -![为我爆灯](https://webp.debuginn.com/202303122258728.jpg) +![为我爆灯](https://static.debuginn.com/202303122258728.jpg) 正常运行,感觉良好,记下来就要装系统喽。 @@ -75,8 +75,8 @@ image: "https://webp.debuginn.com/202303122249241.jpg" 首当其从,当然是 Windows10 啦,嗯,没错,只有 Windows10 是可以配得上我亲手装的机器,所谓郎才配女貌 ??。从公司让同事帮忙借了一套显示器及无线键鼠,之后又安装了大白菜系统,开始安装。 -![系统](https://webp.debuginn.com/202303122259537.jpg) +![系统](https://static.debuginn.com/202303122259537.jpg) 不得不说,现在的配置安装 windows10 真的很快,并且开关机可以达到5秒内完成,牛掰。 -![windows10](https://webp.debuginn.com/202303122259091.jpg) \ No newline at end of file +![windows10](https://static.debuginn.com/202303122259091.jpg) \ No newline at end of file diff --git a/content/post/debuginn/data-mining-adventureworksdw.md b/content/post/debuginn/data-mining-adventureworksdw.md index ba7a6651a..889a8e6bf 100644 --- a/content/post/debuginn/data-mining-adventureworksdw.md +++ b/content/post/debuginn/data-mining-adventureworksdw.md @@ -39,7 +39,7 @@ GROUP BY MONTH(FactInternetSales.OrderDate); ``` -![result](https://webp.debuginn.com/202303252142124.png) +![result](https://static.debuginn.com/202303252142124.png) ## 切块操作 @@ -63,7 +63,7 @@ GROUP BY MONTH(FactInternetSales.OrderDate); ``` -![切块操作切块](https://webp.debuginn.com/202303252144018.png) +![切块操作切块](https://static.debuginn.com/202303252144018.png) ## 旋转操作 @@ -94,7 +94,7 @@ GROUP BY MONTH(FactInternetSales.OrderDate); ``` -![旋转操作旋转](https://webp.debuginn.com/202303252144795.png) +![旋转操作旋转](https://static.debuginn.com/202303252144795.png) ## 旋转+切块 @@ -123,7 +123,7 @@ GROUP BY MONTH(FactInternetSales.OrderDate); ``` -![旋转+切块](https://webp.debuginn.com/202303252145242.png) +![旋转+切块](https://static.debuginn.com/202303252145242.png) ## 上钻操作 @@ -145,7 +145,7 @@ GROUP BY MONTH(FactInternetSales.OrderDate); ``` -![上钻](https://webp.debuginn.com/202303252146458.png) +![上钻](https://static.debuginn.com/202303252146458.png) ## 下钻操作 diff --git a/content/post/debuginn/data-mining-seo-in-website.md b/content/post/debuginn/data-mining-seo-in-website.md index c047e9c53..c7aced6f8 100644 --- a/content/post/debuginn/data-mining-seo-in-website.md +++ b/content/post/debuginn/data-mining-seo-in-website.md @@ -19,30 +19,30 @@ categories: ["debuginn"] 作为一个计算机系的学生,对CSDN网站的需求量在浏览器中算是有着比较大的权重,接下来我借用CSDN网站的大数据网站分析,通过站长之家平台数据进行阐述个人对于大数据在SEO优化领域的具体应用。 -![SEO优化](https://webp.debuginn.com/202303262153884.png) +![SEO优化](https://static.debuginn.com/202303262153884.png) 上图是通过站长平台获取的对程序员网站CSDN的搜索排名,可以从图中得知CSDN占中文网站排名158、技术编程排名3、北京市排名85、百度权重6、Google权重7、反链数:4278,可以看出,此网站网络排名是较同等网站排名还是比较靠前的,同时由上图可以看到整站日均IP访问量达到100万响应之多,其数据承载量及SEO优化量还是比较大的。 -![CSDN](https://webp.debuginn.com/202303262154244.png) +![CSDN](https://static.debuginn.com/202303262154244.png) 上图可以看到CSDN中网站百度流量统计达到了1万2900,同时网站关键词库有着6196的热门关键词,其中索引量达到了234万7195,可见网站索引量都是比较大额的。 接下来我们看一下网站的收录及反链情况,见下图: -![收录及反链情况](https://webp.debuginn.com/202303262154409.png) +![收录及反链情况](https://static.debuginn.com/202303262154409.png) - 收录:百度占155万、谷歌占62万、360占140万、搜狗占341万; - 反链:百度占171万、谷歌占3万左右、360占416万。 -![SEO标题](https://webp.debuginn.com/202303262155903.png) +![SEO标题](https://static.debuginn.com/202303262155903.png) 上图可以看到CSDN网站的热门标题及优化建议,CSDN全程“CSDN-专业IT技术社区”,这一标题占据着网站整体SEO关键词搜索,其中站长之家提供了对搜索的优化建议:一般不超过80个字符,这样来说对搜索引擎来说是比较友好的,便于搜索引擎的搜录及索引。 -![搜索引擎](https://webp.debuginn.com/202303262156571.png) +![搜索引擎](https://static.debuginn.com/202303262156571.png) 通过站长之家云平台可以看到,CSDN的百度权重走势、Alexa排名趋势、百度收录量变化趋势、整体来看,CSDN网站数据流量是稳步上升,众所周知,CSDN的文章来源至中国绝大部分程序员的技术经验及感受等文章,并呈现稳步增长趋势。 -![CSDN的文章](https://webp.debuginn.com/202303262156187.png) +![CSDN的文章](https://static.debuginn.com/202303262156187.png) CSDN网站的关键词由上图可以看到主要是技术类的关键字,例如“HTTP、a-b、或与非、程序、下载”等关键词,这些词索引量搜录量都在100000000之中。 diff --git a/content/post/debuginn/design-restful-api.md b/content/post/debuginn/design-restful-api.md index ca08a809b..77de63024 100644 --- a/content/post/debuginn/design-restful-api.md +++ b/content/post/debuginn/design-restful-api.md @@ -6,7 +6,7 @@ keywords: "api,restful api" comments: true tags: ["api","restful api"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303132137265.jpg" +image: "https://static.debuginn.com/202303132137265.jpg" --- 近期学习了 Go 语言,跟着七米在学习,学习过程中了解到了 API 的一个设计规范,也就是本文要讲的 Restful API 设计模式,现在互联网处在前后端分离的阶段,API 的书写及规范化是非常重要的,针对于 API 中 Restful API 中设计比较规范的是 Github API,可以直接访问他们的 [https://api.github.com](https://api.github.com) 直接查看 Github 针对与公共接口的链接及使用方法。 diff --git a/content/post/debuginn/faas-notes.md b/content/post/debuginn/faas-notes.md index 03a2122da..496624c8d 100644 --- a/content/post/debuginn/faas-notes.md +++ b/content/post/debuginn/faas-notes.md @@ -9,7 +9,7 @@ keywords: "faas,notes" comments: true tags: ["faas","notes","serverless"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202302242145505.jpeg" +image: "https://static.debuginn.com/202302242145505.jpeg" --- ## FAAS 是什么 @@ -64,14 +64,14 @@ AWS Lambda 是大型公共云供应商提供的第一个 FAAS,随后是 Google | 常规的一个服务在容器中启动的流程 | FAAS 调用启动流程 | |----------------------------------------------------|----------------------------------------------------| -| ![](https://webp.debuginn.com/202302242209329.png) | ![](https://webp.debuginn.com/202302242210349.png) | +| ![](https://static.debuginn.com/202302242209329.png) | ![](https://static.debuginn.com/202302242210349.png) | * 在传统的服务启动或者是容器化的服务进行启动的是否,都是服务跟随者对应的平台(巨石架构的物理机器或者微服务化的 k8s 容器)的启动而启动,整个生命周期在 pod 的启动开始,在 pod 的关机下线操作结束,整个周期是比较长的,同时必须有实例存活(至少一台)来承接响应,研发人员除了需要关注自己的开发 code,还需要关注容器的大小、容量、数量等运维指标; * Serverless 中的 FAAS 将研发人员最重要的业务逻辑抽离了出来,除了这部分需要去管理升级,剩下的都交由 FAAS 提供平台来提供服务,托管后的 FAAS 生命周期从 pod 的启动关机简化到了 执行函数 handler 的 init 以及执行函数时间,并且在一些低频的业务中,一些函数实例可以交由 FAAS 提供服务商进行回收,甚至在某些时间不起函数实例,当有事件进来之后在执行函数初始化及执行逻辑(因为函数初始化到可以服务的启动时间在 100ms 左右,当然不同语言以及不同的服务提供方的实现会影响这里的启动时间); #### 架构分层 -![架构分层](https://webp.debuginn.com/202302242211864.png) +![架构分层](https://static.debuginn.com/202302242211864.png) 其实理解起来比较简单,可以理解成我们的代码已经是与 PAAS 平台进行强解耦的结果了,我们的代码就是一部电视剧,一个操作系统安装了指定的视频播放器就可以播放我们的电视剧了,同理,我们现在只需要关心我们的函数内业务代码逻辑的定义,只要接口定义的按照封装平台的要求来开发即可,我们不需要关心运行的环境及系统,由于 runtime 已经到了 func 级别,热更新代码以及启动服务都是快速可以响应的。 @@ -81,7 +81,7 @@ AWS Lambda 是大型公共云供应商提供的第一个 FAAS,随后是 Google #### 运行架构 -![运行架构](https://webp.debuginn.com/202302242212468.png) +![运行架构](https://static.debuginn.com/202302242212468.png) **优点:** @@ -100,7 +100,7 @@ AWS Lambda 是大型公共云供应商提供的第一个 FAAS,随后是 Google #### 架构分层 -![架构分层](https://webp.debuginn.com/202302242213329.png) +![架构分层](https://static.debuginn.com/202302242213329.png) 将调用限流、熔断、安全、服务注册与发现、服务管理等非业务逻辑的功能全部都放到 Sidecar 中去,**本质上是一个管理性质进程在管理着业务逻辑性质的进程**,进程之间的通讯使用的是 UDC(Unix domain socket)。 diff --git a/content/post/debuginn/follow-app-2.md b/content/post/debuginn/follow-app-2.md index 337b90296..96a5cb218 100644 --- a/content/post/debuginn/follow-app-2.md +++ b/content/post/debuginn/follow-app-2.md @@ -6,7 +6,7 @@ keywords: "follow,app,RSS,RSS3" comments: true tags: ["follow", "app", "RSS", "RSS3"] categories: ["debuginn"] -image: "https://webp.debuginn.com/20241013ivn8eL.jpeg" +image: "https://static.debuginn.com/20241013ivn8eL.jpeg" --- 大家好呀,[上篇文章](/p/follow-app)给大家推荐了我近期参与内测的一个软件 Follow,得到了大家热情地互动,今天继续给大家深度的分享一下 Follow 的特色功能,同时由于目前 Follow 处于内测邀请阶段,一码处于严重供不应求的状态,我也会给大家推荐下暂时平替的 RSS 开源软件,同时,大家可以关注我,等 Follow 公测开始,我会第一时间告知大家。 @@ -15,7 +15,7 @@ image: "https://webp.debuginn.com/20241013ivn8eL.jpeg" ### RSS 搜索 -![search](https://webp.debuginn.com/20241018ZBVyDd.png) +![search](https://static.debuginn.com/20241018ZBVyDd.png) 作为 RSS 阅读器,提供搜索功能,大大降低了大家搜索感兴趣的源的信息,非常便捷方便。 @@ -30,55 +30,55 @@ image: "https://webp.debuginn.com/20241013ivn8eL.jpeg" 阅读器可以把相同订阅并阅读过这篇文章的网友罗列在文章左上方。 -![who read](https://webp.debuginn.com/20241018vYtfMz.png) +![who read](https://static.debuginn.com/20241018vYtfMz.png) 同时,点击头像会把订阅者自己公开的订阅罗列出来,通过这个功能我补充了好多订阅源 😄 -![sylwair](https://webp.debuginn.com/20241018V86Unn.png) +![sylwair](https://static.debuginn.com/20241018V86Unn.png) ### 订阅热点 AI 每天早晚 8 点 AI 基于订阅的源的阅读量来提取 Summary 列表供订阅者阅读。 -![hot](https://webp.debuginn.com/20241018Jir4fe.png) +![hot](https://static.debuginn.com/20241018Jir4fe.png) ### 生成摘要 AI 生成摘要对我来说很重要,目前我订阅了上百个博客和科技媒体,摘要可以让我快速阅读文章核心内容,并确定是否我感兴趣的文章并继续阅读。 -![summary](https://webp.debuginn.com/20241018hu1JkJ.png) +![summary](https://static.debuginn.com/20241018hu1JkJ.png) ### 双语翻译 AI 应该也是通过 AI 实现的自动翻译,可以对比着阅读,订阅英文专业文章也不吃力。 -![translate](https://webp.debuginn.com/20241018andNgu.png) +![translate](https://static.debuginn.com/20241018andNgu.png) ### 激励作者 通过区块链技术,发行 `POWER` 代币,你可以对你感兴趣的文章的作者进行打赏,用来提升作者的影响力和生产出更多高质量的内容,从而实现了**良性循环的激励创作体系**。 -![gift](https://webp.debuginn.com/20241018tqSDWT.png) +![gift](https://static.debuginn.com/20241018tqSDWT.png) ### 视频订阅 没错,你可以把 YouTube 或者哔哩哔哩上你感兴趣的 UP 主都订阅起来,他们发表的最新视频就可以通过 Follow 的自动化推送来及时提醒,直接可以在软件内播放,非常地便捷。 -![media](https://webp.debuginn.com/20241018A8zHK1.png) +![media](https://static.debuginn.com/20241018A8zHK1.png) ### 图库订阅 通过图片瀑布流的形式进行订阅,学习与鉴赏图像给大家带来的视觉冲击与色彩描述。 -![picture](https://webp.debuginn.com/20241018n9RCRJ.png) +![picture](https://static.debuginn.com/20241018n9RCRJ.png) ### 播客集成 Follow 就是强大,当你不想去阅读文章的时候,你可以通过点击一键生成播客的模式,让文章生成类似播客的方式播放给你听,遥遥领先。 -![播客](https://webp.debuginn.com/20241018Jc5OmY.png) +![播客](https://static.debuginn.com/20241018Jc5OmY.png) 介绍了这么多 Follow 的功能,相信大家已经跃跃欲试了,但是目前 Follow 处于内部测试,属于邀请阶段,我这边 5 天才可以生成一个邀请码,严重供不应求,在公测之前的这个阶段,大家没有拿到邀请码的不要灰心,接下来给大家介绍一个开源免费的 RSS 阅读器,先进行过渡。 @@ -87,7 +87,7 @@ Follow 就是强大,当你不想去阅读文章的时候,你可以通过点 ### 苹果系统平替 # **NetNewsWire** -![NetNewsWire](https://webp.debuginn.com/20241020AFvwsb.jpeg) +![NetNewsWire](https://static.debuginn.com/20241020AFvwsb.jpeg) - 官网地址:[https://netnewswire.com/](https://netnewswire.com/) - Github 地址:[https://github.com/Ranchero-Software/NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) @@ -95,7 +95,7 @@ Follow 就是强大,当你不想去阅读文章的时候,你可以通过点 ### Windows 平替 # **Fluent Reader** -![Fluent Reader](https://webp.debuginn.com/20241020NLzuRr.jpeg) +![Fluent Reader](https://static.debuginn.com/20241020NLzuRr.jpeg) - 官网地址:[https://hyliu.me/fluent-reader/](https://hyliu.me/fluent-reader/) - Github 地址:[https://github.com/yang991178/fluent-reader](https://github.com/yang991178/fluent-reader) diff --git a/content/post/debuginn/follow-app-airdrop.md b/content/post/debuginn/follow-app-airdrop.md index bef4ff803..10278e87d 100644 --- a/content/post/debuginn/follow-app-airdrop.md +++ b/content/post/debuginn/follow-app-airdrop.md @@ -6,7 +6,7 @@ keywords: "follow,app,RSS,RSS3" comments: true tags: ["follow", "app", "RSS", "RSS3"] categories: ["debuginn"] -image: "https://webp.debuginn.com/20241013ivn8eL.jpeg" +image: "https://static.debuginn.com/20241013ivn8eL.jpeg" --- ## Follow Airdrop @@ -15,7 +15,7 @@ image: "https://webp.debuginn.com/20241013ivn8eL.jpeg" 今天看官网提供了 9051 $POWER 代币,按照公测到自由下载预估时间,再加上邀请码生成需要有使用时间限制,差不多可以无限发码啦~ -![Airdrop](https://webp.debuginn.com/20241102Sg7rhN.png) +![Airdrop](https://static.debuginn.com/20241102Sg7rhN.png) ## 下载地址 diff --git a/content/post/debuginn/follow-app.md b/content/post/debuginn/follow-app.md index f57a59003..bb5909936 100644 --- a/content/post/debuginn/follow-app.md +++ b/content/post/debuginn/follow-app.md @@ -6,7 +6,7 @@ keywords: "follow,app,RSS,RSS3" comments: true tags: ["follow", "app", "RSS", "RSS3"] categories: ["debuginn"] -image: "https://webp.debuginn.com/20241013ivn8eL.jpeg" +image: "https://static.debuginn.com/20241013ivn8eL.jpeg" --- 近期体验了一款高效的私有化信息订阅平台,给大家推荐一下,官方则是描述为 Next-gen information browser,下一代的信息浏览器,它不单纯是一个 RSS 订阅软件,因为在传统的 RSS 仅仅订阅的是网站的 feed 流信息进行 follow。 @@ -15,7 +15,7 @@ image: "https://webp.debuginn.com/20241013ivn8eL.jpeg" ## Follow -![Follow](https://webp.debuginn.com/20241009Vpq1w7.jpg) +![Follow](https://static.debuginn.com/20241009Vpq1w7.jpg) Follow 不单单提供了 RSS 的订阅,它的定位更是官网中所描述的 "下一代的信息浏览器",目前它提供的功能有: @@ -47,17 +47,17 @@ Follow 不单单提供了 RSS 的订阅,它的定位更是官网中所描述 ### AI Summary -![summary](https://webp.debuginn.com/20241009tNs61I.png) +![summary](https://static.debuginn.com/20241009tNs61I.png) 通过自动化设置,可以将文章使用 AI 生成摘要,一些复杂难懂且文章比较长的场景,通过 AI 进行总结,可以带来阅读效率的极大提升。 -![summary](https://webp.debuginn.com/20241010rGF6de.png) +![summary](https://static.debuginn.com/20241010rGF6de.png) ### 订阅共享 订阅共享功能是 Follow 的特色功能,大家可以通过订阅的文章了解到和自己一样订阅这个文章的人他(她)们订阅了什么信息,从而充实自己的订阅源。 -![share](https://webp.debuginn.com/20241010Fe5wr7.png) +![share](https://static.debuginn.com/20241010Fe5wr7.png) ### 邀请制 @@ -70,7 +70,7 @@ Follow 不单单提供了 RSS 的订阅,它的定位更是官网中所描述 相信未来代币可以在 Follow 中有更多的场景和玩法,同时作者还承诺代币未来的价值,期待 (✧∀✧) -![invite](https://webp.debuginn.com/20241013nluSz7.png) +![invite](https://static.debuginn.com/20241013nluSz7.png) ## 写在最后 diff --git a/content/post/debuginn/how-to-take-over-a-project.md b/content/post/debuginn/how-to-take-over-a-project.md index d63e52659..e44281aea 100644 --- a/content/post/debuginn/how-to-take-over-a-project.md +++ b/content/post/debuginn/how-to-take-over-a-project.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["project"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202307102310436.jpg" +image: "https://static.debuginn.com/202307102310436.jpg" --- > 在工作中,接手负责管理别人开发或者前人开发的项目是每个开发人员的工作任务之一,那么,如何快速并且高效的消化接手过来的项目呢,本文主要讲解一些方法与实践技巧,希望可以帮助你快速了解你接手的项目。 diff --git a/content/post/debuginn/mbp-2019.md b/content/post/debuginn/mbp-2019.md index 7af08a784..4e1207900 100644 --- a/content/post/debuginn/mbp-2019.md +++ b/content/post/debuginn/mbp-2019.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["mbp"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303181131348.jpeg" +image: "https://static.debuginn.com/202303181131348.jpeg" --- 购买MacBook Pro已经有了一个多月的时间,在这一段的时间中,首先给MBP给我的第一印象就是“**真香**”,近乎完美的外表设计搭配自家MacOS,简直就是一款非常有效的生产力工具,2019款增加的Touch Bar就是一个不折不扣的加分项,接下来就听我细细道来吧。 @@ -25,21 +25,21 @@ image: "https://webp.debuginn.com/202303181131348.jpeg" 苹果的包装一直都是比较讲究的,环保包装,简洁的只有三件(包装三包+MacBook+电源)。 -![MacBook开箱](https://webp.debuginn.com/202303181134689.jpg) +![MacBook开箱](https://static.debuginn.com/202303181134689.jpg) 比较灵巧的设计,将两侧“耳朵”竖起,就自动将内包装抬起,挺巧妙的设计。 -![MacBook开箱](https://webp.debuginn.com/202303181134716.jpg) +![MacBook开箱](https://static.debuginn.com/202303181134716.jpg) 拿出来之后,打开内侧包装,开始撕膜...... -![MacBook开箱](https://webp.debuginn.com/202303181134329.jpg) +![MacBook开箱](https://static.debuginn.com/202303181134329.jpg) 由于本人撕膜之后过于兴奋,系统设置这一块忘记拍摄了,脑补喜悦的画面吧,接下来给大家介绍一下电脑的性能及系统配置吧。 ## ✅ 配置 -![macOS Catalina](https://webp.debuginn.com/202303181135828.jpg) +![macOS Catalina](https://static.debuginn.com/202303181135828.jpg) 近期升级到了Catalina版本,看着增加了应用使用时间及iPad扩展功能,挺不错的,接下来看看配置吧。 @@ -55,11 +55,11 @@ image: "https://webp.debuginn.com/202303181131348.jpeg" - **摄像头** 720p FaceTime 高清摄像头 - **其他** [官网详细介绍](https://www.apple.com/cn/macbook-pro/specs/) -![官网介绍渲染图片](https://webp.debuginn.com/202303181137974.jpg) +![官网介绍渲染图片](https://static.debuginn.com/202303181137974.jpg) ## ✅ 系统 -![MacBook Pro](https://webp.debuginn.com/202303181137879.jpg) +![MacBook Pro](https://static.debuginn.com/202303181137879.jpg) ### 全屏幕窗口方式 @@ -72,11 +72,11 @@ image: "https://webp.debuginn.com/202303181131348.jpeg" 这个无疑是我作为开发者实用Mac的神器,在日常工作使用中,对终端的操作,连接远程linux系统,系统本身安装环境都显得那么顺畅,这个是在windows原始Dos系统上不能体会到的,上手后你就了解了。 -![类unix系统](https://webp.debuginn.com/202303181138872.jpg) +![类unix系统](https://static.debuginn.com/202303181138872.jpg) ### Touch Bar -![Touch Bar](https://webp.debuginn.com/202303181138286.jpg) +![Touch Bar](https://static.debuginn.com/202303181138286.jpg) 不得不说,带把的 ~~带bar~~ 的就是好用,如果说键盘拯救了我们输入系统,那bar就拯救了我们手动的选择。 diff --git a/content/post/debuginn/mbp-resurrection.md b/content/post/debuginn/mbp-resurrection.md index ee46c9cba..6e19f0aa0 100644 --- a/content/post/debuginn/mbp-resurrection.md +++ b/content/post/debuginn/mbp-resurrection.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["mbp"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303011926862.jpg" +image: "https://static.debuginn.com/202303011926862.jpg" --- 经过近两个星期的检测,维修 ?,我的 MacBook 满血复活了,事情是这样的,两周前我的电脑突然之间就黑屏,有充电反馈,键盘,Bar 和触控板均失灵,拿到公司 IT 部门,给我的意见是去售后 ?,紧接着到了周末去了售后,给我的解决方案是更换硬件,告诉我说要更换主板,也就代表着硬盘数据没有了,允悲,我同时给他说明针对于我两次修复蝶形键盘的经历,售后人员决定给我申请键盘也更换,心中多少有些安慰,于是他给了我一个维修周期,届时来领取就可以了。 diff --git a/content/post/debuginn/mi-work.md b/content/post/debuginn/mi-work.md index a16387644..357ad354f 100644 --- a/content/post/debuginn/mi-work.md +++ b/content/post/debuginn/mi-work.md @@ -10,15 +10,15 @@ comments: true weight: 0 tags: ["内推"] categories: ["job"] -image: "https://webp.debuginn.com/202302262202290.jpg" +image: "https://static.debuginn.com/202302262202290.jpg" --- -![星辰大海](https://webp.debuginn.com/202302262203593.jpg) +![星辰大海](https://static.debuginn.com/202302262203593.jpg) **永远相信美好的事情即将发生** -![员工福利](https://webp.debuginn.com/202302262204468.png) +![员工福利](https://static.debuginn.com/202302262204468.png) 欢迎大家联系我,让我为你内推吧,小米众多岗位等你来选,不清楚岗位信息的可以联系我,我会给你发对应的内推部门及岗位,也可以联系我查询内推情况,感觉OK,你就来吧! \ No newline at end of file diff --git a/content/post/debuginn/mini-program-notes.md b/content/post/debuginn/mini-program-notes.md index 95b932878..9deb361d6 100644 --- a/content/post/debuginn/mini-program-notes.md +++ b/content/post/debuginn/mini-program-notes.md @@ -10,98 +10,98 @@ comments: true weight: 0 tags: ["微信小程序"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303241244369.jpg" +image: "https://static.debuginn.com/202303241244369.jpg" --- > 最近两个星期在学习小程序,主要是应对“全国大学生计算机应用能力与信息素养比赛”,虽然最后没有取得一个比较好的成绩(PS:国家安慰奖),但是收获了不少,边学习边敲代码也是不错的,嘿嘿,下面就是我对这个学习小程序的代码笔记及我设计的小程序的演示图片,嘿嘿,在此处建立一个里程碑吧! ## 小程序学习笔记 -![小程序学习笔记](https://webp.debuginn.com/202303241245588.png) +![小程序学习笔记](https://static.debuginn.com/202303241245588.png) ## 设计小程序图例 -![设计小程序图例](https://webp.debuginn.com/202303241245667.png) +![设计小程序图例](https://static.debuginn.com/202303241245667.png) -![设计小程序图例](https://webp.debuginn.com/202303241246567.png) +![设计小程序图例](https://static.debuginn.com/202303241246567.png) -![设计小程序图例](https://webp.debuginn.com/202303241246058.png) +![设计小程序图例](https://static.debuginn.com/202303241246058.png) ## PPT 文稿 -![PPT文稿](https://webp.debuginn.com/202303241247487.jpg) +![PPT文稿](https://static.debuginn.com/202303241247487.jpg) -![PPT文稿](https://webp.debuginn.com/202303241247242.jpg) +![PPT文稿](https://static.debuginn.com/202303241247242.jpg) -![PPT文稿](https://webp.debuginn.com/202303241248773.jpg) +![PPT文稿](https://static.debuginn.com/202303241248773.jpg) -![PPT文稿](https://webp.debuginn.com/202303241248524.jpg) +![PPT文稿](https://static.debuginn.com/202303241248524.jpg) -![PPT文稿](https://webp.debuginn.com/202303241248347.jpg) +![PPT文稿](https://static.debuginn.com/202303241248347.jpg) -![PPT文稿](https://webp.debuginn.com/202303241249125.jpg) +![PPT文稿](https://static.debuginn.com/202303241249125.jpg) -![PPT文稿](https://webp.debuginn.com/202303241249763.jpg) +![PPT文稿](https://static.debuginn.com/202303241249763.jpg) -![PPT文稿](https://webp.debuginn.com/202303241249463.jpg) +![PPT文稿](https://static.debuginn.com/202303241249463.jpg) -![PPT文稿](https://webp.debuginn.com/202303241250103.jpg) +![PPT文稿](https://static.debuginn.com/202303241250103.jpg) -![PPT文稿](https://webp.debuginn.com/202303241250804.jpg) +![PPT文稿](https://static.debuginn.com/202303241250804.jpg) -![PPT文稿](https://webp.debuginn.com/202303241250283.jpg) +![PPT文稿](https://static.debuginn.com/202303241250283.jpg) -![PPT文稿](https://webp.debuginn.com/202303241250987.jpg) +![PPT文稿](https://static.debuginn.com/202303241250987.jpg) -![PPT文稿](https://webp.debuginn.com/202303241251928.jpg) +![PPT文稿](https://static.debuginn.com/202303241251928.jpg) -![PPT文稿](https://webp.debuginn.com/202303241251241.jpg) +![PPT文稿](https://static.debuginn.com/202303241251241.jpg) -![PPT文稿](https://webp.debuginn.com/202303241252101.jpg) +![PPT文稿](https://static.debuginn.com/202303241252101.jpg) -![PPT文稿](https://webp.debuginn.com/202303241253383.jpg) +![PPT文稿](https://static.debuginn.com/202303241253383.jpg) -![PPT文稿](https://webp.debuginn.com/202303241253374.jpg) +![PPT文稿](https://static.debuginn.com/202303241253374.jpg) -![PPT文稿](https://webp.debuginn.com/202303241253786.jpg) +![PPT文稿](https://static.debuginn.com/202303241253786.jpg) -![PPT文稿](https://webp.debuginn.com/202303241253113.jpg) +![PPT文稿](https://static.debuginn.com/202303241253113.jpg) -![PPT文稿](https://webp.debuginn.com/202303241254101.jpg) +![PPT文稿](https://static.debuginn.com/202303241254101.jpg) -![PPT文稿](https://webp.debuginn.com/202303241254296.jpg) +![PPT文稿](https://static.debuginn.com/202303241254296.jpg) -![PPT文稿](https://webp.debuginn.com/202303241254531.jpg) +![PPT文稿](https://static.debuginn.com/202303241254531.jpg) -![PPT文稿](https://webp.debuginn.com/202303241255333.jpg) +![PPT文稿](https://static.debuginn.com/202303241255333.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256859.jpg) +![PPT文稿](https://static.debuginn.com/202303241256859.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256172.jpg) +![PPT文稿](https://static.debuginn.com/202303241256172.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256172.jpg) +![PPT文稿](https://static.debuginn.com/202303241256172.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256389.jpg) +![PPT文稿](https://static.debuginn.com/202303241256389.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256719.jpg) +![PPT文稿](https://static.debuginn.com/202303241256719.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256347.jpg) +![PPT文稿](https://static.debuginn.com/202303241256347.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256380.jpg) +![PPT文稿](https://static.debuginn.com/202303241256380.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256978.jpg) +![PPT文稿](https://static.debuginn.com/202303241256978.jpg) -![PPT文稿](https://webp.debuginn.com/202303241256892.jpg) +![PPT文稿](https://static.debuginn.com/202303241256892.jpg) -![PPT文稿](https://webp.debuginn.com/202303241257014.jpg) +![PPT文稿](https://static.debuginn.com/202303241257014.jpg) -![PPT文稿](https://webp.debuginn.com/202303241257796.jpg) +![PPT文稿](https://static.debuginn.com/202303241257796.jpg) -![PPT文稿](https://webp.debuginn.com/202303241257727.jpg) +![PPT文稿](https://static.debuginn.com/202303241257727.jpg) -![PPT文稿](https://webp.debuginn.com/202303241257343.jpg) +![PPT文稿](https://static.debuginn.com/202303241257343.jpg) -![PPT文稿](https://webp.debuginn.com/202303241257384.jpg) +![PPT文稿](https://static.debuginn.com/202303241257384.jpg) ## 总结 diff --git a/content/post/debuginn/movie-ying.md b/content/post/debuginn/movie-ying.md index 28b9e238f..1fb108f68 100644 --- a/content/post/debuginn/movie-ying.md +++ b/content/post/debuginn/movie-ying.md @@ -10,19 +10,19 @@ comments: true weight: 0 tags: ["poster"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303182303574.jpg" +image: "https://static.debuginn.com/202303182303574.jpg" --- -![《影》](https://webp.debuginn.com/202303182306053.jpeg) +![《影》](https://static.debuginn.com/202303182306053.jpeg) -![《影》](https://webp.debuginn.com/202303182306614.jpg) +![《影》](https://static.debuginn.com/202303182306614.jpg) -![《捉妖记》](https://webp.debuginn.com/202303182307230.jpg) +![《捉妖记》](https://static.debuginn.com/202303182307230.jpg) -![《捉妖记》](https://webp.debuginn.com/202303182307618.jpg) +![《捉妖记》](https://static.debuginn.com/202303182307618.jpg) -![《道士下山》](https://webp.debuginn.com/202303182308105.jpg) +![《道士下山》](https://static.debuginn.com/202303182308105.jpg) -![《黄金时代》美版](https://webp.debuginn.com/202303182308924.jpg) +![《黄金时代》美版](https://static.debuginn.com/202303182308924.jpg) -![《黄飞鸿》](https://webp.debuginn.com/202303182308915.jpg) +![《黄飞鸿》](https://static.debuginn.com/202303182308915.jpg) diff --git a/content/post/debuginn/pingos-build-sever.md b/content/post/debuginn/pingos-build-sever.md index 928235e1b..81ab228c3 100644 --- a/content/post/debuginn/pingos-build-sever.md +++ b/content/post/debuginn/pingos-build-sever.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["pingos","ffmpeg","hls"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303121930279.jpg" +image: "https://static.debuginn.com/202303121930279.jpg" --- @@ -231,7 +231,7 @@ cd /usr/local/pingos/ - `http://ip地址:端口/h5player/flv` 无插件播放http-flv直播流 - `http://ip地址:端口/rtmp_stat` 查看当前服务器推流统计数据 -![OBS配置](https://webp.debuginn.com/202303122236851.png) +![OBS配置](https://static.debuginn.com/202303122236851.png) 播放地址:`http://ip地址:端口/hls2/流名.m3u8` diff --git a/content/post/debuginn/prometheus-gateway.md b/content/post/debuginn/prometheus-gateway.md index ad902d28f..81bbbc668 100644 --- a/content/post/debuginn/prometheus-gateway.md +++ b/content/post/debuginn/prometheus-gateway.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["prometheus","grafana","open falcon","counter","histogram"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202302262145770.jpg" +image: "https://static.debuginn.com/202302262145770.jpg" --- 近期,我们对 APP 网关 Gateway 做了升级,由于项目创建时间过早(6年前的项目),那时候还没有好的包管理工具,使用的是最原始的 Go Path 来进行项目的依赖管理,历史包袱比较重,项目中很多的第三方引用都是直接将代码拷贝到项目目录下,升级与维护起来特别麻烦,升级之后就是现在官方主推的是 Go module 包管理方式。 @@ -130,14 +130,14 @@ DefBuckets = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10} 使用 Prometheus 的 Alert Manager 就可以对服务进行报警,但是如何及时又准确的报警,已经如何合理设置报警,我们就要引入 SLO 的概念,在实际的业务场景中,我们会发现某个接口某个时间段的耗时是一组离散的点: -![请求时间数量分布图](https://webp.debuginn.com/202302262154973.png) +![请求时间数量分布图](https://static.debuginn.com/202302262154973.png) 我们可以看到大部分的请求可以在 1s 之内就可以快速的返回,只有个别的请求可能由于网络的抖动、应用短暂升级或者其他因素导致过慢,若是我们直接设置接口最大请求耗时超过2s(持续一个时间段),那我们就面临着疯狂的告警轰炸,同时告警也就失去了针对某个接口的异常活动做出提示供开发人员处理的意义。 > **服务级别目标**(Service-level objective,SLO)是指服务提供者向客户作出的服务保证的量化指标。服务级别目标与服务级别协议有所不同。服务级别协议是指服务提供者向客户保证会提供什么样的服务,服务级别目标则是服务的量化说明。 > [Service-level objective](https://zh.wikipedia.org/wiki/%E6%9C%8D%E5%8A%A1%E7%BA%A7%E5%88%AB%E7%9B%AE%E6%A0%87) 服务级别目标 -![请求时间数量分布图](https://webp.debuginn.com/202302262155955.png) +![请求时间数量分布图](https://static.debuginn.com/202302262155955.png) 比方说我们发现上面的 90% 请求都在 1s 内返回,我们就可以只需要对 90% 请求耗时做监控分析其调用链路并告警。 举个栗子,比方说我们一个首页的接口 `/v1/home/page` 99% 的请求可以在 500ms 内返回,只有个别的请求超过 2s+ 的时间,大多数情况下我们就不会关心这 1%的请求,那我们就可以定制一个 **持续 1分钟首页 99% 请求耗时大于 1s**的报警,这样当我们收到报警的时候,我们就可以第一时间知道首页出现了问题,我们就可以根据报警及时处理。 @@ -153,7 +153,7 @@ DefBuckets = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10} 目前的解决方案就是做分布式,采用 prometheus [联邦集群](https://prometheus.io/docs/prometheus/latest/federation/)的方式来解决指标收集过大的问题,采用了分布式,就可以将机器分组收集汇总,之后就可以成倍速的缩小 prometheus 拉取的压力。 -![联邦集群设计](https://webp.debuginn.com/202302262157871.png) +![联邦集群设计](https://static.debuginn.com/202302262157871.png) ### 动态收集机器指标 diff --git a/content/post/debuginn/python-decision-tree.md b/content/post/debuginn/python-decision-tree.md index bf8d99239..a0681f17a 100644 --- a/content/post/debuginn/python-decision-tree.md +++ b/content/post/debuginn/python-decision-tree.md @@ -19,13 +19,13 @@ categories: ["debuginn"] 官网: [https://www.anaconda.com/](https://www.anaconda.com/) 下载: [https://www.anaconda.com/distribution/](https://www.anaconda.com/distribution/) -![anaconda 下载选择](https://webp.debuginn.com/202303241219353.png) +![anaconda 下载选择](https://static.debuginn.com/202303241219353.png) ### 安装环境 下载过程中使用默认,但有一个页面需要确认,如下图。 -![anaconda选择页面](https://webp.debuginn.com/202303241219803.png) +![anaconda选择页面](https://static.debuginn.com/202303241219803.png) 第一个勾是是否把 Anaconda 加入环境变量,这涉及到能否直接在 cmd中使用 conda、jupyter、 ipython 等命令,推荐打勾。 @@ -33,7 +33,7 @@ categories: ["debuginn"] 安装完成后,在开始菜单中显示“Anaconda2”如下图所示。 -![安装显示界面](https://webp.debuginn.com/202303241220350.png) +![安装显示界面](https://static.debuginn.com/202303241220350.png) ### 安装第三方程序包 Graphviz @@ -41,7 +41,7 @@ categories: ["debuginn"] 1、打开 Anaconda Prompt ,输入 conda install python-graphviz,回车即可完成安装,如下图所示,本图所示已经安装 了 graphviz 包,若之前没有安装,这时会花点时间安装,安装不用干预。 -![安装决策树依赖包](https://webp.debuginn.com/202303241221843.png) +![安装决策树依赖包](https://static.debuginn.com/202303241221843.png) 安装完成后先输入 python,然后再输入 import graphviz,测试是否成功安装,如上图所示。 需要设置环境变量,才能使用新安装的 graphviz。 @@ -63,7 +63,7 @@ categories: ["debuginn"] 将下图的表 demo 输入到 Excel 中,保存为.csv 文件(.csv 为逗号分隔值文件格式)。 注意将表 demo 中的汉字值转换成数据字值,例如“是否是公司职员”列中的“是”为“1”, “否”为“0”。转换后的表中数据如下图所示。 -![学习表](https://webp.debuginn.com/202303241222952.png) +![学习表](https://static.debuginn.com/202303241222952.png) ### 编写数据分析代码 @@ -125,7 +125,7 @@ node [shape=box] ; 程序运行结果在与该程序在同一目录下的 table.pdf 文件中,将每一个叶子结点转换成 IF-THEN 规则。 -![决策树分析结果](https://webp.debuginn.com/202303241223943.png) +![决策树分析结果](https://static.debuginn.com/202303241223943.png) ### IF-THEN分类规则 diff --git a/content/post/debuginn/sublime-text.md b/content/post/debuginn/sublime-text.md index ea38f6ac6..3ba7558f5 100644 --- a/content/post/debuginn/sublime-text.md +++ b/content/post/debuginn/sublime-text.md @@ -6,7 +6,7 @@ keywords: "sublime,tools" comments: true tags: ["sublime", "tools"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202302202044967.jpg" +image: "https://static.debuginn.com/202302202044967.jpg" --- ## 安装 Sublime text3 软件 @@ -15,37 +15,37 @@ image: "https://webp.debuginn.com/202302202044967.jpg" 选择Windows - also available as a portable version一项,点击下载安装。 -![sublime下载界面](https://webp.debuginn.com/202302202046837.png) +![sublime下载界面](https://static.debuginn.com/202302202046837.png) ## 安装 packagecontrol 插件 -![https://packagecontrol.io](https://webp.debuginn.com/202302202047443.jpg) +![https://packagecontrol.io](https://static.debuginn.com/202302202047443.jpg) 官方网址:[https://packagecontrol.io/](https://packagecontrol.io/) 选择 Installation 项 -![复制代码界面](https://webp.debuginn.com/202302202048556.jpg) +![复制代码界面](https://static.debuginn.com/202302202048556.jpg) 选择 SUBLIME TEXT3 代码进行复制 -![sulime 输入框界面](https://webp.debuginn.com/202302202049660.jpg) +![sulime 输入框界面](https://static.debuginn.com/202302202049660.jpg) 打开 sublime text3 软件,选择 `View->Show Console` 选项(或者按 `Ctrl+~组合键`),调出命令行,将代码粘贴至命令行,回车,进行安装 packagecontrol 插件; -![Preferences](https://webp.debuginn.com/202302202051068.jpg) +![Preferences](https://static.debuginn.com/202302202051068.jpg) 安装好之后在菜单栏Preferences栏目中会有packagecontrol选项,即安装成功。 ## 安装汉化插件 ChineseLocalization -![Preferences](https://webp.debuginn.com/202302202054550.jpg) +![Preferences](https://static.debuginn.com/202302202054550.jpg) -![ChineseLocalization](https://webp.debuginn.com/202302202055358.jpg) +![ChineseLocalization](https://static.debuginn.com/202302202055358.jpg) 安装 sublime 汉化插件 ChineseLocalization -![install](https://webp.debuginn.com/202302202055437.jpg) +![install](https://static.debuginn.com/202302202055437.jpg) 在弹出的框中,由于网速原因,请耐心等待…… 输入插件名称ChineseLocalization,回车`[enter]`进行安装 @@ -58,31 +58,31 @@ image: "https://webp.debuginn.com/202302202044967.jpg" #### Emmet -![emmet](https://webp.debuginn.com/202302202057493.jpg) +![emmet](https://static.debuginn.com/202302202057493.jpg) Emmet 的前身是大名鼎鼎的 Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿 CSS 选择器的语法来生成代码,大大提高了 HTML/CSS 代码编写的速度。 #### PySide -![pyside](https://webp.debuginn.com/202302202058785.jpg) +![pyside](https://static.debuginn.com/202302202058785.jpg) PySide 是跨平台的应用程序框架 Qt 的 Python 绑定版本。 #### AutoFileName -![AutoFileName](https://webp.debuginn.com/202302202059582.jpg) +![AutoFileName](https://static.debuginn.com/202302202059582.jpg) 一款在 Sublime Text 中可以自动补全文件路径及名称的插件。 #### DocBlockr -![DocBlockr](https://webp.debuginn.com/202302202100975.jpg) +![DocBlockr](https://static.debuginn.com/202302202100975.jpg) DocBlockr 是一款 Sublime Text 2 & 3 都可以使用的代码快注释插件。支持的语言有:JavaScript (including ES6), PHP, ActionScript, Haxe,CoffeeScript, TypeScript, Java, Groovy, Objective C, C, C++ and Rust. #### BracketHighlighter -![BracketHighlighter](https://webp.debuginn.com/202302202101837.jpg) +![BracketHighlighter](https://static.debuginn.com/202302202101837.jpg) BracketHighlighter 是一款 Sublime 下匹配标签高亮的小插件,可以把匹配到的如 {}、()、”、””等对应的符号或者标签高亮显示。 @@ -92,13 +92,13 @@ BracketHighlighter 是一款 Sublime 下匹配标签高亮的小插件,可以 #### ConvertToUTF8 -![ConvertToUTF8](https://webp.debuginn.com/202302202102109.jpg) +![ConvertToUTF8](https://static.debuginn.com/202302202102109.jpg) 解决文档保存编码问题。 #### ColorPicker -![ColorPicker](https://webp.debuginn.com/202302202102561.jpg) +![ColorPicker](https://static.debuginn.com/202302202102561.jpg) 一个多平台的颜色选择器插件。默认情况下,十六进制颜色代码使用大写字母插入。 @@ -106,12 +106,12 @@ BracketHighlighter 是一款 Sublime 下匹配标签高亮的小插件,可以 #### a file icon -![a file icon](https://webp.debuginn.com/202302202103090.jpg) +![a file icon](https://static.debuginn.com/202302202103090.jpg) 美化插件。可以更清楚了解每个文件的类型,一目了然。 #### git -![git](https://webp.debuginn.com/202302202104673.jpg) +![git](https://static.debuginn.com/202302202104673.jpg) 版本控制仓库,推荐学习使用。 \ No newline at end of file diff --git a/content/post/debuginn/talk-about-chat-gpt.md b/content/post/debuginn/talk-about-chat-gpt.md index ccbd13c0b..9d13ed737 100644 --- a/content/post/debuginn/talk-about-chat-gpt.md +++ b/content/post/debuginn/talk-about-chat-gpt.md @@ -6,7 +6,7 @@ keywords: "AI,GPT,chatGPT" comments: true tags: ["AI","GPT","chatGPT"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202311111831345.jpg" +image: "https://static.debuginn.com/202311111831345.jpg" --- ## 前言 @@ -27,13 +27,13 @@ OpenAI 官方网址:[https://openai.com/](https://openai.com/) ChatGPT 官方网址:[https://chat.openai.com/](https://chat.openai.com/) -![ChatGPT](https://webp.debuginn.com/202311111716355.png) +![ChatGPT](https://static.debuginn.com/202311111716355.png) ### MacGPT 由于现在官方没有发布 Mac 的桌面 ChatGPT APP,这款是目前感觉使用体验最好的软件了,可以在顶部工具栏和侧边栏呼出,使用起来非常便捷。 -![MacGPT](https://webp.debuginn.com/202311111730037.webp) +![MacGPT](https://static.debuginn.com/202311111730037.webp) ### Chat2DB @@ -41,7 +41,7 @@ ChatGPT 官方网址:[https://chat.openai.com/](https://chat.openai.com/) Github 地址:[https://github.com/chat2db/Chat2DB/](https://github.com/chat2db/Chat2DB/) -![Chat2DB](https://webp.debuginn.com/202311111736506.webp) +![Chat2DB](https://static.debuginn.com/202311111736506.webp) ## 感悟 @@ -55,7 +55,7 @@ Github 地址:[https://github.com/chat2db/Chat2DB/](https://github.com/chat2db 未来,我的文章将使用 ChatGPT 来帮助我润色文章与统计分析,当然,这篇文章就不是 AI 生成的 。 -![NotByAi](https://webp.debuginn.com/202311102342418.png) +![NotByAi](https://static.debuginn.com/202311102342418.png) 最后大家要是对 GPT 有什么想法或者有什么好用的工具,可以分享在评论区,让 AI 帮助我们解放生产力,让我们变得更强~ \ No newline at end of file diff --git a/content/post/debuginn/web-pwa-program.md b/content/post/debuginn/web-pwa-program.md index 1d68a183a..97630e84d 100644 --- a/content/post/debuginn/web-pwa-program.md +++ b/content/post/debuginn/web-pwa-program.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["web","pwa"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303181458725.png" +image: "https://static.debuginn.com/202303181458725.png" --- ## 简介 @@ -33,7 +33,7 @@ PWA是`Progressive Web App`的简称,是谷歌提出的新型Web技术,并 近期对网站进行了PWA升级,只是用一个简单的插件就实现了对网站的APP转化,在开启我的网站的同时,在搜索栏会有加号提醒添加至桌面,如下图: -![PWA在Chrome表现](https://webp.debuginn.com/202303181459154.png) +![PWA在Chrome表现](https://static.debuginn.com/202303181459154.png) 若是对我的网站感兴趣,可以点击按钮安装PWA,不用安装APP即可获取本站服务,若是手机用户可以在出现的将此页面发送至桌面来进行订阅。 @@ -66,7 +66,7 @@ PWA是`Progressive Web App`的简称,是谷歌提出的新型Web技术,并 **存储分类**分为:数据模型、持久化、浏览器支持、事务处理、同步/异步。 -![缓存策略](https://webp.debuginn.com/202303182235281.png) +![缓存策略](https://static.debuginn.com/202303182235281.png) ### 强黏贴用户 diff --git a/content/post/debuginn/will-the-qr-code-run-out.md b/content/post/debuginn/will-the-qr-code-run-out.md index e16ab417e..6377ad8ce 100644 --- a/content/post/debuginn/will-the-qr-code-run-out.md +++ b/content/post/debuginn/will-the-qr-code-run-out.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["qrcode"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303162011356.jpg" +image: "https://static.debuginn.com/202303162011356.jpg" --- 现在生活中总是会使用到二维码,在支付中、博客的推广图片上、各种各样的商品推广,都有着二维码的身影,二维码已经是我们的日常生活中有着不可替代的便捷信息载体,近几日在网站了解到字节及腾讯根据自己的产品分别推出了抖音码及小程序码的解析流程,心中有一个疑问:“**二维码会被使用完么**”,在近一周的资料查询及二维码原理分析,我得到的答案是“**二维码会被使用完,但我们目前使用不完**”,“二维码会被使用完”是因为二维码是采用黑白点阵组成的一段特殊的代码,可以理解为一张特殊的图片,那么这张图片大小比较固定,那么也就代表着二维码会被使用完,而“我们目前使用不完”是因为点阵组成的二维码个数实在是太多了,即使在我们生活中大量应用,每天都有几百亿个二维码产生,还是使用不完。 @@ -23,7 +23,7 @@ image: "https://webp.debuginn.com/202303162011356.jpg" ## 二维码的结构 -![二维码的结构](https://webp.debuginn.com/202303162012278.jpeg) +![二维码的结构](https://static.debuginn.com/202303162012278.jpeg) 二维码符号分为**功能图形及编码区格式**,其中功能图形主要作用是辨别及定位二维码的位置,便于扫码操作。而编码区格式存储着定义的格式信息、版本信息及最为重要的数据和纠错码字,他们共同构成了我们常见到的二维码。 @@ -39,7 +39,7 @@ image: "https://webp.debuginn.com/202303162011356.jpg" QR Code的符号版本范围从版本1到版本40。每个版本具有不同的模块配置或模块数量。(模块是指构成QR Code的黑白点。) “模块配置”是指符号中包含的模块数量,从版本1(21×21个模块)到版本40(177×177)模块)。每个更高的版本号每侧包含4个附加模块。 -![二维码数量](https://webp.debuginn.com/202303162013973.png) +![二维码数量](https://static.debuginn.com/202303162013973.png) 总数量:`2^177*177` 个。 diff --git a/content/post/debuginn/windows7-bye.md b/content/post/debuginn/windows7-bye.md index 659f00ba2..5da6674fc 100644 --- a/content/post/debuginn/windows7-bye.md +++ b/content/post/debuginn/windows7-bye.md @@ -10,17 +10,17 @@ comments: true weight: 0 tags: ["windows"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303241241419.jpg" +image: "https://static.debuginn.com/202303241241419.jpg" --- 今天不经意间开启了windows7的虚拟机,用了半天,给出了下面的弹窗,一看,原来是微软最后做windows7的更新停止工作,想想用Windows7这个系统,记忆中从小学就开始使用了,用着它参加了我人生中的大考,山东省2016年春季高考,也算是圆了自己的一个大学梦,考上了本科院校,PS(自己学校实在是emm,一年出不了多少本科生),在这写着一篇文章纪念一下自己使用了近十年的系统。 -![windows7](https://webp.debuginn.com/202303241242751.jpg) +![windows7](https://static.debuginn.com/202303241242751.jpg) 社会的进步,同时又看出美帝国主义的险恶,不过好消息是华为要推出自己的操作系统,鸿蒙OS,比较期待,现如今我们只有软件、硬件强大起来,打破美帝的垄断,才能在互联网有得自己的一席之地,加油,中国、加油,新时代的程序猿、加油,华为,加油、中华民族,加油!!! 最后给大家展示一下Windows7这个系统的告白网页吧,以后Windows家族何去何从,大家拭目以待,致敬Win7。 -![windows7](https://webp.debuginn.com/202303241243464.png) +![windows7](https://static.debuginn.com/202303241243464.png) 不得不说,最后还要推一波广告,哈哈,Windows10现在已经是我的主要使用的OS了!! \ No newline at end of file diff --git a/content/post/git/git-command.md b/content/post/git/git-command.md index 08a47f34f..cd2b529b2 100644 --- a/content/post/git/git-command.md +++ b/content/post/git/git-command.md @@ -5,7 +5,7 @@ keywords: "git" comments: true tags: ["git"] categories: ["git"] -image: "https://webp.debuginn.com/202303252231697.jpg" +image: "https://static.debuginn.com/202303252231697.jpg" --- ## 常规操作 diff --git a/content/post/git/git-reset-revert.md b/content/post/git/git-reset-revert.md index 6e2ec4cc1..577099363 100644 --- a/content/post/git/git-reset-revert.md +++ b/content/post/git/git-reset-revert.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["git","github","reset","revert"] categories: ["git"] -image: "https://webp.debuginn.com/202302262207101.jpg" +image: "https://static.debuginn.com/202302262207101.jpg" --- ## 前言 @@ -19,7 +19,7 @@ image: "https://webp.debuginn.com/202302262207101.jpg" 首先从英文释义来讲,reset 是重置的意思,revert 是恢复、还原的意思,作为 Coder ,第一感觉 reset 的效果比 revert 更猛一些,实际情况也的确如此,让我们一起探讨一下吧。 -![git](https://webp.debuginn.com/202302262208546.png) +![git](https://static.debuginn.com/202302262208546.png) ## 背景 @@ -57,7 +57,7 @@ Date: Tue Sep 21 16:35:16 2021 +0800 `git reset` 的作用是将 HEAD 指向指定的版本上去: -![git reset](https://webp.debuginn.com/202302262210014.png) +![git reset](https://static.debuginn.com/202302262210014.png) **1 使用 git log 查看提交记录:** @@ -113,7 +113,7 @@ To github.com:debuginn/demo.git + b98f95e...6b166ed master -> master (forced update) ``` -![github](https://webp.debuginn.com/202302262212430.png) +![github](https://static.debuginn.com/202302262212430.png) 此时我们可以看到远程也没有了我们之前提交的三次记录而是只有第一次的提交记录。 @@ -123,7 +123,7 @@ To github.com:debuginn/demo.git `git revert` 是用来重做某一个 commit 提交的内容,在我们原始的提交之中,我们会发现分支上面有创建了一个新的 commit 提交,而此时我们对于想重做的某个 commit 提交的内容都不存在了: -![git revert](https://webp.debuginn.com/202302262214658.png) +![git revert](https://static.debuginn.com/202302262214658.png) **1 使用git log查看提交记录:** @@ -164,7 +164,7 @@ Date: Tue Sep 21 17:05:39 2021 +0800 可以看到当前已经重做了一下 commit 2 的提交,已经讲 2.go 删除掉了。 -![github](https://webp.debuginn.com/202302262217507.png) +![github](https://static.debuginn.com/202302262217507.png) 可以看到 github 上面有了四次提交记录。 diff --git a/content/post/git/linux-tools-gource.md b/content/post/git/linux-tools-gource.md index eab278f4a..1c44e3cb8 100644 --- a/content/post/git/linux-tools-gource.md +++ b/content/post/git/linux-tools-gource.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["git","gource"] categories: ["git"] -image: "https://webp.debuginn.com/202303161933689.jpg" +image: "https://static.debuginn.com/202303161933689.jpg" --- **Gource** 是一款版本控制可视化的工具,使用这个工具可以将自己的 Git 提交的代码包括对 **Mercurial**,**Bazaar** 和 **SVN** 的内置日志生成可视化支持。Gource 还可以解析由多个第三方工具为 CVS 存储库生成的日志。 diff --git a/content/post/go/go-array-slice-map.md b/content/post/go/go-array-slice-map.md index aa1f1dee9..9a4d60f35 100644 --- a/content/post/go/go-array-slice-map.md +++ b/content/post/go/go-array-slice-map.md @@ -6,7 +6,7 @@ keywords: "go,array,slice,map" comments: true tags: ["go","array","slice","map"] categories: ["golang"] -image: "https://webp.debuginn.com/202303031922787.jpg" +image: "https://static.debuginn.com/202303031922787.jpg" --- 在 Go 语言中,为便于存储及管理用户数据,其数据结构设计分为**数组 Array、切片 Slice、映射 Map** 三种结构。 diff --git a/content/post/go/go-concurrence-mutex.md b/content/post/go/go-concurrence-mutex.md index ac26d09ac..d4a91bbc5 100644 --- a/content/post/go/go-concurrence-mutex.md +++ b/content/post/go/go-concurrence-mutex.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["go","concurrence","Mutex"] categories: ["golang"] -image: "https://webp.debuginn.com/202302282003561.jpg" +image: "https://static.debuginn.com/202302282003561.jpg" --- 我们比较常见的大型项目的设计中都会出现并发访问问题,并发就是为了解决数据的准确性,保证同一个临界区的数据只能被一个线程进行操作,日常中使用到的并发场景也是很多的: @@ -30,7 +30,7 @@ image: "https://webp.debuginn.com/202302282003561.jpg" **使用互斥锁,限定临界区只能同时由一个线程持有**,若是临界区此时被一个线程持有,那么其他线程想进入到这个临界区的时候,就会失败或者等待释放锁,持有此临界区的线程退出,其他线程才有机会获得这个临界区。 -![go mutex 临界区示意图](https://webp.debuginn.com/202302282005455.jpg) +![go mutex 临界区示意图](https://static.debuginn.com/202302282005455.jpg) Mutex 是 Go 语言中使用最广泛的同步原语,也称为并发原语,**解决的是并发读写共享资源,避免出现数据竞争 data race 问题。** @@ -151,7 +151,7 @@ A:FIFO,先来先服务的策略,Go 的 goroutine 调度中,会维护一 Mutex 的架构演进目前分为四个阶段: -![Mutex 演化过程](https://webp.debuginn.com/202302282008657.jpg) +![Mutex 演化过程](https://static.debuginn.com/202302282008657.jpg) - 初版 Mutex:使用一个 flag 变量表示锁?是否被持有; - **给新人机会**:照顾新来的 goroutine 先获取到锁; @@ -176,7 +176,7 @@ Unlock 方法可以被任意的 goroutine 调用释放锁,即使是没持有 由于使用了给新人机会,又肯呢个会出现每次都会被新来的 goroutine 获取到锁,导致等待的 goroutine 一直获取不到锁,造成饥饿问题。 -![state 字段设计](https://webp.debuginn.com/202302282009302.jpg) +![state 字段设计](https://static.debuginn.com/202302282009302.jpg) ```go type Mutex struct { diff --git a/content/post/go/go-concurrence-rw-mutex.md b/content/post/go/go-concurrence-rw-mutex.md index e58711b36..5fb671d86 100644 --- a/content/post/go/go-concurrence-rw-mutex.md +++ b/content/post/go/go-concurrence-rw-mutex.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["go","concurrence","RWMutex"] categories: ["golang"] -image: "https://webp.debuginn.com/202302281957667.jpg" +image: "https://static.debuginn.com/202302281957667.jpg" --- Mutex 是用来保证只有一个 goroutine 访问共享资源,在大量的并发场景中,特别是读场景中,一个共享资源块只能让 goroutine 串行访问,这就导致了性能的影响,解决方法就是区分读写操作。 diff --git a/content/post/go/go-dev-design.md b/content/post/go/go-dev-design.md index 861a1f4ba..9ddc6e999 100644 --- a/content/post/go/go-dev-design.md +++ b/content/post/go/go-dev-design.md @@ -5,7 +5,7 @@ keywords: "go,mysql,redis,code review,log,stat,go fmt" comments: true tags: ["go","mysql","redis","code review","log","stat","go fmt"] categories: ["golang"] -image: "https://webp.debuginn.com/202302272119360.png" +image: "https://static.debuginn.com/202302272119360.png" --- Go 语言是一种强类型、编译型的语言,在开发过程中,代码规范是尤为重要的,一个小小的失误可能会带来严重的事故,拥有一个良好的 Go 语言开发习惯是尤为重要的,遵守开发规范便于维护、便于阅读理解和增加系统的健壮性。 diff --git a/content/post/go/go-env-gotraceback.md b/content/post/go/go-env-gotraceback.md index 0ec56d928..284ff50fc 100644 --- a/content/post/go/go-env-gotraceback.md +++ b/content/post/go/go-env-gotraceback.md @@ -5,7 +5,7 @@ keywords: "go,env,GOTRACEBACK" comments: true tags: ["go","env","GOTRACEBACK"] categories: ["golang"] -image: "https://webp.debuginn.com/20240909WOFpJS.jpg" +image: "https://static.debuginn.com/20240909WOFpJS.jpg" --- 近期迁移了一个 go 的项目至 k8s 机器上,发现机器不时会自动重启,当想看重启前日志的时候,Goroutine 运行的状态全部都打印了出来,由于公司云平台查看行数限制,看到最后,还是没有想要看到的 panic 的关键堆栈信息。 @@ -189,13 +189,13 @@ func b() { ### All 显示所有信息 -![20240827iHys3u](https://webp.debuginn.com/20240827iHys3u.png) +![20240827iHys3u](https://static.debuginn.com/20240827iHys3u.png) 可以看到,运行时所有的 Goroutine 信息都被打印了出来。 ### None 不输出任何信息 -![20240827iDAwRU](https://webp.debuginn.com/20240827iDAwRU.png) +![20240827iDAwRU](https://static.debuginn.com/20240827iDAwRU.png) 设置为 none 后,只会将运行信息打印出来,非用户打印信息不会抛出。 @@ -204,6 +204,6 @@ func b() { 这个设置参数也是默认的设置: -![20240827t9D7HY](https://webp.debuginn.com/20240827t9D7HY.png) +![20240827t9D7HY](https://static.debuginn.com/20240827t9D7HY.png) 这里只会显示导致 panic 的 goroutine 的堆栈信息以及运行状态。 \ No newline at end of file diff --git a/content/post/go/go-ip-segment-range-check.md b/content/post/go/go-ip-segment-range-check.md index e0f0d4f2b..c1bfe70c0 100644 --- a/content/post/go/go-ip-segment-range-check.md +++ b/content/post/go/go-ip-segment-range-check.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["go","ip"] categories: ["golang"] -image: "https://webp.debuginn.com/202303011905845.jpg" +image: "https://static.debuginn.com/202303011905845.jpg" --- 近期做了一个需求,是检测某个 IP 是否在若干 IP 段内,做固定地点 IP 筛查,满足特定业务需求。 diff --git a/content/post/go/go-metheds-on-t.md b/content/post/go/go-metheds-on-t.md index 0c09e59d9..4a36671cf 100644 --- a/content/post/go/go-metheds-on-t.md +++ b/content/post/go/go-metheds-on-t.md @@ -9,7 +9,7 @@ keywords: "go,translate" comments: true tags: ["go","translate"] categories: ["golang"] -image: "https://webp.debuginn.com/202302272119360.png" +image: "https://static.debuginn.com/202302272119360.png" --- 译文原地址:[Should methods be declared on T or *T - David](https://dave.cheney.net/2016/03/19/should-methods-be-declared-on-t-or-t) diff --git a/content/post/go/go-mysql-curd-operation.md b/content/post/go/go-mysql-curd-operation.md index c0d34b796..8b9c08d64 100644 --- a/content/post/go/go-mysql-curd-operation.md +++ b/content/post/go/go-mysql-curd-operation.md @@ -9,7 +9,7 @@ keywords: "go, mysql, curd" comments: true tags: ["go", "mysql", "curd"] categories: ["golang"] -image: "https://webp.debuginn.com/202303031910934.jpg" +image: "https://static.debuginn.com/202303031910934.jpg" --- MySQL 是目前开发中最常见的关系型数据库,使用 Go 语言进行操控数据库需要使用 Go 自带`database/sql`和驱动`go-sql-driver/mysql`来实现, diff --git a/content/post/go/go-mysql-prepare.md b/content/post/go/go-mysql-prepare.md index 0de5a8c9f..1da7cfad9 100644 --- a/content/post/go/go-mysql-prepare.md +++ b/content/post/go/go-mysql-prepare.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["go","mysql","prepare"] categories: ["golang"] -image: "https://webp.debuginn.com/202303031903089.jpg" +image: "https://static.debuginn.com/202303031903089.jpg" --- ## 预处理 diff --git a/content/post/go/go-mysql-sqlx-pkg.md b/content/post/go/go-mysql-sqlx-pkg.md index a552fed49..c465298fb 100644 --- a/content/post/go/go-mysql-sqlx-pkg.md +++ b/content/post/go/go-mysql-sqlx-pkg.md @@ -9,7 +9,7 @@ keywords: "go,mysql,sqlx" comments: true tags: ["go","mysql"] categories: ["golang"] -image: "https://webp.debuginn.com/202303011912531.jpg" +image: "https://static.debuginn.com/202303011912531.jpg" --- ## SQLX 库 diff --git a/content/post/go/go-mysql-transaction-operation.md b/content/post/go/go-mysql-transaction-operation.md index 2ab12cd44..a81dd25ac 100644 --- a/content/post/go/go-mysql-transaction-operation.md +++ b/content/post/go/go-mysql-transaction-operation.md @@ -9,7 +9,7 @@ keywords: "go,mysql,transaction" comments: true tags: ["go","mysql","transaction"] categories: ["golang"] -image: "https://webp.debuginn.com/202303031854061.jpg" +image: "https://static.debuginn.com/202303031854061.jpg" --- ## 事务 diff --git a/content/post/go/go-net-socket.md b/content/post/go/go-net-socket.md index f0daf9c7d..ade583c4a 100644 --- a/content/post/go/go-net-socket.md +++ b/content/post/go/go-net-socket.md @@ -9,7 +9,7 @@ keywords: "go,net,socket" comments: true tags: ["go","net","socket"] categories: ["golang"] -image: "https://webp.debuginn.com/202303031854061.jpg" +image: "https://static.debuginn.com/202303031854061.jpg" --- ## TCP/IP @@ -23,9 +23,9 @@ TCP/IP 传输协议,即传输控制/网络协议,也叫作网络通讯协议 - **网络层**:IP,ICMP,OSPF,EIGRP,IGMP - **数据链路层**:SLIP,CSLIP,PPP,MTU -![ip](https://webp.debuginn.com/202303032258519.jpg) +![ip](https://static.debuginn.com/202303032258519.jpg) -![tcp](https://webp.debuginn.com/202303032258291.gif) +![tcp](https://static.debuginn.com/202303032258291.gif) ## Socket @@ -37,7 +37,7 @@ socket是一种"打开—读/写—关闭"模式的实现,服务器和客户 Socket 是实现“打开--读/写--关闭”这样的模式,以使用 TCP 协议通讯的 socket 为例。如下图所示: -![socket](https://webp.debuginn.com/202303032259498.png) +![socket](https://static.debuginn.com/202303032259498.png) ## TCP 实现 diff --git a/content/post/go/go-rpc-invoke-demo.md b/content/post/go/go-rpc-invoke-demo.md index 24c0eb4a3..a3a656969 100644 --- a/content/post/go/go-rpc-invoke-demo.md +++ b/content/post/go/go-rpc-invoke-demo.md @@ -9,7 +9,7 @@ keywords: "go,rpc,invoke" comments: true tags: ["go","rpc","invoke"] categories: ["golang"] -image: "https://webp.debuginn.com/202303011930703.jpg" +image: "https://static.debuginn.com/202303011930703.jpg" --- ## RPC @@ -28,7 +28,7 @@ image: "https://webp.debuginn.com/202303011930703.jpg" 5. 服务端stub(server stub)解析信息。该过程叫 unmarshalling; 6. 服务端stub(server stub)调用程序,并通过类似的方式返回给客户端。 -![C/S 架构调用](https://webp.debuginn.com/202303011932520.png) +![C/S 架构调用](https://static.debuginn.com/202303011932520.png) ## RPC 与 HTTP 区别 diff --git a/content/post/go/go-standard-lib-time-rate-pkg.md b/content/post/go/go-standard-lib-time-rate-pkg.md index b0e974e88..ff5dc858a 100644 --- a/content/post/go/go-standard-lib-time-rate-pkg.md +++ b/content/post/go/go-standard-lib-time-rate-pkg.md @@ -9,7 +9,7 @@ keywords: "go,standard lib,time rate" comments: true tags: ["go","standard lib","time rate"] categories: ["golang"] -image: "https://webp.debuginn.com/202303011912531.jpg" +image: "https://static.debuginn.com/202303011912531.jpg" --- 限流器是后台服务中十分重要的组件,在实际的业务场景中使用居多,其设计在微服务、网关、和一些后台服务中会经常遇到。限流器的作用是用来限制其请求的速率,保护后台响应服务,以免服务过载导致服务不可用现象出现。 diff --git a/content/post/go/go-tools-pprof.md b/content/post/go/go-tools-pprof.md index 5a919fde6..5af2034d2 100644 --- a/content/post/go/go-tools-pprof.md +++ b/content/post/go/go-tools-pprof.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["Go","pprof","分析","go pprof","go tools"] categories: ["golang"] -image: "https://webp.debuginn.com/202302262119034.jpg" +image: "https://static.debuginn.com/202302262119034.jpg" --- ## 前言 @@ -75,7 +75,7 @@ http://127.0.0.1:8848/debug/pprof/trace # 当前程序执行的跟踪 ## 分析 -![cpu profile](https://webp.debuginn.com/202302262125077.png) +![cpu profile](https://static.debuginn.com/202302262125077.png) 上图是针对 CPU 使用做的采集可视化,箭头越粗、方块越大就代表着对应的操作消耗 CPU 大,可以看到占用 CPU 最多的操作就是 json 的序列化和反序列化操作。 diff --git a/content/post/go/go-use-brew-switch-version.md b/content/post/go/go-use-brew-switch-version.md index 25a065845..22d5054b3 100644 --- a/content/post/go/go-use-brew-switch-version.md +++ b/content/post/go/go-use-brew-switch-version.md @@ -9,7 +9,7 @@ keywords: "go,brew" comments: true tags: ["go","brew"] categories: ["golang"] -image: "https://webp.debuginn.com/202302282016622.jpg" +image: "https://static.debuginn.com/202302282016622.jpg" --- Brew 是 Mac 上包管理工具,和 Linux 上的 apt 、yum、rpm 一样,可以提供非图形化软件的安装,昨天在打造宇宙最强 IDE 的时候,使用brew工具更新了一下软件包,是我的 Go 版本升级到了最新版本,同时之前配置的多版本 Go 抹掉了,现在写一下记录,你如果需要的话可以使用一下。 diff --git a/content/post/go/go-use-gvm-switch-version.md b/content/post/go/go-use-gvm-switch-version.md index d478569e8..b8d77871d 100644 --- a/content/post/go/go-use-gvm-switch-version.md +++ b/content/post/go/go-use-gvm-switch-version.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["go","gvm"] categories: ["golang"] -image: "https://webp.debuginn.com/202303011938210.jpg" +image: "https://static.debuginn.com/202303011938210.jpg" --- 在 Go 项目开发中,团队要保持开发版本一致,怎么能够快速的安装及部署并且切换 Go 环境,在这里推荐一款工具 GVM ( Go Version Manager ),它可以便捷切换与自定义 Go Path 、Go Root 等参数,是一款实打实的多版本安装及管理利器。 diff --git a/content/post/http/http-get-post.md b/content/post/http/http-get-post.md index d039a2320..b5198d2e0 100644 --- a/content/post/http/http-get-post.md +++ b/content/post/http/http-get-post.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["http","post","get"] categories: ["agreement"] -image: "https://webp.debuginn.com/202304131900179.jpg" +image: "https://static.debuginn.com/202304131900179.jpg" --- ## 给服务器传递数据量 diff --git a/content/post/http/http-status-code.md b/content/post/http/http-status-code.md index a17f0f0b8..be88d76d9 100644 --- a/content/post/http/http-status-code.md +++ b/content/post/http/http-status-code.md @@ -5,7 +5,7 @@ keywords: "http status code" comments: true tags: ["http"] categories: ["agreement"] -image: "https://webp.debuginn.com/202303181451617.jpeg" +image: "https://static.debuginn.com/202303181451617.jpeg" --- 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 diff --git a/content/post/java/phoenix/phoenix-framework-1.md b/content/post/java/phoenix/phoenix-framework-1.md index 5aa34d4fa..160906972 100644 --- a/content/post/java/phoenix/phoenix-framework-1.md +++ b/content/post/java/phoenix/phoenix-framework-1.md @@ -5,7 +5,7 @@ keywords: "phoenix,java" comments: true tags: ["phoenix","java"] categories: ["phoenix"] -image: "https://webp.debuginn.com/202402111005028.jpeg" +image: "https://static.debuginn.com/202402111005028.jpeg" --- ## 前言 @@ -39,22 +39,22 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" ## 设计 -![拆分 Task](https://webp.debuginn.com/202306292003014.png) +![拆分 Task](https://static.debuginn.com/202306292003014.png) 根据产品站的实际场景,我们发现,调用下游接口若干个,且请求接口存在不同的请求协议与不同的中间件。 -![单向依赖](https://webp.debuginn.com/202306292007655.png) +![单向依赖](https://static.debuginn.com/202306292007655.png) 更重要的是,接口存在着依赖关系,我们梳理接口调用发现,接口依赖正好是有向依赖图的结构, 那么我们就可以进行遍历依赖关系进行编排并发分组。 -![并发调用组](https://webp.debuginn.com/202306292017666.png) +![并发调用组](https://static.debuginn.com/202306292017666.png) 这样就解决了依赖的问题,我们可以依次并行执行每个并发组的任务,这样就可以得到所有接口或依赖的结果。 那么获取到结果之后,怎么进行业务逻辑的编排,怎么隔离下游接口,其实原理很简单,既然任务可以进行分层,那么我们业务调用、业务编排、防腐蚀层也可以进行分层设计。 -![分层设计](https://webp.debuginn.com/20240308vidGwp.jpeg) +![分层设计](https://static.debuginn.com/20240308vidGwp.jpeg) - **Transfer 层**的作用是业务逻辑层,用来进行业务编排,将 BO 数据提供给客户端使用; - **Task 任务层**是并发执行的核心设计层,在这里通过并发分组的每个子 Task 在这里进行编排后执行调用,用来进行**超时控制、耗时统计**等操作; @@ -64,10 +64,10 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" 好了,上文就是给大家讲解的**自动构建并发调用图的业务框架**,也就是 Phoenix Framework。 -![Phoenix](https://webp.debuginn.com/202402111005028.jpeg) +![Phoenix](https://static.debuginn.com/202402111005028.jpeg) Phoenix,最初在周志明老师的网站"凤凰架构"提及,一方面是对周老师的架构设计理解与 Java 相关知识学习的致敬,另一方面,Phoenix 不死鸟,软件的生命周期也是如此,随着业务的快速发展诞生、并随着业务的的收缩而凋亡,生生不息。 最后,我会以系列的方式进行讲解这个框架遇到的问题以及解决思路,感谢大家的阅读,大家要是感兴趣的话推荐大家关注公众号,让我们一起变得更强~ -![WeChat](https://webp.debuginn.com/202302202248422.png) \ No newline at end of file +![WeChat](https://static.debuginn.com/202302202248422.png) \ No newline at end of file diff --git a/content/post/java/phoenix/phoenix-framework-2.md b/content/post/java/phoenix/phoenix-framework-2.md index 186490af8..458fdebae 100644 --- a/content/post/java/phoenix/phoenix-framework-2.md +++ b/content/post/java/phoenix/phoenix-framework-2.md @@ -5,7 +5,7 @@ keywords: "phoenix,java" comments: true tags: ["phoenix","java"] categories: ["phoenix"] -image: "https://webp.debuginn.com/202402111005028.jpeg" +image: "https://static.debuginn.com/202402111005028.jpeg" --- 上篇文章主要讲了设计 Phoenix 框架前的遇到的问题和设计框架的思路 [《 Phoenix 框架 从0到1设计业务并发框架 小米商城产品站革新之路》](/p/phoenix-framework-1/),本篇文章主要讲一下如何设计框架的。 @@ -14,7 +14,7 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" 产品站业务静态接口与动态接口都需要调用大量的后台服务进行获取数据进行业务编排,而各个并发调用之间又相互存在依赖,采用并发组设计拆解依赖,同时并发控制调用,BO to DTO 采用统一的 Transfer 层进行设计,开发人员只需要关系定义每次调用事件的 Task 和 Transfer 代码逻辑的书写,直接返回业务数据。 -![分层设计](https://webp.debuginn.com/20240308vidGwp.jpeg) +![分层设计](https://static.debuginn.com/20240308vidGwp.jpeg) ## 名词解释 @@ -86,16 +86,16 @@ public @interface PhoenixTrans { 自定义了 `PhoenixTask` 和 `PhoenixTrans` 注解,通过声明一个 `AnnotationProcessor` 继承 `BeanPostProcessor` 来进行收集定义的注解。 -![收集 Task 与 Trans](https://webp.debuginn.com/20240318xHJQIJ.jpeg) +![收集 Task 与 Trans](https://static.debuginn.com/20240318xHJQIJ.jpeg) - 首先是根据注解类收集上来对应的 Task 和 Trans; - 根据不同的 Trans 划分不同的 API,收集不同 API 依赖的 Task; - 按照 Trans 是否进行依赖过滤使用到的 Task; - 根据 Task 之间的相互依赖关系,将 Task 进行分组; -![划分 API](https://webp.debuginn.com/20240318m9lRul.jpeg) +![划分 API](https://static.debuginn.com/20240318m9lRul.jpeg) -![划分并发调用组](https://webp.debuginn.com/20240318Wzvtlt.jpeg) +![划分并发调用组](https://static.debuginn.com/20240318Wzvtlt.jpeg) 这样就完成了对框架的分层与自动构建的设计,框架的设计主要的是要思考如何将实际业务中使用的**模块抽象化设计**,同时要思考框架的扩展性与强约束性。 @@ -105,4 +105,4 @@ public @interface PhoenixTrans { 如果你感兴趣,推荐关注公众号或订阅本站,欢迎互动与交流,让我们一起变得更强~ -![WeChat](https://webp.debuginn.com/202302202248422.png) \ No newline at end of file +![WeChat](https://static.debuginn.com/202302202248422.png) \ No newline at end of file diff --git a/content/post/java/phoenix/phoenix-framework-3.md b/content/post/java/phoenix/phoenix-framework-3.md index 9f6994e85..e0f915f66 100644 --- a/content/post/java/phoenix/phoenix-framework-3.md +++ b/content/post/java/phoenix/phoenix-framework-3.md @@ -5,7 +5,7 @@ keywords: "phoenix,java" comments: true tags: ["phoenix","java"] categories: ["phoenix"] -image: "https://webp.debuginn.com/202402111005028.jpeg" +image: "https://static.debuginn.com/202402111005028.jpeg" --- ## 背景 @@ -16,7 +16,7 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" 前两篇文章已经讲述了我设计框架的背景以及抽象设计的细节,今天讲一下并发框架最为关键的并发线程池的核心设计,主要讲一下在设计线程池划分遇到的问题以及最终我采用了哪种方式实现的。 -![并发调用组](https://webp.debuginn.com/202306292017666.png) +![并发调用组](https://static.debuginn.com/202306292017666.png) 将存在依赖关系的 Task 进行划分分组后,依次执行分组就可以拿到所有想要的结果,但是怎么划分线程池、设置线程池是面临的问题。 @@ -28,7 +28,7 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" 最开始,我计划将分配的 Task 公用一个线程池,让 Task 去线程池竞争资源,如下图: -![公用线程池](https://webp.debuginn.com/20240402UDmgNy.jpeg) +![公用线程池](https://static.debuginn.com/20240402UDmgNy.jpeg) 但是很快发现,单个线程池一旦请求数量上来,某个 Task 接口变慢就会导致整个接口成功率急速下降,直至不可用的状态。 @@ -36,7 +36,7 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" ### 效果 -![公用线程池](https://webp.debuginn.com/202404024RVJfT.jpeg) +![公用线程池](https://static.debuginn.com/202404024RVJfT.jpeg) - **T1 时刻**,第 1 波流量进来,之后率先执行 TaskA 或者 TaskB; - TaskA 请求的快速递增,接口变得越来越慢; @@ -62,13 +62,13 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" 公用线程池的情况肯定是有问题的,在此基础上,尝试将分层并发划分不同的并发池,每一层公用线程池,如下图: -![分层线程池](https://webp.debuginn.com/20240402liTZYD.jpeg) +![分层线程池](https://static.debuginn.com/20240402liTZYD.jpeg) 上了分层公用线程池之后,压力测试发现效果只有小幅的提升,没有达到预期的目标,甚至来说相差很远,为啥会出现这个问题? ### 效果 -![分层线程池](https://webp.debuginn.com/20240402tpIWJo.jpeg) +![分层线程池](https://static.debuginn.com/20240402tpIWJo.jpeg) 我们还是假设 TaskA 会随着请求量上来会大面积超时来举例。 @@ -101,14 +101,14 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" ### 方案 -![独立线程池](https://webp.debuginn.com/20240402lXnyb4.jpeg) +![独立线程池](https://static.debuginn.com/20240402lXnyb4.jpeg) 每个 Task 单独创建线程池来承接流量,各个线程池互相不干扰,同时承接流量交给 CPU 抢占资源进行调度运行。 ### 效果 -![独立线程池](https://webp.debuginn.com/20240402i6w2aW.jpeg) +![独立线程池](https://static.debuginn.com/20240402i6w2aW.jpeg) 由于是单独承接流量,这种设计满足了高可用的目标,还是依照 TaskA 接口随着并发请求的提升,接口越来越慢直至不可用,之后再加入一个条件,就是 **TaskC 的执行条件是 TaskA 执行完毕的结果**。 @@ -141,7 +141,7 @@ image: "https://webp.debuginn.com/202402111005028.jpeg" 如果你感兴趣,推荐关注公众号或订阅本站,欢迎互动与交流,让我们一起变得更强~ -![WeChat](https://webp.debuginn.com/202302202248422.png) +![WeChat](https://static.debuginn.com/202302202248422.png) diff --git a/content/post/java/phoenix/phoenix-framework-4.md b/content/post/java/phoenix/phoenix-framework-4.md index 0bbb064ae..ae2b7fad4 100644 --- a/content/post/java/phoenix/phoenix-framework-4.md +++ b/content/post/java/phoenix/phoenix-framework-4.md @@ -5,7 +5,7 @@ keywords: "phoenix,java" comments: true tags: ["phoenix","java"] categories: ["phoenix"] -image: "https://webp.debuginn.com/202402111005028.jpeg" +image: "https://static.debuginn.com/202402111005028.jpeg" --- 从 0 到 1 设计业务并发框架系列: @@ -53,7 +53,7 @@ public interface PhoenixBuilder { 4. 将每个 API 收集上来的 Task 按照先后依赖关系进行分组划分; 5. 打印并发分组信息,用来给开发者调试及校验使用; -![划分并发调用组](https://webp.debuginn.com/20240218bWEpd9.png) +![划分并发调用组](https://static.debuginn.com/20240218bWEpd9.png) 由于存在依赖关系,需要进行分层设计,这里可以结合 [Phoenix 框架 怎么组织设计一个框架](/p/phoenix-framework-2/) 来看,然而每一层并不需要关系执行的顺序问题,这里采用了最简单的数据结构存储分层信息,`Map>>` Key 用来标识属于哪个 API 请求的并发分组,Value 则采用最简单的二维数组进行存储,每一维分别存储需要进行执行的 Task 任务。 @@ -63,7 +63,7 @@ public interface PhoenixBuilder { 由于我们要进行构建的是有向无环图,那么存在相互依赖的 Task,在框架设计逻辑中是行不通的,若存在相互依赖,那么究竟该先执行哪个 Task 呢? -![20240507belpU6](https://webp.debuginn.com/20240507belpU6.jpeg) +![20240507belpU6](https://static.debuginn.com/20240507belpU6.jpeg) 可以看到上图,只要有两个场景: @@ -110,4 +110,4 @@ public interface PhoenixBuilder { 感谢你的阅读,你要是有好的方案或者好的 idea 可以与我一起交流,最后,如果你感兴趣,推荐关注公众号或订阅本站,欢迎互动与交流,让我们一起变得更强~ -![WeChat](https://webp.debuginn.com/202302202248422.png) \ No newline at end of file +![WeChat](https://static.debuginn.com/202302202248422.png) \ No newline at end of file diff --git a/content/post/js/js-cross-domain-problem.md b/content/post/js/js-cross-domain-problem.md index 0f4fd6538..be16d6c65 100644 --- a/content/post/js/js-cross-domain-problem.md +++ b/content/post/js/js-cross-domain-problem.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: [ "js","cross" ] categories: [ "js" ] -image: "https://webp.debuginn.com/202304131856440.jpg" +image: "https://static.debuginn.com/202304131856440.jpg" --- ## JS跨域 diff --git a/content/post/js/js-json.md b/content/post/js/js-json.md index 9a633117a..77c2cbcaa 100644 --- a/content/post/js/js-json.md +++ b/content/post/js/js-json.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: [ "js","json" ] categories: [ "js" ] -image: "https://webp.debuginn.com/202304131856440.jpg" +image: "https://static.debuginn.com/202304131856440.jpg" --- ## JSON基本概念 diff --git a/content/post/js/js-snowflake.md b/content/post/js/js-snowflake.md index 2861f7310..635d68283 100644 --- a/content/post/js/js-snowflake.md +++ b/content/post/js/js-snowflake.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["js","jquery"] categories: ["js"] -image: "https://webp.debuginn.com/202303161941860.jpg" +image: "https://static.debuginn.com/202303161941860.jpg" --- 马上就要到了传统节日“春节”?,网站添加了飞雪❄️特效,从网上找了源代码,先要感谢张戈博客分享?,现计划将网站在今天上线至过年回来下线,看看可以么,你可以复制到自己的网站或者博客体验一波,加上《一剪梅》真是别有一番滋味。 diff --git a/content/post/linux/linux-dev-null-file.md b/content/post/linux/linux-dev-null-file.md index ce7c97fdc..c15a7cdcd 100644 --- a/content/post/linux/linux-dev-null-file.md +++ b/content/post/linux/linux-dev-null-file.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["linux","shell"] categories: ["OS"] -image: "https://webp.debuginn.com/202303161935472.jpg" +image: "https://static.debuginn.com/202303161935472.jpg" --- 近期在开发项目中遇到了PHP使用`shell_exec`执行 Shell 命令的问题,具体说是 Shell 使用 FFmpeg 软件进行录制直播流,但是 PHP 等待命令执行时间是有限的,并且会出现等待时间过长导致该执行接口出现未响应问题,寻找了网上方法,发现了一种比较好的方式,就是将要执行的Shell语句后面加上`>/dev/null 2>&1`这段特殊的命令,简单来说就是将执行的 Shell 操作放到后台进行运行,将快捷反应执行的操作,解决执行 Shell 语句等待问题,接下来就是对这段命令的解析: diff --git a/content/post/linux/linux-tree-command.md b/content/post/linux/linux-tree-command.md index e4c3c0160..719bd43dd 100644 --- a/content/post/linux/linux-tree-command.md +++ b/content/post/linux/linux-tree-command.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["linux","unix","tree"] categories: ["OS"] -image: "https://webp.debuginn.com/202303152010224.jpg" +image: "https://static.debuginn.com/202303152010224.jpg" --- Tree 命令以树状形状列出目录的内容的一个工具,你时常在 Github 中常看到一些开源项目会将自己的项目目录展现出来,这篇文章的背景图就是展现的开源项目 Laravel 中 app 目录的树状图,接下来介绍一下基本使用语法。 diff --git a/content/post/linux/linux-vim-command.md b/content/post/linux/linux-vim-command.md index 936ef179b..95f407126 100644 --- a/content/post/linux/linux-vim-command.md +++ b/content/post/linux/linux-vim-command.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["linux", "vim"] categories: ["OS"] -image: "https://webp.debuginn.com/202303121850205.jpg" +image: "https://static.debuginn.com/202303121850205.jpg" --- 经常使用 Linux 的同学在编辑文本文件的时候一定知道 Vim 这一款神器,它代替 Linux 默认原装的 Vi 编辑器,它的快捷键可以使你在操控文件的时候如庖丁解牛般流畅,博主目前只会简单的命令,感觉不能满足开发需求,今天特地的学习了一下,并且针对于常用的命令做了整理及汇总: @@ -23,7 +23,7 @@ image: "https://webp.debuginn.com/202303121850205.jpg" ## 常用命令示意图 -![vim 常用命令示意图](https://webp.debuginn.com/202303121856602.png) +![vim 常用命令示意图](https://static.debuginn.com/202303121856602.png) ## 常用命令参考 @@ -74,5 +74,5 @@ image: "https://webp.debuginn.com/202303121850205.jpg" ## 键盘标识 -![vi / vim 键盘图](https://webp.debuginn.com/202303121909492.gif) +![vi / vim 键盘图](https://static.debuginn.com/202303121909492.gif) diff --git a/content/post/lqb/lpb-19-b-cplus-bear-pre-calc.md b/content/post/lqb/lpb-19-b-cplus-bear-pre-calc.md index 8776d00e9..b67b9926d 100644 --- a/content/post/lqb/lpb-19-b-cplus-bear-pre-calc.md +++ b/content/post/lqb/lpb-19-b-cplus-bear-pre-calc.md @@ -9,7 +9,7 @@ keywords: "蓝桥杯" comments: true tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" --- X星球的高科技实验室中整齐地堆放着某批珍贵金属原料。 diff --git a/content/post/lqb/lqb-19-b-cplus-arithmetic-series.md b/content/post/lqb/lqb-19-b-cplus-arithmetic-series.md index f41fb97b3..a743f447b 100644 --- a/content/post/lqb/lqb-19-b-cplus-arithmetic-series.md +++ b/content/post/lqb/lqb-19-b-cplus-arithmetic-series.md @@ -9,7 +9,7 @@ keywords: "蓝桥杯" comments: true tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-binary-tree.md b/content/post/lqb/lqb-19-b-cplus-binary-tree.md index 9c9345b51..bca5e7b4f 100644 --- a/content/post/lqb/lqb-19-b-cplus-binary-tree.md +++ b/content/post/lqb/lqb-19-b-cplus-binary-tree.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 @@ -18,7 +18,7 @@ image: "https://webp.debuginn.com/202303241303887.jpg" 给定一棵包含N 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下、从左到右的顺序依次是A1, A2,...... AN,如下图所示: -![完全二叉树](https://webp.debuginn.com/202303242155344.png) +![完全二叉树](https://static.debuginn.com/202303242155344.png) 现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 diff --git a/content/post/lqb/lqb-19-b-cplus-con-prime-sequence.md b/content/post/lqb/lqb-19-b-cplus-con-prime-sequence.md index 8f7585b32..dcf7a8771 100644 --- a/content/post/lqb/lqb-19-b-cplus-con-prime-sequence.md +++ b/content/post/lqb/lqb-19-b-cplus-con-prime-sequence.md @@ -9,7 +9,7 @@ comments: true weight: 0 tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" --- 2,3,5,7,11,13,….是素数序列。 diff --git a/content/post/lqb/lqb-19-b-cplus-decom-of-num.md b/content/post/lqb/lqb-19-b-cplus-decom-of-num.md index 1fbc13fb9..bdcb80e96 100644 --- a/content/post/lqb/lqb-19-b-cplus-decom-of-num.md +++ b/content/post/lqb/lqb-19-b-cplus-decom-of-num.md @@ -9,7 +9,7 @@ keywords: "蓝桥杯" comments: true tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-k-num-query.md b/content/post/lqb/lqb-19-b-cplus-k-num-query.md index c580ed702..3536459f8 100644 --- a/content/post/lqb/lqb-19-b-cplus-k-num-query.md +++ b/content/post/lqb/lqb-19-b-cplus-k-num-query.md @@ -9,7 +9,7 @@ keywords: "蓝桥杯" comments: true tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-max-common-substring.md b/content/post/lqb/lqb-19-b-cplus-max-common-substring.md index 6a6362f0f..bd8c26284 100644 --- a/content/post/lqb/lqb-19-b-cplus-max-common-substring.md +++ b/content/post/lqb/lqb-19-b-cplus-max-common-substring.md @@ -9,7 +9,7 @@ keywords: "蓝桥杯" comments: true tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" --- 最大公共子串长度问题就是: diff --git a/content/post/lqb/lqb-19-b-cplus-max-min-multiple.md b/content/post/lqb/lqb-19-b-cplus-max-min-multiple.md index b457cd869..9e1da6107 100644 --- a/content/post/lqb/lqb-19-b-cplus-max-min-multiple.md +++ b/content/post/lqb/lqb-19-b-cplus-max-min-multiple.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-maze.md b/content/post/lqb/lqb-19-b-cplus-maze.md index a49af2acb..a206eec81 100644 --- a/content/post/lqb/lqb-19-b-cplus-maze.md +++ b/content/post/lqb/lqb-19-b-cplus-maze.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- 下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可 @@ -77,7 +77,7 @@ imagePreview: "https://webp.debuginn.com/202303241303887.jpg" DDDDRRURRRRRRDRRRRDDDLDDRDDDDDDDDDDDDRDDRRRURRUURRDDDDRDRRRRRRDRRURRDDDRRRRUURUUUUUUULULLUUUURRRRUULLLUUUULLUUULUURRURRURURRRDDRRRRRDDRRDDLLLDDRRDDRDDLDDDLLDDLLLDLDDDLDDRRRRRRRRRDDDDDDRR ``` -![答案](https://webp.debuginn.com/202303242147586.png) +![答案](https://static.debuginn.com/202303242147586.png) ```c #include diff --git a/content/post/lqb/lqb-19-b-cplus-psionic-trans.md b/content/post/lqb/lqb-19-b-cplus-psionic-trans.md index 855eaa74c..969e100e3 100644 --- a/content/post/lqb/lqb-19-b-cplus-psionic-trans.md +++ b/content/post/lqb/lqb-19-b-cplus-psionic-trans.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 题目背景 @@ -25,11 +25,11 @@ imagePreview: "https://webp.debuginn.com/202303241303887.jpg" 你控制着n 名高阶圣堂武士,方便起见标为`1; 2; ...... ; n`。每名高阶圣堂武士 需要一定的灵能来战斗,每个人有一个灵能值ai 表示其拥有的灵能的多少(ai 非负表示这名高阶圣堂武士比在最佳状态下多余了ai 点灵能,ai 为负则表示这 名高阶圣堂武士还需要-ai 点灵能才能到达最佳战斗状态)。现在系统赋予了 你的高阶圣堂武士一个能力,传递灵能,每次你可以选择一个i 属于`2 [2; n - 1]`,若 ai >=0 则其两旁的高阶圣堂武士,也就是 i - 1、i + 1 这两名高阶圣堂武士会从 i 这名高圣堂武士这里各抽取ai 点灵能;若ai < 0 则其两旁的高阶圣堂武士, 也就是i - 1;i + 1 这两名高阶圣堂武士会给i 这名高阶圣堂武士?ai 点灵能。形式化来讲就 -![形式化](https://webp.debuginn.com/202303241304141.png) +![形式化](https://static.debuginn.com/202303241304141.png) 灵能是非常高效的作战工具,同时也非常危险且不稳定,一位高阶圣堂 武士拥有的灵能过多或者过少都不好,定义一组高阶圣堂武士的不稳定度为 -![公式](https://webp.debuginn.com/202303241305171.png) +![公式](https://static.debuginn.com/202303241305171.png) 请你通过不限次数的传递灵能操作使得你控制的这一组高阶圣堂武 士的不稳定度最小。 @@ -116,10 +116,10 @@ imagePreview: "https://webp.debuginn.com/202303241303887.jpg" 对于所有评测用例: -![评测用例](https://webp.debuginn.com/202303241307949.png) +![评测用例](https://static.debuginn.com/202303241307949.png) 评测时将使用25 个评测用例测试你的程序,每个评测用例的限制如下: -![评测](https://webp.debuginn.com/202303241308856.png) +![评测](https://static.debuginn.com/202303241308856.png) 注意:本题输入量较大请使用快速的读入方式。 \ No newline at end of file diff --git a/content/post/lqb/lqb-19-b-cplus-sequence-sum.md b/content/post/lqb/lqb-19-b-cplus-sequence-sum.md index db30b3b78..9a6c08113 100644 --- a/content/post/lqb/lqb-19-b-cplus-sequence-sum.md +++ b/content/post/lqb/lqb-19-b-cplus-sequence-sum.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-shopping-list.md b/content/post/lqb/lqb-19-b-cplus-shopping-list.md index 20aad0dc0..1a60c64ed 100644 --- a/content/post/lqb/lqb-19-b-cplus-shopping-list.md +++ b/content/post/lqb/lqb-19-b-cplus-shopping-list.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-special-numbers-sum.md b/content/post/lqb/lqb-19-b-cplus-special-numbers-sum.md index 0a73bd4c2..e26a894fc 100644 --- a/content/post/lqb/lqb-19-b-cplus-special-numbers-sum.md +++ b/content/post/lqb/lqb-19-b-cplus-special-numbers-sum.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-suffix-expression.md b/content/post/lqb/lqb-19-b-cplus-suffix-expression.md index d3eee8454..8fe64d28c 100644 --- a/content/post/lqb/lqb-19-b-cplus-suffix-expression.md +++ b/content/post/lqb/lqb-19-b-cplus-suffix-expression.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-19-b-cplus-take-digits.md b/content/post/lqb/lqb-19-b-cplus-take-digits.md index 8968b6eca..31ba06243 100644 --- a/content/post/lqb/lqb-19-b-cplus-take-digits.md +++ b/content/post/lqb/lqb-19-b-cplus-take-digits.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- 求1个整数的第k位数字有很多种方法。 diff --git a/content/post/lqb/lqb-19-b-cplus-year-string.md b/content/post/lqb/lqb-19-b-cplus-year-string.md index 57a3909b4..632b12495 100644 --- a/content/post/lqb/lqb-19-b-cplus-year-string.md +++ b/content/post/lqb/lqb-19-b-cplus-year-string.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- 小明用字母A 对应数字1,B 对应2,以此类推,用Z 对应26。 diff --git a/content/post/lqb/lqb-base-01-string.md b/content/post/lqb/lqb-base-01-string.md index cb0790ab4..576a61577 100644 --- a/content/post/lqb/lqb-base-01-string.md +++ b/content/post/lqb/lqb-base-01-string.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-10-16.md b/content/post/lqb/lqb-base-10-16.md index db0a0e5ad..ffdb0b73a 100644 --- a/content/post/lqb/lqb-base-10-16.md +++ b/content/post/lqb/lqb-base-10-16.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-16-10.md b/content/post/lqb/lqb-base-16-10.md index 2aa66884f..09babc03c 100644 --- a/content/post/lqb/lqb-base-16-10.md +++ b/content/post/lqb/lqb-base-16-10.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-16-8.md b/content/post/lqb/lqb-base-16-8.md index b24b1625d..385b4436b 100644 --- a/content/post/lqb/lqb-base-16-8.md +++ b/content/post/lqb/lqb-base-16-8.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-2n-queen.md b/content/post/lqb/lqb-base-2n-queen.md index c5fdf26eb..d22595094 100644 --- a/content/post/lqb/lqb-base-2n-queen.md +++ b/content/post/lqb/lqb-base-2n-queen.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-alphabetic-graphics.md b/content/post/lqb/lqb-base-alphabetic-graphics.md index 7fa5f9773..03f6cfb9b 100644 --- a/content/post/lqb/lqb-base-alphabetic-graphics.md +++ b/content/post/lqb/lqb-base-alphabetic-graphics.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-chip-test.md b/content/post/lqb/lqb-base-chip-test.md index 33d792d33..737555bb6 100644 --- a/content/post/lqb/lqb-base-chip-test.md +++ b/content/post/lqb/lqb-base-chip-test.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-compare-string.md b/content/post/lqb/lqb-base-compare-string.md index 60b19efb9..37e2a8da8 100644 --- a/content/post/lqb/lqb-base-compare-string.md +++ b/content/post/lqb/lqb-base-compare-string.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-decomposition-prime-factor.md b/content/post/lqb/lqb-base-decomposition-prime-factor.md index 5a355d669..ec1bbcc6c 100644 --- a/content/post/lqb/lqb-base-decomposition-prime-factor.md +++ b/content/post/lqb/lqb-base-decomposition-prime-factor.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述  diff --git a/content/post/lqb/lqb-base-fetch-number.md b/content/post/lqb/lqb-base-fetch-number.md index 8c4a00198..9f99381ec 100644 --- a/content/post/lqb/lqb-base-fetch-number.md +++ b/content/post/lqb/lqb-base-fetch-number.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-find-int.md b/content/post/lqb/lqb-base-find-int.md index a4292bea2..ace1a7334 100644 --- a/content/post/lqb/lqb-base-find-int.md +++ b/content/post/lqb/lqb-base-find-int.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-fj-string.md b/content/post/lqb/lqb-base-fj-string.md index f7b82e1ad..c492782f3 100644 --- a/content/post/lqb/lqb-base-fj-string.md +++ b/content/post/lqb/lqb-base-fj-string.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-high-pre-sub.md b/content/post/lqb/lqb-base-high-pre-sub.md index ed6dd36b1..796a8cbbc 100644 --- a/content/post/lqb/lqb-base-high-pre-sub.md +++ b/content/post/lqb/lqb-base-high-pre-sub.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-huffman-tree.md b/content/post/lqb/lqb-base-huffman-tree.md index 5f166676e..2540b989b 100644 --- a/content/post/lqb/lqb-base-huffman-tree.md +++ b/content/post/lqb/lqb-base-huffman-tree.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-leap-year-judgment.md b/content/post/lqb/lqb-base-leap-year-judgment.md index e47abc90b..9c42a50c7 100644 --- a/content/post/lqb/lqb-base-leap-year-judgment.md +++ b/content/post/lqb/lqb-base-leap-year-judgment.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-matrix-multi.md b/content/post/lqb/lqb-base-matrix-multi.md index e97c153f7..e3386bfb8 100644 --- a/content/post/lqb/lqb-base-matrix-multi.md +++ b/content/post/lqb/lqb-base-matrix-multi.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-palindromes.md b/content/post/lqb/lqb-base-palindromes.md index 23f2d6ce8..f27433d30 100644 --- a/content/post/lqb/lqb-base-palindromes.md +++ b/content/post/lqb/lqb-base-palindromes.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-practice-factorial-calc.md b/content/post/lqb/lqb-base-practice-factorial-calc.md index 95e475ee8..c03ae23a5 100644 --- a/content/post/lqb/lqb-base-practice-factorial-calc.md +++ b/content/post/lqb/lqb-base-practice-factorial-calc.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-price-of-perfection.md b/content/post/lqb/lqb-base-price-of-perfection.md index fb699c444..c5f9a715c 100644 --- a/content/post/lqb/lqb-base-price-of-perfection.md +++ b/content/post/lqb/lqb-base-price-of-perfection.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-qeuence-sorting.md b/content/post/lqb/lqb-base-qeuence-sorting.md index 9ad127093..82e6b9b23 100644 --- a/content/post/lqb/lqb-base-qeuence-sorting.md +++ b/content/post/lqb/lqb-base-qeuence-sorting.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-reading-numbers.md b/content/post/lqb/lqb-base-reading-numbers.md index 72f2684bc..2e4b4311c 100644 --- a/content/post/lqb/lqb-base-reading-numbers.md +++ b/content/post/lqb/lqb-base-reading-numbers.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-rect-area.md b/content/post/lqb/lqb-base-rect-area.md index 657970f20..0f001b5eb 100644 --- a/content/post/lqb/lqb-base-rect-area.md +++ b/content/post/lqb/lqb-base-rect-area.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-sequence-feature.md b/content/post/lqb/lqb-base-sequence-feature.md index f76b586b2..57a855824 100644 --- a/content/post/lqb/lqb-base-sequence-feature.md +++ b/content/post/lqb/lqb-base-sequence-feature.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-sine-dance.md b/content/post/lqb/lqb-base-sine-dance.md index 21b0698ae..53e8dc685 100644 --- a/content/post/lqb/lqb-base-sine-dance.md +++ b/content/post/lqb/lqb-base-sine-dance.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-spec-numbers.md b/content/post/lqb/lqb-base-spec-numbers.md index b90b3739f..32907fddc 100644 --- a/content/post/lqb/lqb-base-spec-numbers.md +++ b/content/post/lqb/lqb-base-spec-numbers.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-spec-palindromes.md b/content/post/lqb/lqb-base-spec-palindromes.md index 4bfef3cc9..5d29a0155 100644 --- a/content/post/lqb/lqb-base-spec-palindromes.md +++ b/content/post/lqb/lqb-base-spec-palindromes.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-time-convert.md b/content/post/lqb/lqb-base-time-convert.md index 4a53e8fa4..74350f588 100644 --- a/content/post/lqb/lqb-base-time-convert.md +++ b/content/post/lqb/lqb-base-time-convert.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述   diff --git a/content/post/lqb/lqb-base-time-telling.md b/content/post/lqb/lqb-base-time-telling.md index 457db69eb..6bf2639c9 100644 --- a/content/post/lqb/lqb-base-time-telling.md +++ b/content/post/lqb/lqb-base-time-telling.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-tortoise-and-rabbit.md b/content/post/lqb/lqb-base-tortoise-and-rabbit.md index e267eb29b..fa005635c 100644 --- a/content/post/lqb/lqb-base-tortoise-and-rabbit.md +++ b/content/post/lqb/lqb-base-tortoise-and-rabbit.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-base-yanghui.md b/content/post/lqb/lqb-base-yanghui.md index d8c2750ea..21c1abcc7 100644 --- a/content/post/lqb/lqb-base-yanghui.md +++ b/content/post/lqb/lqb-base-yanghui.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-introduction-circle-area.md b/content/post/lqb/lqb-introduction-circle-area.md index a1c095d08..46f5a7565 100644 --- a/content/post/lqb/lqb-introduction-circle-area.md +++ b/content/post/lqb/lqb-introduction-circle-area.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-introduction-fibonacci.md b/content/post/lqb/lqb-introduction-fibonacci.md index fae0ec14d..9a621fc7e 100644 --- a/content/post/lqb/lqb-introduction-fibonacci.md +++ b/content/post/lqb/lqb-introduction-fibonacci.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/lqb/lqb-introduction-sequence-summation.md b/content/post/lqb/lqb-introduction-sequence-summation.md index a35ae362c..e7730f512 100644 --- a/content/post/lqb/lqb-introduction-sequence-summation.md +++ b/content/post/lqb/lqb-introduction-sequence-summation.md @@ -13,8 +13,8 @@ tags: ["蓝桥杯","algorithm"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202303241303887.jpg" -imagePreview: "https://webp.debuginn.com/202303241303887.jpg" +image: "https://static.debuginn.com/202303241303887.jpg" +imagePreview: "https://static.debuginn.com/202303241303887.jpg" --- ## 问题描述 diff --git a/content/post/mysql/mysql-chooes-storage-engine.md b/content/post/mysql/mysql-chooes-storage-engine.md index 0c9612b89..6058ed23e 100644 --- a/content/post/mysql/mysql-chooes-storage-engine.md +++ b/content/post/mysql/mysql-chooes-storage-engine.md @@ -6,7 +6,7 @@ keywords: "mysql,engin,database" comments: true tags: ["mysql","engin","database"] categories: ["sql"] -image: "https://webp.debuginn.com/202303121916799.jpg" +image: "https://static.debuginn.com/202303121916799.jpg" --- 对于数据库这一块询问比较多的就是在 MySQL 中怎么去选择一种合适当前业务需求的存储引擎,而 MySQL 中支持的存储引擎又有很多种,那么 MySQL 中分别又有那些,怎么优雅的使用呢? diff --git a/content/post/mysql/mysql-lock-occ-pcc.md b/content/post/mysql/mysql-lock-occ-pcc.md index 458d29386..853e5ab74 100644 --- a/content/post/mysql/mysql-lock-occ-pcc.md +++ b/content/post/mysql/mysql-lock-occ-pcc.md @@ -6,7 +6,7 @@ comments: true weight: 0 tags: ["mysql","occ","pcc"] categories: ["sql"] -image: "https://webp.debuginn.com/202303161947714.jpg" +image: "https://static.debuginn.com/202303161947714.jpg" --- 在关系型数据库中,悲观锁与乐观锁是解决资源并发场景的解决方案,接下来将详细讲解一下这两个并发解决方案的实际使用及优缺点。 diff --git a/content/post/ncre/test-ncre-network-multiple-choice .md b/content/post/ncre/test-ncre-network-multiple-choice .md index 4dd52d0fd..2487e90d2 100644 --- a/content/post/ncre/test-ncre-network-multiple-choice .md +++ b/content/post/ncre/test-ncre-network-multiple-choice .md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["NCRE"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303261146594.jpg" +image: "https://static.debuginn.com/202303261146594.jpg" --- **在以下几种帧中,属于IEEE 802.11管理帧的是(BC)。** diff --git a/content/post/ncre/test-ncre-network-single-topic.md b/content/post/ncre/test-ncre-network-single-topic.md index 240018424..5096c2bbf 100644 --- a/content/post/ncre/test-ncre-network-single-topic.md +++ b/content/post/ncre/test-ncre-network-single-topic.md @@ -8,7 +8,7 @@ tags: - NCRE categories: - debuginn -image: https://webp.debuginn.com/202303261146594.jpg +image: https://static.debuginn.com/202303261146594.jpg --- **如果交换机的总带宽为14.4Gbps,它具有12个百兆的全双工端口,则其千兆的全双工端口数量最多为?** diff --git a/content/post/ncre/test-ncre-os-multiple-choice .md b/content/post/ncre/test-ncre-os-multiple-choice .md index 508fd33a8..72ccd3b27 100644 --- a/content/post/ncre/test-ncre-os-multiple-choice .md +++ b/content/post/ncre/test-ncre-os-multiple-choice .md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["NCRE"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303261146594.jpg" +image: "https://static.debuginn.com/202303261146594.jpg" --- **保存在进程控制块中的是** diff --git a/content/post/ncre/test-ncre-os-single-topic.md b/content/post/ncre/test-ncre-os-single-topic.md index e4c70690a..7d90af5ee 100644 --- a/content/post/ncre/test-ncre-os-single-topic.md +++ b/content/post/ncre/test-ncre-os-single-topic.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["NCRE"] categories: ["debuginn"] -image: "https://webp.debuginn.com/202303261146594.jpg" +image: "https://static.debuginn.com/202303261146594.jpg" --- **在不同类型的操作系统中,批处理操作系统的缺点是:** diff --git a/content/post/os/os-concurrent-sync.md b/content/post/os/os-concurrent-sync.md index 2378583a2..65210d596 100644 --- a/content/post/os/os-concurrent-sync.md +++ b/content/post/os/os-concurrent-sync.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- ## 进程(线程)间相互作用 @@ -50,7 +50,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 饥饿:避免饥饿是指避免某些进程一直得不到资源或者得到资源的概率很小,从而保障系统内资源使用的公平性。 -![进程互斥](https://webp.debuginn.com/202304132239136.png) +![进程互斥](https://static.debuginn.com/202304132239136.png) 为了保证临界资源的正确使用,可把临界资源的访问过程分为四个部分: @@ -158,7 +158,7 @@ signal(s){ 前趋关系是指并发执行的进程P1和P2中,分别有代码C1和C2,要求C1在C2开始前完成执行。可为每个前趋关系设置一个互斥信号量S12,其初值为0.这样,只有在P1执行到V(S12)后,P2才会结束P(S12)的执行。 -![前趋关系](https://webp.debuginn.com/202304132242990.png) +![前趋关系](https://static.debuginn.com/202304132242990.png) ## 经典的进程同步问题 @@ -166,7 +166,7 @@ Dijkstra将同步问题抽象成一种“生产者-消费者关系”。 ### 简单生产者-消费者问题 -![简单生产者-消费者问题](https://webp.debuginn.com/202304132243264.png) +![简单生产者-消费者问题](https://static.debuginn.com/202304132243264.png) 设有一个生产者进程P,一个消费者进程Q,他们通过一个缓冲区联系起来。缓冲区只能容纳一个产品,生产者不断的生产产品;而消费者则不断从缓冲区中取出产品,并消费掉。 生产者-消费者同步问题的解决方案如下: @@ -194,7 +194,7 @@ while(true){ 设有多个生产者进程P1,P2,……, Pn,若干个消费者进程Q1,Q2,Q3,……,Qm,他们通过一个唤醒缓冲池联系起来,该环形缓冲池由K个大小相等的缓冲区组成,每个缓冲区能容纳一个产品,生产者每次往空缓冲区送一个产品;消费者每次从缓冲区取出一个产品。生产者进程不断地生产产品并把他们放给缓冲池内,消费者进程不断的从缓冲池内取出产品并消费之。 -![多个生产者](https://webp.debuginn.com/202304132244539.png) +![多个生产者](https://static.debuginn.com/202304132244539.png) 当整个缓冲池全满时,出现供大于求的现象。当整个缓冲池全空时,出现供不应求的现象。 @@ -244,7 +244,7 @@ while(true){ ### 例1 路口单双号交通管制 -![路口单双号交通管制](https://webp.debuginn.com/202304132246349.png) +![路口单双号交通管制](https://static.debuginn.com/202304132246349.png) Check:指示可否在车辆号码识别区中进入一辆汽车,由于只能进入一辆,其初值为1. @@ -390,7 +390,7 @@ P、V操作是一类低级通信原语,不能承担进程间大量信息的交 为了实现信箱通信,必须提供相应的原语,如创建信箱原语、撤销信箱原语、发送信箱原语和接收信箱原语等。 -![信箱通信](https://webp.debuginn.com/202304132249819.png) +![信箱通信](https://static.debuginn.com/202304132249819.png) 表示的是一个发送者和一个接收者单向通信的例子,在进程A发送信件之间,信箱中至少应该有空位置,可以存放信件,同样,在进程B接收信件之前,信箱中应该有信件,否则进程应该等待。 diff --git a/content/post/os/os-file-manage-files.md b/content/post/os/os-file-manage-files.md index 977c9cab5..95ccff05d 100644 --- a/content/post/os/os-file-manage-files.md +++ b/content/post/os/os-file-manage-files.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- ## 文件的逻辑结构 diff --git a/content/post/os/os-file-manage.md b/content/post/os/os-file-manage.md index dadb6c3e5..48e4fa94e 100644 --- a/content/post/os/os-file-manage.md +++ b/content/post/os/os-file-manage.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- > 计算机的主要功能之一就是对数据进行数值或非数值计算。系统软件必须提供数据存储、数据处理、数据管理的基本功能。数据管理是通过文件管理的方式来完成的,而目录又是建立在分区或卷的基础之上的。操作系统中文件和目录相关的子系统称之为文件系统。 diff --git a/content/post/os/os-introduction.md b/content/post/os/os-introduction.md index b587c827b..fd151c669 100644 --- a/content/post/os/os-introduction.md +++ b/content/post/os/os-introduction.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- ## 操作系统的概念 diff --git a/content/post/os/os-memory-manage-cover-switch.md b/content/post/os/os-memory-manage-cover-switch.md index aad69af4f..8d7b02425 100644 --- a/content/post/os/os-memory-manage-cover-switch.md +++ b/content/post/os/os-memory-manage-cover-switch.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- ## 覆盖技术 @@ -21,7 +21,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 该程序正文段所需要的内存空间是A(20KB)+B(50KB)+F(30KB)+C(30KB)+D(20KB)+E(40KB)=190KB,但是在采用了覆盖技术后只需要A(20KB)+B(50KB)+E(40KB)=110KB占用空间。 -![覆盖技术](https://webp.debuginn.com/202304131939488.png) +![覆盖技术](https://static.debuginn.com/202304131939488.png) 覆盖技术主要用于系统程序的内存管理上,MS-DOS系统分为两个部分。 diff --git a/content/post/os/os-memory-manage-page-storage.md b/content/post/os/os-memory-manage-page-storage.md index 8a048bde7..f0263a0cd 100644 --- a/content/post/os/os-memory-manage-page-storage.md +++ b/content/post/os/os-memory-manage-page-storage.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- > 把一个逻辑地址连续的程序分散存放到几个不连续的内存区域中,并且保证程序的正确执行,即可充分利用内存空间,又可减少移动所花费的开销。 diff --git a/content/post/os/os-memory-manage-storage-manage.md b/content/post/os/os-memory-manage-storage-manage.md index e465d3fff..122c9376e 100644 --- a/content/post/os/os-memory-manage-storage-manage.md +++ b/content/post/os/os-memory-manage-storage-manage.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- > 基本思想:是把内存划分成若干个连续的区域,称为分区,每个分区装入一个运行程序。 @@ -25,7 +25,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 用于固定分区管理的内存分配表是一张分区说明表,按顺序每个分区说明表中对应一个表目。表目内容包括分区序号、分区大小、分区起始地址以及使用状态(空闲或占用)。一个程序在运行时,想要根据其对内存的需求量,按一定的分配策略在分区说明表中查找空闲分区。若找到合乎需要的分区,就将该分区分配给程序,并将该分区置为占用状态。当程序完成时释放这块分区内存,由系统回收,并在分区说明表中间回收的分区重新置为空闲状态。 -![内存分配表](https://webp.debuginn.com/202304132205430.png) +![内存分配表](https://static.debuginn.com/202304132205430.png) 固定分区方案灵活性差,可接纳程序的大小受到了分区大小的严格限制。 @@ -37,7 +37,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 系统初次启动后,在内存中出操作系统区之外,其余空间为一个完整的大空闲区,当有程序要求装入内存运行时,系统从该空闲区中划分出一块与程序大小相同的区域进行分配。当系统运行一段时间后,随一系列的内存分配与回收,原来的一整块大空闲区形成了若干占用区和空闲区相间的布局,若有上下相邻的两块空闲区,系统应将他们合并成为一块连续的大空闲区。 -![可变分区](https://webp.debuginn.com/202304132206895.png) +![可变分区](https://static.debuginn.com/202304132206895.png) ### 移动技术 @@ -52,7 +52,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 采用移动技术是应该尽可能减少需要移动的作业数和信息量。 -![移动技术](https://webp.debuginn.com/202304132207002.png) +![移动技术](https://static.debuginn.com/202304132207002.png) ### 可变分区的实现 @@ -63,7 +63,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 但程序被装到所分配的分区后,把分区的起始地址和长度作为现场信息存入该作业进程的进程控制块中。 -![akb](https://webp.debuginn.com/202304132207613.png) +![akb](https://static.debuginn.com/202304132207613.png) 为了实现可变分区的管理,必须设置某种数据结构用以记录内存分配的情况,确定某种分配策略并且实施内存的分配与回收。 @@ -72,7 +72,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" - 已分配区表:记录已装入的程序在内存中占用分区的起始地址和长度,用标志位指出占用分区的程序名。 - 空闲区表:记录内存中可供分配的空闲区的起始地址和长度,用标志位指出该分区是未分配的空闲区。 -![空闲区表](https://webp.debuginn.com/202304132208287.png) +![空闲区表](https://static.debuginn.com/202304132208287.png) ### 空闲分区的分配策略 @@ -80,7 +80,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 最先适应算法,又称顺序分配算法,当接到内存申请是,顺序查找分区说明表,找到第一个满足申请长度的空闲区,将其分割并分配,可以快速做出分配决定。 -![最先适应算法](https://webp.debuginn.com/202304132209930.png) +![最先适应算法](https://static.debuginn.com/202304132209930.png) #### 最优适应算法 @@ -115,7 +115,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 长度 = 原长度 + L -![长度](https://webp.debuginn.com/202304132219133.png) +![长度](https://static.debuginn.com/202304132219133.png) **2)回收分区的下邻分区是空闲的,需要将两个空闲区合并成一个更大的空闲区,然后修改空闲区表。** @@ -146,7 +146,7 @@ S + L = 第k栏起始地址 (1)系统设置界限寄存器,界限寄存器是可以上下界寄存器或基址、限长寄存器。 -![系统设置界限寄存器](https://webp.debuginn.com/202304132221699.png) +![系统设置界限寄存器](https://static.debuginn.com/202304132221699.png) (2)保护键发:即为每个分区分配一个保护键,相当于一把锁。同时为每个进程分配一个相应的保护键,相当于一把钥匙,存放在程序状态字中。美方访问内存时,都要检查钥匙和锁是否匹配,若不匹配,将发出保护性中断。 diff --git a/content/post/os/os-memory-manage-virtual-storage.md b/content/post/os/os-memory-manage-virtual-storage.md index 8fb442c77..896a2873a 100644 --- a/content/post/os/os-memory-manage-virtual-storage.md +++ b/content/post/os/os-memory-manage-virtual-storage.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- ## 虚拟存储技术 diff --git a/content/post/os/os-memory-manage.md b/content/post/os/os-memory-manage.md index 98e149f6a..9973f46eb 100644 --- a/content/post/os/os-memory-manage.md +++ b/content/post/os/os-memory-manage.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- 计算机系统中的存储器可以分为两类:内存储器(简称内存)和外存储器(简称外存)。处理器可以直接访问内存,但不能直接访问内存。CPU要通过启动相应的输入/输出设备后才能使内存和外存交换信息。 @@ -140,7 +140,7 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 由于地址转换工作是在程序开始执行前集中完成的,所以在程序执行过程中就无须再进行地址转换工作。称为“静态重定位”。 -![静态重定位](https://webp.debuginn.com/202304132235363.png) +![静态重定位](https://static.debuginn.com/202304132235363.png) ### 动态重定位 @@ -150,4 +150,4 @@ image: "https://webp.debuginn.com/202302221853276.jpg" 存储管理为程序分配内存区域后,装入程序把程序直接装到所分配的区域中,并把内存区域的起始地址存入相应程序进程的进程控制块中。当程序进程被调度占用处理器时,随同现场信息的恢复,程序所占的内存区域的起始地址也被存放到“基址寄存器”中。程序执行时,处理器每执行都会把指令中的逻辑地址与基址寄存器中的值相加得到绝对地址,然后按绝对地址访问内存。 -![动态重定位](https://webp.debuginn.com/202304132235250.png) \ No newline at end of file +![动态重定位](https://static.debuginn.com/202304132235250.png) \ No newline at end of file diff --git a/content/post/os/os-pcb-and-process-control.md b/content/post/os/os-pcb-and-process-control.md index b5ce79f82..5b9d68696 100644 --- a/content/post/os/os-pcb-and-process-control.md +++ b/content/post/os/os-pcb-and-process-control.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- ## 进程控制块PCB diff --git a/content/post/os/os-process-thread-scheduling.md b/content/post/os/os-process-thread-scheduling.md index 3f3bbe5f5..a8d8a3923 100644 --- a/content/post/os/os-process-thread-scheduling.md +++ b/content/post/os/os-process-thread-scheduling.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- 调度是分层次的,在操作系统中,一般将调度分为高级调度、中级调度和低级调度。 @@ -99,7 +99,7 @@ CPU利用率:用于对批处理系统的度量,系统每小时可完成多 基本思想:将CPU的处理时间划分为一个个的时间片,就绪队列中的诸程序轮流运行一个时间片。当时间片结束时,就强迫运行的进程让出CPU,该进程机内就绪队列,等待下一次调度。同时,进程调度又去选择就绪队列中的一个进程,分配给它一个时间片,以投入运行。 -![轮转法RR算法](https://webp.debuginn.com/202304132254517.png) +![轮转法RR算法](https://static.debuginn.com/202304132254517.png) 影响时间片值设置的几个主要因素: diff --git a/content/post/os/os-runtime.md b/content/post/os/os-runtime.md index 01357d6db..c0141accc 100644 --- a/content/post/os/os-runtime.md +++ b/content/post/os/os-runtime.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "runtime", "操作系统", "学习笔记"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221949419.jpg" +image: "https://static.debuginn.com/202302221949419.jpg" --- ## 中央处理器CPU @@ -48,7 +48,7 @@ image: "https://webp.debuginn.com/202302221949419.jpg" 处理指令的最简单的方式包括两种步骤:处理器先从存储器中每次读取一条指令,然后执行这条指令。 -![处理指令步骤](https://webp.debuginn.com/202302221954410.png) +![处理指令步骤](https://static.debuginn.com/202302221954410.png) 这些指令大致分为以下五类: @@ -145,7 +145,7 @@ PSW包括以下状态代码: 存储速度越快,平均每比特价格越高,容量越小,平均每比特的价格越低,同时容量也增大。 -![存储器的层次结构](https://webp.debuginn.com/202302222008421.png) +![存储器的层次结构](https://static.debuginn.com/202302222008421.png) ### 存储访问局部性原理 diff --git a/content/post/os/os-thread-modle.md b/content/post/os/os-thread-modle.md index 4c4aa7aa2..00ec8d15a 100644 --- a/content/post/os/os-thread-modle.md +++ b/content/post/os/os-thread-modle.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["os", "system"] categories: ["OS"] -image: "https://webp.debuginn.com/202302221853276.jpg" +image: "https://static.debuginn.com/202302221853276.jpg" --- ## 线程模型 @@ -123,7 +123,7 @@ B程序的执行顺序为:在设备DEV2上执行10s、在CPU上执行10s、在 在顺序环境下,A执行完之后B执行,或则B执行完之后A执行。假设A先执行,程序A、B全部执行完之后需要80s的时间,其中有40s是程序使用CPU,15S使用设备DEV1,25s使用设备DEV2. -![时间轴](https://webp.debuginn.com/202304142225543.png) +![时间轴](https://static.debuginn.com/202304142225543.png) - CPU利用率=40/80=50% - DEV1利用率=15/80=18.75% @@ -131,7 +131,7 @@ B程序的执行顺序为:在设备DEV2上执行10s、在CPU上执行10s、在 在并发环境下,程序A、B可以同时执行,当程序A在CPU上执行时,程序B可以在设备DEV1上执行,程序A、B全部执行完成之后需要45s时间。 -![时间轴](https://webp.debuginn.com/202304142226828.png) +![时间轴](https://static.debuginn.com/202304142226828.png) - CPU利用率=40/45=89% - DEV1利用率=15/45=33% @@ -207,7 +207,7 @@ B程序的执行顺序为:在设备DEV2上执行10s、在CPU上执行10s、在 2. 就绪状态Ready:指一个进程已经具备运行条件,但由于没有获得CPU而不能运行所处的状态。一旦CPU分配给他,该程序就可以运行,处于就绪状态的进程可以是多个。 3. 等待状态Waiting:也称阻塞状态或封锁状态,是指程序因等待某种事件发生而暂时不能运行的状态。 -![三状态转换](https://webp.debuginn.com/202304142229706.png) +![三状态转换](https://static.debuginn.com/202304142229706.png) 1. 就绪–》运行 未能获取处理机,故仍然不能运行。 2. 运行–》就绪 由于规定的运行时间片用完而使系统发出超时中断请求,超时中断处理程序把该进程的状态修改为就绪状态。 @@ -222,7 +222,7 @@ B程序的执行顺序为:在设备DEV2上执行10s、在CPU上执行10s、在 4. 创建状态 New:进程正在创建的过程中,还不能运行。包括分配和创建进程控制块表项、建立资源表格并分配资源,机在程序并建立地址空间。 5. 结束状态 Exit:进程已结束运行,回收除进程控制块之外的其他资源,并让其他进程从进程控制块中收集有关的信息。 -![五状态转换](https://webp.debuginn.com/202304142230821.png) +![五状态转换](https://static.debuginn.com/202304142230821.png) **操作系统中多个进程的并发执行是通过进程交替进入运行状态来实现的。** diff --git a/content/post/projects/douban-movies-to-blog.md b/content/post/projects/douban-movies-to-blog.md index b23b8e3a8..04f4001d4 100644 --- a/content/post/projects/douban-movies-to-blog.md +++ b/content/post/projects/douban-movies-to-blog.md @@ -9,7 +9,7 @@ keywords: "go,gin,rss,mdui,douban" comments: true tags: ["go","gin","rss","mdui","douban"] categories: ["project"] -image: "https://webp.debuginn.com/202303031942110.jpg" +image: "https://static.debuginn.com/202303031942110.jpg" --- 事情的起因是这样的,前几日在看 [idealclover](https://idealclover.top) 大佬的博客,不经意间看到了他的[豆瓣观影记录](https://idealclover.top/movies.html),他博客中关于豆瓣观影记录是实时同步的,很好奇是如何实现的,经过查看,他是爬取的豆瓣观影界面来实现的,其实关于豆瓣观影记录,网上也有很多的教程,恰巧自己所学的 Go 语言也可以做简单的爬虫实现其效果,于是开始上手造轮子了,PS:了解到非法爬取网站信息是违法的,之前豆瓣 API 接口,关闭访问,在豆瓣上找了好久,终于在我的主页中找到了对于观影记录的官方提供 RSS 订阅,打开订阅,看到有自己所需要的字段,比较好获取,于是就开始了此项目。 @@ -18,7 +18,7 @@ image: "https://webp.debuginn.com/202303031942110.jpg" 首先,需要获取豆瓣提供的 XML 文件,在我的主页右下角就可以看到 RSS 订阅链接: -![豆瓣订阅地址](https://webp.debuginn.com/202303031930118.png) +![豆瓣订阅地址](https://static.debuginn.com/202303031930118.png) 找到了订阅地址,点击查看 XML 结构,可以看到豆瓣提供的结构还是挺理想的: @@ -178,7 +178,7 @@ r.GET("/doubanmovies", func(context *gin.Context) { _ = r.Run(":8080") ``` -![api json数据](https://webp.debuginn.com/202303031934481.png) +![api json数据](https://static.debuginn.com/202303031934481.png) 启动服务,可以得到对应的 json 数据,你若以为现在就可以实现了,那么你错了,远远没有那么简单...... @@ -235,7 +235,7 @@ _ = r.Run(":8080") 设计好了以后,访问页面,却加载不出来,emmmmmm -![CORS](https://webp.debuginn.com/202303031935689.png) +![CORS](https://static.debuginn.com/202303031935689.png) ## CORS @@ -294,7 +294,7 @@ func Cors() gin.HandlerFunc { 这样就可以看到结果了,如下图: -![演示](https://webp.debuginn.com/202303031937830.png) +![演示](https://static.debuginn.com/202303031937830.png) 看到结果后,心中窃喜,感觉成功了,接下来就需要将 Go 服务部署到我的服务器中去了,部署步骤比较简单,就不过多解释了,最后访问服务器 IP 及对应单口可以呈现结果,最后将前台代码粘贴到新建的页面中,生成预览,emmmm,啥都没有,浏览器居然报 HTTPS 请求 HTTP 资源是不安全的,吐了一口血,解决吧,唉,经过查询资料,得出如下两个解决方案: @@ -325,7 +325,7 @@ server{ 解决了 HTTPS 访问 HTTP 资源的问题,就解决了所有问题,实现了效果。 -![我的观影](https://webp.debuginn.com/202303031939914.png) +![我的观影](https://static.debuginn.com/202303031939914.png) 具体效果如下:~~https://debuginn.com/doubanmovies~~ diff --git a/content/post/redis/redis-summary.md b/content/post/redis/redis-summary.md index 3bb2ca0bc..714b3611f 100644 --- a/content/post/redis/redis-summary.md +++ b/content/post/redis/redis-summary.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["redis"] categories: ["sql"] -image: "https://webp.debuginn.com/202303152015654.jpg" +image: "https://static.debuginn.com/202303152015654.jpg" --- **1.Redis数据结构有哪些 ?** diff --git a/content/post/software/test-software-activity-diagram.md b/content/post/software/test-software-activity-diagram.md index e71047934..1da5899a5 100644 --- a/content/post/software/test-software-activity-diagram.md +++ b/content/post/software/test-software-activity-diagram.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303191228166.jpg" +image: "https://static.debuginn.com/202303191228166.jpg" --- ```shell @@ -40,7 +40,7 @@ A)状态、分支 B)转移、汇合 C)泳道、转移 D) **2、 在下面的图例中,哪个用来描述活动(activity)(A)** -![活动图](https://webp.debuginn.com/202303211951206.png) +![活动图](https://static.debuginn.com/202303211951206.png) **3、下面哪个不是UML中的静态视图_____B______。** diff --git a/content/post/software/test-software-build-gantt-chart.md b/content/post/software/test-software-build-gantt-chart.md index 4bbd5d064..6f8fbdc4b 100644 --- a/content/post/software/test-software-build-gantt-chart.md +++ b/content/post/software/test-software-build-gantt-chart.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303191228166.jpg" +image: "https://static.debuginn.com/202303191228166.jpg" --- 甘特图(Gantt chart )又叫横道图、条状图(Bar chart)。它是以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。它是在第一次世界大战时期发明的,以亨利·L·甘特先生的名字命名,他制定了一个完整地用条形图表进度的标志系统。由于甘特图形象简单,在简单、短期的项目中,甘特图都得到了最广泛的运用。 @@ -53,7 +53,7 @@ image: "https://webp.debuginn.com/202303191228166.jpg" ### 任务 -![任务](https://webp.debuginn.com/202303252205077.png) +![任务](https://static.debuginn.com/202303252205077.png) 甘特图中的每个任务在图表框架中占用一行。当您在“任务名称”列的单元格中键入任务名称时,任务工期将表示为时间刻度下方区域中的任务栏。 @@ -70,7 +70,7 @@ image: "https://webp.debuginn.com/202303191228166.jpg" ## 里程碑 -![里程碑](https://webp.debuginn.com/202303252207579.jpg) +![里程碑](https://static.debuginn.com/202303252207579.jpg) 当您要在一个总括任务下合并若干附属任务时,可以使用摘要任务。 @@ -82,7 +82,7 @@ image: "https://webp.debuginn.com/202303191228166.jpg" | 提升任务级别(升级) | 右键单击要提升的任务的名称,然后单击快捷菜单中的“升级”。 | | 更改摘要任务栏的显示方式 | 右键单击要更改的摘要任务的任务栏,然后单击快捷菜单中的“任务选项”。 在“摘要栏”下,选择摘要栏开头和结尾要使用的符号,然后单击“确定”。 | -![里程碑](https://webp.debuginn.com/202303252210303.png) +![里程碑](https://static.debuginn.com/202303252210303.png) ## 依赖关系(链接任务) @@ -98,7 +98,7 @@ image: "https://webp.debuginn.com/202303191228166.jpg" 项目日程是根据特定于任务的数据创建的。任务开始日期和工期这两个因素综合在一起决定项目的完成日期。在 Visio 甘特图中,任务数据存储在数据列中。如果要在甘特图中记录并显示其他任务数据,可以添加新列。例如,您可能要添加任务注释列,您可以在其中说明复杂的任务或独特的任务;添加资源列以列出负责完成每个任务的人员;或添加完成百分比列以跟踪每个任务已完成的百分比。 -![数据列](https://webp.debuginn.com/202303252212523.png) +![数据列](https://static.debuginn.com/202303252212523.png) 默认情况下,新的甘特图在创建时将包含“任务名称”列、“开始时间”列、“完成时间”列和“工期”列。您可以重新安排现有列、添加新列或删除不再需要的列。 @@ -115,7 +115,7 @@ image: "https://webp.debuginn.com/202303191228166.jpg" 时间刻度是主要时间单位和次要时间单位的刻度,它将从项目的开始日期延伸到结束日期。您可以定义时间刻度的时间单位、开始日期和结束日期以及非工作日。 -![时间刻度](https://webp.debuginn.com/202303252216665.png) +![时间刻度](https://static.debuginn.com/202303252216665.png) 您可以滚动至时间刻度上特定的日期或任务,还可以更改时间刻度区域的宽度并显示更多的日期。 diff --git a/content/post/software/test-software-class-diagram-exercises.md b/content/post/software/test-software-class-diagram-exercises.md index 06693f696..3880f7a76 100644 --- a/content/post/software/test-software-class-diagram-exercises.md +++ b/content/post/software/test-software-class-diagram-exercises.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303202156985.jpg" +image: "https://static.debuginn.com/202303202156985.jpg" --- - 依赖(Dependency): 虚线箭头表示 @@ -49,7 +49,7 @@ A:材料 B:事物 C:订单 D:会员 **5、在类图中,下面哪个符号表示继承关系( C )** -![类图元素](https://webp.debuginn.com/202303202150359.png) +![类图元素](https://static.debuginn.com/202303202150359.png) **6、在类图中,“#”表示的可见性是( B )** @@ -57,7 +57,7 @@ A:材料 B:事物 C:订单 D:会员 **7、在类图中,下面哪个符号表示实现关系( B )** -![类图指示线](https://webp.debuginn.com/202303202151210.png) +![类图指示线](https://static.debuginn.com/202303202151210.png) **8、在类图中,哪种关系表达总体与局部的关系( D )** @@ -71,7 +71,7 @@ A.实体类 B.边界类 C.控制类 D.主类 A. 0..1 B. 0..* C. 1..* D. `*..*` -![重数性关联](https://webp.debuginn.com/202303202151846.png) +![重数性关联](https://static.debuginn.com/202303202151846.png) **11、通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定性( C )** @@ -93,7 +93,7 @@ A 实现 B、关联 C、 依赖 D、 泛化 **14、在UML中下列图形代表什么关系?(A)** -![](https://webp.debuginn.com/202303202152498.png) +![](https://static.debuginn.com/202303202152498.png) A、组合关系 B、 依赖关系 @@ -101,7 +101,7 @@ C、聚合关系 D、泛化关系 **15、在UML中下列图形代表什么关系?( D )** -![](https://webp.debuginn.com/202303202153725.png) +![](https://static.debuginn.com/202303202153725.png) A、组成关系 B、 依赖关系 @@ -115,7 +115,7 @@ C、包含关系 D、组合关系 **17、在下面的图例中,哪个用来描述注释( B )** -![图例](https://webp.debuginn.com/202303202153624.png) +![图例](https://static.debuginn.com/202303202153624.png) **18、消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务,一个消息通常包括:( A )** @@ -176,7 +176,7 @@ D、类B是一个全局变量 根据上面的陈述,下面哪个设计是最合理的?( C ) -![](https://webp.debuginn.com/202303202155826.png) +![](https://static.debuginn.com/202303202155826.png) **24、类X与类Y有许多相同的属性和行为,但是它的行为与类Y稍微有所不同,这时可以认为类X是类Y的一种特例;则类X和类Y之间是( A )关系。** @@ -195,7 +195,7 @@ D、对象是动态的实例 ## 二、填空题 **1、 下图中类的名字是: _ Login_类中的成员属性是: _sName、sPass _ 类中的行为(方法)是:___checkUser___。** -![login方法](https://webp.debuginn.com/202303202156676.png) +![login方法](https://static.debuginn.com/202303202156676.png) 2、类描述具有相同性质的一组对象的(集合),类用(new)来表示。 diff --git a/content/post/software/test-software-class-diagram.md b/content/post/software/test-software-class-diagram.md index 99ebfdb7d..264ae884b 100644 --- a/content/post/software/test-software-class-diagram.md +++ b/content/post/software/test-software-class-diagram.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303191228166.jpg" +image: "https://static.debuginn.com/202303191228166.jpg" --- **1.请按下述要求绘制类图。** @@ -19,14 +19,14 @@ image: "https://webp.debuginn.com/202303191228166.jpg" 一个班级有 1 到 40 名学生。 1 个班级有 1 名担任班主任。 -![class班级类图](https://webp.debuginn.com/202303191229848.png) +![class班级类图](https://static.debuginn.com/202303191229848.png) **2.请按下述要求绘制出书橱的类图。** 可以把书放到书橱里。 书橱的门有木制的门或玻璃制的门。 -![书橱的类图](https://webp.debuginn.com/202303191230260.png) +![书橱的类图](https://static.debuginn.com/202303191230260.png) **3.请按下述要求绘制出网上商店的类图。** @@ -34,11 +34,11 @@ image: "https://webp.debuginn.com/202303191228166.jpg" 购物车里可以装入 10 件商品。 顾客分会员及非会员两类。 -![网上商店的类图](https://webp.debuginn.com/202303191231932.png) +![网上商店的类图](https://static.debuginn.com/202303191231932.png) **4.看图回答下面问题** -![学生-课程关联图](https://webp.debuginn.com/202303191232619.png) +![学生-课程关联图](https://static.debuginn.com/202303191232619.png) **类 Student 和类 Course 之间是什么关系?并用文字性语言描述该类图表达意思。** diff --git a/content/post/software/test-software-figure.md b/content/post/software/test-software-figure.md index df2b497d7..53288fbac 100644 --- a/content/post/software/test-software-figure.md +++ b/content/post/software/test-software-figure.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303191159338.jpg" +image: "https://static.debuginn.com/202303191159338.jpg" --- **活动图绘图有开始结尾的标志,简称黑点开始、牛眼结束。** @@ -26,37 +26,37 @@ image: "https://webp.debuginn.com/202303191159338.jpg" 监考教师收取试卷。 结束。 -![考试活动模型1](https://webp.debuginn.com/202303191200743.png) +![考试活动模型1](https://static.debuginn.com/202303191200743.png) -![考试活动模型2](https://webp.debuginn.com/202303191200048.png) +![考试活动模型2](https://static.debuginn.com/202303191200048.png) -![考试活动模型3](https://webp.debuginn.com/202303191201603.png) +![考试活动模型3](https://static.debuginn.com/202303191201603.png) **2、 小张想去吃饭,如果必胜客有空位或最多只等待 15 分钟,则进必胜客吃饭,否则去肯德鸡吃 饭。请画出相应的活动图。** -![王校长吃饭活动图1](https://webp.debuginn.com/202303191220030.png) +![王校长吃饭活动图1](https://static.debuginn.com/202303191220030.png) -![王校长吃饭活动图2](https://webp.debuginn.com/202303191221161.png) +![王校长吃饭活动图2](https://static.debuginn.com/202303191221161.png) **3、开工奠基流程如下: 如果资金到位,则准备施工现场。当领导也到场时,开工奠基开始 请画出相应的活动图** -![开工奠基活动图](https://webp.debuginn.com/202303191222354.png) +![开工奠基活动图](https://static.debuginn.com/202303191222354.png) **4、对于“远程网络教学系统”,学生登录后可以下载课件。在登录时,系统需要验证用户的登录 信息,如果验证通过系统会显示所有可选服务。如果验证失败,则登录失败。当用户看到系统显示的 所有可选服务后,可以选择下载服务,然后下载需要的课件。下载完成后用户退出系统,系统则会注 销相应的用户信息。画出学生下载课件的活动图。** -![act学生下载课件活动图](https://webp.debuginn.com/202303191222250.png) +![act学生下载课件活动图](https://static.debuginn.com/202303191222250.png) **5、在“远程网络教学系统”中,系统管理员登录后可以处理注册申请或者审核课件。在处理注册 申请后,需要发送邮件通知用户处理结果;在审核完课件后,需要更新页面信息以保证用户能看到最 新的课件,同时系统更新页面。当完成这些工作后,系统管理员退出系统,系统则注销系统管理员账号。画出系统管理员的工作活动图。** -![系统管理员活动图](https://webp.debuginn.com/202303191223414.png) +![系统管理员活动图](https://static.debuginn.com/202303191223414.png) **6、根据以下叙述,绘制打印社的“打印机”的状态图: 未接到工作命令时,打印机处于闲置状态。接到打印命令后,转入打印状态,完成打印后又回到 闲置状态,等待命令。 若打印时发现没纸,则进入缺纸状态。发出警告等待装纸。装纸完成后又进入闲置状态。 若打印时发现卡纸,则进入卡纸(故障)状态。发出警告等待排除故障。故障排除后又进入闲置 状态。** -![打印机状态图](https://webp.debuginn.com/202303191223686.png) +![打印机状态图](https://static.debuginn.com/202303191223686.png) **7、手机开机时,处于空闲状态;当用户开始呼叫某人时,手机进入拨号状态;如果呼叫成功, 进入通话状态;如果呼叫不成功,重新进入空闲状态。在空闲状态被呼叫,进入响铃状态;如果用户 接听,进入通话状态;如果一分钟不接听,重新进入空闲状态。请绘制手机的状态图。** -![手机状态](https://webp.debuginn.com/202303191224879.png) +![手机状态](https://static.debuginn.com/202303191224879.png) **8、用顺序图描述一位学生张三在 ATM 系统上取 100RMB 的“取款”流程,其过程要包括如下 需求。** @@ -77,7 +77,7 @@ image: "https://webp.debuginn.com/202303191159338.jpg" - ➢ 系统打印取款凭据。 - ➢ 系统退卡。 -![银行取钱](https://webp.debuginn.com/202303191225969.png) +![银行取钱](https://static.debuginn.com/202303191225969.png) diff --git a/content/post/software/test-software-interaction.md b/content/post/software/test-software-interaction.md index 46a527a1a..8bb314a25 100644 --- a/content/post/software/test-software-interaction.md +++ b/content/post/software/test-software-interaction.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303191159338.jpg" +image: "https://static.debuginn.com/202303191159338.jpg" --- **1、软件部署是( B )** @@ -41,7 +41,7 @@ A)依赖关系 B)构件 C)包 D)节点 **5、 下面哪个符号代表部署图的节点( C )** -![寻找节点符号](https://webp.debuginn.com/202303191350568.png) +![寻找节点符号](https://static.debuginn.com/202303191350568.png) **6、下列不属于部署图中的设备类型的是:( B )。** @@ -67,7 +67,7 @@ A.处理器 B.规范 C.接口 D.设备 **10、下图中,表示“节点”的图为_____C_______。** -![寻找节点](https://webp.debuginn.com/202303191351333.png) +![寻找节点](https://static.debuginn.com/202303191351333.png) **11、_____B_____图可以用来描述系统硬件的物理拓扑结构以及在此结构上运行的软件。** diff --git a/content/post/software/test-software-package-diagram.md b/content/post/software/test-software-package-diagram.md index cc1c3512a..0b8bec80d 100644 --- a/content/post/software/test-software-package-diagram.md +++ b/content/post/software/test-software-package-diagram.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303191228166.jpg" +image: "https://static.debuginn.com/202303191228166.jpg" --- **1、( A )是用于把元素组织成组的通用机制** @@ -19,7 +19,7 @@ A)包 B、类 C)接口 D)组件 **2、下面哪个符号代表包图( A )** -![包图](https://webp.debuginn.com/202303211956908.png) +![包图](https://static.debuginn.com/202303211956908.png) **3、包内的元素可以被包内的元素、继承的子包元素所访问是指包的____B_____。** @@ -67,7 +67,7 @@ A. 类 B. 构件 C. 用例 D. 包 A. 《subsystem》 B. 《facade》 C. 《framework》 D. 《node》 -![包的常见构造型](https://webp.debuginn.com/202303211959259.png) +![包的常见构造型](https://static.debuginn.com/202303211959259.png) **12、UML系统需求分析阶段产生的包图描述了系统的( B )。** @@ -79,7 +79,7 @@ A、包 B、节点 C、接口 D、组件 **14、如下选项所示,哪一种设计所包含的包之间的依赖关系是最不好的?(A)** -![设计所包含的包之间的依赖关系](https://webp.debuginn.com/202303212001634.png) +![设计所包含的包之间的依赖关系](https://static.debuginn.com/202303212001634.png) **15、下面哪一项不是包图中的关系( D )** diff --git a/content/post/software/test-software-quality.md b/content/post/software/test-software-quality.md index c9259de14..29ae40cac 100644 --- a/content/post/software/test-software-quality.md +++ b/content/post/software/test-software-quality.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件质量测试"] categories: ["software"] -image: "https://webp.debuginn.com/202303191356876.jpg" +image: "https://static.debuginn.com/202303191356876.jpg" --- **1、什么是软件、软件的特征有哪些?** @@ -62,7 +62,7 @@ image: "https://webp.debuginn.com/202303191356876.jpg" **7、什么是软件质量控制模型TSQC?** -![TSQC模型](https://webp.debuginn.com/202303191358662.png) +![TSQC模型](https://static.debuginn.com/202303191358662.png) TSQC过程是一个调节和控制那些影响软件质量的参数的过程。隐形软件质量的参数如下: @@ -185,7 +185,7 @@ TSQC过程是PDCA的几个活动的循环。 单元测试、集成测试、系统测试、验收测试、在所有测试过程中始终贯穿着回归测试。 -![软件测试过程V字模型](https://webp.debuginn.com/202303191405290.png) +![软件测试过程V字模型](https://static.debuginn.com/202303191405290.png) **22、软件测试的种类有哪些?** diff --git a/content/post/software/test-software-stat-sequence-diagram.md b/content/post/software/test-software-stat-sequence-diagram.md index 037624137..59d1beaa7 100644 --- a/content/post/software/test-software-stat-sequence-diagram.md +++ b/content/post/software/test-software-stat-sequence-diagram.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303191228166.jpg" +image: "https://static.debuginn.com/202303191228166.jpg" --- @@ -20,7 +20,7 @@ A)用例图 B)类图 C)状态机图 D)流程图 **2、下面中( C )图表示结束状态。** -![结束状态](https://webp.debuginn.com/202303231428357.png) +![结束状态](https://static.debuginn.com/202303231428357.png) **3、UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息序列可用两种类来表示,分别是( D )。** @@ -88,7 +88,7 @@ D.通信图和顺序图不能互换 A.对象 B.箭头线 C.活动 D.状态 -![顺序图](https://webp.debuginn.com/202303231429539.png) +![顺序图](https://static.debuginn.com/202303231429539.png) **16、顺序图描述( D )对象之间消息的传递顺序。** @@ -108,7 +108,7 @@ A.事件 B.对象 C.执行者 D.数据 **20、 下面的状态图描述了一辆汽车的状态,指出哪种说法是错误的( D )** -![汽车的状态](https://webp.debuginn.com/202303231430595.png) +![汽车的状态](https://static.debuginn.com/202303231430595.png) A “运动”状态是一个组成状态,由多个简单状态组成。 @@ -126,7 +126,7 @@ D “前进”状态和“低速”状态是两个顺序子状态。 (A)行为图 (B)状态图 (C)实现图 (D)顺序图 -![交互图](https://webp.debuginn.com/202303231432339.png) +![交互图](https://static.debuginn.com/202303231432339.png) **23、顺序图主要可以为设计人员提供(A)信息。** diff --git a/content/post/software/test-software-triangle-problem.md b/content/post/software/test-software-triangle-problem.md index 3f3d689e6..631ab0b54 100644 --- a/content/post/software/test-software-triangle-problem.md +++ b/content/post/software/test-software-triangle-problem.md @@ -9,7 +9,7 @@ keywords: "软件质量测试" comments: true tags: ["软件质量测试"] categories: ["software"] -image: "https://webp.debuginn.com/202303191412328.jpg" +image: "https://static.debuginn.com/202303191412328.jpg" --- ## 问题描述 @@ -23,9 +23,9 @@ A>0,B>0,C>0,且A+B>C,B+C>A,A+C>B。 ## 等价类划分 -![判定关系表](https://webp.debuginn.com/202303191420550.png) +![判定关系表](https://static.debuginn.com/202303191420550.png) -![等价类划分表](https://webp.debuginn.com/202303191421993.png) +![等价类划分表](https://static.debuginn.com/202303191421993.png) ## 代码实现 diff --git a/content/post/software/test-software-use-case.md b/content/post/software/test-software-use-case.md index f4ad24ada..3abbf49c0 100644 --- a/content/post/software/test-software-use-case.md +++ b/content/post/software/test-software-use-case.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件工程"] categories: ["software"] -image: "https://webp.debuginn.com/202303182313879.jpg" +image: "https://static.debuginn.com/202303182313879.jpg" --- ## 一、选择题 @@ -80,7 +80,7 @@ C.用例 A 包含用例 B D.用例 A 实现用例 B 修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个 人信息进行修改。 删除客户信息:只有公司的管理人员才可以删除不再接受公司服务的客户的信息。 请绘制出相应的用例图** -![电话公司](https://webp.debuginn.com/202303182315280.png) +![电话公司](https://static.debuginn.com/202303182315280.png) **2、 档案管理系统功能性需求说明如下: 用户进入系统前,首先要求用户进行登录,验证通过后允许用户进入本系统操作。用户 的密码需要进行加密算法。 @@ -90,8 +90,8 @@ C.用例 A 包含用例 B D.用例 A 实现用例 B 档案借阅管理人员处理外借登记、归还记录和电子借阅申请两部分。外借模块实现档案 文件的借出登记和归还登记功能。一般用户提出借阅电子文档的请求后,被同意阅读后,文 件将被发送给申请人。 本系统需要实现数据的备份和恢复机制。数据备份操作可以按年度、档案种类等条件做 部分备份或完全备份。数据恢复就是将备份的数据恢复到数据库中。具有批量备份和恢复的 功能。** -![档案管理1](https://webp.debuginn.com/202303182316896.png) +![档案管理1](https://static.debuginn.com/202303182316896.png) -![档案管理2](https://webp.debuginn.com/202303182317405.png) +![档案管理2](https://static.debuginn.com/202303182317405.png) -![档案管理3](https://webp.debuginn.com/202303182317895.png) \ No newline at end of file +![档案管理3](https://static.debuginn.com/202303182317895.png) \ No newline at end of file diff --git a/content/post/software/test-software-vending-mechine.md b/content/post/software/test-software-vending-mechine.md index 7dcf91042..5179e7543 100644 --- a/content/post/software/test-software-vending-mechine.md +++ b/content/post/software/test-software-vending-mechine.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["软件质量测试"] categories: ["software"] -image: "https://webp.debuginn.com/202303191412328.jpg" +image: "https://static.debuginn.com/202303191412328.jpg" --- ## 问题描述 @@ -42,10 +42,10 @@ image: "https://webp.debuginn.com/202303191412328.jpg" 根据最终的因果图生成判定表: -![因果图生成判定表](https://webp.debuginn.com/202303191413964.png) +![因果图生成判定表](https://static.debuginn.com/202303191413964.png) 最后把测试用例写出来: -![测试用例](https://webp.debuginn.com/202303191414741.png) +![测试用例](https://static.debuginn.com/202303191414741.png) 转载自文章: [测试用例设计技术-因果图之二](https://blog.csdn.net/xuhongge/article/details/2627464) \ No newline at end of file diff --git a/content/post/structure/strucrure-algorithm-block-search.md b/content/post/structure/strucrure-algorithm-block-search.md index a4f069149..762809d3b 100644 --- a/content/post/structure/strucrure-algorithm-block-search.md +++ b/content/post/structure/strucrure-algorithm-block-search.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 算法定义 diff --git a/content/post/structure/structure-algorithm-insert-sort.md b/content/post/structure/structure-algorithm-insert-sort.md index daef7cd15..63f3af108 100644 --- a/content/post/structure/structure-algorithm-insert-sort.md +++ b/content/post/structure/structure-algorithm-insert-sort.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 插入排序算法介绍 diff --git a/content/post/structure/structure-avl-tree.md b/content/post/structure/structure-avl-tree.md index d4d30a9d1..312edccf9 100644 --- a/content/post/structure/structure-avl-tree.md +++ b/content/post/structure/structure-avl-tree.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 平衡二叉树介绍 @@ -22,7 +22,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" > 只要是每个子树都满足左子树还有右子树的深度都不超过1即可。 -![二叉树](https://webp.debuginn.com/202304141919433.png) +![二叉树](https://static.debuginn.com/202304141919433.png) **平衡因子** 每一个结点都有各自的平衡因子,表示的就是左子树深度同右子树深度的差。 @@ -36,11 +36,11 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 例如,使用上一节的算法在对查找表{13,24,37,90,53}构建二叉排序树时,当插入 13 和 24 时,二叉排序树此时还是平衡二叉树: -![转化](https://webp.debuginn.com/202304141920380.png) +![转化](https://static.debuginn.com/202304141920380.png) 当继续插入 37 时,生成的二叉排序树如图 (a),平衡二叉树的结构被破坏,此时只需要对二叉排序树做“旋转”操作(如图(b)),即整棵树以结点 24 为根结点,二叉排序树的结构没有破坏,同时将该树转化为了平衡二叉树: -![转化](https://webp.debuginn.com/202304141928279.png) +![转化](https://static.debuginn.com/202304141928279.png) > 当二叉排序树的平衡性被打破时,就如同扁担的两头出现了一头重一头轻的现象,如图(a)所示,此时只需要改变扁担的支撑点(树的树根),就能使其重新归为平衡。实际上(b) 是对(a) 的二叉树做了一个向左逆时针旋转的操作。 @@ -49,7 +49,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 1. 如图 (b) 所示,将结点 53 和 90 整体向右顺时针旋转,使本该以 90 为根结点的子树改为以结点 53 为根结点; 2. 如图 (c) 所示,将以结点 37 为根结点的子树向左逆时针旋转,使本该以 37 为根结点的子树,改为以结点 53 为根结点; -![result](https://webp.debuginn.com/202304141928376.png) +![result](https://static.debuginn.com/202304141928376.png) 做完以上操作,即完成了由不平衡的二叉排序树转变为平衡二叉树。 @@ -59,21 +59,21 @@ image: "https://webp.debuginn.com/202302221903175.jpg" - **单向右旋平衡处理**:若由于结点 a 的左子树为根结点的左子树上插入结点,导致结点 a 的平衡因子由 1 增至 2,致使以 a 为根结点的子树失去平衡,则只需进行一次向右的顺时针旋转,如下图这种情况: -![单向右旋平衡处理](https://webp.debuginn.com/202304141929000.png) +![单向右旋平衡处理](https://static.debuginn.com/202304141929000.png) - **单向左旋平衡处理** :如果由于结点 a 的右子树为根结点的右子树上插入结点,导致结点 a 的平衡因子由 -1变为 -2,则以 a 为根结点的子树需要进行一次向左的逆时针旋转,如下图这种情况: -![单向左旋平衡处理](https://webp.debuginn.com/202304141930205.png) +![单向左旋平衡处理](https://static.debuginn.com/202304141930205.png) - **双向旋转(先左后右)平衡处理** :如果由于结点 a 的左子树为根结点的右子树上插入结点,导致结点 a 平衡因子由 1 增至 2,致使以 a 为根结点的子树失去平衡,则需要进行两次旋转操作,如下图这种情况: -![双向旋转(先左后右)平衡处理](https://webp.debuginn.com/202304141930021.png) +![双向旋转(先左后右)平衡处理](https://static.debuginn.com/202304141930021.png) **注意:图中插入结点也可以为结点 C 的右孩子,则(b)中插入结点的位置还是结点 C 右孩子,(c)中插入结点的位置为结点 A 的左孩子。** - 双向旋转(先右后左)平衡处理:如果由于结点 a 的右子树为根结点的左子树上插入结点,导致结点 a 平衡因子由 -1 变为 -2,致使以 a 为根结点的子树失去平衡,则需要进行两次旋转(先右旋后左旋)操作,如下图这种情况: -![双向旋转平衡处理](https://webp.debuginn.com/202304141931645.png) +![双向旋转平衡处理](https://static.debuginn.com/202304141931645.png) **注意:图中插入结点也可以为结点 C 的右孩子,则(b)中插入结点的位置改为结点 B 的左孩子,(c)中插入结点的位置为结点 B 的左孩子。** diff --git a/content/post/structure/structure-b-plus-tree.md b/content/post/structure/structure-b-plus-tree.md index 2e8dd149c..8a7d86651 100644 --- a/content/post/structure/structure-b-plus-tree.md +++ b/content/post/structure/structure-b-plus-tree.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## B+树定义 @@ -24,7 +24,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 例如,下图中所示的就是一棵深度为 4 的 3 阶 B+树: -![b+ tree](https://webp.debuginn.com/202304142210301.png) +![b+ tree](https://static.debuginn.com/202304142210301.png) 如上图所示,B+树中含有两个头指针,一个指向整棵树的根结点,另一个指向关键字最小的叶子结点。同时所有的叶子结点依据其关键字的大小自小而大顺序链接,所有的叶子结点构成了一个 sqt 指针为头指针的链表。 diff --git a/content/post/structure/structure-b-tree.md b/content/post/structure/structure-b-tree.md index aa3d9f420..a0902f8fb 100644 --- a/content/post/structure/structure-b-tree.md +++ b/content/post/structure/structure-b-tree.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## B-树定义 @@ -24,7 +24,7 @@ B-树,有时又写为B_树(其中的“-”或者“-_只是连字符,并 > n 表示结点中包含的关键字的个数,取值范围是:⌈m/2⌉-1≤ n ≤m-1。Ki (i 从 1 到 n)为关键字,且 Ki < Ki+1 ;Ai 代表指向子树根结点的指针,且指针 Ai-1 所指的子树中所有结点的关键字都小于 Ki,An 所指子树中所有的结点的关键字都大于 Kn。 -![节点](https://webp.debuginn.com/202304142214771.png) +![节点](https://static.debuginn.com/202304142214771.png) 如图所示,当前结点中有 4 个关键字,之间的关系为:K1 提示:如上图所示,结点分裂为两个结点的同时,还分裂出来一个关键字 K⌈m/2⌉,存储到其双亲结点中。 @@ -111,7 +111,7 @@ B-树也是从空树开始,通过不断地插入新的数据元素构建的。 例如在上边插入关键字的原始图中删除关键字 50,其右兄弟结点 g 中的关键字大于2,所以需要将结点 g 中最小的关键字 61 上移到其双亲结点 e 中(由此 e 中结点有:53,61,90),然后将小于 61 且紧靠 61 的关键字 53 下移到结点 f 中,最终删除后的 B-树如图所示。 -![删除节点 50](https://webp.debuginn.com/202304142220726.png) +![删除节点 50](https://static.debuginn.com/202304142220726.png) 上图删除结点50后的B-树 @@ -119,19 +119,19 @@ B-树也是从空树开始,通过不断地插入新的数据元素构建的。 例如,在上图中 B-树中删除关键字 53,由于其有右兄弟,且右兄弟结点中只有 1 个关键字。在删除关键字 53 后,结点 f 中只剩指向叶子结点的空指针,连同双亲结点中的 61(因为 61 右侧指针指向的兄弟结点 g)一同合并到结点 g 中,最终删除 53 后的 B-树为: -![删除节点 53](https://webp.debuginn.com/202304142221058.png) +![删除节点 53](https://static.debuginn.com/202304142221058.png) 上图删除结点53后的B-树。 在合并的同时,由于从双亲结点中删除一个关键字,若导致双亲结点中关键字数目小于⌈m/2⌉-1,则继续按照该规律进行合并。例如在上图中 B-树的情况下删除关键字 12 时,结点 c 中只有一个关键字,然后做删除关键字 37 的操作。此时在删除关键字 37 的同时,结点 d 中的剩余信息(空指针)同双亲结点中的关键字 24 一同合并到结点 c 中,效果图为: -![删除节点 37](https://webp.debuginn.com/202304142221785.png) +![删除节点 37](https://static.debuginn.com/202304142221785.png) 上图删除结点 37后的效果图。 由于结点 b 中一个关键字也没有,所以破坏了B-树的结构,继续整合。在删除结点 b 的同时,由于 b 中仅剩指向结点 c 的指针,所以连同其双亲结点中的 45 一同合并到其兄弟结点 e 中,最终的B-树为: -![删除节点后](https://webp.debuginn.com/202304142222060.png) +![删除节点后](https://static.debuginn.com/202304142222060.png) 上图删除37后的B-树。 diff --git a/content/post/structure/structure-binary-sort-tree.md b/content/post/structure/structure-binary-sort-tree.md index e32052dcc..a173dcba9 100644 --- a/content/post/structure/structure-binary-sort-tree.md +++ b/content/post/structure/structure-binary-sort-tree.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 定义 @@ -23,7 +23,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 例如,下图就是一个二叉排序树: -![二叉排序树](https://webp.debuginn.com/202304142202688.png) +![二叉排序树](https://static.debuginn.com/202304142202688.png) ## 二叉排序树关键字的操作 @@ -84,7 +84,7 @@ c++ 例如,假设原二叉排序树为空树,在对动态查找表 `{3,5,7,2,1}` 做查找以及插入操作时,可以构建出一个含有表中所有关键字的二叉排序树,过程如图 所示: -![插入数](https://webp.debuginn.com/202304142204171.png) +![插入数](https://static.debuginn.com/202304142204171.png) 通过不断的查找和插入操作,最终构建的二叉排序树如图 (5) 所示。当使用中序遍历算法遍历二叉排序树时,得到的序列为:1 2 3 5 7 ,为有序序列。 @@ -102,7 +102,7 @@ c++ - 令结点 p 的左子树为其双亲结点的左子树;结点 p 的右子树为其自身直接前驱结点的右子树,如图所示; - 用结点 p 的直接前驱(或直接后继)来代替结点 p,同时在二叉排序树中对其直接前驱(或直接后继)做删除操作。如图为使用直接前驱代替结点 p: -![删除节点](https://webp.debuginn.com/202304142205621.png) +![删除节点](https://static.debuginn.com/202304142205621.png) > 在对左图进行中序遍历时,得到的结点 p 的直接前驱结点为结点 s,所以直接用结点 s 覆盖结点 p,由于结点 s 还有左孩子,根据第 2 条规则,直接将其变为双亲结点的右孩子。 @@ -258,7 +258,7 @@ int main() 使用二叉排序树在查找表中做查找操作的时间复杂度同建立的二叉树本身的结构有关。即使查找表中各数据元素完全相同,但是不同的排列顺序,构建出的二叉排序树大不相同。 例如:查找表 `{45,24,53,12,37,93}` 和表 `{12,24,37,45,53,93}` 各自构建的二叉排序树图下图所示: -![二叉排序树](https://webp.debuginn.com/202304142207320.png) +![二叉排序树](https://static.debuginn.com/202304142207320.png) 使用二叉排序树实现动态查找操作的过程,实际上就是从二叉排序树的根结点到查找元素结点的过程,所以时间复杂度同被查找元素所在的树的深度(层次数)有关。 diff --git a/content/post/structure/structure-half-search.md b/content/post/structure/structure-half-search.md index 6e4144a33..da3137a49 100644 --- a/content/post/structure/structure-half-search.md +++ b/content/post/structure/structure-half-search.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 算法原理 diff --git a/content/post/structure/structure-huffman-tree.md b/content/post/structure/structure-huffman-tree.md index f5a770b96..d4439e775 100644 --- a/content/post/structure/structure-huffman-tree.md +++ b/content/post/structure/structure-huffman-tree.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 与哈夫曼树相关名词 @@ -25,7 +25,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 树的带权路径长度为树中所有叶子结点的带权路径长度之和。通常记作 “WPL” 。 -![哈夫曼树](https://webp.debuginn.com/202304141934409.png) +![哈夫曼树](https://static.debuginn.com/202304141934409.png) 此树的带全路径长度为: @@ -45,7 +45,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 2. 在原有的 n 个权值中删除那两个最小的权值,同时将新的权值加入到 n–2 个权值的行列中,以此类推; 3. 重复 1 和 2 ,直到所以的结点构建成了一棵二叉树为止,这棵树就是哈夫曼树。 -![构建哈夫曼树](https://webp.debuginn.com/202304141935930.png) +![构建哈夫曼树](https://static.debuginn.com/202304141935930.png) - (A)给定了四个结点a,b,c,d,权值分别为7,5,2,4; - 第一步如(B)所示,找出现有权值中最小的两个,2 和 4 ,相应的结点 c 和 d 构建一个新的二叉树,树根的权值为 2 + 4 = 6,同时将原有权值中的 2 和 4 删掉,将新的权值 6 加入; @@ -137,7 +137,7 @@ void Select(HuffmanTree HT, int end, int *s1, int *s2) > 文本中字符出现的次数越多,在哈夫曼树中的体现就是越接近树根。编码的长度越短。 -![哈夫曼编码](https://webp.debuginn.com/202304142149107.png) +![哈夫曼编码](https://static.debuginn.com/202304142149107.png) 如图所示,字符 a 用到的次数最多,其次是字符 b 。字符 a 在哈夫曼编码是 0 ,字符 b 编码为 10 ,字符 c 的编码为 110 ,字符 d 的编码为 111 。 diff --git a/content/post/structure/structure-key-tree-search.md b/content/post/structure/structure-key-tree-search.md index 6a0c2df14..b25a724c5 100644 --- a/content/post/structure/structure-key-tree-search.md +++ b/content/post/structure/structure-key-tree-search.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 定义 @@ -39,7 +39,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 然后使用键树结构表示该查找表,如下图所示: -![键树](https://webp.debuginn.com/202304141856996.png) +![键树](https://static.debuginn.com/202304141856996.png) > 注意 :键树中叶子结点的特殊符号 \$ 为结束符,表示字符串的结束。使用键树表示查找表时,为了方便后期的查找和插入操作,约定键树是有序树(兄弟结点之间自左至右有序),同时约定结束符 ‘\$’ 小于任何字符。 @@ -62,7 +62,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 上图中键树用孩子兄弟表示法表示为双链树时,如下图所示: -![孩子兄弟表示法](https://webp.debuginn.com/202304141900499.png) +![孩子兄弟表示法](https://static.debuginn.com/202304141900499.png) > 提示:每个关键字的叶子结点 \$ 的 infoptr 指针指向的是各自的关键字,通过该指针就可以找到各自的关键字的首地址。 @@ -126,7 +126,7 @@ DLTree SearchChar(DLTree T, KeysType k){ 开始的键树,采用字典树表示如下图所示: -![字典树](https://webp.debuginn.com/202304141903096.png) +![字典树](https://static.debuginn.com/202304141903096.png) > 注意:在 Trie 树中,如果从某个结点一直到叶子结点都只有一个孩子,这些结点可以用一个叶子结点来代替,例如 ZHAO 就可以直接作为叶子结点。 diff --git a/content/post/structure/structure-merge-and-sort.md b/content/post/structure/structure-merge-and-sort.md index 91ba7cbd6..c50e310c3 100644 --- a/content/post/structure/structure-merge-and-sort.md +++ b/content/post/structure/structure-merge-and-sort.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["algorithm","sort","structure"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- 在 v2ex 社区看到有人提问怎么把十万个电话号码排出出现次数最多的十个电话号码,我看到这个问题的时候第一时间想到的是将十万个电话号码读出来放到 Redis 中,之后做一个动态计数器,使用 foreach 函数对这个电话号码进行遍历,以电话号码为索引 key,计数器 value 进行自增,最后求出最多的电话号码,这样最后时间复杂度为 O(n),不是一个好的解决方案,之后我看到评论区,有人提出使用归并排序,原理是一样的,不过可以将十万个电话号码平均分成十组,之后每组查找电话号码最多的十个号码,最后将十组最多的号码取出来再次进行相加排序,最后得到的最多的十个号码就是十万个电话号码中出现次数最多的号码。 @@ -24,13 +24,13 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 采用**分治思想**,将一个问题拆分为若干个问题,之后将若干个问题解决,最后将若干个结果进行合并,即最终结果。 -![归并排序](https://webp.debuginn.com/202303122243108.jpeg) +![归并排序](https://static.debuginn.com/202303122243108.jpeg) ## 分治合并 在合并结果阶段,可以看到两个子结果的求解数组为`[1, 2, 6]` 和 `[3, 4, 5]`,将子数组合并排序为 `[1, 2, 3, 4, 5, 6]`。 -![分治合并](https://webp.debuginn.com/202303122244127.jpeg) +![分治合并](https://static.debuginn.com/202303122244127.jpeg) ## 算法实现 diff --git a/content/post/structure/structure-nonlinear-structure.md b/content/post/structure/structure-nonlinear-structure.md index 4b2f744cc..7d92a0d74 100644 --- a/content/post/structure/structure-nonlinear-structure.md +++ b/content/post/structure/structure-nonlinear-structure.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 树 diff --git a/content/post/structure/structure-static-tree-table-lookup.md b/content/post/structure/structure-static-tree-table-lookup.md index 00e852526..f3f419f9a 100644 --- a/content/post/structure/structure-static-tree-table-lookup.md +++ b/content/post/structure/structure-static-tree-table-lookup.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["笔记", "数据结构"] categories: ["algorithm"] -image: "https://webp.debuginn.com/202302221903175.jpg" +image: "https://static.debuginn.com/202302221903175.jpg" --- ## 算法思想 @@ -27,7 +27,7 @@ image: "https://webp.debuginn.com/202302221903175.jpg" 在查找表中各关键字查找概率不相同的情况下,对于使用折半查找算法,按照之前的方式进行,其查找的效率并不一定是最优的。例如,某查找表中有 5 个关键字,各关键字被查找到的概率分别为:0.1,0.2,0.1,0.4,0.2(全部关键字被查找概率和为 1 ),则根据之前介绍的折半查找算法,建立相应的判定树为(树中各关键字用概率表示): -![判定树公式](https://webp.debuginn.com/202304132328870.png) +![判定树公式](https://static.debuginn.com/202304132328870.png) 折半查找查找成功的平均查找长度计算方式: @@ -47,7 +47,7 @@ ASL=0.41 + 0.22 + 0.22 + 0.13 + 0.1*3=1.8 首先取出查找表中每个关键字及其对应的权值,采用如下公式计算出每个关键字对应的一个值: -![构建二叉树](https://webp.debuginn.com/202304132329596.png) +![构建二叉树](https://static.debuginn.com/202304132329596.png) > 其中 wj 表示每个关键字的权值(被查找到的概率),h 表示关键字的个数。 @@ -101,23 +101,23 @@ void SecondOptimal(BiTree T, ElemType R[], float sw[], int low, int high){ 例如,一含有 9 个关键字的查找表及其相应权值如下表所示: -![查找表](https://webp.debuginn.com/202304132330104.png) +![查找表](https://static.debuginn.com/202304132330104.png) 则构建次优查找树的过程如下: 首先求出查找表中所有的 △P 的值,找出整棵查找表的根结点: -![查找根节点](https://webp.debuginn.com/202304132331426.png) +![查找根节点](https://static.debuginn.com/202304132331426.png) > 例如,关键字 F 的 △P 的计算方式为:从 G 到 I 的权值和 – 从 A 到 E 的权值和 = 4+3+5-1-1-2-5-3 = 0。 通过上图左侧表格得知,根结点为 F,以 F 为分界线,左侧子表为 F 结点的左子树,右侧子表为 F 结点的右子树(如上图右侧所示),继续查找左右子树的根结点: -![继续查找](https://webp.debuginn.com/202304132331288.png) +![继续查找](https://static.debuginn.com/202304132331288.png) 通过重新分别计算左右两查找子表的 △P 的值,得知左子树的根结点为 D,右子树的根结点为 H (如上图右侧所示),以两结点为分界线,继续判断两根结点的左右子树: -![判定](https://webp.debuginn.com/202304132332976.png) +![判定](https://static.debuginn.com/202304132332976.png) 通过计算,构建的次优查找树如上图右侧二叉树所示。 diff --git a/content/post/summary/debuginn-2018.md b/content/post/summary/debuginn-2018.md index ab8e15305..45db773bb 100644 --- a/content/post/summary/debuginn-2018.md +++ b/content/post/summary/debuginn-2018.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["Debug客栈","2018","2019","年度总结"] categories: ["summary"] -image: "https://webp.debuginn.com/202304121931935.jpg" +image: "https://static.debuginn.com/202304121931935.jpg" --- 转眼之间,自己已经成了大三狗了,记得上一年,自己还是一个刚有目标,刚有理想的孩子,现在已经转身一变,变成一块老腊肉了,?,再过一年的时间,自己将走向社会,去赚取自己人生过程中的真正的第一桶金。 diff --git a/content/post/summary/debuginn-2019.md b/content/post/summary/debuginn-2019.md index 33ec03d22..e18eab4ac 100644 --- a/content/post/summary/debuginn-2019.md +++ b/content/post/summary/debuginn-2019.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["Debug客栈","2020","2019","年度总结"] categories: ["summary"] -image: "https://webp.debuginn.com/202304121931935.jpg" +image: "https://static.debuginn.com/202304121931935.jpg" --- 2019年,这一年来是我经历最多的一年,上半年的我还在学校上着学校学年安排的课程,谈着美好的校园恋爱,下半年就脱离了校园生活,开始独自一人的北漂生活,这一年来也是这个社会变化较大的一年,5G 的商业化的元年,最难就业的一年,等等,这一年现在告诉自己,我坚持了下来,在这个多变的社会生存了下来,顺利找到了实习工作,从**校园实验室**生活转变为**两点一线的上班生活**,开始了不一样的生活体验。 @@ -44,10 +44,10 @@ image: "https://webp.debuginn.com/202304121931935.jpg" 用户访问量:8125,事件数:9.5万,新用户数:2.1万。 -![用户访问量](https://webp.debuginn.com/202303161958776.png) +![用户访问量](https://static.debuginn.com/202303161958776.png) -![用户访问量](https://webp.debuginn.com/202303161958253.png) +![用户访问量](https://static.debuginn.com/202303161958253.png) Google Analytics 在线报告:[点击此处访问](https://analytics.google.com/analytics/web/#/p207970635/reports/home?params=_u..nav%3Dga1-experimental%26_u.dateOption%3DyearToDate%26_u.comparisonOption%3Ddisabled%26_r.4..cardDateRange%3Dcustom%26_r.4..date00%3D20190820%26_r.4..date01%3D20191227)(需墙) -![2020年,新年快乐](https://webp.debuginn.com/202303161959295.jpg) \ No newline at end of file +![2020年,新年快乐](https://static.debuginn.com/202303161959295.jpg) \ No newline at end of file diff --git a/content/post/summary/debuginn-2020.md b/content/post/summary/debuginn-2020.md index 6deb96cb2..bebd6f2b0 100644 --- a/content/post/summary/debuginn-2020.md +++ b/content/post/summary/debuginn-2020.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["Debug客栈","2020","2021","年度总结"] categories: ["summary"] -image: "https://webp.debuginn.com/202302272141603.jpeg" +image: "https://static.debuginn.com/202302272141603.jpeg" --- 今年,最大的感受就是时间过的太快了,一切都是那么的来不及 ...... @@ -25,7 +25,7 @@ image: "https://webp.debuginn.com/202302272141603.jpeg" 今年是小站运行的第 4 年,感谢大家的支持与访问,这是我分享的天地、同时也是见证我成长的地方,加油~ 一往无前 !!! -![2020 年度访问](https://webp.debuginn.com/202302272142177.png) +![2020 年度访问](https://static.debuginn.com/202302272142177.png) ## 最受欢迎的文章 diff --git a/content/post/summary/debuginn-2021-emmm.md b/content/post/summary/debuginn-2021-emmm.md index 7565b646a..e29226a90 100644 --- a/content/post/summary/debuginn-2021-emmm.md +++ b/content/post/summary/debuginn-2021-emmm.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["碎碎念"] categories: ["summary"] -image: "https://webp.debuginn.com/202302272116330.jpeg" +image: "https://static.debuginn.com/202302272116330.jpeg" --- 距离最后一篇博文 《Go 语言开发设计指北》发布已经过去一个多月的时间了,在这一段的时间里,在看了大量的书籍?,在工作上安排的工作都比较得心应手,时间还算比较充裕,但是懒惰心里没有丝毫退去 ?,这样是不行的,很容易让自己的思维和学习能力下降。 diff --git a/content/post/summary/debuginn-2021.md b/content/post/summary/debuginn-2021.md index 12335804a..550abbbef 100644 --- a/content/post/summary/debuginn-2021.md +++ b/content/post/summary/debuginn-2021.md @@ -9,7 +9,7 @@ keywords: "Debug客栈,2021,2022,年度总结" comments: true tags: ["Debug客栈","2021","2022","年度总结"] categories: ["summary"] -image: "https://webp.debuginn.com/202302262128413.jpg" +image: "https://static.debuginn.com/202302262128413.jpg" --- 今年,时间依旧飞快流逝,转眼间,自己已经毕业了小2年了,渐渐的自己开始习惯了北漂的生活,一个人的北京,自由与孤独同在。也体会到了离家远的遗憾,远的连奶奶最后一面也没有见到,第一次感受到了亲人阴阳两隔的无奈与悲哀。疫情 😷 在全球范围内还在持续,国内偶尔也零星的出现,但愿 22 年疫情结束,全世界人们都可以回归到疫情之前,和爱人、亲人、朋友去想去的地方,去探索多彩的世界。 @@ -18,9 +18,9 @@ image: "https://webp.debuginn.com/202302262128413.jpg" [2021年统计数据共享链接](https://analytics.google.com/analytics/web/#/p260538804/reports/reportinghub?params=_u.dateOption%3DyearToDate%26_u.comparisonOption%3Ddisabled) -![访问数据](https://webp.debuginn.com/202302262132632.png) +![访问数据](https://static.debuginn.com/202302262132632.png) -![访问国家/地区](https://webp.debuginn.com/202302262133191.png) +![访问国家/地区](https://static.debuginn.com/202302262133191.png) 今年,写了一些在工作中使用到的 Golang 的一些技巧及思考,以及一些规范。 diff --git a/content/post/summary/debuginn-2022.md b/content/post/summary/debuginn-2022.md index a5392ffb0..2f8e61254 100644 --- a/content/post/summary/debuginn-2022.md +++ b/content/post/summary/debuginn-2022.md @@ -5,7 +5,7 @@ keywords: "Debug客栈,2022,2023,年度总结" comments: true tags: ["Debug客栈","2022","2023","年度总结"] categories: ["summary"] -image: "https://webp.debuginn.com/202302251041682.jpg" +image: "https://static.debuginn.com/202302251041682.jpg" --- 今年,时光依旧不饶人,步入社会以来,时间就似乎不会慢下来,都在光速飞逝,很遗憾,今年疫情依旧没有结束,3 月份的时候还作为密切接触者被隔离了 21 天,总的来说,今年有悲伤同时又十分幸运,感觉冥冥之中都是安排好的。 @@ -14,15 +14,15 @@ image: "https://webp.debuginn.com/202302251041682.jpg" [2022年统计数据共享链接](https://analytics.google.com/analytics/web/#/p260538804/reports/reportinghub?params=_u.dateOption%3DyearToDate%26_u.comparisonOption%3Ddisabled) -![访客地图](https://webp.debuginn.com/202302251044940.jpg) +![访客地图](https://static.debuginn.com/202302251044940.jpg) -![访客数量 & top 文章](https://webp.debuginn.com/202302251044112.jpg) +![访客数量 & top 文章](https://static.debuginn.com/202302251044112.jpg) ## 摄影专区 今年为了兴趣爱好买了一台微单 索尼 α6400+18135 镜头,同时,也想着把自己的摄影作品呈现给大家,每年我都会更新一批图片到这里,选 10 张自己认为比较好的图片拿来展出,水平不高,但是每一张照片背后都有属于它的专属意义。[直达链接](https://photo.debuginn.com) -![摄影站点](https://webp.debuginn.com/202302251045907.jpg) +![摄影站点](https://static.debuginn.com/202302251045907.jpg) ## 年度事件 @@ -30,7 +30,7 @@ image: "https://webp.debuginn.com/202302251041682.jpg" 记得在 3 月份的某一天,突然接到领导通知,大家全体居家办公,具体情况听通知,不得外出,下午就接到了确认密接的防疫办的电话,让在家等着去集中隔离,由于密接人数比较多,第二天下午才安排到酒店隔离,一切安排都没有那么混乱,大家都有序进行隔离入住,庆幸的是,隔离的地方还不错,至少可以安心的在隔离期间办公了,隔离期间还下了一场雪,别有一番风景。 -![隔离期间的雪](https://webp.debuginn.com/202302251046480.jpeg) +![隔离期间的雪](https://static.debuginn.com/202302251046480.jpeg) 隔离期间,大家互相勉励,配合大白检测,大家都很有信心,隔离结束之后,得知大家作为密接都没有被感染 😷,像是一个奇迹,大家都好好滴,同时也传来了确诊同事阳转阴的好消息。 @@ -82,7 +82,7 @@ ps:不过多介绍,还有下文哦~ 今年倾心打造自己的技术主页,术业有专攻,对自己在技术专业能力方面在 23年有更高的要求,同时希望自己在技术圈可以成为有影响力的人,来帮助更多的同行,同时也在不断的提升自己,[直达链接](https://github.com/debuginn)。 -![Meng小羽的 GitHub 个人页面](https://webp.debuginn.com/202302251051076.jpg) +![Meng小羽的 GitHub 个人页面](https://static.debuginn.com/202302251051076.jpg) ## 总结 diff --git a/content/post/summary/debuginn-2023-rss.md b/content/post/summary/debuginn-2023-rss.md index d6417d16d..50c979fb6 100644 --- a/content/post/summary/debuginn-2023-rss.md +++ b/content/post/summary/debuginn-2023-rss.md @@ -6,7 +6,7 @@ keywords: "Debug客栈,Feed,RSS,订阅" comments: true tags: ["Debug客栈","Feed","RSS","订阅"] categories: ["summary"] -image: "https://webp.debuginn.com/202312042307782.jpeg" +image: "https://static.debuginn.com/202312042307782.jpeg" --- ## 什么是 RSS @@ -31,7 +31,7 @@ RSS 作为 1999 年诞生的技术,并在 2009 年更新完最后一版本后 针对你感兴趣的网站,一般网站都会有类似彩虹 🌈 的表示,如下图: -![RSS订阅](https://webp.debuginn.com/202312031744451.png) +![RSS订阅](https://static.debuginn.com/202312031744451.png) 当然,你要是感觉我的内容对你有帮助,欢迎通过 RSS 订阅,[订阅地址](/subscribe)。 @@ -60,7 +60,7 @@ Netnewswire 是一款开源的 IOS/MacOS 的阅读器,他支持 iCloud 云备 安装好,通过点击图标,可以查看网站支持的订阅方式以及订阅的内容范围,可以便捷的跳转到阅读器进行订阅。 -![RSSHub Radar](https://webp.debuginn.com/202312031800365.png) +![RSSHub Radar](https://static.debuginn.com/202312031800365.png) ## 订阅分享 @@ -128,6 +128,6 @@ Netnewswire 是一款开源的 IOS/MacOS 的阅读器,他支持 iCloud 云备 | Tony Bai | https://tonybai.com | https://tonybai.com/feed | GO | | -OPML 订阅文件:[Feed订阅源文件](https://webp.debuginn.com/202312032154291.opml) +OPML 订阅文件:[Feed订阅源文件](https://static.debuginn.com/202312032154291.opml) 最后,你要有认为值得推荐的或者有价值的博客,都可以在评论区分享出来,让我们站在巨人的肩膀上变得更强~ \ No newline at end of file diff --git a/content/post/summary/debuginn-2023.md b/content/post/summary/debuginn-2023.md index 6a1f278aa..15da5a273 100644 --- a/content/post/summary/debuginn-2023.md +++ b/content/post/summary/debuginn-2023.md @@ -5,7 +5,7 @@ keywords: "Debug客栈,2023,2024,年度总结" comments: true tags: ["Debug客栈","2023","2024","年度总结"] categories: ["summary"] -image: "https://webp.debuginn.com/202312221929863.jpg" +image: "https://static.debuginn.com/202312221929863.jpg" --- ## 工作 @@ -18,9 +18,9 @@ image: "https://webp.debuginn.com/202312221929863.jpg" 今年由于站点域名和子域名的调整,统计开始包含自己的子域名访问记录,由于期间有部分访问记录丢失,环比指标都有下降,不过随着自己开始专注于文章的输出,情况开始变好。 -![访问人数](https://webp.debuginn.com/202312231204963.png) +![访问人数](https://static.debuginn.com/202312231204963.png) -![访问国家](https://webp.debuginn.com/202312231209707.png) +![访问国家](https://static.debuginn.com/202312231209707.png) 由于自己重新调整了博客链接组织结构,404 的页面一直占据着很高的比例 😂。 @@ -41,7 +41,7 @@ image: "https://webp.debuginn.com/202312221929863.jpg" 今年由于自己博客迁移到了 [Github](https://github.com/debuginn),所以说活跃多了起来 🐶。 -![github-2023](https://webp.debuginn.com/202312231221971.png) +![github-2023](https://static.debuginn.com/202312231221971.png) ## 生活 @@ -63,7 +63,7 @@ image: "https://webp.debuginn.com/202312221929863.jpg" Debug客栈摄影展:[https://photo.debuginn.com](https://photo.debuginn.com) -![摄影展](https://webp.debuginn.com/202312311401449.jpg) +![摄影展](https://static.debuginn.com/202312311401449.jpg) ## 阅读 diff --git a/content/post/summary/debuginn-hugo-blog.md b/content/post/summary/debuginn-hugo-blog.md index ca3428335..eee5b2319 100644 --- a/content/post/summary/debuginn-hugo-blog.md +++ b/content/post/summary/debuginn-hugo-blog.md @@ -10,7 +10,7 @@ comment: false weight: 0 tags: [ "Debug客栈" ] categories: [ "summary" ] -image: "https://webp.debuginn.com/202401082202363.jpg" +image: "https://static.debuginn.com/202401082202363.jpg" --- 经历了三个月的整体站点迁移,数据的修复,网站的搭建,目前全站代码已经完成 github 代码托管部署,主站点重新调整设计,以后就不需要关心网站的动态部署问题了,代码托管的部署方式更有利于版本的迭代与维护,同时博客站点使用的是 markdown 文章,不必使用后台,也避免了被暴力破解的风险,接下来持续输出,更加注重文章的质量与水平,多输入多输出。 diff --git a/content/post/summary/debuginn-increase-visit.md b/content/post/summary/debuginn-increase-visit.md index bb0c524a9..5b3a2e081 100644 --- a/content/post/summary/debuginn-increase-visit.md +++ b/content/post/summary/debuginn-increase-visit.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["技术","博文"] categories: ["summary"] -image: "https://webp.debuginn.com/202303261138384.jpg" +image: "https://static.debuginn.com/202303261138384.jpg" --- 看到别人翻译的一篇文章,是讨论如何提高博客访问量的,提到的有几个方法蛮有新意,不过不赞成原文的“在聚合中只输出摘要”的方法。 diff --git a/content/post/summary/debuginn-write-blog.md b/content/post/summary/debuginn-write-blog.md index aa1e593b4..5907bed73 100644 --- a/content/post/summary/debuginn-write-blog.md +++ b/content/post/summary/debuginn-write-blog.md @@ -10,7 +10,7 @@ comments: true weight: 0 tags: ["技术","博文"] categories: ["summary"] -image: "https://webp.debuginn.com/202302272135755.jpg" +image: "https://static.debuginn.com/202302272135755.jpg" --- 2021 年的一月份马上就过去了,在这一个月中,并没有新鲜出炉的博文,恰恰相反的是我这一个月以来,在思考,自己的博客怎么输出高质量有水平的文章,正如一首优美的旋律,怎么听都可以让人回味无穷,每一遍都有自己的收获。