自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hongchangfirst

不以物喜,不以己悲(热烈祝贺 西安电子科技大学 八十五周年校庆)

  • 博客(319)
  • 论坛 (1)
  • 收藏
  • 关注

原创 三分钟教你学Git(二十八) - 修改commit的date参数

有时候你git commit --amend修改了一个commit,但是commit的date日期仍然是当时commit的日期,如果你想要修改为当前日期可以做以下操作:git commit --amend --no-edit --date "$(date)"原文:http://blog.csdn.net/hongchangfirst/article/details/111307065作者:hongchangfirsthongchangfirst的主页:http://blog.cs..

2020-12-17 06:33:03 108

原创 SQL中UNPIVOT是什么

比如你有一个table,你想把列转换成行,就可以使用unpivot。还是有点抽象,具体什么意思呢?比如说有一个table stu_score如下:Name, Math, Chinesezhc, 99, 95xiaoy, 89, 100xiaot, 98, 60你想要把它转化成这样:Name, Subject, Scorezhc, Math, 99zhc, Chinese, 95xiaoy, Math, 89xiaoy, Chinese, 100xiaot,

2020-12-17 02:25:16 162

原创 三分钟教你学Git(二十七) - 修改多个commit

比如我们又一个历史提交A->B->C->D, 当前HEAD在D commit上,我们想要修改B,Ccommits,该怎么做呢?我们知道用git commit --amend可以修改当前的提交D,但是之前的怎么办呢?首先我们要修改的起点开始于最近的三次提交,告诉git:1 git rebase -i HEAD~3然后git会告诉你现在的status:pick a1message of a1pick a2message of a2pick a3message...

2020-12-12 07:36:50 60

原创 @Setter(onMethod = @__(@Inject)) 是什么意思

这是Lombok的实验性质的语法,以后可能会deprecate掉。@Setter都知道就是lombok帮你生成setter方法,那里面的onMethod是什么意思呢?就是让lombok在生成setter方法时,在这个setter方法上进行annotate,annotation就是@Inject@Setter(onMethod = @__(@Inject))private String...

2020-01-11 01:58:25 1629

原创 SQL中UNNEST 是什么

如果想要将ARRAY转换为一组行,即平展操作,可以使用UNNEST运算符。UNNEST获取一个ARRAY,然后赴安徽一个表,表中的每一行都是该ARRAY中的元素。我们来看一个例子:比如你有一个表zhc,第一列是id,第二列是ARRAY,像这样:id, numbers1, [0,2,2,5]2, [3,6]执行下列UNNEST操作:select id, flattened...

2019-07-09 13:33:29 9180 1

原创 谁动了我的奶酪 读后感

读了Who Moved My Cheese这本书的几点感悟,记录下来,共享之。1 拥抱变化, embrace the change, since the only thing that isn't changing is the change itselft.有变化,才能越来越好,而不是每天墨守成规。2 居安思危, stay alert. Being prepared for the ...

2019-07-09 13:26:30 475

原创 一分钟教你知道乐观锁和悲观锁的区别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。

2014-07-08 14:06:58 267489 37

原创 awk按照多个分隔符进行分割

我们知道awk可以进行类似于cut之类的操作,ru

2014-05-22 12:17:05 118816 1

原创 三分钟教你学Git(二)之命令索引

 记住这三个概念,工作区(Working Area),暂存区(Stage),版本库,通过add,工作区的变化到暂存区,通过commit暂存区的变化到本地版本库,通过push本地版本库的变化到远程版本库。下面是常用的命令。 保存进度恢复工作进度#把工作区和暂存区的内容保存到进度列表里git stash save “description”#把工作区和暂存区的所有内容都保存到进...

2014-04-29 15:00:41 4308

原创 程序员必知(六):信息论问题

具体问题:有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒。这道题的本质是,至少用多少个老鼠可以表达1000种方式。即用多少位可以表达1000,为n=10,因为2的10次方等于1024,大于1000,所以此题的答案是10.我们看具体解法:给1000个瓶分别标上如下标签(10位长度): 0000

2014-01-03 16:35:24 2398 4

原创 Linux命令惯用法

1硬连接与软连接ln a b这是硬连接,a文件和b文件是同一个inode,连接数为2ln -s a c这是符号连接,c文件是一种特殊的文件,即连接文件,指向a,c文件的inode和a文件的inode不同。可用ls -li来查看inode号。2想要动态的查看一个文件内容的变化,可以用tail命令如:tail -f /var/log/messages#将文...

2012-08-28 11:13:13 2540

原创 Shell环境变量传递问题

当shell新开一个script的时候,可以告诉子进程继承来自父进程的environment variablesexport ENVROOT=/apollo/env/zhc可以用printenv来打印当前所有的环境变量供debug使用。今天遇到一个很奇怪的问题,已经export了,但是新的script却没有这个环境变量。后来才发现是因为user不同:比如1 export EN...

2020-02-18 06:04:33 945

原创 Python Basics - 十四个基本点

直接上code了,code里有注释,最主要是理解python的基本概念和语法,适合已经有其它语言经验的developer快速学习。from math import *# 1. Variables, string, number, booleancharacter_name = "aaaa"character_age = 35.23is_male = Falseprint(char...

2019-11-03 01:05:39 203

原创 Mac OS terminal 并没有读取.bashrc

比如在.bashrc中写了一个:export PATH=/Users/hczhang/bin:$PATH但是启动一个新的terminal的时候整个path并没有生效,这是因为Mac OS terminal并不读取.bashrc, 而是读取.bash_profile, 所以为了简便起见,直接copy bashrc中的内容到bash_profile中。就可以了。当然你也可以每次都sour...

2019-07-09 13:27:35 1412

原创 CoffeeScript是什么

CoffeeScript是一种JavaScript的开源工具,常用在Ruby On Rails项目中。它的原理是写CoffeeScript脚本,然后CoffeeScript会把CoffeeScript转换成JavaScript脚本供你的网站使用。举一个例子:你写的CoffeeScript如下:jQuery -> validationErrorMap = JSON.pa...

2019-07-09 13:23:52 874

原创 Scala List 怎么转换为Java util.List

1 Scala List -> Java List比如你有一个Scala List,val zhcScalaList = List(1,2,3)你有一个library是take java util List作为参数的,你怎么把它变为Java 的List呢?你需要import scala 的JavaConverters._import scala.collection.Ja...

2019-05-25 03:04:43 3363

原创 Dagger是什么

Dagger是一种对Java和Android的静态的,编译时依赖注入(Dependency Injection)框架。它主要用来解决很多由于大量使用反射reflection而带来的开发和性能问题。Dagger可以用来帮你来建立之前需要写的Factory class。它主要用来代码生成。Dagger也是根据@Inject注解来进行代码生成的。Classes that lack@In...

2019-05-02 07:32:19 4234

原创 JOOQ是什么?

JOOQ代表Java Object OrientedQuery, 可以把你的数据库模型的基本信息,比如表名,字段名生成相应的Java类,这些是自动化的,提高了效率,也避免了手动写POJO代码产生的错误。这和一些ORM比如Hibernate映射框架有些不同,比如Hibernate是帮你隐藏了SQL实现。但JOOQ是直接帮你生成好相应的Java类,然后你也可以用这些Java类和数据库打交道。...

2019-05-02 05:51:10 998

原创 什么是liquibase

liquibase是开源的数据库跟踪,管理工具,比如数据库表的更改变化,回滚等。所有的数据库变化比如表增加列都会存储到XML,JSON或者SQL中。比较适合多团队写作开发,用来共享资源。LIquibase会自动的创建DatabaseChangeLog数据库表和DatabaseChangeLogLock表和里边的每次更改记录。liquibase现在支持10种常用的数据库类型,比如说MySQL...

2019-05-02 01:59:21 1729

原创 YAML是什么

YAML不是标记语言。YAML是一种对人友好的对各种程序语言的数据序列化标准。YAML Aren't Markup Language, 递归缩写就变成了YAML. 语法类似于XML,但是比XML要简单很多。YAML使用空白字符和分行来分隔资料,使得它特别适合用grep,Python,Ruby等进行操作。结构通过缩进来表示,连续的项目通过减号-来表示. 也可以通过方括号[]来表达相...

2019-04-03 07:28:51 1190

原创 几种比较好用的连接PostgreSQL的客户端

1 navicat是类似于MySQL workbench的SQL客户端,可以支持PostgreSQL,需要购买,但是有试用版。http://www.navicat.com.cn/download/navicat-for-postgresql, 可以下载安装相应的版本,然后创建连接即可。http://www.navicat.com.cn/ 2 pgAdmin, https://www...

2019-02-26 18:23:54 57695 1

原创 SQL - 分组排序

SELECT *,row_number() over(partition by col1 order by col2) as rn1这是什么意思呢?简单的说就是进行分组排序并编号的过程。row_number()很好理解,给每条记录分配一个行号,从1开始,连续的。那么over (partition by col1 order by col2 desc) 是什么意思呢?就是先按照col1进...

2018-12-03 17:21:29 304

原创 Apache Superset是什么

Apache Superset是一个现代的,工业级的Business Intelligence的Web应用。之前的名字叫做Panoramix和Caravel,2016年底重新命名为Superset。了解一下Superset的功能有:1 Data visualizations2 探索和可视化数据的易用接口3 创建和分享dashboard4 权限管理5 可以配置数据源与界面之间...

2018-11-13 12:27:24 1151

原创 swagger-editor 怎么用

可以将swagger-editor装在本地上进行编辑json/yaml 文件,然后preview。非常方便。首先下载swagger-editor:git clone https://github.com/swagger-api/swagger-editor.gitcd swagger-editorpython -m SimpleHTTPServer 8888如果不行试试这个:...

2018-11-13 12:25:47 1075

原创 handlebars是什么

一种建立语义模版的工具,跟Mustache模版基本上兼容。用双括号来表示handlebars会进行处理,比如{{variable}},表示会替换variable的内容。循环:{{#list people}}{{firstName}} {{lastName}}{{/list}}people是一个json array。条件:  {{#if title}}    {{../pe...

2018-11-13 12:24:52 732

原创 Linux date 时间显示的时区问题

以下三个时间其实是同一时间,date1 Fri Nov  2 16:28:11 CST 2018CST: China Standard Time, 中国东八区时区,GMT+8 2 Fri Nov  2 08:28:11 GMT 2018GMT: Greenwich Mean Time 3 Fri Nov  2 08:28:11 UTC 2018UTC: 协调世界...

2018-11-13 12:23:28 6381

原创 Java8 @FunctionalInterface

Functional Interface即函数式接口,在这个接口里面只能有一个抽象方法,即Single Abstract Method Interface。@FunctionalInterfacepublic interface FunctionAdd{    void add(int i);} You can declare a method that use Fun...

2018-10-19 18:46:50 219

原创 Python – No Module named SimpleHTTPServer

如果用python打开一个http服务器:python -m SimpleHTTPServer 9999出现Python – No Module named SimpleHTTPServer 看一下python版本,python --version,如果是python3的话,可以试试python -m http.server 9999 python的http serve...

2018-10-19 18:44:36 9989

原创 Excel 将两列合并变成第三列,中间加一个连字符

比如你有一个表格:A  Ba  1b  2你想把A,B两列合并起来变成第三列CCa1b2怎么做呢?可以用公式得到=A1&B1就可以了,如果想中间加个连字符"-",怎么做呢?Ca-1b-2可以这样:=A1&"-"&B1原文:http://blog.csdn.net/hongchangfirst/article/det...

2018-10-19 18:40:55 20397

原创 Excel 表格旋转

行变列,列变行,比如:A   B1   23   45   6旋转后变成:A  1  3  5 B  2  4  6怎么做呢?先复制所有的数据,然后在选择粘贴的位置,单击右键,选择性粘贴,paste special, 然后选择置换transpose,即可。这样的数据就可以开始制作饼图了。原文:http://blog.csdn.net/hongchangf...

2018-10-19 18:39:59 682

原创 SQL 只返回前10个纪录

如果是MySQL的话可以使用limit,像这样:SELECT *FROM tableWHERE id > 10ORDER BY idLIMIT 10,5第一个参数表示初始纪录行的偏移量,第二个字段表示个数,比如上述例子只会拿到第11行到15行。 如果是Oracle的话可以使用rownum,像这样:SELECT *FROM tableWHERE id...

2018-08-17 10:29:05 6639

原创 SQL REGEXP_SUBSTR的用法

REGEXP_SUBSTR顾名思义就是根据正则表达式来进行字符串替换。比如下面这个例子:WHERE PROMO_ID = REGEXP_SUBSTR('{abc}','\{([^{}]*)\}',1,1,'i') 第一个字段是source str, 表示需要进行处理的字符串。第二个字段是pattern.第三个字段是position, 表示起始位置。第四个字段是occurenc...

2018-08-16 11:58:20 8065

原创 多元逻辑回归 - 小技巧(一)

在做多元逻辑回归进行分类问题时,经常需要将某一个分类转化成vector,或者反过来的操作。比如一共有四种分类,那么第二种分类的vector就是:[0;1;0;0], 除了第二个元素为1外,其它的都为0.所以问题为:给定一个vector,里边的值代表了是第几重分类:比如y = [1;2;4]; 三个样本,第一个样本为分类1,第二个样本为分类2,第三个样本为分类4. 构造一个矩阵,样本分类的相...

2018-07-16 17:45:37 4130

原创 怎么测试abstract class

关于对abstract class需不需要一个单独的unit test,业界有很多争论。https://stackoverflow.com/questions/7569444/how-to-test-abstract-class-in-java-with-junit不支持立场的观点是abstract不能被实例化,如果被实例化的话,那么一定有实现类,所以测实现类的时候,顺便就会测到abstract ...

2018-07-11 10:50:18 932

原创 三分钟教你学Git(二十六) revert多个提交

假如git commit 链是A -> B -> C -> D 如果想把B,C,D都给revert,除了一个一个revert之外,还可以使用range revertgit revert B^..D 这样就把B,C,D都给revert了,变成:A-> B ->C -> D -> D'-> C' -> B'用法就是:git revert OLDER...

2018-07-10 15:28:19 12452

原创 Mockito怎么验证最后一次调用

比如说你有一段代码像这样:{ ... A.add("1"); ... A.add("what ever"); ... A.add("2"); A.delete("5"); ...}你想验证A的add方法最后一次调用的时候参数是2,怎么做呢?方法1 可以利用ArgumentCaptor去获得所有的实参,然后判断最后一个即可。Argum...

2018-06-11 11:05:31 652

原创 Intellij上装一个Vim插件

打开Preferences,对话框中有plugin,然后install IdeaVim插件。重启Intellij就可以了,重启后会弹出需不需要enable repeating key press, 这里选择yes。所以可以一直按着j向下走,比较方便。如果你选了no的话,可以用下列命令行恢复。System-wide key repeatdefaults write -g ApplePressAndH...

2018-05-11 11:15:11 1787

原创 Charles 在iOS设备抓包

正常的进行配置proxy,enable ssl on host and port,安装证书,信任证书,但是有些域名的访问还是出现了:SSLHandshake: Remote host closed connection during handshake还需要最后一步是full trust:General > About > Certificate Trust Settings, and...

2018-05-10 12:00:44 619

原创 Sublime Text建立sftp进行文件同步

1 打开sublime,按下Ctrl+Shift+P,如果是Mac,按下Command+Shift+P.2 输入install packages,按回车。3 在接下来出现的对话框中,输入sftp,按回车。4 安装好后,右键单击你想要同步的文件夹,点击SFTP,map to remote.5 自动打开了一个sftp-config.json文件,注意下边的配置:字面意思很容易理解:"save_befo...

2018-05-10 11:59:15 1285 1

原创 Spark处理数据如何获得行号

因为Spark并行的处理数据,所以你不能在自己的driver program中计数到底是处理到第几个。Spark提供了zipWithIndex可以给你提供索引号。这个索引号是全局有序和唯一的。public RDD<scala.Tuple2<T,Object>> zipWithIndex()Zips this RDD with its element indices. The...

2018-05-10 11:57:02 2412

空空如也

白杨树的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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