网易云音乐官方linux版!

记得以前用的还是开源版本的一个网易云音乐,今天去找,居然发现官方版粗现了~~~网易云果然是良心。
安装方法:
dpkg -i *.deb

分享到 评论

github添加ssh-key之后push还要输入账号密码的解决方法

ssh-keygen -t rsa -C “your_email@example.com“将生成的公钥添加后,但是push的时候还是要输入账号密码。

这是因为clone的时候应该使用ssh的方法,而现在用的是https方法。
只需要克隆的时候在github上选择ssh而不是https就可以了(clone的地址下面有)。
如果是已经克隆好的只需要改config就可以
vim .git/config
像下面改url

1
2
[remote "origin"]
url = git@github.com:wxrbwran/hexo-blog.git
分享到 评论

安装ubuntu后要做的几件事

这几天自己的笔记本坏了,屏幕闪现,几个按键也失灵了…这次上船的姿势可能不对,哎…

闲话少说,换了公司的备用机,重装ubuntu,之后还有很多事要做,记录在此。

  1. 更换安装源。国外的源一是特别慢,第二就是大家都懂得~打开System Setting-> Software & Update,在Ubuntu Softwaretab下”Download from”选择阿里云的源。
  2. 挂载NTFS磁盘。现在基本默认自动挂载,但有时也会出错,比如我这次。解决也很简单:
  • 检查ntfs-3g 是否已经安装 locate ntfs-3g 若是有一大堆反馈,那么就是已经安装了,要是没有安装,输入下面代码
    sudo apt install ntfs-3g
  • 挂载的错误。可能一般都是这个吧,除非你一直都不可以访问
    sudo ntfsfix /dev/sda5
    不同的分区,记得更换位置与名称,我的是上图中的sda5
  1. 挂载ExFat格式U盘。fat格式不支持大文件,ntfs或者hfs日志格式不适合U盘,只好使用exfat咯。支持大文件,并且不是日志式。不过ubuntu默认不支持,需要下载软件支持,一句话解决:
    sudo apt install exfat-utils

  2. 安装flash。这个就是纯粹娱乐了,直接去adobe官网,选择APT方式下载就好了。

  3. 安装pip3。现在的linux发行版基本都支持python了,人生苦短,我用python~
    sudo apt-get install python3-pip

  4. 安装windows字体。好多文件和网页由于字体不全都不怎么好看,那我们直接把windows的字体拷过来就好了。windows字体文件在C:\windows\fonts目录下,cp到/usr/share/fonts目录新建winfonts文件夹中,然后:

  5. mkfontscale

  6. mkfontdir

  7. fc-cache

  8. 换ubuntu了,markdown用什么写呢?
    sudo apt install retext

分享到 评论

Javascript数据结构:队列

队列是遵循FIFO(First In First Out,先进先出,也称为先来先服务)原则的一组有序的项。 队列在尾部添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的末尾。
在现实中,最常见的队列的例子就是排队,在电影院、自助餐厅、杂货店收银台,我们也都会排队。排在第一位的人会先接受服务。

创建队列

队列方法

  • enqueue(element(s)):向队列尾部添加一个(或多个)新的项。
  • dequeue():移除队列的第一(即排在队列最前面的)项,并返回被移除的元素。
  • front():返回队列中第一个元素——最先被添加,也将是最先被移除的元素。队列不做任何变动(不移除元素,只返回元素信息——与Stack类的peek方法非常类似)。
  • isEmpty():如果队列中不包含任何元素,返回true,否则返回false。
  • size():返回队列包含的元素个数,与数组的length属性类似。
    Queue
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    funcion Queue(){
    var items = [];
    this.enqueue = function(ele){
    items.push(ele)
    }
    this.dequeue = function(){
    return items.unshift();
    }
    this.front = function(){
    return items[0]
    }
    this.isEmpty = function(){
    return items.length===0
    }
    this.size = function(){
    return items.length
    }
    this.print = function(){
    console.log(items.toString())
    }
    }
分享到 评论

Javascript 数据结构:栈

栈是一种遵从后进先出(LIFO)原则的有序集合。新添加的或待删除的元素都保存在栈的 末尾,称作栈顶,另一端就叫栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。
在现实生活中也能发现很多栈的例子。例如,下图里的一摞书或者餐厅里堆放的盘子。

栈的创建

栈的方法:

  • push(element(s)):添加一个(或几个)新元素到栈顶。
  • pop():移除栈顶的元素,同时返回被移除的元素。
  • peek():返回栈顶的元素,不对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返回它)。
  • isEmpty():如果栈里没有任何元素就返回true,否则返回false。
  • clear():移除栈里的所有元素。
  • size():返回栈里的元素个数。这个方法和数组的length属性很类似。
    使用数组来保存栈里的元素。
    Stack
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    funcion Stack(){
    var items = [];
    this.push = function(ele){
    items.push(ele)
    };
    this.pop = function(){
    return items.pop()
    };
    this.peek = function(){
    return items[items.length-1]
    };
    this.isEmpty = function(){
    return items.length ===0
    };
    this.clear = function(){
    items.lenth=0
    };
    this.size = function(){
    return items.length
    };
    this.print = function(){
    console.log(items.toString())
    }
    }
分享到 评论