自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

0,开始之初,结束之末

  • 博客(50)
  • 收藏
  • 关注

原创 [Ubuntu]:ubuntu/pip/conda/docker替换国内源

其实直接看清华大学开源软件镜像站就行了,这里做一个小小的整理ubuntu16.04$ vim /etc/apt/sources.list# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe mu...

2018-11-26 12:22:42 976

原创 [Pip]:解决pip升级10后ImportError: cannot import name main

Traceback (most recent call last):  File "/usr/bin/pip", line 9, in    from pip import mainImportError: cannot import name main 需修改/usr/bin/pip内容原文件:from pip import mainif __name__ == ...

2018-11-26 12:20:45 379 1

原创 [Ubuntu]:Docker安装以及cuDNN环境

默认的Docker环境不支持GPU,需要安装nvidia-docker的环境。环境:Ubuntu 16.04 LTSNvidia Driver Version: 396.26安装Docker这里以安装docker-18.0.6-ce为例,打开https://docs.docker.com/install/  可以看到详细教程,主要是:卸载旧软件(没有可以忽略)sudo...

2018-07-27 16:17:12 5279 1

原创 [Ubuntu]:禁用nouveau、安装&卸载NVIDIA CUDA及驱动(深度学习)

这里只针对Ubuntu的安装卸载,安装驱动方式的不同,卸载也有些许不同。通常有3种方式: 通过apt包管理工具来安装, 这样的方式好处是卸载安装的管理跟其他软件一致 通过.deb包来安装,这里就跳过apt,直接使用了dpkg。卸载同样要用dpkg卸载 通过runfile安装,卸载也需要这个runfile,所以安装完驱动最好保留之前的安装包,以备卸载的需要 实体机器没有...

2018-07-27 13:49:03 19669 2

原创 [openwrt]:斐讯K3C OPCC+中大H3C校园网认证配置指南(二) 交叉编译

上篇说的是如何刷k3c 的OpenWrt固件,现在来说说交叉编译的事情,也可以百度/Google “OpenWrt交叉编译” 获取更多内容。编译适用于自己平台的软件(k3c为例)不同机型由于CPU架构不同,现有的软件可能满足不了运行要求,目前路由器的主流的是博通的芯片,大多数基于arm/mips。arm也分armv7等等架构,架构、指令集不同,c程序通常无法运行。因为c/c++是对底层架构...

2018-07-26 16:37:58 3873 2

原创 [openwrt]:斐讯K3C OPCC+中大H3C校园网认证配置指南(一)

150淘了个二手斐讯K3C,相比大哥K3,K3C的Intel处理器能刷的固件太少,而且Flash只有256M,不硬改也没办法刷梅林固件。幸好有大佬开发了k3c的OpenWrt Chaos Claimer固件,买回来的路由器终于能“使用”了。刷固件@paldier在恩山无线论坛有详细教程,刷完可以用ssh登入路由器(初始账号密码有写),如图: h3ch3c认证有很多人写过li...

2018-07-26 15:31:20 9554 2

原创 Docker改变image存放位置

Ubuntu 16.04 LTS Docker改变image存放位置ubuntu上存放docker的位置在/val/lib/docker,这个根目录通常分配的空间较小。我这里128G的ssd只有16G的空间 想扩充容量的方式很多,这里提供一种较为简陋的解决方案。备份已有镜像 docker save -o 文件名.tar 镜像名指定新位置mkdir /etc/...

2018-06-02 13:54:24 6469 1

原创 [Android]:AIDL找不到自定义类

最近在看一些AIDL入门的例子在编译时总是会遇到这种情况:项目结构:这是《Android开发艺术探索》里的小例子,Book实现了Parcelable接口以通过Binder传输。BookManagerService实现IBookManager接口的两个方法,然后就可以在RemoteActivity(android:process=":remote"开启多进程)中调用这

2017-05-02 16:10:52 1784 1

原创 [Android]:View的位置参数

View的公共属性:mLeftmRightmTopmBottomxytranslationXtranslationY在View的源码中,mLeft、mRight、mBottom、mTop代表View相对于父布局的坐标。x、y并没有实际变量,通过各自get、set方法由上面所说的其它变量计算得到以x为例:x=mLeft+translatio

2017-05-02 16:09:38 449

原创 单例模式

单例模式定义确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。使用场景确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。Android常通过context.getSystemService()获取,系统核心服务以单例模式存在,减少了资源消耗实现实现单例的注意事项: 1. 构造函数不对外开放(private) 2. 通过一个静态方

2017-04-14 12:24:58 330

原创 堆排序浅析&时间复杂度

堆排序浅析来源于我的博客 堆排序最大堆根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最大者,称为大根堆,又称最大堆(大顶堆)。 大根堆要求根节点的关键字既大于或等于左子树的关键字值,又大于或等于右子树的关键字值,且要求是完全二叉树。 ps:这里指的堆均为二叉堆(Binary Heap),最小堆的定义类似 堆排序的核心就是建立堆与重建堆的过程:建立堆以数组[4 5 1 6 2 7 3 8]

2017-04-04 23:01:44 893

原创 两个链表的第一个公共节点

两个链表的第一个公共节点题目描述输入两个链表,找出它们的第一个公共结点。 /*struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}};*/ 例如: 1-2-4    6-7  3-5 两者第一个公共节点是6,两链表长度可能不一,但尾节点到第一个

2017-04-01 00:26:16 363

原创 数组中的逆序对

数组中的逆序对来源于我的博客题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<

2017-03-31 23:42:15 328

原创 丑数

来源于我的博客题目描述把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 动态规划求解还是那句:“动态规划的关键是状态转移方程” 假设用a[N]表示第N个丑数, 则   a[0]=0,a[1]=1,a[2]=2;a[3]=3; a[i]=min(a[i-j]*(2

2017-03-31 23:40:46 411

原创 LCS 最长公共子序列&最长公共子串

来源于我的博客最长公共子序列&最长公共子串这段时间刷(shui)题遇到最多就是回文子串、排列组合、快速排序了。最长公共子序列(Longest Common Subsequence)即找两个字符串相同的字串子序列,不要求连续。例如:==w e i m== i ==n g== l o w || str1 长度ml o ==w== i ==e i m n g== || str2 长度n用动态规划来解考

2017-03-31 23:36:31 416

原创 连续组数组最大和

题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?(子向量的长度至少

2017-03-31 23:33:23 508 1

原创 [node]:Nginx配置多站点+https & 使用pm2管理后台node进程

最近用ghost又搭建了个博客(blog.tonlyshy.cn),想用这个写偏技术的内容,本站就偏生活一点。期间试过‘全世界最好的语言’的WordPress以及typecho,接着又试了‘2016热门开源项目’的Grav,但是都太复杂了,配置上又有很多问题。ghost跟Spruche都是基于nodejs的,很轻量化。感觉Djiango和它有些类似。这样就有两个站点,穷学生没钱拿两个ECS

2017-03-29 03:25:48 4316

原创 系统知识整理

基础知识Java单例模式AndroidJson Json使用相比XML优缺点

2017-03-27 16:07:07 362

转载 [转载]:Java设计模式之单例模式

概念:   Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。   单例模式有以下特点:   1、单例类只能有一个实例。   2、单例类必须自己创建自己的唯一实例。   3、单例类必须给所有其他对象提供这一实例。   单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日

2017-03-27 16:04:43 371

原创 [Android]:肥明天气App

来源于我的博客关于fwWeatherIcon基本功能后续将增加测试平台来源于我的博客:近期刷完了一遍郭大神的第二行代码,对着教程撸了一个Android天气App,没来得及写博客分享,现在补上来:关于fwWeather从开发到上架的时间不长,主要目的还是想了解一下应用开发的流程Icon简单的天气App, MaterialDesign界面设计### 截图基本功能查询各省市天气获取Bing

2017-03-23 23:01:20 443

原创 ubuntu14.04 node.js快速安装

-安装nvm管理node.js 通过git clone https://github.com/creationix/nvm.git获取nvmsudo apt-get install gitgit clone https://github.com/creationix/nvm.gitcd nvm./installsource ./nvm.shsudo vi ~/.bashrc (在bash

2016-12-09 17:53:26 688

原创 Ubuntu14.04使用DEB安装Mysql5.7.16

由于ubuntu 14.04通过apt-get只有MySQL 5.5可以装,要用更新的版本的话需要其它方式实现 -下载deb-bundle包 mysql-server_5.7.16-1ubuntu14.04_amd64.deb-bundle.tar -解压sudo tar -xvf mysql-server_5.7.16-1ubuntu14.04_amd64.deb-bundle.tar

2016-12-09 17:44:15 2198

原创 [Android]:Android studio 添加jar后编译报错

添加了一个mysql-connector-java-5.1.40-bin.jar然后编译就报错了错误信息如下:Error:Error converting bytecode to dex:Cause: Dex cannot parse version 52 byte code.This is caused by library dependencies that have been

2016-11-24 00:27:24 1312

原创 [Ubuntu]:Python-2.7.11+Pomegranate手动安装指南

Python安装(手动)首先下载Python-2.7.11解压至Ubuntu,进入解压目录,执行./configuremakemake installps:编译需要几分钟的时间,根据电脑性能有所不同权限不够请使用sudo make install安装完成即可使用pythonPomegra

2016-11-16 00:06:27 1828

原创 [MySQL]触发器相关语句

若declare报missing semicolon的错误,在sql语句前加上DELIMITER $$创建触发器DELIMITER $$create trigger [触发器名] AFTER [操作名:如update\delete\insert]ON [表名]for each row begin    #要执行的操作end;例:DELIMITER $$

2016-11-14 18:13:32 4233

原创 [mapReduce]:Eclipse hadoop远程环境搭建

工具:Eclipse Mars2.2 hadoop-2.6.0下载:eclipse插件hadoop-eclipse-plugin-2.6.0.jar并放至eclipse安装目录/plugins下,重启eclipse,在window->preferences中就会出现hadoop map/reduce插件。将hadoop-2.6.0解压出来,并设置Hadoop

2016-11-08 22:46:11 1017

原创 [分组密码]:DES加密(C++实现)

来源于我的博客DES加密基于Feistel密码的DES,其核心思想就是置换/混淆前面粗略验证了Feistel密码解密是可以直接使用加密函数的,只不过每轮的轮密钥Ki需要倒过来。DES的流程与Feistel大体一致:上图可以看到,des加上了很多置换:初始置换/逆初始置换    ​-打乱顺序置换1    ​-64位密钥缩减为56

2016-10-23 01:23:02 5220

原创 [SQL Server]角色与权限相关语句

--打开数据库use dbTPC;--创建用户(包括登陆)(SQL Server 登陆与用户是分离的)exec sp_addlogin 'David','123456','dbTPC';exec sp_adduser 'David','David';GRANT  EXECUTE TO David;--赋予其使用存储过程的权限--删除用户(包括登陆)exec sp_droplogin

2016-10-16 14:43:06 1282

原创 [SQL Server ] GO语句的使用

GO语句每个被GO分隔的语句都是独立的事务,一个语句执行失败不会影响其它语句执行:go select * from dbo.XXXgo select * from dbo.sales第一个查询失败了,第二查询的结果依旧会返回也就是说,go前面失败的语句,不影响后面语句的执行。也可以go Nselect * from dbo.sales

2016-10-10 19:29:00 3295 1

原创 Feistel 密码结构简单理解

Feistel 密码在密码学研究中,Feistel 密码结构是用于分组密码中的一种对称结构。以它的发明者 Horst Feistel 为名。对其简单的理解是:给明文分组(L,R)对R进行加密密文=加密后的R+L(即LR的位置交换)很好理解对吧=_+,分组加密交换即可,我们再将其复杂化:完整的Feistel密码这里要

2016-10-07 22:23:57 22208

原创 [C++]:A*——A Star算法简介

A*算法 求最优解算法一直维护两个表: Open和Close将起点S加入Open中将所有S可到达的点(障碍物以及位于Close表中的点均看成不可达)加入到Open中。将起点从Open中删去,并加入到Close中①从Open中删去F值最小的点Min,并将其加入到Close中②将Min点所有可到达的点加入Open中,并设这些点的父节点为Min。若某点已经在Ope

2016-09-11 20:39:39 5267

原创 网易云iframe插件测试

2016-09-11 13:03:14 1402

原创 从'0'开始的操作系统MyOs(汇编FAT12软盘)

原博客地址LANGUAGE:汇编BASE            :Orange's &老师写的cmd.asmCPU MOD    :实模式手动写汇编系统这是大二操作系统作业的一部分,代码很大部分来自老师,这里我只是进行学习以及扩展。而老师代码参考了于渊的Oranges 动手写一写可以更深入的了解操作系统、文件系统(这里用的是最为简单的软盘FAT12)源码以及相关介绍

2016-09-10 18:09:32 1167

原创 [古典密码]:Vigenere cipher 维吉尼亚密码

维吉尼亚密码Casear加密算法的升级版:将26个Casear密表合成一个,见下表:A B C D E F G H I J K L M N O P Q R S T U V W X Y ZA -A B C D E F G H I J K L M N O P Q R S T U V W X Y ZB -B C D E F G H I J K L M N O P Q R S T U

2016-09-10 14:55:38 7305

原创 [古典密码]:Hill cipher(希尔密码)

来源于我的博客希尔加密法根据字典序将字母转化为数字(0-25)设定密钥矩阵(n*n),将明文转化为r*n的矩阵将明文矩阵与密钥矩阵相乘即可得到密文矩阵(结果模26),再将其转化为字母即可.以3*3密钥矩阵为例:(确保密钥矩阵能求逆)int key[3][3] = { 6,13,20, 24,16,17, 1,10,15};假设明文CAT,C=2,A=0

2016-09-10 14:54:57 9942 1

原创 [古典密码]:PlayFair cipher(Playfair密码)

来源于我的博客1.编制密码表 构造一个5*5的密码表,表格填充关键字(字母不重复),之后按字典序填充密码表中没有的字母,需要注意的是5*5表格只能放25个字母,剩下一个字母需要选择已经放入表的一个作为替代,这里习惯性将J省略,I/J共用。以关键字为PLAYFAIR EXAMPLE为例​PLAYFI/JREX

2016-09-10 14:52:34 3812

原创 [古典密码]:Caesar cipher(凯撒密码)

非常简单的消息编码方式,仅仅是将字母后移3位,而X Y Z右移就回到A B C.加密的话就是简单的加三取模即可;解密就是其反过程。C++实现如下:#include#include#includeusing namespace std;string nencrypted = { "Things are not always what they see" };string ncrypt

2016-09-10 14:49:35 2693

原创 1002. Cat

Time Limit: 1sec    Memory Limit:256MBDescriptionDescription实现如下animal类的子类cat类,使得调用示例可得到对应输出。提交时只需要提交cat类实现,不要提交animal类和main函数。class animal{public:animal(int age) : age(age) {} int

2015-06-12 16:29:34 724

原创 1001. NumCalClass

Time Limit: 1sec    Memory Limit:256MBDescription补充完成类numCal的定义(注意:所有运算符的重载都必须符合运算符原本的语义,比如++A是“先加后使用”)class numCal {public:numCal(int a[], int size); //构造函数,size是数组a的长度numCal(co

2015-06-12 15:59:50 544

原创 1002. Multiple exceptions

Time Limit: 1sec    Memory Limit:256MBDescription Given the following multi_throw function, you are asked to write a program to catch all the exceptions. The program first reads an integer,

2015-06-05 23:42:12 590

空空如也

空空如也

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

TA关注的人

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