/images/avatar.jpg

雨临Lewis的博客

嵌套循环的优化

需求背景

今天拿到这样一个需求:有Map A和Map B,这两个Map都持有着一个同样的key——id,其对应的value可能相同,也可能不相同。现在需要对两个Map中该key对应的value相同的键值对做些特殊的操作。

这是个很简单的需求,代码很简单,我直接一个循环里嵌套另一个循环去实现这个功能需求:

cmd - 命令行窗口中文乱码

问题

在cmd窗口中输入curl www.baidu.com可以看到有中文乱码的现象,这是因为默认使用的是GBK编码。另外,curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本,在win10的cmd中有内嵌curl。

前端问题汇总

如何让input文本框和图片对齐

在默认情况下,input文本框和图片无法自然对齐,总会有所偏差,文本框往往会比图片要往下边一点,只要给元素添加vertical-align:bottom即可令两者底部水平对齐,代码如下:

1
2
<input type="text" style="vertical-align:bottom">
<img src = "images/露琪亚.jpg" width = "50%" height = "50%" alt = "露琪亚" title = "死神里的露琪亚"  style="vertical-align:bottom">

通过split命令分割大文件

场景

线上出了问题,我需要去查找log来定位问题,但是由于线上数据量庞大,这些log文件每过一个小时就会自动回滚一次,尽管如此,有的log文件依然达到了五六g以上的大小。

对于这种巨大的log文件,常用的一些文本编辑器诸如EditPlus、Notepad++就不用说了,打开几百m的文件都会很卡,上g的直接程序崩溃。虽然UltraEdit对于大文件的读取会友好一些,但打开这种五六g的文件时也会陷入长时间的无响应状态。

后来我又得知了一个看log神器——glogg,打开五六g的大文件速度很快,但是有个问题,就是只能读取文件,不能编辑文件。毕竟我不只是要查看log,有时候还要对这些有用的log信息进行编辑。最后还是决定先把大文件分割成数个小文件,再用UltraEdit来查看这些文件。

PMD问题汇总

Avoid autogenerated methods to access private fields and methods of inner / outer classes

样例如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
public class Test {

    public static void main(final String[] args) {
        //code
    }

    public void test(){
        Executors.newSingleThreadExecutor().execute(new Thread() {
            @Override
            public void run() {
                final int a = getNum();
                System.out.println(a);
            }
        });
    }

    private int getNum() {
        return 0;
    }
}

服务器时间和数据库时间的校验

问题与分析

今天在公司进行Sanity Test(可用性测试)时发现服务器启动失败,查找log后发现在启动时发生了异常导致了服务器启动失败。

由于公司的服务器和数据库分别部署在不同的主机,所以会在启动时进行时间上的校验,如果两台主机的时间差超过600s就会抛出异常、启动失败。这个设定的时间差被存储在数据库中,以方便日后修改。

网络适配器、网卡和网卡驱动

网络适配器(网卡)

网络适配器其实就是计算机内部的网络连接设备,也就是俗称的网卡。网卡分为有线网卡和无线网卡,有线网卡能够支持宽带有线网络的连接和网络访问,而无线网卡则支持无线wifi局域网的网络连接和访问。

台式电脑一般默认都不带无线卡,所以是无法接收wifi进行上网的。

如果想要台式机接收无线网使用wifi,电脑必须安装一块无线网卡,可以选择USB接口无线网卡。

Google hosts - 简单介绍与使用方法

什么是Hosts

百度百科:

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

需要注意的是,Hosts文件配置的映射是静态的,如果网络上的计算机更改了请及时更新IP地址,否则将不能访问。

PostgreSQL问题汇总

修改默认端口号

PostgreSQL默认使用5432端口号,如果要连接其他端口号,必须通过-p参数来指定端口号。

如果不想指定端口号就能连接数据库,则需要修改默认端口号。首先将PostgreSQL的server服务关闭,这个要在系统的服务管理器中将其关闭:

  • win + R快捷键打开运行;
  • 输入services.msc打开服务管理器;
  • 找到运行中的PostgreSQL的server服务将其关闭。