打卡ARTS-4

每周完成一个ARTS:

Algorithm:每周至少做一个 leetcode 的算法题

Review:阅读并点评至少一篇英文技术文章

Tip:学习至少一个技术技巧

Share :分享一篇有观点和思考的技术文章;

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

Algorithm

示例 1:

输入: 123
输出: 321

 示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231,  231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
int reverse(int x) {
    int rx = x;
    int bit = 0;
    int bitindex = 0;
    int result = 0;
    while(rx != 0){
        bit  =  rx % 10;
        rx /=  10;
        //printf("rx:%d\n", rx);
        if(result > (214748364) || result < (-214748364)){
            return 0;
        }else if((result > (214748364) )&& (result >7)){
            return 0;
        }else if((result < (-214748364)) && (result <-8)){
            return 0;
        }
        result = result * 10 + bit;
    }
    return result;
}

本题需要记录,开始的思路是通过左右移来完成交换,但是最后去判定数据的边界溢出会很麻烦,最后参考官方给出的思路去完成;提交成功;

Review:

UDP协议

https://zh.wikipedia.org/wiki/%E7%94%A8%E6%88%B7%E6%95%B0%E6%8D%AE%E6%8A%A5%E5%8D%8F%E8%AE%AE

UDP到底可靠还是不可靠测试;

https://www.openmymind.net/How-Unreliable-Is-UDP/

理解,在现在网络环境下,UDP可靠性还是没有那么低的,我猜想原来的UDP测试不可靠可能更多的是在当时环境下的测试,比如中间设备交换性能,准确性,链路的突变等导致的。经过技术发展,过程可靠了,UDP自然可靠性也好的多了。 

Tips:

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

语法选项

netstat 

-a或--all:显示所有连线中的Socket; 
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; 
-c或--continuous:持续列出网络状态; 
-C或--cache:显示路由器配置的快取信息; 
-e或--extend:显示网络其他相关信息; 
-F或--fib:显示FIB; 
-g或--groups:显示多重广播功能群组组员名单; 
-h或--help:在线帮助; 
-i或--interfaces:显示网络界面信息表单; 
-l或--listening:显示监控中的服务器的Socket; 
-M或--masquerade:显示伪装的网络连线; 
-n或--numeric:直接使用ip地址,而不通过域名服务器; 
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称; 
-o或--timers:显示计时器; 
-p或--programs:显示正在使用Socket的程序识别码和程序名称; 
-r或--route:显示Routing Table; 
-s或--statistice:显示网络工作信息统计表; 
-t或--tcp:显示TCP传输协议的连线状况; 
-u或--udp:显示UDP传输协议的连线状况; 
-v或--verbose:显示指令执行过程; 
-V或--version:显示版本信息; 
-w或--raw:显示RAW传输协议的连线状况; 
-x或--unix:此参数的效果和指定"-A unix"参数相同; 
--ip或--inet:此参数的效果和指定"-A inet"参数相同。
  1. 列出所有端口情况

  netstat -a      # 列出所有端口

  netstat -at     # 列出所有TCP端口

  netstat -au     # 列出所有UDP端口

  1. 列出所有处于监听状态的 Sockets

  netstat -l   # 只显示监听端口

  netstat -lt  # 显示监听TCP端口

  netstat -lu  # 显示监听UDP端口

  netstat -lx  # 显示监听UNIX端口

  1. 显示每个协议的统计信息

  netstat -s     # 显示所有端口的统计信息

  netstat -st    # 显示所有TCP的统计信息

  netstat -su    # 显示所有UDP的统计信息

  1. 显示 PID 和进程名称

  netstat -p

  1. 显示核心路由信息

netstat -r(route -n)

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

default         gateway         0.0.0.0         UG        0 0          0 eth0

192.168.130.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

netstat -rn   # 显示数字格式,不查询主机名称

Kernel IP routing table

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

0.0.0.0         192.168.130.1   0.0.0.0         UG        0 0          0 eth0

 

  1. 查看端口和服务

netstat -antp | grep ssh

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      734/sshd            

tcp        0     52 192.168.130.20:22       119.129.118.189:58737   ESTABLISHED 1846/sshd: root@pts 

tcp6       0      0 :::22                   :::*                    LISTEN      734/sshd            

netstat -antp | grep 22

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      734/sshd            

tcp        0     52 192.168.130.20:22       119.129.118.189:58737   ESTABLISHED 1846/sshd: root@pts 

tcp6       0      0 :::22                   :::*                    LISTEN      734/sshd            

 

Share:

补一下字体版权的知识

https://www.zhihu.com/topic/19730197/hot

你可能感兴趣的:(打卡)