令人哇塞的酷鸡 发布的文章

mac系统与Linux很类似.设置自定义命令可以通过设置别名的方式.具体操作如果

  • 打开 ~/.bash_profile文件 (没有则创建一个)
  • 设置自己的自定义命令(如下)

    function my_test(){
      echo "输入的参数: $1";
      //做一些你想做的命令
    }
  • 使命令马上生效

    source ~/.bash_profile
  • 用法

    my_test hello

    可能遇到的问题?

  • mac上打开新的窗口时,命令不存在?
    打开新的窗口才不能用的, 这种貌似是shell没有读取.bash_profile文件并执行. 通常一个新的shell窗口开启前会自动调用.bash_profile文件.不过shell有很多种,bash shell才会这样.如果当前用的不是bash shell.那么自然自定义命令在新窗口就不能使用. 用的不是bash shell通常是问题所在.所以可通过以下步骤确认下.

    • 查看当前使用的shell(如果使用的是bash shell会输出/bin/bash):

      echo $SHELL
    • 解决:一般在mac上很多会用zsh shell.而zsh shell每次新开窗口时会调用~/.zshrc,所以只要将自定义命令写入在这个文件中即可, 记得给该文件执行权限. 问题就可解决.

December Headline: Python on its way to become TIOBE's language of the year for the fourth time

排名编程语言Ratings同比上月
1C16.48%+0.40%
2Java12.53%-4.72%
3Python12.21%+1.90%
4C++6.91%+0.71%
5C#4.20%-0.60%
6Visual Basic3.92%-0.83%
7JavaScript2.35%+0.26%
8PHP2.12%+0.07%
9R1.60%+0.60%
10SQL1.53%-0.31%
11Groovy1.53%+0.69%
12Assembly language1.35%+0.28%
13Swift1.22%-0.27%
14Perl1.20%+0.30%
15Ruby1.16%-0.15%
16Go1.14%+0.15%
17MATLAB1.10%+0.12%
18Delphi/Object Pascal0.87%-0.41%
19Objective-C0.81%-0.39%
20PL/SQL0.78%+0.04%
21Rust0.78%--
22SAS0.77%--
23Classic Visual Basic0.71%--
24Scratch0.67%--
25Transact-SQL0.59%--
26Julia0.56%--
27Lisp0.55%--
28Logo0.51%--
29D0.50%--
30ABAP0.47%--
31Dart0.45%--
32Fortran0.45%--
33COBOL0.43%--
34Ada0.40%--
35Prolog0.40%--
36Scheme0.37%--
37Scala0.36%--
38VHDL0.34%--
39PowerShell0.34%--
40Kotlin0.32%--
41(Visual) FoxPro0.30%--
42TypeScript0.30%--
43Lua0.30%--
44Alice0.28%--
45LabVIEW0.26%--
46ML0.26%--
47Apex0.25%--
48Crystal0.25%--
49Solidity0.24%--
50Tcl0.23%--

对于选项的答案为是/否的选项, 大家是会用一个checkbox还是两个radio框? 哪个会更合理? 为什么?
最近看到一篇文章是关于这个问题的,发现挺有意思的.为此做个总结记录.有人在Twitter上发布该问题的讨论,摘选了些比较有用的观点. 相信在看过这些别人的观点后, 你会更清楚在什么情况下使用哪种类会更加合适.以下为一些用户的评论观点:
  • 对于checkbox, 如果他没被选中, 那么有两种可能:一个是用户就选择否,一个是用户落了该选项. 而对于radio,否就是意味着用户选择了否
  • 如果我无法推断哪个是默认值时,我会使用2个radio.比如问题"你是中国公民吗?",此时提供是/否单选框,而不是一个checkbox
  • 看措辞: checkbox - 在陈述语句中(如'我已同意条款')
    radio - 在疑问句中(如'你阅读并同意条款了吗?')
  • radio相当于是一个必选项, 需要经过认真思考, 而checkbox更像是一个可选项,用户可以跳过不用很仔细在意.


参考文章(https://www.sarasoueidan.com/blog/one-checkbox-or-two-radio-buttons/)

怎么最简单,快速将多维数组展开平铺为一维数组? 以下为博主的总结供参考:分为平铺展开的深度为2和全部平铺展开的:

先假设有个待展开数组:
$arr = [
    'a' => [
        'a1' => 'nice100.net',
        'a2' => 'good',
    ],
    'b' => [
        'b1' => [
            'b11' => 'nice',
            'b12' => 'like',
        ]
    ]
];
  • 平铺展开的深度为2:

    //方法一
    $result = call_user_func_array('array_merge', $arr);
    //方法二(会更快)
    $result = array_merge(...array_values($arr));
    //结果输出
    Array
    (
      [a1] => nice100.net
      [a2] => good
      [b1] => Array
          (
              [b11] => nice
              [b12] => like
          )
    
    )
    
  • 全部平铺展开

    //如果要全部平铺展开,那么对于多维数组, array_merge函数就不能满足了,需要办理递归
    $re = [];
    array_walk_recursive($arr, function ($v, $k) use (&$re) {
      $re[$k] = $v;
    }, $re);
    //输入结果,注意如果存在相同的key,那么后者会覆盖前者
    Array
    (
      [a1] => nice100.net
      [a2] => good
      [b11] => nice
      [b12] => like
    )