#6 继续:全能程序员 vs 特长程序员
阮一峰 2021-09-10上次讨论了阮一峰关于全能程序员与特长程序员的观点,末尾说期待他继续聊全能程序员的优势,然后发现今天发布的新一期的《科技爱好者周刊》果然在说这个。
coding in a complicated world
上次讨论了阮一峰关于全能程序员与特长程序员的观点,末尾说期待他继续聊全能程序员的优势,然后发现今天发布的新一期的《科技爱好者周刊》果然在说这个。
printf 格式化limits.h 中的极限值int, _Bool(C99, int 别名), bool/true/false (stdbool.h)l, ll, u, f)stdint.h)assert.hctype.herrno.hfloat.hinttypes.hiso646.hlimits.hlocale.hmath.hsignal.hstdint.hstdlib.hstdio.hstring.htime.hwchar.hwctype.h// 数据类型 12
short   int         long    double  float
char    struct      union   enum    typedef
signed  unsigned
// 变量 6
auto    register    extern  const   volatile
static
// 函数 2
void    return
// 控制语句 11
if      else    for     continue    while  do
switch  case    default goto        break
// 其他 1
sizeof
short, int, long, long longsigned, unsignedfloat, doublechar, char *#include <stdio.h>
int main(){
    printf("size of int:         %2ld\n", sizeof(int));
    printf("size of short:       %2ld\n", sizeof(short));
    printf("size of long:        %2ld\n", sizeof(long));
    printf("size of long long:   %2ld\n", sizeof(long long));
    printf("size of float:       %2ld\n", sizeof(float));
    printf("size of double:      %2ld\n", sizeof(double));
    printf("size of long double: %2ld\n", sizeof(long double));
    printf("size of char:        %2ld\n", sizeof(char));
}
$ uname -a
Linux dell 5.11.0-34-generic #36-Ubuntu SMP Thu Aug 26 19:22:09 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ gcc --version
gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gcc /tmp/test.c -o /tmp/test && /tmp/test
size of int:          4
size of short:        2
size of long:         8
size of long long:    8
size of float:        4
size of double:       8
size of long double: 16
size of char:         1
今天这一期《科技爱好者周刊》有两个观点,值得聊聊。
1. 全能程序员 vs 特长程序员
2. 算法裁员
《科技爱好者周刊》第 167 期中,阮一峰十分愤慨的说广告拦截器太过分了。
因为他接到读者反馈,有篇文章中间的两段上下语义似乎不能接上,是否有写内容遗漏。然后检查之后发现是被广告拦截器拦截了。
阮一峰从使用非常广泛的规则集 EasyList (AdBlock 默认开启订阅,每 4 小时更新一次) 发现了很多针对他的规则,并从中摘抄了几句特别狠的:
! 拦截脚本 checker.js
ruanyifeng.com/blog/checker.js
! 隐藏指向 t.cn 的链接
ruanyifeng.com##a[href^="http://t.cn/"]
! 隐藏含有"培训"的段落
ruanyifeng.com##p:-abp-contains(培训)
# 曾经出现过,禁用所有 JS 代码:
ruanyifeng.com^$csp=script-src 'none'
我才知道,广告拦截可以做到这么精准的匹配,真心服!
阮一峰检测到用户开启广告拦截之后,就会不显示所有内容,取而代之的是这个提示:
您使用了广告拦截器,导致本站内容无法显示。
请将 www.ruanyifeng.com 加入白名单,解除广告屏蔽后,刷新页面。谢谢。
其他:
AdBlock (下载量 296278) 和 AdBlockPlus (下载量 174432) 的渊源:最早是有一个 Adblock 项目,由于 Adblock 停止更新,一位开发者启动了 AdblockPlus 项目,再后来又有公司基于 AdblockPlus 项目创建 AdBlock。
uBlock (下载量 1658) 和 uBlock Origin (下载量 24666) 的渊源:uBlock 的创始人将项目转移给别人维护之后,好像对后来接收捐款的分配不满,自己又开了一个分支 uBlock Origin。
阮一峰的博文(容错,高可用和灾备)中说:
阮一峰发表了一篇新文章《你的命运不是一头骡子》,看完之后很受触动。