5分钟教你免费搭建个人博客,并部署上线!

5 分钟快速搭建好你的个人站点 Hexo 是一个快速、简洁且高效的博客框架,它使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用其众多的靓丽主题生成静态网页。正是这种简单、免费和可扩展的特性,Hexo 越来越受到程序员的喜爱。这里我们通过一个详细的教程,给大家演示一下如何在 5 分钟内搭建并部署好一个个人站点(博客)。 我们使用 Hexo 框架来搭建博客站点,同时将站点托管到 LeanCloud 平台的「云引擎」之上,以完成最终的部署上线。闲言少叙,书归正文,我们看看具体的步骤是什么样子的。 1.安装依赖 Hex. 阅读详情

与博客有关的应聘回忆

博客作为个人平时知识总结的空间,不仅帮助我们记录一些学到的知识内容,也能同时创建一个自己所为的品牌,让更多人认识你,这一点在你应聘的时候可是一份底牌哦!

记得从第一家公司跳槽面试时,一面的HR上来就问我:

“作为软件从业者,平时有在优快云上写博客的习惯吗?”

我的回答是:“没有,优快云上满篇的广告。”

然而没等我说出下一句,我一直在简书上写文章,HR已经微微一笑要清场了...我想一定是我的清扬洗发水不小心买成了清场,才造成了这一次令我终身难忘的面试回忆...

博客的选择

当前互联网上的博客平台数不胜数,博客园、优快云、简书、掘金、OSCHINA、豆瓣、知乎、Github(也算吧...) 等等,之前比较喜欢博客园,但由于维护能力跟不上,app等太过简陋就放弃了,之后辗转csdn、oschina,都因为铺天盖地的广告让人觉得索然无味。刚好在2013年,简书平台成立了,那时候的简书简直堪称外貌协会的心意之所。不管是暖暖的配色设计,还是优秀的手机app使用效果,都堪称当时经典。于是果断入坑,但因为17年换手机,导致历史账号丢失,被迫新起账号重头再来。

博客平台的致命弊端

之前在群里听过这么一个笑话,一个大佬的知乎文章被别人剽窃,然后他申诉举报该用户 。然后第二天,他和那个人的账号都被封停了,因为举报提供的原文链接中有自己公众号的二维码,多么反转的一个故事。。。

其实很早就开始关注一些大佬们自己搭建博客写文章的操作,但一直觉得简书当前挺好,也就没太关注,直到今年10月简书开始了和其他平台一样的大清洗,所有在文章中粘贴有二维码,引导链接的文章全部封停,一瞬间锁定了我50多篇的文章,虽然这一举动在其他平台早有规定,但无通知的突然锁定,还是让人心寒。自己搭建个人博客的想法也就此展开。

文章被锁定

个人博客工具选型

既然决定搭建个人博客,那么我们该用什么工具来实现呢?在此之前,我们首先需要了解博客的分类。

博客在广义上其实可以分为两类,源码搭建博客和静态配置博客。

前者我们需要自己开发,或者从网上找一个开源的博客项目,之后购买一台服务器,搭建自己的博客项目。

而后者,则是使用一些前端工具,将你的文章生成一个个人博客。

源码搭建博客,这个你不仅要考虑网站的代码逻辑与安全性,还涉及后期大量时间的维护,费时费力,对于我这种懒人是不会考虑的。

那么,搭建静态博客的工具,我们该如何选择呢?

  • Hexo
  • Sphinx
  • Docsify
  • Jekyll
  • ... ...

hexo、sphinx、Docsify在使用时需要依赖Nodejs,而Jekyll则依赖Ruby,作为爱国青年(其实是懒得接触),Ruby我是肯定不会考虑的,难么剩下的三种工具该如何选择呢?Hexo和Sphinx有一个问题,我们每次部署前需要将写好的markdown编译成html后再进行发布,而Docsify无需编译,只要自己简单创建简单的路由,即可支持markdown直接发布网站,那么该怎么选择,你懂了吧....

Docsify的安装

刚才说到Docsify需要依赖Nodejs,那么我们的电脑首先需要安装它。这个网上教程就太多了,进入nodejs中文官网下载:

http://nodejs.cn/download/

安装好后,简单确认即可:

安装Nodejs

接下来我们就可以通过Nodejs下的npm命令安装Docsify了,但再次之前,你需要配置一下npm的淘宝仓库地址,不然下载超时是没跑的。

# 使用淘宝镜像
npm config set registry https://registry.npm.taobao.org
# 验证是否ok
npm config get registry

下来,我们使用 npm i docsify-cli -g命令完成安装即可。

安装完成后,输入docsify -v 来查看是否安装ok

Docsify安装验证

创建博客仓库

安装好Docsify后,我们就可以开始搭建自己的博客项目了,NONONO,请先创建一个Git仓库,用于一会儿发布你的博客。个人推荐使用码云,而非Github。不仅访问速度,还牵扯搭建与认证方式。我已经吧github上的代码全部迁移到码云了,之后github可能就不怎么使用了,网络实在是不给力,与其辛苦翻墙,为啥不用更方便的仓库呢?

我的码云
  1. 注册/登录码云: https://gitee.com/
  1. 然后创建自己的项目

    新建仓库
  2. Clone 并完成首次提交

    mkdir BlogTest
    cd BlogTest
    git init
    touch README.md
    echo # BreezePython >> README.md
    git add README.md
    git commit -m "first commit"
    git remote add origin https://gitee.com/BreezePython/BlogTest.git
    git push -u origin master
首次提交

初始化博客项目

刚才我们的命令已经创建并进入了BlogTest目录,下来就可以创建静态博客项目了:

  1. 在博客目录下执行初始化操作

    docsify init . 然后输入y 进行确认,此时我们就创建好了初始目录

    Docsify初始目录

    我们初始化后的目录内会存在一个.nojekyll的空文件,这个文件的作用是,在你提交代码到git仓库后,可以避免仓库忽略开头的文件,因为Docsify的很多文件都是以开头的。

    另外一个index.html文件,就是Docsify唯一的配置文件。我们只需要维护这个入口html文件,即可完成所有的博客搭建操作。

  2. 下来我们启动本地服务,查看下效果:

    # 输入本地启动命令
    docsify serve .
    
    Serving D:\BlogTest now.
    Listening at http://localhost:3000

    访问 http://localhost:3000 查看

    启动博客

    如果显示如上表示我们初始化博客的工作已经完成,BreezePython是我们在初始化仓库的时候往README.md中插入的内容,下面的工作就该丰满它了。

丰满博客配置

让我们打开index.html文件简单看下相关的文件配置说明,在window.$docsify中追加的内容,基本都是用来配置页面相关信息的,而在第二个红框后,我们可以追加美化的js插件。

配置文件简单说明

如果时间充裕,大家可以看下Docsify的中文网站:

https://docsify.js.org/#/zh-cn/

当然,直接看我为大家整理好的内容, 可以帮你更快速的完成博客搭建。

主题配置

个人整理了8种docsify的主题样式,大家可以一 一替换查看效果:

<link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
  <link rel="stylesheet" href="//unpkg.com/docsify/themes/buble.css">
  <link rel="stylesheet" href="//unpkg.com/docsify/themes/dark.css">
  <link rel="stylesheet" href="//unpkg.com/docsify/themes/pure.css">
  <link rel="stylesheet" href="//unpkg.com/docsify/themes/dolphin.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-defaults.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-defaults.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-simple-dark.css">
window.$docsify总结

这里为大家整理好了页面有关的配置,修改内容后,即可使用。

<script>
    window.$docsify = {
        // 侧边栏支持,默认加载的是项目根目录下的_sidebar.md文件
        loadSidebar: true,
        // 导航栏支持,默认加载的是项目根目录下的_navbar.md文件
        loadNavbar: true,
        // 最大支持渲染的标题层级
        maxLevel: 4,
        // 自定义侧边栏后默认不会再生成目录,设置生成目录的最大层级,建议配置为1或者2
        subMaxLevel: 4,
        // 外链表达式
        externalLinkTarget: '_blank',

        // auto2top: true,
        search: {
            maxAge: 86400000,
            paths: 'auto',
            placeholder: {
                '/': '搜索'
            },
            noData: {
                '/': '找不到结果'
            },
            depth: 4,
        },
        'flexible-alerts': {
            style: 'flat'
        },
        formatUpdated: '{YYYY}/{MM}/{DD} {HH}:{mm}:{ss}',
        // autoHeader: true,
        // relativePath: true,
        coverpage: true,
        homepage: 'README.md',
        disqus: 'shortname',
        alias: {
            '/.*/_navbar.md': '/_navbar.md',
            '/.*/_sidebar.md': '/_sidebar.md',
        },
        logo: 'images/breezepython.png',
        name: '清风Python',
        repo: 'https://github.com/breezepython',
        footer: {
            copy: '<span>公众号:清风Python &copy; 2020. </span>',
            auth: 'All rights reserved',
            pre: '<hr/>',
            style: 'text-align: right;',
            class: 'className',
            
        },
    }
</script>

这里简单说明下几个关键内容:

  • coverpage: true homepage: 'README.md' 展示封面内容

  • repo: 'https://github.com/breezepython' 即可在封面右上角 添加一个git

  • 创建一个_coverpage.md的文件,写入的内容可以在封面进行展示,比如添加如下内容:

    ![logo](images/breezepython.png ':size=260x260')
    
    > 欢迎关注我的微信公众号:  
    > 清风Python
    > 清风Python的藏经阁
    
    [简书](https://www.jianshu.com/u/d23fd5012bed)
    [优快云](https://blog.youkuaiyun.com/BreezePython)
    [GitHub](https://github.com/breezepython)

防止屏蔽,模糊二维码...

修改后的页面
主页内容
  • loadNavbar: true, 看标签名字就知道,如果要设置顶部标签,就启用
  • loadSidebar: true, 侧边连是否要显示

Docsify插件总结

</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/disqus.min.js"></script>
<!-- docsify的js依赖 -->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
<!-- emoji表情支持 -->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script>
<!-- 图片放大缩小支持 -->
<!--<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>-->
<!-- 搜索功能支持 -->
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
<!--在所有的代码块上添加一个简单的Click to copy按钮来允许用户从你的文档中轻易地复制代码-->
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code"></script>
<!--分页导航插件-->
<script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
<!-- 侧边栏折叠 -->
<script src="//cdn.jsdelivr.net/npm/docsify-sidebar-collapse/dist/docsify-sidebar-collapse.min.js"></script>
<!-- 面包屑提示 -->
<script src="static/docsify-plugin-flexible-alerts.min.js"></script>
<!-- 添加版权信息 -->
<script src="static/docsify-footer-enh.min.js"></script>
<!--语法高亮添加-->
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-python.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-java.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-yaml.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-json.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-sql.min.js"></script>

<!--docsify的分页导航插件-->
<script src="//cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
<!-- mouse click heart sign -->
<script src="//cdn.jsdelivr.net/gh/jerryc127/butterfly_cdn@2.1.0/js/click_heart.js"></script>

<!-- alert 样式 -->
<link rel="stylesheet" href="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.css" type='text/css' media='all' />

<!-- 复制提醒 -->
<script src="https://cdn.bootcss.com/sweetalert/1.1.3/sweetalert.min.js"></script>
<script>
  document.body.oncopy = function () {
    swal("复制成功 🎉",
            "转载或引用请务必保留原文链接,并申明来源。\n欢迎关注我的微信公众号:清风Python 😊",
            "success"); };
</script>

<!-- 访问量统计 -->
<script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>

<script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script>
<script>
  L2Dwidget.init({
    "model": {
      //jsonpath控制显示那个小萝莉模型,
      //(切换模型需要改动)
      jsonPath: "https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json",
      "scale": 1
    },
    "display": {
      "position": "right", //看板娘的表现位置
      "width": 80,  //小萝莉的宽度
      "height": 150, //小萝莉的高度
      "hOffset": -15,
      "vOffset": -20
    },
    "mobile": {
      "show": true,
      "scale": 0.5
    },
    "react": {
      "opacityDefault": 0.7,
      "opacityOnHover": 0.2
    }
  });
</script>


运行时间统计
<script language=javascript>
  function siteTime() {
    window.setTimeout("siteTime()", 1000);
    var seconds = 1000;
    var minutes = seconds * 60;
    var hours = minutes * 60;
    var days = hours * 24;
    var years = days * 365;
    var today = new Date();
    var todayYear = today.getFullYear();
    var todayMonth = today.getMonth() + 1;
    var todayDate = today.getDate();
    var todayHour = today.getHours();
    var todayMinute = today.getMinutes();
    var todaySecond = today.getSeconds();
    /* Date.UTC() -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)
    year - 作为date对象的年份,为4位年份值
    month - 0-11之间的整数,做为date对象的月份
    day - 1-31之间的整数,做为date对象的天数
    hours - 0(午夜24点)-23之间的整数,做为date对象的小时数
    minutes - 0-59之间的整数,做为date对象的分钟数
    seconds - 0-59之间的整数,做为date对象的秒数
    microseconds - 0-999之间的整数,做为date对象的毫秒数 */
    var t1 = Date.UTC(2020, 12, 13, 00, 00, 00); //北京时间2020-02-10 00:00:00
    var t2 = Date.UTC(todayYear, todayMonth, todayDate, todayHour, todayMinute, todaySecond);
    var diff = t2 - t1;
    var diffYears = Math.floor(diff / years);
    var diffDays = Math.floor((diff / days) - diffYears * 365);
    var diffHours = Math.floor((diff - (diffYears * 365 + diffDays) * days) / hours);
    var diffMinutes = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours) / minutes);
    var diffSeconds = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours - diffMinutes * minutes) / seconds);
    document.getElementById("sitetime").innerHTML = " 🎮已运行 " + diffDays + " 天 " + diffHours + " 小时 " + diffMinutes + " 分钟 ";
  }
  siteTime();
</script>
<!-- Gitalk 评论系统 -->
<link rel="stylesheet" href="https://wugenqiang.gitee.io/notebook/plugin/gitalk.css">
<!-- Gitalk 评论系统 -->
<script src="https://wugenqiang.gitee.io/notebook/plugin/gitalk.js"></script>
<script src="https://wugenqiang.gitee.io/notebook/plugin/gitalk.min.js"></script>
<script src="https://wugenqiang.gitee.io/notebook/plugin/md5.min.js"></script>
<script>
  // title_id需要初始化
  window.title_id = window.location.hash.match(/#(.*?)([?]|$)/) ? window.location.hash.match(/#(.*?)([?]|$)/)[1] : '/';
  const gitalk = new Gitalk({
    clientID: '2e7cb0ea4c6183ef4d5f',
    clientSecret: 'd0e257ab5e9589a205875ca3e585186bf8cd5500',
    repo: 'Blog',
    owner: 'BreezePython',
    admin: ['BreezePython'],
    title: decodeURI(window.title_id),
    distractionFreeMode: false, // 是否添加全屏遮罩
    id: md5(window.location.hash),  // 页面的唯一标识,gitalk 会根据这个标识自动创建的issue的标签,我们使用页面的相对路径作为标识
    enableHotKey: true, // 提交评论快捷键(cmd/ctrl + enter)
  })
  // 监听URL中hash的变化,如果发现换了一个MD文件,那么刷新页面,解决整个网站使用一个gitalk评论issues的问题。
  window.onhashchange = function (event) {
    if (event.newURL.split('?')[0] !== event.oldURL.split('?')[0]) {
      location.reload()
    }
  }
</script>

找了几十个网站,总结出上面最全的插件集合,注释给大家都写了。直接粘到网站上就好了。

侧边栏路由设置

这里重点说下_sidebar.md,这是Docsify中唯一比较麻烦的点。

如果你是一篇文章涵盖古今中外一口气写到底,比如docsify官网那样的,那么_sidebar.md对你无用,Docsify会根据你文章的标题,自动显示侧边栏目录。

但如果你是编程大牛,同时学习Java、Python、C++等等,每个编程语言下又区分了很多的知识点,那么_sidebar.md是必须的。

_sidebar.md总体有两种模式:

  • 通篇只使用根目录下这一个_sidebar.md,拿我的目录来说,因为文章和目录太多了,所以我使用一个统一路由完成所有目录及文章的跳转,如下面的例子:

    我的文章目录

    这里要注意几点:

    1. 针对目录的跳转,在尾部需要添加一个/
    2. 每个目录下需要存在一个README.md文件,否则跳转到这个目录会显示404
    3. 路径的地址需要严格按照路径设置,但是可以重新改名下。
  • 另外一种比较细致的方式是, 主节点使用一个_sidebar.md进行目录的跳转,在目录目录下单独设置_sidebar.md ,这种二级路由的方式,会比较直观,但存在一个问题,跳转到子_sidebar.md后,就没有返回主目录的入口了...此时我们可以通过顶部设置_navbar.md提供用户跳转到其他目录的操作。

最终效果展示

我们整理好上面的内容,并且把自己之前写好的markdown文件放到自己创建的markdown文件夹下,网站基本就已经搭建完成了。来看看效果吧:

部署到码云Pages

由于我双十一的时候买了一个域名和服务器,刚好拿来部署我的博客,但很多朋友们,可能只是想部署下玩玩,没有这些资源那该如何操作呢?这就是为什么之前让大家在码云申请一个仓库的作用了,虽然github也有相关操作,但是操作是在太卡了,还是码云使用起来方便些,3分钟搭建好自己的博客:

  • 首先,我们应该把刚才创建的目录提交仓库,简单的git push即可。

  • 进入Gitee Pages

    Gitee Pages
  • 开始部署(正常第一次进来是部署,不熟过一次就是更新了)

    [图片上传失败...(image-f4d0d-1608473055040)]

  • 等待部署完成后,会显示你的Gitee Pages域名地址:

    https://breezepython.gitee.io/blogtest

    [图片上传失败...(image-21b6aa-1608473055040)]

    现在,让我们去访问下部署好的静态博客吧。

  • 关于网站更新,由于是静态博客部署,当我们每次提交了新的文章后,需要重新到Gitee Pages,点击下更新。仓库就会帮我们重新部署最新的博客了。

关于盗链

首先需要给大家解释下什么叫盗链。

盗链最多提及的就是图片、应用的盗链。你在自己的网站,引用其他网站的图片或者iframe里面嵌套了他人的程序。你的网站美观了,却加重了他人的服务器压力,这就叫盗链。

所以当下基本所有成熟的网站,都会设置防盗链操作,就拿我这篇文章说,自己是在简书上面写的,图片简书会自动生成对应的url链接,但是等我写好文章,上传到了GiteePages后,点开发现,所有的图片都看不到了,这就是简书设置的盗链操作。

反盗链操作

那么我们该如何避免这种情况呢?

  1. 通过js代码,在文章访问时,破解反盗链。我们通过JS代码在页面展示前定位到所有img标签,将标签内添加 referrerPolicy="no-referrer" 内容,就可以破解盗链操作。但是,盗链本身就是一种不正当行为,你这么操作,如果被网站举报,那将相当麻烦。所以js代码我这里就不提供了。

    取消referrer
  2. 我们可以在同级仓库下,放置一个images的目录,然后图片使用相对路径进行引用。

    个人写markdown文章一直使用的是Typora工具,我们可以通过设置它的图片存储路径来解决这个问题:

    Typora图片设置

    等待最终上传时,我们在markdown中修改一下图片路径,将 D:\文章归档\ 替换成..\,即可完成在远程博客显示出该内容。

    修改图片路径
  3. 使用床图工具,这个网上很多教程,大家可以自行百度。

还有其他解决办法吗?

由于本人在简书上写了200多篇的Python文章,如果按照上面说的操作,一篇篇的去修改历史图片就太过麻烦了吧,那该如何操作呢?大家可以思考下,我在下次文章中给出解决办法。

结束语

关于Docsify的网站搭建内容,就到这里,希望大家可以喜欢。有什么疑问欢迎大家在评论区留言。

欢迎大家访问我的个人博客: https://qingfengpython.cn/

Windows11安装Ubuntu 20.04.3 LTS双系统(详细过程) 一、基础环境 听说BIOS模式的传统MBR模式和新式UEFI模式,会对安装双系统产生影响。Windows11应该都是UEFI吧,可以按win+r输入msinfo32回车确认查看BIOS模式,我的电脑是UEFI+双硬盘 Ubuntu安装准备 1、 官网下载Ubuntu 20.04.3 LTS镜像iso文件:https://ubuntu.com/download/desktop 2、 下载官网推荐的U盘启动制作工具rufus: https://rufus.ie/ 3、制作启动u盘 插入U盘, 运行 rufu 阅读详情

相关推荐

S4 codingblock增加客户化字段的一些小问题

今天使用codingblock增加了两个客户化字段后(S4版本),查看常用的几个表 ACDOCA BSEG 等等两个客户化字段安静的出现在表内,以为没有问题了 。结果后来MM那边查看物料凭证时程序直接dump,后来开发查明原因居然是因为财务增加的这两个增强字段的原因。 报错如下图所示: 主要是因为增加了字段后,更新了后台表,但是没有自动更新到视图。就是MSEG表增加了这两个字段,但是呢他对应的视图NSDM_V_MSEG没有增加,导致两边的结构不一致。 所以要解决这个问题,只能在视图NSDM_V_MSEG增

m0_46145967的博客 3919

超详细、超简单的个人博客搭建教程,带你搭建一个属于自己的免费的个人博客!

使用Hexo快速搭建一个个人博客

qq_65894807的博客 1289

MIPI CSI-2 协议解析

CSI-2标准协议前言一、Overview of CSI-2二、CSI-2 layer Definitions三、 Camera Control Interface(CCI)3.1 数据传输协议(Data Transfer Protocol)3.1.1 消息类型(Message Type)3.1.2 读写操作(Read/Write Operations)3.1.2.1 随机位置单次读3.1.2.2 当前位置单次读3.1.2.3 随机位置连续读3.1.2.4 当前位置连续读3.1.2.5 随机位置单次写3.1

Lucky 3万+

分分钟免费搭建一个简单而美博客

如果出现以下页面, 那我恭喜你, 你的第一篇博客搭建成功了!时间可能比较久, 稍等一会出现下面提示即可!土豪可以忽略[ 部署到自己的服务器上 ]开始来自己创建第一篇自己的博客吧。我之前安装过了所有就显示如下。7. 查看无误后 修改。安装 git 部署的插件。推荐几个快速建站的网站。初始化 Hexo ,打开文件到末尾配置前。

。。。。 4744

【AAAI2025】【小目标检测】FBRT-YOLO:更快速、更优的实时航拍图像检测方法

FBRT-YOLO是一种新型实时航拍图像检测方法,针对小目标检测的精度与效率平衡问题提出创新解决方案。该方法通过两个轻量级模块显著提升性能:特征互补映射模块(FCM)将浅层空间位置信息深度整合至网络深层,缓解信息失衡;多核感知单元(MKP)采用多尺度卷积增强多目标感知能力。实验表明,在VisDrone、UAVDT和AI-TOD数据集上,FBRT-YOLO在检测精度和速度方面均优于现有实时检测器,特别适用于资源受限的飞行设备。该模型通过精简网络结构,在保持高性能的同时降低了计算负担,为航拍实时检测提供了高效解

weixin_44184852的博客 2906

【题解-洛谷】B3644 【模板】拓扑排序 / 家谱树

有个人的家族很大,辈分关系很混乱,请你帮整理一下这种关系。给出每个人的后代的信息。输出一个序列,使得每个人的后辈都比那个人后列出。输出一个序列,使得每个人的后辈都比那个人后列出。如果有多种不同的序列,输出任意一种即可。),表示家族的人数。

写代码的犄角旮瘩 1065

如何搭建个人博客网站【图/文教程】

1.Emlog博客系统(我使用的是这个,轻量级,占用资源少,上手非常简单,推荐新手使用) 官网:https://www.emlog.net/2.ZBlog博客程序 (这款程序当年挺火的,国人开发,我以前也用过,还不错) 官网:https://www.zblogcn.com/3.typecho博客程序(这款程序近期是挺火的,很多人用来发布日记,日志,生活等等。网上也挺多好看的模板,喜欢的话可以尝试搭建一下) 官网:http://typecho.org/

qq_34403283的博客 8660

YOLOv8【第十一章:视频追踪与流处理篇·第16节】一文搞懂,DeepStream 部署入门:NVIDIA 视频分析 SDK 与 YOLOv8 结合!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 838

免费搭建个人博客

免费搭建个人博客,并通过免费域名访问

weixin_45565886的博客 4377

基于深度学习YOLOv8的花卉检测与识别系统(附完整资源+PySide6界面+训练代码)

通过本项目,我们成功实现了基于YOLOv8的花卉检测与识别系统,涵盖了数据预处理、模型训练、推理与实时检测、以及GUI界面的实现。YOLOv8在花卉检测中的高效性和准确性为实际应用提供了强有力的支持。

斌擎科技 716

YOLOv12改进策略【Neck】| 使用CARAFE轻量级通用上采样算子

CARAFE内容感知的特征重新组合。

Limiiiing的博客 664

几种免费搭建个人博客的方法

提供免费的博客托管服务,有多种免费主题可选。:Google旗下的博客平台,注册Google账号后即可免费使用。:专注于内容创作的博客平台,不需要自己搭建网站。

qq_53199129的博客 4413

Spring AI Alibaba实战训练营-20 基于注解驱动的MCP快速开发入门指南

本文详细讲解如何使用SpringAiAlibaba快速开发基于注解驱动的MCP应用。文章详细介绍了MCP协议并且重点介绍了Spring AI通过注解驱动的开发方式简化MCP服务开发。具体包括服务端和客户端的注解使用、城市最新时间查询MCP项目结构概览(服务端和客户端模块)以及环境配置要求。

program哲学 295

10分钟上线SEO友好的免费个人博客

大家好,我是弗雷,一名独立开发者。今天来跟大家一起学习,仅需 10 分钟就能搭建并部署上线一个免费的 SEO 友好的个人博客。请务必跟随弗雷的流程走哦!

2401_83273486的博客 1550

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

零成本上线!用InsCode+免费域名5分钟打造个人技术博客

研究后发现,其实用免费域名+云开发平台就能完美解决这个问题!下面分享我的实践过程,用React快速实现一个能绑定免费域名的静态博客。搜索博客模板,用AI助手快速生成基础代码再修改,连部署按钮都不用点就能看到实时效果,对新手超级友好!:快速创建blog.yourname.tk这类子域名,方便多项目管理。:像Freenom这类服务商提供.tk/.ml等后缀的免费域名,而。:InsCode自动配置证书,但自定义域名需确保CNAME指向正确。用内置工具确认解析成功后,访问demo.tk直接打开我的博客。

GoldenleafRaven13的博客 868

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

3w3cc免费实战:5分钟搭建个人博客系统

整个过程从零开始到上线只花了不到半小时,关键还不用自己买服务器。下面分享我的具体操作流程和踩坑经验,给有同样需求的同学参考。现在我的博客日均200+访问量运行稳定,内存占用始终没超过免费限额。推荐新手用这个方案练手,既能学技术又能产出实际作品。整个过程完全可视化操作,连命令行都不用敲。部署成功后还自动分配了https证书和全球CDN,访问速度比我预想的快很多。最近想给自己搭个博客记录技术学习笔记,研究了一圈发现用。特别注意要加密存储密码,我用的bcryptjs库。图片根据viewport缩放比例。

NightshadeRaven21的博客 4122

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

小白也能懂:5分钟用Gitee Pages搭建个人博客

在仓库设置里找到"Gitee Pages"选项,选择要部署的分支(一般是master或main),然后点击"启动"按钮。在仓库里只需要创建三个基本文件:一个HTML文件作为主页,一个CSS文件控制样式,还有一个存放文章的文件夹。注册完成后,在个人主页找到"新建仓库"的按钮,给仓库起个名字,比如"my-blog"。准备3篇简单的示例文章,每篇文章就是一个HTML文件,放在articles文件夹里。,它提供了更简单的可视化操作界面,连代码都不用写就能生成一个基础博客框架,还能一键部署到线上。

SilverfoxOwl19的博客 587

【Vercel部署个人网站全攻略!从零到上线,手把手教你白嫖顶级托管服务!】

这篇万字长文会从注册账号到部署Next.js项目,再到隐藏的高级玩法(比如防DDos攻击、边缘计算),手把手带你玩透Vercel!Vercel就是个“超级快递站”——你写完网站代码,打个包丢给它,它瞬间把你的网站分发到全世界的服务器,用户访问时自动选最近的节点,快得飞起!你可能听说过Vercel——前端圈子里公认的“真香神器”!大家好,我是小明,一个用Vercel白嫖了30多个网站的“白嫖教教主”。Vercel会自动检测项目类型(Next.js、React等),并生成最佳配置。,且所有接口允许跨域。

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 5558

如何搭建个人博客网站

搭建博客流程较复杂,细节比较多,需要记录一下。 一. 在阿里云购买域名 每个网站都需要一个域名,或者通俗地说,网站需要一个网址。就像百度的域名是www.baidu.com,其它人可以通过在浏览器中输入域名来访问这个网站。域名是唯一的,不能和别的域名重复。域名需要通过购买才能得到,国内的网站推荐到阿里云注册域名,售前售后服务都很好。 域名有多种后缀,最普便的就是 .com .cn .org这些,一般来讲.com后缀是最好的,知名度最高,搜索引擎也会优先搜索.com的网站。但是,一般好名字的com域名都被.

徐大康的博客 3673

手把手教你在 Sevalla 上部署 Next.js 博客:从搭建到上线全流程

摘要:使用Next.js和Sevalla搭建个人博客,既能实现完全自主的内容控制,又具备高效便捷的部署流程。Next.js提供SSR/SSG等优化功能,确保博客加载快、SEO友好,同时支持自由定制品牌风格和功能扩展。Sevalla简化了部署流程,无需服务器配置,支持自动部署和免费托管。三步即可完成搭建:本地创建Next.js博客、部署到Sevalla、绑定自定义域名。这套组合兼顾技术优势与成本效益,让开发者真正掌握数字资产,实现内容与品牌的自主权。(149字)

葡萄城技术团队博客 1308

AI助力PHP开发:5分钟搭建免费网站

AI不仅生成代码,还会解释每部分的功能,让我这个外行也能理解实现原理。AI不仅生成了PHP代码,还自动创建了MySQL数据库表结构:用户表(user)存储账号信息,文章表(article)管理博客内容,联系表(contact)保存访客留言。的AI对话区,用自然语言描述了需求:"生成一个PHP个人博客,包含用户注册登录、文章发布管理、响应式设计、SEO优化和联系表单,使用MySQL数据库,蓝色系界面"。遇到页面报错时,在InsCode的实时预览功能中可以直接查看错误信息,配合AI的调试建议快速定位问题。

CrystalwaveStag的博客 958

如何5分钟快速搭建个人网站:终极免费指南

GitHub 加速计划的 personal-website 项目是一款专为软件开发者设计的个人网站快速搭建工具,无需复杂编程知识,就能在5分钟内拥有一个专业的个人展示平台。该项目基于 Jekyll 和 GitHub Pages 构建,自动整合你的 GitHub 资料,轻松展示项目、技能和博客内容。 ## 🚀 准备工作:3步完成环境搭建 ### 1. 获取项目代码 首先需要将项目代码克隆到本地

gitblog_00805的博客 663

终极GitHub Pages主题Minimal:5分钟快速搭建个人博客

想要在GitHub Pages上快速搭建一个简洁美观的个人博客吗?✨ Minimal主题正是你需要的终极解决方案!这个极简风格的Jekyll主题专为GitHub Pages设计,让你在5分钟内就能拥有专业的个人网站。无论你是技术博客作者、项目文档维护者还是个人品牌建设者,Minimal主题都能满足你的需求。通过本文的完整指南,你将学会如何快速部署和自定义这个高效的GitHub Pages主题,打造

gitblog_00889的博客 477

5分钟搭建私人Java博客系统——Tale

本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目。示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的《讲解开源项目》[1]系列,今天给大家带来一款基于 Java 语言的轻量级博客开源项目——Tale 它拥有小、美、快、稳的特点。该项目完全开源、免费,能够让你快速搭建包含前、后台的博客系...

HelloGitHub 的博客 1146

5分钟用Git搭建个人博客:快马AI一键生成方案

对于想要快速拥有技术博客又怕麻烦的同学,这个方案从写作到发布完全在浏览器里完成,地铁上用手机都能更新文章。所有代码和内容通过Git管理,随时可以迁移到其他平台,完全没有绑定风险。作为一个经常折腾技术博客的开发者,我一直在寻找最轻量高效的建站方案。最近尝试用Git结合静态网站生成器+Hugo的方案,配合。的一键部署功能,5分钟就完成了从搭建到上线的全过程。更简单的方式是直接使用。

AmberLeopard26的博客 880

如何快速搭建个人博客?Maupassant Hugo主题5分钟入门教程

Maupassant Hugo是一款简洁优雅的博客主题,专为Hugo静态网站生成器设计。本教程将带你在5分钟内完成个人博客的搭建,即使是技术新手也能轻松上手。 ## 为什么选择Maupassant Hugo主题? Maupassant Hugo主题以其简约的设计风格和丰富的功能深受博客爱好者喜爱。它不仅加载速度快,而且支持响应式布局,在手机、平板和电脑上都能完美展示。主题还内置了搜索、分类、标

gitblog_00489的博客 484
上一篇: 小号码春秋的故事
下一篇: 全网通用的markdown文章图床实现与图片盗链解决方案!
清风Python
博客等级 码龄7年 406粉丝 267原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值