自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lalala

日常记录

  • 博客(130)
  • 问答 (1)
  • 收藏
  • 关注

原创 golang通过反射获取的方法按路径查找json

思路:一层一层迭代

2022-07-02 15:38:16 611 1

原创 golang泛型函数分割任意类型序列到多个子序列

使用interface让分割函数可以接收任意类型和返回任意类型

2022-06-01 20:36:36 238

原创 idea关闭web3j的debug日志

在使用java的web3j库时,http访问会输出较多如下的日志内容,严重影响终端的其他输出信息。14:26:48.572 [main] DEBUG org.web3j.protocol.http.HttpService - <-- END HTTP (40-byte body)14:26:48.588 [pool-1-thread-1] DEBUG org.web3j.protocol.http.HttpService - --> POST http://192.168.56.118:85

2020-12-02 14:32:57 1197

原创 ubuntu20添加新网卡后设置自动启用并获取ip

如果为ubuntu新添加了网卡,那么通过命令ifconfig -a可以看到所有网卡,但是可能有网卡没有工作,这个情况下使用ifconfig就会看到出现网卡比使用参数-a少,那没有出现的网卡就是没有生效。所有网卡:xanarry@vbs:~$ ifconfig -aenp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.2.15 netmask 255.255.255.0 broadca

2020-11-26 22:01:01 9977

原创 为浏览器自定义协议启动本地(外部)程序

对于web应用,通过浏览器执行js脚本已经能完成大多数复杂的工作,但是由于js的运行寄生于浏览器,处于安全的考虑,存在很多约束,比如通过js能使用的内存会被浏览器限制,js不能只能读写本地磁盘上的文件等等,为了解决此问题,可以在操作系统(已Windows为例)的注册表中自定义相关url协议,并将该协议绑定到某个本地程序,当浏览器的请求地址为预定义的协议时,就会打开预先设定的本地程序。实际的例子就是当我们点击某些下载链接的时候浏览器会帮助我们打开迅雷。下面将描述通过自定义协议fileclient://让浏

2020-11-16 18:45:21 1691 1

原创 javascript Uint8Array对象与hexString和数组对象之间的相互转换

const fromHexString = hexString => new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));const toHexString = bytes => bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');console.log(toHexString

2020-11-16 15:49:27 4855

原创 一行Java代码读取文本文件内容为字符串

一行代码读取文件文件内容为字符串import java.io.IOException;import java.nio.file.Files;import java.nio.file.Paths;String content = new String(Files.readAllBytes(Paths.get(fileName)));

2020-11-11 17:32:03 725

原创 在非spring上下文环境中使用spring容器管理的对象

最近遇到这样一个功能上的需求,简单描述就是一个处理socket连接的S对象遇到新的连接请求时,将新的连接信息通过websocket推送到浏览器实时监控的页面上。由于处理socket连接的对象S独立于spring容器,而处理websocket的对象W在spring容器之中。如果直接在S类中使用@Autowired注入W对象,在运行时W对象将是null。由于W对象只有在spring容器中才能使用,那么在S这个非spring容器管理的对象要使用W的话,就要先取得spring的上下文对象,然后通过这个对象去获取W

2020-06-24 23:42:11 1044

原创 scp,ssh出现:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 的解决方法

执行rm ~/.ssh/known_hosts删除该文件重新连接即可

2019-06-04 10:34:37 454

原创 java POI 对word文档中table中的cell进行合并的方法

请直接看代码然后复制粘贴//创建一个2X5的表格XWPFTable table = doc.createTable(2, 5);//使用第0行List&lt;XWPFTableCell&gt; tableName = table.getRow(0).getTableCells();tableName.get(0).setText("表名"); /为第0行第0列设置内容//将第一列到...

2018-08-06 11:26:58 7248 3

原创 Linux安装Java环境

首先下载jdk, 并解压到相应目录, 这里解压到 /opt打开 .bashrc 文件, 在文件尾添加如下内容#set oracle jdk environmentexport JAVA_HOME=/opt/jdk1.8.0_161 ## 这里要注意目录要换成自己解压的jdk 目录export JRE_HOME=${JAVA_HOME}/jre export CLASSPAT...

2018-06-02 19:06:51 1220 1

原创 Ubuntu16.04字体丑陋调整方法

打开文件sudo vim /etc/fonts/conf.avail/64-language-selector-prefer.conf 将 &lt;family&gt;Noto Sans CJK SC&lt;/family&gt; 放到 &lt;family&gt;Noto Sans CJK JP&lt;/family&gt; 前面即可出去变态字体...

2018-06-02 18:50:15 4332

原创 ubuntu 16.04 chrome无法拖拽安装crx插件

ubuntu 16.04 chrome拖拽安装crx插件提示错误时, 可以通过命令行启动chrome, 在启动的时候添加如下参数即可拖拽安装插件--enable-easy-off-store-extension-install...

2018-06-02 18:46:45 8861 3

原创 Python3中使用三目表达式

python中如果想使用如下形式的三目表达式int res = a &gt; b : a ? b;则使用如下形式可实现:res = 条件成立语句 if 条件 else 条件不成立的语句res = a if a &gt; b else b #条件放在了中间...

2018-02-26 19:37:43 6230

原创 python3的运算符

由于Python是无数据类型的语言, 所以其运算符号与传统的编程语言,诸如C,Java的有细微区别. Python中有以下7种运算符号:+ 加法运算- 减法运算* 乘法运算** 指数运算, 2**3=8/ 除法运算, 会保留小数// 取整运算% 求余运算可以看出相对C/Java,Python多了//和**两个运算符 看看各个运算符的运算结果a, b = ...

2018-02-26 19:26:27 312

原创 Ubuntu登录界面死循环解决方法

在配置Ubuntu扩展屏幕时, 在字符终端执行了sudo startx后面再次使用图形界面登录Ubuntu时, 结果Ubuntu在登录界面死循环, 字符终端能正常登录. 对于这个问题, 可以通过以下方式解决.通过字符终端进入系统, 可以通过ctrl+alt+[f1到f6任意], 打开登录界面. 然后登录进入用户目录执行以下命令sudo chmod username

2018-01-05 21:39:06 4566

原创 Linux查看文件大小的几种方法

linux获取文件大小

2017-02-01 17:57:40 320776 3

原创 在Ubuntu中使用sublime text编译并运行C/C++程序

sublime text默认仅仅编译c/c++程序, 如果要运行则要手动打卡终端运行, 效率不堪入目 实现编译并自动调用bash运行程序只需要新建自己的.build文件就OK 依次: tools->building system->new building system粘贴一下内容{ "shell_cmd": "gcc -std=c99 \"${file}\" -o \"${file_pa

2017-01-16 22:43:45 8550

原创 C语言中的static关键词

static为静态的意思, 在C语言中, 使用static关键词来对变量的作用域进行控制, C语言中的变量分为全局变量与局部变量两种, 因此作用域简单的分为两种:一种是全局作用域, 另一种是局部作用域, 全局变量, 也就是不加static关键词, 并定义在main函数之外的变量, 作用范围是整个程序范围, 同一个文件, 和在多个文件之间生效.另一种是局部变量, 如在for循环中定义的变量, 在函数中

2017-01-16 22:28:11 736

原创 页面置换算法-最近最久未用(LRU)

LRU与先进先出算法非常类似, 该算法在内存不够时, 将内存中最久没有使用的数据置换出去, 然后置入新的数据, 算法效果比先进先出更好算法实现:#include <iostream>#include <vector>using namespace std;int find(vector<int> mem, int reqseq){ int i = 0; for ( ; i <

2016-03-07 10:58:43 2587

原创 页面置换算法-先进先出(FIFO)

在多种页面置换算法中, 先进先出是相对简单的算法, 并且效果也不是最好的. 该算法的思路就是当物理内存不够时, 将最先请求到内存中的数据置换出去以空出位置置换入新的数据. 先进先出置换算法会出现belady异常什么是belady异常: 采用FIFO算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。Belady现象可形式化地描述为:一个进程户要访问

2016-03-07 10:51:42 11002

原创 socket http文件下载器c语言实现

socket真是一个神奇的东西,可以说是另外一扇大门, 蕴藏着很多有趣的东西, 本文就介绍如何使用c语言使用socket实现一个http文件下载器.下载分为以下几个过程解析出下载地址中的域名和文件名通过域名获取服务器的IP地址与目标服务器建立连接 构建http请求头并将其发送到服务器等待服务器响应然后接收响应头解析响应头, 判断返回码, 分离开响应头, 并且响应的正文内容以字节形式写

2016-02-29 18:52:56 15265 26

原创 Trie树的C++实现

Trie树又叫做前缀树或者字典树, 通过Trie树能够实现字典的高速查找O(单词长度)级别, 不仅能够实现完全匹配查找还能够实现前缀查找,即输入一个字符串, 查找出所有以这个字符串为前缀的单词.下图是包含{“about”, “to”, “tea”, “boring”, “any”, “ted”, “ten”, “i”, “in”, “inn”}的Trie树的结构 从图中看出, Trie树跟结点是空

2016-02-28 12:19:08 556

原创 AVL树的c++实现

//avl树中的元素一定是唯一的#include <iostream>using namespace std;struct Node{ int data;//数据 Node *left;//左指针 Node *right;//右指针 int height;//当前点的树高};int height(Node *root){ if (!root)//nu

2016-02-27 21:11:09 418

原创 python34 访问MySQL数据库

本文介绍如何使用MySQL官方提供的工具访问MySQL数据库 首先下载connector/python, 这是一个.msi的安装文件,下载后双击安装到电脑, 然后开始连接数据库连接方式1import mysql.connectorcnx = mysql.connector.connect(user = "root", password = "admin", host = "127.0.0.1",

2016-02-27 21:02:46 997

原创 搭建Hexo博客的简单步骤

前期准备,注册github账号,并创建GitHub Pages 1:安装node.js 2:安装git 3:在你的计算机中创建一个工作根目录,比如我是将hexo目录创建在D盘的. D:\hexo 3:打开工作根目录,右键调出gitbash 4:输入npm install -g hexo 5:输入hexo init 6:输入npm install 7:检查ssh_keyls -al ~

2016-02-27 21:01:11 624

原创 hexo 添加disqus评论系统

1:注册disqus账号https://disqus.com2:在disqus设置页面中点 Add Disqus to your site 添加你的网站地址, 和设置Choose your unique Disqus URL, 这一栏填写的就是hexo中所使用的short_name3:打开根目录下的config.yml, 在最后面添加 disqus_shortname: your_disq

2016-02-27 21:00:10 9202

原创 python lambda表达式

简介什么是lambda表达式呢? 简单的说就是一个没有 “return” 语句的函数,或者叫”匿名函数”,看一个简单的lambda表达式例子lambda x : x + 5定义lambda表达式有3个部分,第一部分就是”lambda”关键字的,标明这是一个lambda表达式,然后紧接着第二部分”变量”, 然后”:”后面接着第三部分”返回值”上面的表达式接收值x,然后返回x+5的值,相当于函数def

2016-02-27 20:58:55 994

原创 修改Ubuntu的默认启动项

在windows机器上安装Ubuntu系统后, 开机启动会默认启动Ubuntu, 可以修改过grub.cfg文件设置默认启动windows. 打开终端: 输入: sudo gedit /boot/grub/grub.cfg_按下: Ctrl+F, 搜索”default”, 找到default=0的位置, 将0该为4, 即最后一个启动项windows, 然后再搜索”timeout”, 将所有ti

2016-02-27 20:55:47 1267

原创 python实现高精度减法

减法的实现同加法基本一致, 也是模拟竖式计算, 额外的处理了一下输入数值大小的问题,否则不然代码量可以更少. 在此不再做过多陈述, 从代码看问题吧!from functools import reducedef cmpare(a, b):#定义函数比较两个数值大小 if (len(a) != len(b)): return len(a) - len(b) else:

2016-02-27 20:53:10 3009

原创 python实现高精度加法

之前一直使用的c++, c++没有提供高精度的计算方案, 所以大整数的运算都需要手动实现,python已经为我们提供了高精度运算, 这里出于刚学习python作为练习, 代码实现高精度加法运算的原理. 高精度加法的过程就是完全模拟列竖式计算的方式,我们开两个列表,将加数a,假如a=1243,在列表中保存为[1, 2, 4, 3], 加数b, 假如b=12, 在列表中保存为[1, 2], 这样的话两个

2016-02-27 20:52:00 11283 1

原创 python实现高精度乘法

方法是将两个乘数转为两个包含乘数每位数字的list, 因为在计算中两个list中的数据要反复使用,所以定义第三个list来保存乘法的运算结果,然后使用两重循序模拟列竖式计算出乘法运算的结果, 因为乘法运算每次运算时需要向前移动一位表示扩大10倍,所以定义变量pos标记计算时移动的位数, 每次移动一位from functools import reducedef multiply(a, b):

2016-02-27 20:50:58 6651 3

原创 python中的排序

python提供内置的排序函数sorted()和列表排序的函数sort(), 灵活使用这两个函数足以完成大多数排序的需求, 当然也可以手写排序函数, 其中, sort函数有三个参数sort(*, key=None, reverse=None), 第一个参数一般不用, 第二个参数指定排序的关键词, 第三个参数表示是否逆序, 默认数字按大小,字符串按字典序升序排序,对于多属性对象,也可以指定关键字排序,

2016-02-27 20:49:22 1077

原创 python字典

1. 简介:字典是一种键映射到值的数据结构,相当于高级一点的列表, 列表的键只能是0到n的整数,通过数字的索引我们就能访问,修改到相关位置的数据, 字典也一样, 高级的地方就在于, 索引不是系统分配的整数, 而是可以使用自定义的内容来做访问的索引值, 这种特性给编程带来极大的便利,值得注意的是python字典的键必须是不可变的,所以可以用数字,字符串或元组充当,但是不能使用列表,因为列表中的元素可能

2016-02-27 20:45:22 421

原创 解决python递归栈溢出

使用python写的递归程序如果递归太深, 那么极有可能因为超过系统默认的递归深度限制而出现RuntimeError: maximum recursion depth exceeded in comparison的错误, 解决方法很简单, 人为将系统设定的递归深度设置为一个较大的值即可:import syssys.setrecursionlimit(1000000) #括号中的值为递归深度

2016-02-27 20:43:03 4981 1

原创 C语言中字符串的复制与memcpy函数

今天在线做一道360实习生笔试题, 发现大多数题还是比较基础的, 但都需要仔细斟酌. 不过我已被虐得面目全非, 操作系统和计算机网络相关的很多知识都不会, 还得努力学习. 不过说重点, 面试题有两个编程题, 第一个是实现hashmap, 第二题是一个字符串的处理, 我主要说说第二题, 题目描述如下:实现域名的字段顺序翻转函数,比如输入www.so.com, 输出为com.so.www, 要求实现的效

2016-02-27 20:40:30 4554

原创 使用Python list通过递归实现一个表达式计算器

因为python list可以同时保存不同的数据, 并且提供丰富的操作方案, 想想可以同时把数字和运算符号都保存到列表中, 于是就诞生了使用列表写个表达式计算器, 思路就是同时将数字和运算符保存到列表, 然后从左向右计算所有乘除号两边的数值, 然后删除两个操作数和一个运算符, 再把运算结果保存到刚才计算的位置, 然后再第二次循环计算剩下的加减法运算, 最有元组只剩下一个数, 输出即结果, 检查符号是

2016-02-27 20:37:07 1908 2

原创 位运算

位运算一直不太熟悉, 所以今天重新看了看位运算, 此文做个简单的总结计算机的所有数据都是转化为二进制按位存储的, 二位运算就是一系列直接操纵位序列的运算, 简单的说就是直接操纵二进制数据, 位运算的类型有一下6种:一. & , 与运算(双目), 类似于求交集, 对于两个位串, 如果同一个位置的两位同时为1则取1, 否则取0 01001101 & 10011011

2016-02-27 20:34:15 398

原创 二叉线索树

对于普通二叉树, 对于最底部的结点和只有一个孩子的结点, 我们通常将其没有元素的左右指针指向NULL. 对于线索树, 简而言之就是将这些NULL指针再次利用, 对于空闲的左指针, 将其指向该结点的前驱结点, 反之, 对于空闲的右指针, 将其指向该节点的后驱结点, 完成线索后的二叉树看上去是这样的 上图是一个中序二叉线索树, 直线是原始的二叉树指针, 曲线则是我们添加的线索.对于线索二叉树的每个结点

2016-02-27 20:22:48 905

原创 使用位运算转换大小写

大小写字母的ASCII码差值为32, 32是2的5次方, 因此如果将ASCII的值使用二进制编码表示会不会有奇特的关系呢? 看看如下列表 ch dec bin CH dec bin a 97 0110 0001 A 65 0100 0010 b 98 0110 0010 B 66 0100 0010 c 99 011

2016-02-27 19:57:33 2947 2

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除