#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.h
ctype.h
errno.h
float.h
inttypes.h
iso646.h
limits.h
locale.h
math.h
signal.h
stdint.h
stdlib.h
stdio.h
string.h
time.h
wchar.h
wctype.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 long
signed
, unsigned
float
, double
char
, 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。
阮一峰的博文(容错,高可用和灾备)中说:
阮一峰发表了一篇新文章《你的命运不是一头骡子》,看完之后很受触动。