[原创] 一个普通技术人的2021总结,2022展望

虎年初三,在全国人民阖家欢乐到处游玩的日子里,我又去了图书馆学习。
去年的年初一,我去了同一家图书馆学习。
感叹这一眨眼,就已经过了一年了啊。
在这样重要的节日里来图书馆学习似乎显得特别冷清,但是这能让我感受到内心的宁静,可以好好思考一下过去和未来。

阅读更多

[原创] 在IntelliJ中运行Java unit test(单元测试)时打印出"log4j:ERROR Either File or DatePattern options are not set for appender"的问题

当你在IntelliJ idea中跑一个Java单元测试时,可能会发现单元测试本身没有任何问题,可以成功执行,但是IntelliJ的日志输出窗口里却打印出大量的“错误”日志,类似于下面这样:

阅读更多

[原创] Apache Pig解析JSON数据

JSON

查看更多Apache Pig的教程请点击这里

在大数据处理领域,JSON格式的数据非常常见,然而用Apache Pig读取JSON并正确取出其中的字段我觉得并不算方便(在某些情况下很容易写错),所以总结一下几个常见的JSON loader/UDF的用法。

假设有数据文件 1.txt,内容是一行JSON(为了简单,这里以一行为例):

{"items":[{"id":"111","name":"aaa","extra":{"k":"ttt","v":"uuu"}},{"id":"222","name":"bbb","extra":{"k":"rrr","v":"sss"}}]}

阅读更多

[原创] Charles Proxy抓包本地Java程序数据配置

charles proxy

查看Charles Proxy文章合集,请点击这里

Charles Proxy是一个HTTP代理/HTTP监视器/反向代理,它使开发人员能够查看其计算机和Internet之间的所有HTTP和SSL/HTTPS流量。这包括请求、响应和HTTP headers(其中包含cookie和缓存信息)。

话不多说,直接按如下步骤操作:
➤ 导出Charles的证书

在Charles界面上点击菜单导出 .pem 证书:

HelpSSL ProxyingSave Charles Root Certificate

把文档保存到 ~/charles.pem

阅读更多

[原创] 扩展VirtualBox虚拟机的磁盘空间(vdi文件)

宿主机:Ubuntu 16.04 LTS
虚拟机:Windows 10

VirtualBox虚拟机文件有很多种格式,我的是vdi格式,对应的磁盘空间是37GB(Win10系统里只有一个C盘),由于虚拟机里的空间不够用了,想把它扩展成45GB,并且在数据不丢失的情况下仍然保持“只有一个C盘”的状态。
下面是操作方法。

阅读更多

[原创] ssh连接Linux服务器时提示"Too many authentication failures"的解决办法

如果你用 用户名+密码 的方式第一次ssh连接一台Linux服务器,连不上并且报以下错误:
Received disconnect from xxx.xxx.xxx.xxx port 22:2: Too many authentication failures
Disconnected from xxx.xxx.xxx.xxx port 22
如果你确定不是因为你输入了太多次错误密码,那么产生这个问题的一个可能原因是:
在发起连接的机器(记为A)的 ~/.ssh 目录下放了太多密钥文件,当你连接一台新的服务器并且没有在 ~/.ssh/config 文件中做过特殊的配置时,默认会挨个尝试所有密钥文件,而这些密钥文件,都不是适配那台新服务器的,所以会连接失败。

阅读更多

[原创] IntelliJ IDEA打开大JSON文件的高亮配置

如果你在 IntelliJ IDEA 中打开一个比较大的JSON文件,可能会在IDE上方看到这样的提示:

The file size (xxx MB) exceeds the configured limit (2.56MB). Code insight features are not available.

这说明默认配置是:大小不超过 2.56MB 的文件,打开才有语法高亮显示,以及代码块折叠功能(代码编辑区域左侧点击 +、- 符号折叠同一段代码)。

阅读更多

[原创] 在腾讯云的轻量应用服务器Lighthouse上用Squid开启HTTP代理服务

前段时间我看到腾讯云的促销广告,其“轻量应用服务器”首年的费用才85元(配置:1核CPU,2GB内存,50GB磁盘,带宽4Mbps,流量包500GB/月),可谓相当便宜,于是入手一台,安装了Ubuntu系统,用于一些简单的测试场景。

轻量应用服务器(Lighthouse)是新一代面向中小企业和开发者的云服务器产品,具备轻运维、开箱即用的特点,适用于小型网站、博客、论坛、电商以及云端开发测试和学习环境等轻量级业务场景,相比传统云服务器更加简单易用,并通过一站式融合常用基础云服务帮助用户便捷高效的构建应用,是您使用腾讯云的最佳入门途径。 

阅读更多

[原创] 过劳死和穷死,你希望哪一个先来?(二)

努力活着」
当你有一个机会可以过上朝九晚五的轻松生活,我劝你考虑清楚要不要抓住,打鸡血并不适合每一个人。

♫ 前言
 

    当几位拼多多员工悲伤离世、拼多多退出央视春晚红包合作项目的新闻已经逐渐被人们淡忘,而郑爽代孕的新闻却飞遍大街小巷抓尽眼球的时候,你是否依旧还记得996的苦?

阅读更多

[原创] 过劳死和穷死,你希望哪一个先来?(一)

最近又有两位拼多多的员工去世,而这距离上一个商汤科技的一位技术岗员工英年早逝才刚过了几周。
你没看错,是两个拼多多的员工!其中最近的一个,是昨天(2021年1月9日)才跳楼自杀的!

拼多多的工作强度就不说了,只要你是一个互联网人,一定会听说有多可怕。996算什么?太小儿科了好吧?
拼多多希望员工是个“本分”的人:当拼多多的员工月工时达到300小时,其系统会显示“您已本分”。有没有觉得这个词让人特别不舒适?把人当没有感情的动物看待吗?
大家可以算一下除去休息日,每天要工作多少个小时?没达到这个时长的员工就是不“本分”?有没有刷新你的世界观人生观价值观?
2020年10月,拼多多董事长黄铮在公司5周年讲话时号召全员开启“硬核奋斗模式”,多位员工证实,买菜业务线的员工此前实行超级大小周(工作13天休一天)后来演变成全无休,每天工作时长约12小时。

阅读更多

[原创] 如何把别人共享的Google Drive目录完整拷贝到自己的Google Drive里

假设别人共享了一个Google云端硬盘(Google Drive)的目录,里面有很多大文件,你想把这个目录拷贝到自己的Google Drive里,那么,把它们全部下载到本地、再上传到自己的Google Drive里的做法未免太傻了一点——不仅速度慢,而且太耗流量。

不通过本地中转的“云拷贝”是一个好办法。
Google Drive Copy Folder就是这样一个Google Drive web app,它可以把你有权限访问的Google Drive目录,完整拷贝到你自己的Google Drive指定目录下。
但是要注意,这不是Google官方开发的工具,对安全性有顾虑的人请谨慎审视。

阅读更多

[原创] 使用Apache DataFu中的Coalesce()简化Apache Pig的三元运算符

查看更多Apache Pig的教程请点击这里

来看这个例子。有数据文件 1.txt,内容为:

a[\t][\t]c
[\t]f[\t]g
h[\t]k[\t]
[\t][\t][\t]
其中 [\t] 表示制表符(tab),并不是真的在文件中写了 [\t]
在Pig命令行交互模式下加载这个文件,并把其中为空(NULL)的列替换成一些数字:

A = LOAD '1.txt' AS (col1: chararray, col2: chararray, col3: chararray);
B = FOREACH A GENERATE (col1 IS NOT NULL ? col1 : '1') AS col1, (col2 IS NOT NULL ? col2 : '2') AS col2, (col3 IS NOT NULL ? col3 : '3') AS col3;
DUMP B;

输出:

(a,2,c)
(1,f,g)
(h,k,3)
(1,2,3)

代码非常简单:如果第一列col1为空则替换为1,如果第二列为空则替换为2,如果第三列为空则替换为3。
这里使用了三元运算符 ? : 来做这个判断,写法非常丑陋。

阅读更多