CKeditor CKeditor4 图片上传    2019-04-28 07:17:16    1086    0    0

 1、首先引用ckeditor并且初始化,这里示例比较简单,也不加样式,版本为ckeditor4.11.4

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html lang="zh">
  3. <head>
  4.  <title>CKeditor</title>
  5.  <script src="${pageContext
2019-02-23 12:58:54    129    0    0

一、Ubuntu内核升级
    BBR现在已经集成于>=4.9的kernel版本中,确认kernel版本>=4.9。
    可以使用uname -r获取内核版本,使用getconf LONG_BIT确定系统为32位或64位。
    Ubuntu可以在http://kernel.ubuntu.com/~kernel-ppa/mainline 获取内核版本。执行下载与安装操作。
    最后执行sudo update-grub更新引导并且重启系统

    注:Ubuntu16.04安装kernel如果报错,出现上述文件依赖问题libssl1.1.0(>=1.1.0),可以下载安装libssl1.1_1.1.0g-2ubuntu4.1_amd64.deb文件解决
二、开启TCP BBR
    首先修改系统变量:
    在 /etc/sysctl.conf配置文件末尾加上两行
    net.core.default_qdisc=fq
    net.ipv4.tcp_congestion_control=bbr
    也可以使用命令添加,命令如下:
    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
    如若上述两条命令拒绝访问可以使用如下两条命令:
    sudo bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'
    sudo bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'
最后使用sysctl -p保存生效。
三、检查BBR是否开启
    执行sysctl net.ipv4.tcp_available_congestion_control命令,如若返回结果为net.ipv4.tcp_available_congestion_control = bbr cubic reno则表示BBR开启成功

    也可以实行lsmod | grep bbr是否成功开启

Kotlin    2018-05-29 17:02:35    339    0    0

    前面已经学到了Kotlin的数据类型,那么就要用这些数据类型来做些事情。

    一个程序,逃脱不了最基本的运行本质,那就是,分支判断和循环。一款程序无外乎从头到尾的执行,只是这个程序是否会停止,运行过程中的判断决定了程序运行的方向,循环可以让程序执行多次,和判断进行结合可以有更多的组合方式也会有更多的运行结果。

废话不说,直接上代码。


 

  1. package cc.acme_me.kotlin
  2. fun main(args: Array<String>) {
  3. testWhile()
  4.  testDoWhile()
  5.  testFor()
  6.  printNarcissisticNumber(100, 1000000)
  7. }
  8. /**
  9.  * 水仙花数
  10.  * 水仙花指三位数的数值,每个位上的数的立方之和等于这个数
  11.  * 比如1^3 + 5^3 + 3^3 = 153
  12.  */
  13. fun testWhile() {
  14. var num = 100
  15.  while (num < 1000) {
  16.  var a: Int = num.rem(10)//个位数
  17.  var b = (num.rem(100) - a) / 10//十位数
  18.  var c: Int = num / 100//百位数
  19.  //判断是否符合条件,这个写法比较恶心,而且效率也有问题,初学这门语言,所以先写以后语言特性什么学会了再优化
  20.  if (num == Math.pow(a.toDouble(), 3.0).toInt() + Math.pow(b.toDouble(), 3.0).toInt() + Math.pow(c.toDouble(), 3.0).toInt()) {
  21.  println("$a^3 + $b^3 + $c^3 = $num")
  22.  }
  23.  num++
  24.  }
  25. }
  26. /**
  27.  * 四叶玫瑰数
  28.  * 四叶玫瑰数四位数的数值,每个位上的数的四次方之和等于这个数
  29.  * 比如1^4 + 6^4 + 3^4 + 4^4 = 1634
  30.  */
  31. fun testDoWhile() {
  32. var num = 1000
  33. //while循环和do while循环的区别是前者先进行判断,满足条件后进入循环体,后者与之相反,先运行循环体再进行判断是否满足条件进行一下次循环
  34.  do {
  35.  var a: Int = num.rem(10)//个位
Kotlin    2018-05-22 17:00:23    367    0    0

1、新建DataTypeForKotlin.kt文件,开始测试Kotlin的一些数据类型

  1. package cc.acme_me.kotlin
  2. /**
  3.  * Kotlin的数据类型
  4.  */
  5. fun main(args: Array<String>) {
  6.  var a: Int = 1;
  7.  var b: Double = 1.0
  8.  var c: Float = 1.0F //1.0f
  9.  var d: Boolean = true//true or false
  10.  var e: Short = 1
  11.  var f: Char = 'c'
  12.  var g: String = "string"
  13.  var h: Long = 1
  14.  var i: Byte = 127 //-127-127
  15.  var j: Int = 0x1;
  16.  var k: Int = 0b01
  17.  val l: String = "can not change"//val定义的变量是不能第二次赋值的,类似于java中final修饰的变量
  18.  //l="change content" //error
  19. }​

2、测试Kotlin的函数入门,新建SimpleFunction.kt

  1. package cc.acme_me.kotlin
  2. fun main(args: Array<String>) {
  3.  println(sum(1, 3))
  4.  println(multiply(3, 4))
  5.  write2Console("write to console")
  6.  write2Console2("write to console")
  7.  subtract(16,6)
  8. }
  9. /**
  10.  *带返回值的函数
  11.  */
  12. fun sum(firstNum: Int, secNum: Int): Int {
  13.  return firstNum + secNum
  14. }
  15. /**
  16.  * 带返回值的函数,也可以用这种写法
  17.  */
  18. fun multiply(firstNum: Int, secNum: Int) = firstNum * secNum
  19. /**
  20.  * 无返回值函数 :Unit
  21.  */
  22. fun write2Console(string: String): Unit {
  23.  println(string)
  24. }
  25. /**
  26.  * 无返回值函数 :Unit可以省略
  27.  */
Kotlin    2018-05-15 16:50:18    369    0    0

近来有空,准备学习一下Kotlin,所以才会有这篇笔记开始继续Kotlin的学习过程。不过,既然要学习,那么便先简单了解一下Kotlin的信息以及发展历史。


Kotlin


 

    Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言,其名称来

2018-05-01 07:32:16    274    0    0

1、安装pptp

sudo apt-get install pptpd -y

2、编辑配置文件

sudo vi /etc/pptpd.conf

3、取消下列两行注释

localip 192.168.0.1

remoteip 192.168.0.234-238,192.168.0.245

或者取消最后两行注释也可以,二者选其一,之后保存修改。

4、配置账号

sudo 

4/5