BEYOND

生生不息的人生态度,永远相信美好即将到来

什么是markdown?

markdown是一种轻量级的标记语言。

markdown不是一种编程语言,不像C++、C那样可以编写什么程序,如果要一定要将markdown与编程语言扯上关系的话,markdown更像是python一类的脚本语言

markdown通过一些简单的标记,实现标题段、加粗、斜体、下划线、表格、代码块等功能,使用一些加强插件可以实现输入数学符号、生成图表等高级用法。

markdown本身并不可直接被转换,也就是说,当你打开.md文件或者.markdown文件的时候,你可以看见的就只是那一堆带有#*等符号的文本,就像是一个txt文件一样。那么你把markdown文件拖进浏览器中又会怎么样呢?

很遗憾,假如说你的浏览器没有装上指定的插件的话,依旧只会显示同样的内容:一堆带有#*等符号的文本,就像是一个txt文件一样,那么我们为什么要使用markdown呢?

那么我们为什么要使用markdown呢?

答案是没有必要,但是在前端工作的时候,markdown是一种很方便地东西。

  • 此时,大多数的样式,比如说标题,加粗等效果,页面的背景,字体的大小等等属性都已经被确定好了;
  • 此时你所需要做的就是输入文字,生成文件;
  • 那么这个时候使用word太笨重,而且不一定适用,并且会遇到各种兼容性问题,
  • 使用txt又没有格式,压根就没法用上前端所设计好的元素。
    于是此时,markdown就可以大展身手。

除非遇上了网页前端不支持你所使用的图表、数学语法而你又恰好使用这些标准之外的东西,否则,你的markdown文件可以完美地按照程序员所设计的样式转换成html文件。

这也是为什么个人博客、github的readme文件都使用markdown的原因了。

我们是否一定要使用markdown,**甚至为了markdown抛弃word、txt或者别的什么文本格式呢?**我的答案是:
这是完全没有必要的

什么时候使用markdown?

markdown最好的战场就是我所说的情况,只需要专注于内容,而不需要在意格式的情况。

这种特定的情况并不是什么时候都可以遇到,我们只需要在遇到这样的需求的时候优先考虑到markdown格式是否可以给我们带来收益即可。

而且不得不说的一点是:markdown文件在编写的时候可以完全不用鼠标,你可以一直写到尾,全程只需要注视着屏幕,双手连续打字即可。

假如你有这样的专注工作的需求,markdown是一种十分完美的选择。

这个文章简要地介绍了一下SVM向量机及其一些附属概念。但是可惜的是由于笔者水平十分低下,更加详细的介绍与运用要另找他处。

阅读全文 »

还是在美化的道路上越走越远了

这个周想要修复博客的sitemap功能,还想要修复博客的搜索功能。

这两点都还算是比较好处理,虽然也费了点时间,也掉了点头发,但是其实是非常简单的,因为有直接可用的库,几行代码就可以完事了。

我所遇到的问题主要是npm下载的时候没有下载到hexo的文件夹中,而是下载到了根目录下,我今天忽然想起来这件事,查询可知,确实是需要下载到hexo的根目录中的。

当我修复了这一错误的时候,他们终于开始正确地工作了。
下面,我还要再解决http跳转https的任务

同时还想要实现这样的功能:给博客新建一个wiki页,然后实现在wiki页中发布专属于wiki的内容,就像是next的示例博客中那样。

但是让人沮丧的是,我没有在next的示例博客中找到我想要的介绍,似乎直接略过了这一部分。

而http跳转的ngnix代码也无法正常工作。

这个是leetcode的2575题。
对于这一道题,固然可以这样来处理cnt的数据:

cnt = cnt *= 10 + num;

但是这么写却又隐患——那就是当遇到特别大,接近long long 的极限的长度的数字的时候,就没有办法再*=10了。

这个文章将给你介绍如何节约空间。

class Solution {
public:
    vector<int> divisibilityArray(string word, int m) {
        int n = word.size();
        vector<int>ans;
        long long  cnt = 0;
        for(auto q:word){
            auto num = q -'0';
            cnt = (cnt * 10 + num) % m;
            if(cnt % m == 0){
                ans.emplace(ans.end(),1);
            }
            else{
                ans.emplace(ans.end(),0);
            }
        }
        return ans;
        
    }
};

在运算的途中就将数据给处理了,那么每一次运算的结果都会明显减少,至少不需要再记录那个非常大的数字了。

假如需要更大的数字,那么可以使用数组来处理。

但是在这个时候是用不上的。

为什么可以在计算过程中求余呢?

可以将求余数分为两个部分,一个是可以被求余的,还有一部分是多出来的。假如是可以被求余的数,那么多出来的就是0;在这个基础上,每一次求余都会将前面可以求余的部分余去,那么两个数字相加的和求余的时候也是同样的,两个数字的可以求余的部分被余去,然后剩下余数。

由此,通过在计算过程中求余,就可以显著减少空间占用。

0%