![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程技巧
文章平均质量分 68
penngrove
这个作者很懒,什么都没留下…
展开
-
Spark-UDF优化之一:Key-Value提取性能提升20倍
Spark-UDF优化之一:性能提升20倍文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言User define function是Spark-SQL中容易被忽视的一部分,但在真实业务场景中,有大量的应用。比如,用户的行为分析,需要将用户登录的客户端,访问了产品的的哪些页面,点击了哪些商品等等信息存储在一张单独的数据库表中,这些信息一般都没有存储在固定的列,而是以key-value的形式,类似URL的参数一样编码在一个长..原创 2020-09-05 08:36:21 · 932 阅读 · 1 评论 -
如何用IntelliJ IDE build & run Spark
准备工作:1. 下载并安装java 1.8(spark依赖)2. 下载IntelliJ Community版本并安装,配置JDK。在欢迎界面右下角,选择Configure,选Structure for New Projects,在弹出来的对话框里面选择SDKs,找到你的JAVA_HOME,指定好,保存。3. 下载spark源代码,本博客使用spark 2.3.04. 安装sca...原创 2020-01-08 14:58:57 · 1186 阅读 · 0 评论 -
[Perf issue diagnostic] dotnet core takes long time to verify x509 certificate on Ubuntu 18.04
After installing dotnet core 3.0 preview 5 and openssl 1.1.1 on my Ubuntu 18.04, I found the x509 certificate validation takes long time (> 3 min for 1000 validations). The x509 certificate validti...原创 2019-05-31 14:07:34 · 188 阅读 · 0 评论 -
避免缓冲区溢出的方法
缓冲区溢出一般是由于一下原因导致:1.字符串处理函数没有指定长度,单单凭借结尾字符是不是'\0'来判断结束。2.被处理的字符超过缓冲区可接受的大小。例如,从屏幕输入字符串:gets(buff),但是buff的内存少于屏幕一行字符个数,就会导致溢出,应该使用fgets。3.所有格式化字符串的函数:fprintf("%n",&num_write)。避免的办法:1.不要用%n原创 2015-09-15 14:34:19 · 9221 阅读 · 0 评论 -
Linux Kernel CMPXCHG函数分析
Linux Kernel中cmpxchg解析原创 2015-03-10 15:38:53 · 11703 阅读 · 0 评论 -
Palindrome number
回文字符串:=============Question================Now that the king knows how to find out whether a given word has an anagram which is a palindrome or not, he is faced with another challenge. He realizes原创 2013-07-31 22:49:51 · 1565 阅读 · 0 评论 -
编程获得程序运行的Trace stack信息
C/C++得到trace stack信息的办法:https://www.evernote.com/shard/s5/sh/3c9fc88a-fbc2-498e-a4e4-881fcc4cbb24/46850f47cdac789ce3749760de81e487Java得到trace stack信息的办法:public static void printStackTrace() {原创 2012-08-31 14:50:46 · 770 阅读 · 0 评论 -
Java Proxies and UndeclaredThrowableException
Java的dynamic proxies应用广泛,尤其是在客户端/服务端架构下,客户端的调用一般都是用proxy来实现。但是,一旦proxy中的方法要抛出exception时,客户端会得到UndeclaredThrowableException,而不是真正被抛出来的exception。原因是method.invoke()只会抛出InvocationTargetException,需要手工转换成真正转载 2012-08-15 11:23:25 · 970 阅读 · 0 评论 -
.Net网络程序对HttpRequest增加Header
对C# webapp的HttpRequest设置/增加Header,没有官方的介绍,在网上找到了两篇介绍,但是第一种只能在windows2003上工作,在windows2008上不行。第二种都适用,显然,第二种方法是可以接受的方案1. http://forums.asp.net/p/979853/1250479.aspx2. http://stackoverflow.com/quest原创 2012-07-25 12:37:57 · 4020 阅读 · 0 评论 -
通过Filter从HTTP Request统一记录log
为了给每次HttpServletRequest访问生成log,可以创建一个Filter,用它来parse请求。听上去简单,但是有个小问题,HttpServletRequest的body只能读一遍,Filter读过了,后面的servlet就不能读了。解决办法很简单,把数据copy一份就好了。有两个网上找到的实现:http://natch3z.blogspot.com/2009/01/read-r转载 2012-02-01 15:17:33 · 1425 阅读 · 0 评论 -
Java Singleton
Java的单例模式在Effective Java里面有权威的做法,就是用Enum。这是最完美的做法。它利用Java自身语言机制保证了内存中只有一份拷贝,同时它也让那些想通过Reflection + setAccessable()的攻击单例的做法失败。下面列出来4中Singleton实现,然后分别用Reflection + SetAccessable()来攻击单例,如果能创建出两份单例,就认为攻原创 2010-07-21 23:15:00 · 3933 阅读 · 0 评论 -
try-catch-finally执行顺序探秘
问题:1. finally一定会执行到吗?2. 如果try或者catch中有return/throw,那么finally的执行是在return/throw之前还是之后?更有甚者,如果try里面有"return a",而finally里面有"return b",那么最终返回值到底是转载 2011-07-17 11:11:45 · 627 阅读 · 0 评论 -
LDAP SSL 连接
使用SSL来连接LDAP server有多种方法(http://yagodnoe.ifmo.ru/~ad/Documentation/jndi-1_4_2-tutorial/ldap/security/ssl.html#SERVER),但大都需要client端指定keystore和password,其实对于大部分应用,client会接受server端的证书,所以更通用的方法是应用前面链接中提到的Custom Socket Factory.下面给出示例:DummyTrustManager:package co原创 2010-10-13 10:46:00 · 10927 阅读 · 0 评论