- 博客(32)
- 收藏
- 关注
原创 manjaro linux 使用vmware时NAT无法联网问题解决
报错如下:Could not connect 'Ethernet0' to virtual network '/dev/vmnet8'. More information can be found in the vmware.log file.处理方法:sudo touch /etc/vmware/xsudo vmware-networks --migrate-networ
2017-07-07 14:31:25
5311
4
原创 基本的c语言编译器的实现
基本的c语言编译器的实现项目地址张东昌的zcc编译器实验目标设计并实现一款基本的c语言编译器。从词法分析开始,逐步完成c语言文法的设计,文法分析,语法制导翻译,生成中间代码并最终生成可运行的汇编代码。并且在过程中完成符号表的管理和错误管理。开发环境采用c++编写,使用makefile对项目进行管理,开发环境为ubuntu。项目结构项目的主要结构如下:其中,源码的结构如下(源码的头文件在include
2017-05-24 22:46:28
14652
5
原创 在移动平台上使用tensorflow图片分类 (android and ios)
我做的参考项目我完成了一个简单了android上的图片分类相册,tf部分已经正常工作了,你可以参考,项目github这里有几篇博客你可以参考博客零,忽略docker部分,用bazel训练一个pc可用的图片分类模型博客一,将上面的模型处理为移动端可用的博客二,可参考博客三,使用的是python脚本训练模型,可能需要翻墙如果没有训练图片?可以使用py爬虫到百度图片爬以获取所需类别的训练用图片,pytho
2017-03-08 23:21:14
7937
19
原创 vim配置文件
预览~/.vimrc" basic {{set numberset rulerset showcmdset nobackupset noswapfileset cursorlineset autoindentset cindentset smarttabset expandtabset smartindentset wildmenuset hlsearchset nowr
2017-02-11 15:13:55
647
原创 把rm替换为mv
linux上使用rm很危险,刚刚不小心删除了一个还有用的文件。因此我们可以把rm指令替换为mv,执行后把要删除的文件保留到一个目录下,定期清理就好了。 把下面的代码粘贴到你的.bashrc或。zshrc下。注意root下的也要粘贴。# for rm {{# mkdir ~/.delete, when rm somethings ,mv them to hereif [ ! -d $HOME/.
2017-02-09 11:36:20
3002
原创 BUG:virtualbox -> Kernel driver not installed (rc=-1908)
执行modprobe vboxdrv即可
2017-02-08 22:54:23
736
原创 manjaro系统配置脚本
相关manjaro是基于一款基于arch-linux的操作系统。其除了保持了arch的kiss特性之外,还大大地简化了安装过程,并且在安装过程中相对完美地解决了显卡驱动等问题,当然,manjaro也支持aur,你可以在这里方便的安装需要的软件。因此,如果你喜欢arch-linux但是对于其繁琐的安装过程又感到烦恼的话,manjaro是一个更好的选择。新安装的系统之后在之前使用ubuntu时我就把基本
2017-02-05 20:00:33
4145
原创 操作系统总结(九)虚拟内存
利用虚拟内存,可以编写大于实际内存的程序;采用部分程序加载到内存中,可以同时执行更多的进程,并发度好,效率高。将需要的部分放入内存,有些用不到的部分从来不放入内存,内存利用率高 ,程序开始执行、响应时间等更快。使用虚拟内存有利于系统,同时也有利于用户。 虚拟内存的实现早期:内存不足时以进程为单位在内外存之间交换;现在:按需调页(调页,也称惰性交换,以页为单位在内外存 之间交换,
2017-01-10 20:06:04
914
原创 操作系统总结(八)内存管理
背景知识为了使程序可以在内存正确执行需要对其出现的地址进行修改(重定位),重定位有三次机会,包括编译连接时进行(代码只能放到固定的位置)、在载入内存中进行(一旦载入内存代码无法移动)以及在程序执行过程中进行。其中最后一种是最合适的重定位机会。这样对后续的内存管理有极大的好处。引入交换(swap)的概念,能够让更多的进程并发执行。即随着进程的执行,当进程在不同的运行状态下需要对其在内存和磁盘中进行
2017-01-10 17:13:40
1280
原创 操作系统总结(七)死锁
什么是死锁多个进程循环等待资源而无法继续执行的状况称之为死锁。其造成了进程的停止运行,也浪费了大量的资源。例如生产者消费者问题上,如果使用了不合理的信号量顺序就会造成死锁情况,如生产者消费者首先不会对空闲资源信号量和占有资源信号量执行P操作,相反,首先对互斥信号量执行P操作,这种情况下就会发生死锁。思考这样一种情况:当互斥信号量数值为1时生产者对互斥信号量执行了P操作,继续执行,假设此时空闲资源信号
2017-01-08 22:08:46
848
原创 操作系统总结(六)进程同步
背景多个进程需要合作完成一个任务,在进程合作过程中,除了并行执行之外,还经常存在两个进程需要共享信息相互等待的协作过程。为了满足上述要求,因此进程之间需要同步。如生产者消费者问题就是一个典型的需要同步的问题。互斥与临界区问题竞争条件:多个进程并发访问和操作同一数据且执行结果与访问发生的特定顺序有关。如何尝试避免竞争条件?资源加锁。临界资源:把一次仅允许一个进程使用的资源称为临界资源。如只能独享的
2017-01-08 20:30:03
1117
原创 操作系统总结(五)CPU调度
cpu在空闲时,操作系统需要按照一定的策略从就绪队列选择进程来执行,以提高CPU的利用率,系统运算的吞吐量,缩短进程的周转时间和等待时间等。两种调度任务为交互式和批处理。两种调度时机包括非抢占式调度和抢占式调度,前者发生在因等待资源或其他而让出CPU资源或进程结束而主动让出CPU资源。后者包括当前进程时间片到了或有更高优先级的进程出现而导致操作系统强行暂停当前进程由调度程序将CPU资源分配给其他就绪
2017-01-08 15:56:07
1706
原创 操作系统总结(三)进程
为什么引入进程多个程序并发执行可以有效地提高系统资源(特别是CPU)的利用率,同时当多个程序竞争CPU资源时进行任务轮换执行可以提高多用户的执行相应速度,此外计算机实际上支持多个程序的并发执行,但是现有的程序等概念无法准确描述程序动态轮换执行,因此需要一种同一的方法监视,管理以及控制处理器中不同程序的动态执行过程,由此引入了进程的概念。什么是进程进程没有准确的概念,但是可以从不同的角度去描述:一个正
2017-01-07 22:15:44
898
原创 操作系统总结(二)系统调用及系统结构
区分用户态和内核态内核态可以访问任何数据,而用户态不能访问内核数据。当前指令为CS:IP用CS最低两位表示:0为内核态,3为用户态。在运行指令时会对权限进行检查。如何进入内核态使用中断指令INT(trap陷阱指令,linux为0x80)int指令将CS的cpl改变为0,进入内核态,这是用户态程序进入内核态的唯一方式。因此系统调用的具体过程实现如下:用户程序中包含int 0x80的代码,由os处理中断
2017-01-07 20:47:05
789
原创 操作系统总结(一)
关于操作系统的两种不同的观点 资源管理观点是将计算机系统内的所有硬件、软件、数据等看作资源,操作系统的任务就是对这些资源进行分配、释放、相互配合、信息记录和信息修改。资源是静态的,而操作系统是动态的,动态的管理者不断地调整资源的分配与释放,最后实现用户所要求的各种功能。 进程管理观点认为系统中存在着大量的动态行为:处理机在执行着程序,存储器上面的页面被不断地换出、换进,设备上数据在流动
2017-01-07 20:09:10
2239
原创 在Android上使用Tensorflow
在安卓平台使用tensorflow项目github 最近更新 2017.6.7添加了app预览如下,更详细请到github 分类预览1: 拍照分类: 程序启动: 自动分类为相册: 最近更新 2017.3.7注意 最近有几个小伙伴询问移动端平台怎样使用自己的模型以及其他相关问题,我对部分问题做了总结,相关的内容在另外一篇博客中,点这里查看。另外大家要使用自己的模型请直接到上述
2016-12-08 21:27:35
32641
9
原创 struts2进入页面执行action
在网页中载入页面执行action可以利用js的方法,当然除了js之外,还有另一种方法: 在jsp开始位置添加下面这句代码<%@ taglib uri="/struts-tags" prefix="s"%>在需要载入页面时获取数据的位置之前添加下面代码<s:action name="getArticle" executeResult="true" />其中name即struts.xml中配置的动作名
2016-11-04 18:03:40
1622
原创 struts2实现不刷新页面执行action
前言在jsp中有一些动作的执行不适合刷新页面来执行,比如点赞。一般在jsp中可以利用ajax实现这个功能,下面是一个不刷新页面来提交表单,数据或者单纯执行action的例子。开始首先在jsp中加入代码,在需要触发action的部分写入如下代码:<input id="name" type="text"><input type="button" value="ok" onclick="javascri
2016-11-02 22:54:10
4741
1
原创 sidr --为网页添加侧边滑出菜单栏
使用sidrsidr是一个侧滑菜单插件,可以作为隐藏的选项,需要时点击滑出,查看在线demo可以感受效果 。要使用侧边栏工具,首先需要在网页源码中添加以下内容,注意路径改为你的路径<script src="sources/js/jquery-3.1.1.min.js"></script><script src="sources/js/jquery.sidr.js"></script><link
2016-11-02 22:24:16
1390
原创 hideseek -- 为你的网站添加动态搜索
前面的在做小组项目中,有几个地方需要实现内容搜索功能,因为已有的内容已经显示在网页上了,我的任务是在这些条目中根据关键词找到需要的条目。因为不太熟悉js等等等,所以就找了一个好用的轮子–hideseek,这个插件可以实现好几种搜索风格,我选择的是随着用户输入就动态过滤条目并且高亮显示关键词的搜索方式,感兴趣的可以到github上关注这个项目并且查看在线demo,因为很好搜,所以链接就不放了。使用方法
2016-10-22 23:08:51
823
原创 使用animate.css为你的网页添加动画
需要一下几个步骤下载animate.css并放到可引用的位置在网页中引入animate.css如...<head> <link href="sources/css/animate.css" rel="stylesheet" type="text/css"></head>在需要动画的位置引入动画类...<div class="[other class] animated fadeInU
2016-10-22 10:30:00
783
原创 ubuntu自动配置软件主题字体图标...
ubuntu自动配置脚本dongchangzhang create@2016.10.17前言写这个脚本旨在减轻重装ubuntu系统后的配置压力。在重装系统后可以运行这个脚本实现常用软件、主题、图标、字体、vim、zsh的配置,用户只需要在运行过程中输入确认信息即可。另,用户可以在程序中自动添加或删除需要的东西。测试系统:ubuntu 16.04结构ubuntu-config├── config
2016-10-17 21:48:48
740
原创 Median of Two Sorted Arrays
4. Median of Two Sorted Arrays问题描述 计算两个排好序的数组的中位数我的解答首先merge两个数组然后求解中位数class Solution {public: double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) { vector<int> tmp;
2016-10-12 19:08:25
283
原创 Generate Parentheses
22. Generate Parentheses问题描述 Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. For example, given n = 3, a solution set is: [ “((()))
2016-10-12 18:56:15
265
原创 JAVA WEB(三)部署新浪SAE
将生成的WAR包部署到新浪云生成war包在eclipse项目上右键export生成war文件到新浪云申请sae账户可以使用微博直接注册,注册完成后会送200颗豆,可以用这些云豆完成项目的部署创建项目并上传WAR包注册完成后进入控制台点击sea云应用,创建新应用,填写完具体信息并且创建完成后,进入项目的代码管理页面,选择上传代码包将生成的WAR包上传。除了直接上传WAR包之外,也可以利用github进
2016-10-09 14:57:14
789
原创 java 链接Mysql的一个通用类
数据库的配置类 :(包com.xxxx.configure中)为了方便后续管理,将mysql的配置项都放在这个类中,如用户名,密码,url等。以后在需要平台转移时可以直接到这个文件来修改配置。并且,在数据库连接时,用户名等都需要到这个类里读取数据。在使用这个程序之前必须到这里配置为你的数据库的正确信息:用户名,密码,数据库名,url等。// this class used for configure
2016-10-02 11:14:29
3335
原创 Linux平台下软件推荐及主题图标推荐
前言我在linux上的使用时间也接近一年,现在基本上所有的日常学习和其他的工作都会在linux上完成,windows已经基本不开了。选择linux之初只是因为觉得学计算机的也应该熟悉一下linux,然而随着使用时间的增长,这个系统的自由和方便越来越吸引我,偶尔到windows下也总会不自觉地按ctrl+alt+T……。如果你是一个经常需要写代码的人呢,我会推荐你使用linux(如果你没有很多票子去买
2016-10-01 13:55:39
3280
原创 VIM常用快捷键
普通模式(Normal Mode)进入普通模式 Esc进入命令模式 :cmd (cmd为你的命令)进入插入模式 i (光标后插入)I (行首插入)a (光标后追加)A (行尾追加)o (当前行后插入新行)O (当前行前插入新行)cw (替换从光标所在位置后到一个单词结尾的字符)shift+zz保存并且退出进入可视模式 v Shift+v Ctrl+v方向键 h
2016-10-01 10:19:17
355
原创 JAVA WEB学习(二)
一些总结使用struts2的项目中各个部分的作用1.WebContent/*.jsp:显示前端的页面,用于和用户的交互 2.WebContent/WEB-INF/web.xml:设置过滤器 3.WebContent/WEB-INF/lib/*.jar:项目运行过程中依赖的库文件 4.src/[package]/*.java:用于定义各种action,实现对前端用户发出的请求进行处理 5.sr
2016-09-26 17:22:17
507
原创 java.sql.SQLException: Unknown system variable 'language'
在新浪云sea上部署连接MYSQL数据库时抛出错误在新浪云创建了一个共享型MySql数据库,在部署过程中无法连接到数据库。后来挂上vpn后本地抛出这个错误,当时使用的connecter版本为:mysql-connector-java-5.1.39-bin.jar。解决方法:到官网下载其它版本的connecter,我下载的是mysql-connector-java-5.0.8-bin.jar,下载完成
2016-09-26 15:50:59
725
原创 JAVA WEB学习(一) java+structs2+tomcat+eclipse+mysql配置
前言刚刚完成了一个简单的java web程序,在配置 的过程中遇到了很多的麻烦,下面这篇博客将详细地介绍如何在eclipse上完成struct2和tomcat的配置,并且完成一个简单的helloworld程序对该配置进行验证。 并且,欢迎纠正错误。需要注意本文的实验环境如下: tomcat:9.0 struct2:2.5.2 mysql:5.7 system:ubuntu16.04 e
2016-09-25 09:04:07
1285
2
原创 Longest Substring Without Repeating Characters
对leetcode第三题Longest Substring Without Repeating Characters的解法分析标签(空格分隔): 编程 程序参考了http://blog.sina.com.cn/s/blog_60b5450101017xqh.html的思路并且修改了错误题目分析给出一个字符串,找出这个字符串中最长的没有重复字符的子串,需要注意的是题目中子串的概念,子串必须是连续
2016-09-07 23:58:13
646
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人