- 博客(27)
- 收藏
- 关注
原创 LLVM与第三方OLLVM编译器中的Clang编译区别以及对Bitcode的影响
一 、概念介绍:LLVM和OLLVMLLVM是一个完整的编译器架构,其中前端编译器使用了clang。代码经过LLVM的编译过程:其中,解释一下IR(也成为BitCode码),LLVM编译器在传统的三层模型中加入了中介码,前端完成源码解析编译后,转成中介码,LLVM编译器针对中介码进行优化和改良,然后将中介码送入目标平台编译器生成目标代码,整个编译过程中都是中介码在参与,所以说跟目标语...
2020-02-05 20:23:22
2649
1
原创 探究和实现监听APP用户行为信息的SDK的实现方式
场景前一段时间,因为业务需要,看了AppSee这个SDK,通过嵌入APPSEE,可以看到用户在APP期间,点击了哪里,点击频率等和点击的相关信息。通过分析用户的行为,改进APP是非常有意义的。反编译APPSEE这个SDK后,大概知道其实现方式。破解反编译后,在APPSEE中,看到了其继承了 Window.Callback,KeyEvent.Callback,重写了dispatchKeyEve...
2019-12-04 18:12:01
908
原创 深度学习框架 CUDA-Tensorflow-cuDNN-Keras 安装
本来准备选择CPU进行深度学习的训练,但是GPU的计算能力明显强于CPU,刚好电脑使用的是NVIDIA显卡,便开始选择CUDA和cuDNN的安装,keras也推荐安装cuDNN注:在win7 64下安装第一步:安装CUDAhttps://developer.nvidia.com/cuda-toolkit-archive这是NVIADIA官网,CUDA的下载地址,我选择了9.0版本,太新的版...
2019-03-24 11:42:48
366
原创 sql 语句常用语句执行顺序及优化
Sql语句的书写顺序1.查询中用到的关键词主要包含六个,并且他们的顺序依次为(wgho)select–from–where–group by–having–order bySql语句的执行顺序(wghso)与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行from–where–group by–having–select–order by,书写sql时的优化tipsf...
2019-02-13 21:39:57
243
原创 Mysql变量记录
Mysql变量随笔用户自定义变量局部变量 : 一般用于SQL的语句块中,比如存储过程中的begin和end语句块。其作用域仅限于该语句块内会话变量 : 会话变量即为服务器为每个客户端连接维护的变量。在客户端连接时,使用相应全局变量的当前值对客户端的回话变量进行初始化系统变量会话变量 :全局变量 : 全局变量影响服务器整体操作。当服务器启动时,它将所有全局变量初始化为默认值。这...
2019-02-10 20:15:10
631
原创 龟兔赛跑算法判断链表是否存在环(著名的环检测算法)
最近写leetcode 287时,接触到了“龟兔赛跑算法”,搜索了很多文章,终于透彻地理解,现在用最通俗易懂的方法记录一下: 判断是否有环的关键思想是:定义两个指针,指针都在开始,一个指针走得快叫fast指针,一个走得慢叫slow指针,fast和slow一直走,在某个时刻,如果fast可以遇到slow,则存在环。 上面的思想很好理解,通俗来说,假如两个人比赛跑步,在一个400米的环跑道上,...
2018-08-01 15:13:06
709
原创 算法-动态规划,分治法,贪心法的应用场景
动态规划算法,分治法与贪心法都应用于:大问题可以分解为子问题求解的题目分治法,分治法最容易理解,主要思想是:将大问题分解成子问题,求解出不同子问题的解,由各个子问题的解得到最终解。所有的子问题可能相关,也可能不相关,如果子问题相关,则求解子问题的解时,会重复计算,进行不必要的计算,这时应该考虑下面的动态规划算法。如果不相关用分治法最好,不会进行多余的计算。由不同的子问题的求最终问题的解,这是...
2018-07-29 23:45:15
3986
原创 Idea结合MRUnit测试wordcount(Mapreduce作业)过程及出错记录
一 .为什么使用MapReduce?在Mapreduce中,map函数和reduce函数的独立测试非常方便,MRunit是一个测试库,它便于将已知的输入传递给mapper或者检查reducer的输出是否符合预期。这里由于主要体会MRunit.就用了最简单jing'dian的wordcountMRUnit需要与Junit一起使用二 . MRUnit引入第一种方式:maven项目中,pom.xml设置...
2018-06-01 13:23:12
820
原创 log4j问题解决:log4j:WARN No appenders could be found for logger
如提示,log4j没有配置日志记录的位置,需要配置log4j.properties,在src目录下新建log4j.properties,将下面的内容写入文件1.应用于控制台 log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender log4j.appender.Threshold = DEBUG log4j.appender.CONSOLE...
2018-06-01 12:51:08
188893
32
原创 leetcode 33 题目
题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。 分析:要求,O(log n) 肯定是用二分查找...
2018-04-20 22:30:23
3872
5
转载 CentOS7 Failed to start LSB: Bring up/down解决方法
原本以为/etc/system/netword-scripts/ifcfg-en33配置文件有问题,查看一下没问题刚刚装好的虚拟机突然不能上网了,报错很诡异,具体报错如下:/etc/init.d/network restartRestarting network (via systemctl): Job for network.service failed because the control...
2018-04-08 10:05:08
428
原创 Java中hashset底层实现机制
今天写算法,遇到了这个问题:HashSet<int[]> hs = new HashSet<>();int[] arr1 = {4,5};int[] arr2 = {4,5};hs.add(arr1);hs.add(arr2);System.out.println(hs.size());结果为:2HashSet<ArrayList<Integer>...
2018-04-06 12:51:34
1428
原创 flume基础原理介绍
从学习flume到在自己的3台虚拟机集群中安装,调试到最后成功,记录一下flume的原理,及安装运行时的注意点一。flume的工作方式数据发生器就是产生数据的地方,如产生各种日志文件的进程,文件夹的变动,用户浏览历史信息等数据发生器和agent在相同服务器上,agent是进程,ps aux即可发现其中,重点是Agent的工作方式上图都是用我用画板画的,大家将就看重点是sources,channel...
2018-03-26 23:18:53
591
转载 hive常见问题2
问题一: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient 参考:htt...
2018-03-21 18:02:19
560
原创 centos安装hive,出错信息及解决方法总结
问题一[root@hadoop1 conf]# hive 接下来出现:java.net.ConnectException: 拒绝连接 (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(Abstra...
2018-03-19 15:26:53
697
原创 大数据处理过程,业务性数据库与分析性数据库比较
一丶 一般情况下,数据挖掘经过如下阶段1,数据记录到数据源中,如(文本文件,传统的业务数据系统,和其他各种数据源)2.这些数据经过ETL(extract,transform,load)过程存储到数据仓库中,如hive(这些数据仓库并不存储数据,只是在文件系统上的存储仓库引擎,数据存储到文件系统中,如hdfs)3,在这些数据仓库上进行随机查询等,结果存入如hbase等,hbase是类似于非关系型数据...
2018-03-17 23:00:29
3987
原创 Hadoop之mapreduce,矩阵相乘算法
一,先将矩阵保存在txt文件中,保存格式为 矩阵名 行号 列号 值A矩阵的存储如图,,B矩阵为二。mapreduce思路我设定键为 (行号,列号),值为(矩阵名,列号/行号,值) 这个例子来说,A为4*3矩阵,B为3*2矩阵,则结果为4*2矩阵,键为(1,1)表示这是4*2矩阵中的第一行第一列,则它的键值应该包括A矩阵第一行的全部元素和B矩阵第一列的全部元素,则A矩阵第一行的各元素被存储...
2018-03-13 17:48:11
2660
原创 hadoop中出现connection refuced和datanode没有启动的问题
一。我在搭建的虚拟机hadoop集群中,上传文件:hdfs dfs -put ./hello.txt /log/ 时出现了connect refuced,经过百度等,一般有下面的方法,总结一下:1.改/etc/hosts文件。格式等错误2.在/etc/ssh/sshd_config中加port端口,一般为9000或者82803.(我错在这里)命令是否出现错误,如hdfs://master:9000...
2018-03-11 13:49:25
486
原创 linux下svn 因为权限上传失败的问题
linux下的svn服务器,若windows想svn commit时,会出现报错,原因在于windows相对于linux是other,权限没有开启,在服务器端的repository下执行:chmod o+rw 你的repository绝对路径 即可但是问题是,经过尝试,chmod 777 路径没有用,这同上面的命令作用应该相同,但是没作用,有博友知道请赐教!还有一点,svn下的
2017-12-03 15:12:06
921
转载 linux中daemon的改动之systemctl替代chkconfig和service
最近在玩deamon时,deepin没有chkconfig与service,但是有systemctl,后来在试玩centos7时也发现了该命令,systemctl是systemd下的一个工具。网上查了下,该命令已经存在很久了。该命令是用来替代service和chkconfig两个命令的 --- 尽管个人感觉还是后者好用。为了顺应时间的发展,这里总结下。在目前很多linux的新发行版
2017-11-17 17:37:05
1148
转载 nodejs中cookie,session保存内存,缓存,数据库中
http://wiki.jikexueyuan.com/project/node-lessons/cookie-session.html
2017-07-30 00:25:12
1911
原创 nodejs(express)链接操作mongodb
1.安装mongodb数据库,官网下载地址:https://www.mongodb.com/download-center#community2.官方推荐node-mongodb-native来操作mongodb,实际开发中估计更多会选用类似mongoose的模块来操作来提升开发效率,mongoose安装:npm install -g mongoose –save(-g表示全局,–save存储到本地
2017-07-30 00:19:07
807
原创 mysql中删除重复的数据
先说一下多表删除的语法(两种):delete t1 from t1,t2 where t1.id=t2.id and t1.name=t2.name;意思是:从t1表中删除t1,t2两张表中id和name相同的记录这个方式对于找条件相同的很适用,但是对于其他则不是很适用,比如delete t1 from t1,t2 where t1.name!=t2.name;则会删除t1中所
2017-06-07 19:03:14
382
原创 php无限极分类总结
php的无限极分类编程包括递归,经过一段时间,终于悟懂了,记录一下:简单但效率不高的的递归:先贴一下代码,下面我会说一下我的思路,网上查阅资料,自己悟的:从pid=0开始即可查询整颗树,每一次查询都有可能查询到多个子记录,其pid等于传入的Id的,因此我想数组有一个”name“的键,"child"的键值保存子树对应的数组结构,有点类似于链表。便于理解,举一个例子。例如pid=0
2017-06-05 10:32:03
932
原创 java的keyAdapter总结
class继承KeyAdapter,将label绑定于这个监听器上,发现按下F1之类的按键有效果,但是+-*/等没有效果,后来发现输入时要换成英文输入才有反应,在中文状态下按没有反应,经验如此,至于为什么中文(半角)敲入没反应,请高人指点。@Overridepublic void keyPressed(KeyEvent e) { char c; if ( (c=e.get
2017-05-18 19:01:24
3445
原创 Intellij IDEA 创建GUI界面
IntelliJ IDEA已经超过eclipse的使用率,这里纪录一下intellij创建GUI工程下新建一个Module,在src下新建GUI form,在可视化界面中编辑,会自动生成代码,点特定的部件按下F4即可跳到原代码中的位置,部件中可以右键可以做各种操作,如添加监听器等,在可视化界面中右键Preview,或者在源代码中ALT+insert生成main()函数,再run()也可
2017-05-15 12:58:13
41441
2
原创 Java中Concurrent包中同步互斥纪录
关于多线程,Concurrent包中的lock接口,和信号量很好的帮助我们解决多线程之间的同步,互斥,轮流执行等操作,且简单易懂,共享,相信掌握lock,Semaphore等接口可以解决大部分多线程问题,是很方便的一个类,可以很好的解决轮流打印ABC的问题等,这次我分享一个相似的问题,三个数组{1,3,5,7,9},{2,4,6,8,9},{‘a’,'b','c','d','e'},线程1打印1,
2017-05-14 14:43:10
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人