木驴不应该很爽吗呀前几天wwW774mm还正常的,现在却774mmcom不能联接啦

404 Not Found
404 Not Found
The requested URL was not found on this server.
您要找的内容已被删除&p&大佬们纷纷出家……&/p&&p&&br&&/p&&p&不完整出家名单:(欢迎 PR&/p&&p&&a class=&member_mention& href=&//www.zhihu.com/people/20fdd386a6e59d178b8fe14e2863cb40& data-hash=&20fdd386a6e59d178b8fe14e2863cb40& data-hovercard=&p$b$20fdd386a6e59d178b8fe14e2863cb40&&@张克军&/a& :豆瓣 -& 阿里云&/p&&p&&a class=&member_mention& href=&//www.zhihu.com/people/cc0145aee04dd53cc6590edd& data-hash=&cc0145aee04dd53cc6590edd& data-hovercard=&p$b$cc0145aee04dd53cc6590edd&&@徐飞&/a& :苏宁 -& TB 风波 -& 蚂蚁&/p&&p&&a class=&member_mention& href=&//www.zhihu.com/people/5fbc10cabdc95d7f30d08& data-hash=&5fbc10cabdc95d7f30d08& data-hovercard=&p$b$5fbc10cabdc95d7f30d08&&@大漠&/a& :携程 -& 淘宝&/p&&p&&a class=&member_mention& href=&//www.zhihu.com/people/6fbcd928552a& data-hash=&6fbcd928552a& data-hovercard=&p$b$6fbcd928552a&&@裕波&/a& :360 -& 阿里 UC&/p&&p&&a class=&member_mention& href=&//www.zhihu.com/people/c4c5c50b85f217e88e181b19e8afb624& data-hash=&c4c5c50b85f217e88e181b19e8afb624& data-hovercard=&p$b$c4c5c50b85f217e88e181b19e8afb624&&@i5ting&/a& : 去哪儿 -& 阿里优土(感谢补充&/p&&p&&a class=&member_mention& href=&//www.zhihu.com/people/fa4f2bd314bd381a8afacc& data-hash=&fa4f2bd314bd381a8afacc& data-hovercard=&p$b$fa4f2bd314bd381a8afacc&&@死月絲卡蕾特&/a& :大搜车 -& 蚂蚁&/p&&p&&a class=&member_mention& href=&//www.zhihu.com/people/9d9f36c232b15c7d9190& data-hash=&9d9f36c232b15c7d9190& data-hovercard=&p$b$9d9f36c232b15c7d9190&&@天猪&/a& :UC -& 阿里游戏 (被出家&/p&&p&@米粽 :盛大 -& IBM -& 饿了么(才去了半年,被出家&/p&&p&&br&&/p&&p&@UC
:公司出家……&/p&&p&@饿了么 :公司出家……&/p&&p&&br&&/p&&p&少林集齐大佬指日可待&/p&
大佬们纷纷出家…… 不完整出家名单:(欢迎 PR :豆瓣 -& 阿里云 :苏宁 -& TB 风波 -& 蚂蚁 :携程 -& 淘宝 :360 -& 阿里 UC : 去哪儿 -& 阿里优土(感谢补充 :大搜车 -& 蚂蚁 :UC -& 阿里游戏 (被出…
&p&TPU终于正式走向消费者,成功商业化了,有这么贴心的教程(&a href=&//link.zhihu.com/?target=https%3A//cloud.google.com/tpu/docs/cloud-tpu-tools& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&cloud.google.com/tpu/do&/span&&span class=&invisible&&cs/cloud-tpu-tools&/span&&span class=&ellipsis&&&/span&&/a&),我觉得官网连文档都没有,甚至还没来得及流片的那些startup可以去死一死了。&/p&
TPU终于正式走向消费者,成功商业化了,有这么贴心的教程(),我觉得官网连文档都没有,甚至还没来得及流片的那些startup可以去死一死了。
&p&&i&&b&摘要:&/b&&/i& 日志服务提供30多种数据采集方式,针对服务器、移动端、嵌入式设备及各种开发语言都提供完整的接入方案。对 Java 开发者而言,没有什么比熟悉的日志框架 Log4j、Log4j2、Logback Appender 更好使的了。&/p&&p&原文:&a href=&http://link.zhihu.com/?target=http%3A//click.aliyun.com/m/41655/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&click.aliyun.com/m/4165&/span&&span class=&invisible&&5/&/span&&span class=&ellipsis&&&/span&&/a& &/p&&h2&&b&日志中心化之路&/b&&/h2&&p&近几年来,无状态编程、容器、Serverless 编程方式的诞生极大提升了软件交付与部署的效率。在架构的演化过程中,可以看到两个变化:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-fcbdf3ccfc7c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1356& data-rawheight=&294& class=&origin_image zh-lightbox-thumb& width=&1356& data-original=&https://pic2.zhimg.com/v2-fcbdf3ccfc7c_r.jpg&&&/figure&&ul&&li&应用架构开始从单体系统逐步转变微服务,其中的业务逻辑随之而来就会变成微服务之间调用与请求。&/li&&li&资源角度来看,传统服务器这个物理单位也逐渐淡化,变成了看不见摸不到的虚拟资源模式。&/li&&/ul&&p&从以上两个变化可以看到这种弹性、标准化架构背后,原先运维与诊断的需求也变得越来越复杂。在10年前我们可以快速登陆到服务器上捞取日志,Attach进程的模式已再也不存在,面对我们的更多是一个标准化的“黑盒”。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-29f13a2e90adb8b38d49c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1334& data-rawheight=&760& class=&origin_image zh-lightbox-thumb& width=&1334& data-original=&https://pic1.zhimg.com/v2-29f13a2e90adb8b38d49c_r.jpg&&&/figure&&p&为了应对这种变化趋势,诞生一系列面向DevOps诊断与分析的工具。例如集中式监控、集中式日志系统、以及SaaS化的各种部署、监控等服务。&/p&&p& 日志中心化解决的是以上这个问题,既应用产生日志后实时(或准实时)传输到中心化的节点服务器,例如Syslog,Kafka,ELK,Hbase进行集中式存储是一些常见的模式。&/p&&p&中心化四个好处&/p&&ul&&li&使用方便:在无状态应用中最麻烦的要属Grep日志了,集中式存储只要运行一个Search命令就能够替代原先漫长的过程&/li&&li&存储与计算分离:定制机器硬件时无需为日志存储考虑空间大小&/li&&li&更低成本:集中式日志存储可以削峰填谷,预留更高水位&/li&&li&安全:当发生黑客入侵以及灾难时,关键数据留作取证&/li&&/ul&&figure&&img src=&https://pic3.zhimg.com/v2-c9ae3a1c2bece9fab326ca_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1346& data-rawheight=&506& class=&origin_image zh-lightbox-thumb& width=&1346& data-original=&https://pic3.zhimg.com/v2-c9ae3a1c2bece9fab326ca_r.jpg&&&/figure&&h2&&b&采集端 (Java系列)&/b&&/h2&&p&日志服务提供&a href=&http://link.zhihu.com/?target=https%3A//help.aliyun.com/document_detail/28981.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&30+数据采集方式&/a&,针对服务器、移动端、嵌入式设备及各种开发语言都提供完整的接入方案。对Java 开发者而言,没有什么比熟悉的日志框架 Log4j、Log4j2、Logback Appender更好使的了。&/p&&p&对Java应用而言,目前有两种主流的日志采集方案:&/p&&ul&&li&Java程序将日志落盘,通过Logtail进行实时采集&/li&&li&Java程序直接配置日志服务提供的Appender,当程序运行时,实时将日志发完服务端&/li&&/ul&&p&两者的差别如下:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-817bebd775be0dcf2d53_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&710& data-rawheight=&301& class=&origin_image zh-lightbox-thumb& width=&710& data-original=&https://pic4.zhimg.com/v2-817bebd775be0dcf2d53_r.jpg&&&/figure&&p&通过Appender可以在不改任何代码情况下,通过Config就能够非常容易完成日志实时采集工作,日志服务提供的Java系列Appender有如下几大优势:&/p&&ul&&li&无需修改程序,修改配置即生效&/li&&li&异步化 + 断点续传:IO不影响主线程,支持一定网络和服务容错&/li&&li&高并发设计:满足海量日志写入需求&/li&&li&支持上下文查询功能:写入支持支持在服务端还原原始进程中精确上下文(前后N条日志)&/li&&/ul&&h2&&b&Appender 介绍与使用&/b&&/h2&&p&目前提供Appender如下,底层均使用 &a href=&http://link.zhihu.com/?target=https%3A//github.com/aliyun/aliyun-log-producer-java& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&aliyun-log-producer-java&/a& 完成数据的写入。&/p&&ul&&li&&a href=&http://link.zhihu.com/?target=https%3A//github.com/aliyun/aliyun-log-log4j-appender& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&aliyun-log-log4j-appender&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//github.com/aliyun/aliyun-log-log4j2-appender& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&aliyun-log-log4j2-appender&/a&&/li&&li&&a href=&http://link.zhihu.com/?target=https%3A//github.com/aliyun/aliyun-log-logback-appender& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&aliyun-log-logback-appender&/a&&/li&&/ul&&p&这四者的差别如下:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-3e758abe9abd259e5fedf57_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&716& data-rawheight=&404& class=&origin_image zh-lightbox-thumb& width=&716& data-original=&https://pic4.zhimg.com/v2-3e758abe9abd259e5fedf57_r.jpg&&&/figure&&h2&&b&接入 Appender&/b&&/h2&&p&可参考 &a href=&http://link.zhihu.com/?target=https%3A//github.com/aliyun/aliyun-log-log4j-appender& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&aliyun-log-log4j-appender&/a& 的&b&配置步骤&/b&部分接入 appender。&/p&&p&配置文件&code&log4j.properties&/code&的内容如下:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-ef7ed315f464e1baedda330e4ff504d7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&694& data-rawheight=&279& class=&origin_image zh-lightbox-thumb& width=&694& data-original=&https://pic4.zhimg.com/v2-ef7ed315f464e1baedda330e4ff504d7_r.jpg&&&/figure&&h2&&b&查询与分析&/b&&/h2&&p&通过上述方式配置好 appender 后,Java 应用产生的日志会被自动发往日志服务。可以通过 &a href=&http://link.zhihu.com/?target=https%3A//help.aliyun.com/document_detail/43772.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&LogSearch/Analytics&/a& 对这些日志实时查询和分析。本文提供的样例的日志格式如下:&/p&&p&记录用户登录行为的日志&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c3af9c778a6d29a57a894d0e5ff0a53a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&697& data-rawheight=&120& class=&origin_image zh-lightbox-thumb& width=&697& data-original=&https://pic3.zhimg.com/v2-c3af9c778a6d29a57a894d0e5ff0a53a_r.jpg&&&/figure&&p&记录用户购买行为的日志&/p&&figure&&img src=&https://pic1.zhimg.com/v2-19eff64ef855ae474e93134ecaef7bac_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&694& data-rawheight=&117& class=&origin_image zh-lightbox-thumb& width=&694& data-original=&https://pic1.zhimg.com/v2-19eff64ef855ae474e93134ecaef7bac_r.jpg&&&/figure&&h2&&b&开启查询分析&/b&&/h2&&p&若要对数据进行查询和分析,需要首先开启查询分析功能。开启步骤如下:&/p&&ul&&li&登录 &a href=&http://link.zhihu.com/?target=https%3A//sls.console.aliyun.com/%23/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&日志服务管理控制台&/a&。&/li&&li&选择目标项目,单击项目名称或者单击右侧的 &b&管理&/b&。&/li&&li&选择目标日志库并单击日志索引列下的 &b&查询&/b&。&/li&&li&单击右上角的 &b&设置查询分析 & 设置&/b&。&/li&&li&进入设置菜单,为下列字段开启查询。&/li&&/ul&&figure&&img src=&https://pic2.zhimg.com/v2-e57ba47c9ced3a4eef68695_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&764& data-rawheight=&368& class=&origin_image zh-lightbox-thumb& width=&764& data-original=&https://pic2.zhimg.com/v2-e57ba47c9ced3a4eef68695_r.jpg&&&/figure&&h2&&b&分析实例&/b&&/h2&&p&以下视频包含了下述5个分析实例。&/p&&p&&b&1. 统计过去1小时发生Error最多的3个位置&/b&&/p&&p&语法示例&/p&&figure&&img src=&https://pic1.zhimg.com/v2-3379fee9ed19cf23cfbf2b8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&698& data-rawheight=&52& class=&origin_image zh-lightbox-thumb& width=&698& data-original=&https://pic1.zhimg.com/v2-3379fee9ed19cf23cfbf2b8_r.jpg&&&/figure&&p&&b&2. 统计过去15分钟各种日志级别产生的日志条数&/b&&/p&&p&语法示例&/p&&figure&&img src=&https://pic1.zhimg.com/v2-db10f8805acd6dffda57b00_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&698& data-rawheight=&51& class=&origin_image zh-lightbox-thumb& width=&698& data-original=&https://pic1.zhimg.com/v2-db10f8805acd6dffda57b00_r.jpg&&&/figure&&p&&b&3. 日志上下文查询&/b&&/p&&p&对于任意一条日志,能够精确还原原始日志文件上下文日志信息。&/p&&p&参阅: &a href=&http://link.zhihu.com/?target=https%3A//help.aliyun.com/document_detail/48148.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&上下文查询&/a&&/p&&p&&b&4. 统计过去1小时,登录次数最多的三个用户&/b&&/p&&p&语法示例&/p&&figure&&img src=&https://pic2.zhimg.com/v2-bcf972817dbc037d2d809_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&699& data-rawheight=&40& class=&origin_image zh-lightbox-thumb& width=&699& data-original=&https://pic2.zhimg.com/v2-bcf972817dbc037d2d809_r.jpg&&&/figure&&p&&b&5. 统计过去15分钟,每个用户的付款总额&/b&&/p&&p&语法示例&/p&&figure&&img src=&https://pic2.zhimg.com/v2-2da57fabf891b804a4c359_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&710& data-rawheight=&49& class=&origin_image zh-lightbox-thumb& width=&710& data-original=&https://pic2.zhimg.com/v2-2da57fabf891b804a4c359_r.jpg&&&/figure&&h2&&b&特别感谢&/b&&/h2&&p&aliyun-log-log4j-appender,aliyun-log-log4j2-appender,aliyun-log-logback-appender,aliyun-log-producer-java 是由阿里云团队和共创平台上的贡献者共同完成的。感谢你们对项目作出的杰出贡献。&/p&&p&aliyun-log-log4j-appender 贡献者:&a href=&http://link.zhihu.com/?target=https%3A//github.com/zzboy& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&@zzboy&/a&&/p&&p&aliyun-log-log4j2-appender 贡献者:&a href=&http://link.zhihu.com/?target=https%3A//github.com/LNAmp& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&@LNAmp&/a& &a href=&http://link.zhihu.com/?target=https%3A//github.com/zzboy& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&@zzboy&/a&&/p&&p&aliyun-log-logback-appender 贡献者:&a href=&http://link.zhihu.com/?target=https%3A//github.com/lionbule& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&@lionbule&/a& &a href=&http://link.zhihu.com/?target=https%3A//github.com/zzboy& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&@zzboy&/a&&/p&&p&aliyun-log-producer-java 贡献者:&a href=&http://link.zhihu.com/?target=https%3A//github.com/zzboy& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&@zzboy&/a& &/p&&p&&b&更多技术干货敬请关注云栖社区知乎机构号:&a href=&https://www.zhihu.com/org/a-li-yun-yun-qi-she-qu-48& class=&internal&&阿里云云栖社区 - 知乎&/a&&/b&&/p&
摘要: 日志服务提供30多种数据采集方式,针对服务器、移动端、嵌入式设备及各种开发语言都提供完整的接入方案。对 Java 开发者而言,没有什么比熟悉的日志框架 Log4j、Log4j2、Logback Appender 更好使的了。原文: 日志中心化之路近…
&figure&&img src=&https://pic4.zhimg.com/v2-adb7694dcd893e4dc0844cca233de60e_b.jpg& data-rawwidth=&1690& data-rawheight=&876& class=&origin_image zh-lightbox-thumb& width=&1690& data-original=&https://pic4.zhimg.com/v2-adb7694dcd893e4dc0844cca233de60e_r.jpg&&&/figure&&p&这篇文章和外面那些妖艳爬虫教程不一样,完全没有任何技术含量,只要你会上网,就能看懂本文(看不懂说明你笨...)&/p&&p&如果你想爬知乎数据,已经有人写好了框架。比如&a class=&member_mention& href=&https://www.zhihu.com/people/eaf435b228ce0b038a4afe& data-hash=&eaf435b228ce0b038a4afe& data-hovercard=&p$b$eaf435b228ce0b038a4afe&&@路人甲&/a&的&a href=&https://link.zhihu.com/?target=https%3A//github.com/zzy0531/Passer-zhihu& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zzy0531/Passer-zhihu&/a&、&/p&&p&&a class=&member_mention& href=&https://www.zhihu.com/people/ef7be83f9f1fcab3adfa7a6a1f510427& data-hash=&ef7be83f9f1fcab3adfa7a6a1f510427& data-hovercard=&p$b$ef7be83f9f1fcab3adfa7a6a1f510427&&@7sDream&/a&的&a href=&https://link.zhihu.com/?target=https%3A//github.com/7sDream/zhihu-oauth& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&7sDream/zhihu-oauth&/a&,用来爬数据都非常方便,但是需要会编程。&/p&&hr&&p&如果不会编程怎么办?使用chrome访问
&a href=&https://www.zhihu.com/people/lxghost/activities& class=&internal&&&span class=&invisible&&https://www.&/span&&span class=&visible&&zhihu.com/people/lxghos&/span&&span class=&invisible&&t/activities&/span&&span class=&ellipsis&&&/span&&/a&
。点击右键 - 检查,就能看到知乎使用的网页API了。仔细看看每个请求:&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-0f39e55cb6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2516& data-rawheight=&804& class=&origin_image zh-lightbox-thumb& width=&2516& data-original=&https://pic1.zhimg.com/v2-0f39e55cb6_r.jpg&&&/figure&&p&&b&选择XHR&/b&&i&(&/i&XMLHttpRequest)-这是你的浏览器与服务端进行交互的请求,好处是不用刷新页面,就能异步更新内容,节省开销。你看到的内容都是通过XHR请求加载的,比如&/p&&p&个人主页动态&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://www.zhihu.com/api/v4/members/lxghost/activities?limit=8&after_id=&desktop=True
&/code&&/pre&&/div&&p&出版作品&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://www.zhihu.com/api/v4/members/lxghost/publications?include=data%5B*%5D.cover%2Cebook_type%2Ccomment_count%2Cvoteup_count&offset=0&limit=5
&/code&&/pre&&/div&&p&共同关注&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://www.zhihu.com/api/v4/members/lxghost/relations/mutuals?include=data%5B*%5D.answer_count%2Carticles_count%2Cgender%2Cvoteup_count%2Canswer_count%2Carticles_count%2Cfollower_count%2Cis_followed%2Cis_following%2Cbadge%5B%3F(type%3Dbest_answerer)%5D.topics&offset=0&limit=20
&/code&&/pre&&/div&&p&个人信息&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://www.zhihu.com/api/v4/me?include=visits_count
&/code&&/pre&&/div&&p&这...不知道是什么鬼&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://www.zhihu.com/api/v4/me/switches?include=is_answer_rewardable%2Ccould_set_poster%2Cis_answer_oppose_reason_visiable
&/code&&/pre&&/div&&p&私信&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://messaging.zhihu.com/zhihu/group?device_type=1
&/code&&/pre&&/div&&p&统计用户数据&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://zhihu-web-analytics.zhihu.com/api/v1/logs/batch
&/code&&/pre&&/div&&p&粉丝&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&https://www.zhihu.com/api/v4/members/lxghost/followers?include=data&limit=20&offset=0
&/code&&/pre&&/div&&p&&br&&/p&&hr&&p&举个例子,大家都想知道自己的粉丝里到底有多少女生&/p&&p&在旧版API里,使用的是&/p&&blockquote&&a href=&https://api.zhihu.com/people/26c245e19eccba491ded75/followers?limit=20&offset=5000& class=&internal&&&span class=&invisible&&https://&/span&&span class=&visible&&api.zhihu.com/people/26&/span&&span class=&invisible&&c245e19eccba491ded75/followers?limit=20&offset=5000&/span&&span class=&ellipsis&&&/span&&/a&&/blockquote&&p&注意offset=5000,这里做了限制,当offset=5020时,就不能获得数据了,所以旧版API最多爬到最近5000个粉丝。&/p&&p&新版API就没有限制了,可以爬到所有粉丝数据,我们直接访问&/p&&blockquote&&a href=&https://www.zhihu.com/api/v4/members/lxghost/followers?include=data&limit=20&offset=0& class=&internal&&&span class=&invisible&&https://www.&/span&&span class=&visible&&zhihu.com/api/v4/member&/span&&span class=&invisible&&s/lxghost/followers?include=data&limit=20&offset=0&/span&&span class=&ellipsis&&&/span&&/a&&/blockquote&&p&可以看到返回了json格式的数据,这里包含了我的所有粉丝信息&/p&&figure&&img src=&https://pic1.zhimg.com/v2-b938b6b164b0c0f91dc028cb3ae9ad09_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1768& data-rawheight=&1332& class=&origin_image zh-lightbox-thumb& width=&1768& data-original=&https://pic1.zhimg.com/v2-b938b6b164b0c0f91dc028cb3ae9ad09_r.jpg&&&/figure&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&{
&avatar_url_template&: &https://pic1.zhimg.com/v2-5d6aa37f9a438d0851eb17_{size}.jpg&,
&type&: &people&,
&name&: &一条畅&,
&url&: &http://www.zhihu.com/api/v4/people/8bd96d73b0b9f295bce5a4ba7473ae0c&,
&gender&: 0,
&user_type&: &people&,
个性域名 &url_token&: &lu-chang-29&,
广告主 &is_advertiser&: false,
&avatar_url&: &https://pic1.zhimg.com/v2-5d6aa37f9a438d0851eb17_is.jpg&,
机构号 &is_org&: false,
&headline&: &&,
&badge&: [],
&id&: &8bd96d73b0b9f295bce5a4ba7473ae0c&
&/code&&/pre&&/div&&p&记住,访问时需要带上auth信息,否则会提示error&/p&&figure&&img src=&https://pic1.zhimg.com/v2-db8b7aabaeba0e64ff6a6f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1550& data-rawheight=&152& class=&origin_image zh-lightbox-thumb& width=&1550& data-original=&https://pic1.zhimg.com/v2-db8b7aabaeba0e64ff6a6f_r.jpg&&&/figure&&p&其他的我都不关心,我只想知道到底有多少女粉丝,所以遍历下offset就知道&/p&&p&男29368:女7352,虽然写着性别是女,但是真实性别谁知道呢。&/p&&hr&&h2&接下来是重点由&a class=&member_mention& href=&https://www.zhihu.com/people/f76cc47c7de7323b10ece9d& data-hash=&f76cc47c7de7323b10ece9d& data-hovercard=&p$b$f76cc47c7de7323b10ece9d&&@XZiar&/a&开发的chrome插件&a href=&https://link.zhihu.com/?target=https%3A//github.com/XZiar/ZhiHuExt& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&XZiar/ZhiHuExt&/a&&/h2&&p&装上插件后就增加了一些功能,具体自己摸索,我只能告诉你很强!&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e5288e03e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2234& data-rawheight=&1070& class=&origin_image zh-lightbox-thumb& width=&2234& data-original=&https://pic2.zhimg.com/v2-e5288e03e_r.jpg&&&/figure&&p&首先下载插件,解压缩。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-890f38bddbcdcf66dc16b7e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2004& data-rawheight=&758& class=&origin_image zh-lightbox-thumb& width=&2004& data-original=&https://pic3.zhimg.com/v2-890f38bddbcdcf66dc16b7e_r.jpg&&&/figure&&p&然后勾选开发者模式,加载已解压的扩展程序&/p&&figure&&img src=&https://pic1.zhimg.com/v2-48d5aa7f6e0f2e6db1d92ae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1546& data-rawheight=&592& class=&origin_image zh-lightbox-thumb& width=&1546& data-original=&https://pic1.zhimg.com/v2-48d5aa7f6e0f2e6db1d92ae_r.jpg&&&/figure&&p&选择ZhiHuExt文件夹,启用插件即可。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-125e608e1e361a58fc2cc3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1062& data-rawheight=&352& class=&origin_image zh-lightbox-thumb& width=&1062& data-original=&https://pic2.zhimg.com/v2-125e608e1e361a58fc2cc3_r.jpg&&&/figure&&p&举个例子,怎么发现别人刷赞呢?&/p&&p&点击XXX人赞同了那一栏,选择检测全部,勾选自动加载&/p&&figure&&img src=&https://pic2.zhimg.com/v2-44e2eed266f47a02ac2c33_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1688& data-rawheight=&1360& class=&origin_image zh-lightbox-thumb& width=&1688& data-original=&https://pic2.zhimg.com/v2-44e2eed266f47a02ac2c33_r.jpg&&&/figure&&p&当检测完毕后。可以查看启发、相似性、时间图。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f1a5f5dac8fd3ae6975972_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2500& data-rawheight=&1092& class=&origin_image zh-lightbox-thumb& width=&2500& data-original=&https://pic1.zhimg.com/v2-f1a5f5dac8fd3ae6975972_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-30b586a55c30f584cabc2f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1828& data-rawheight=&726& class=&origin_image zh-lightbox-thumb& width=&1828& data-original=&https://pic1.zhimg.com/v2-30b586a55c30f584cabc2f_r.jpg&&&/figure&&h2&在自然状态下,点赞者的分布是分散的,行为是稀疏的,相似性较低,时间曲线平滑。&/h2&&p&再来看个回答 &a href=&https://www.zhihu.com/question//answer/& class=&internal&&叶倩倩:你认为有哪些越早明白越好的人生道理?&/a&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f31b55a6a09a0fa236f190e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2514& data-rawheight=&1276& class=&origin_image zh-lightbox-thumb& width=&2514& data-original=&https://pic1.zhimg.com/v2-f31b55a6a09a0fa236f190e_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-62ced8cbf79cc3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1822& data-rawheight=&722& class=&origin_image zh-lightbox-thumb& width=&1822& data-original=&https://pic2.zhimg.com/v2-62ced8cbf79cc3_r.jpg&&&/figure&&p&可以看出给贺嘉和叶倩倩点赞的用户都很正常,赞的质量很高,是&b&真正靠实力获得赞&/b&的优秀用户!至于刷赞的大V们,我就不点名了,大家可以自己尝试检测下。&/p&&p&送给大家一个典型的反面教材 &a href=&https://www.zhihu.com/people/shi-er-gong-li/& class=&internal&&十二公里作文&/a&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-002dd2f4b89fa88e842a527c0b42f96a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1998& data-rawheight=&854& class=&origin_image zh-lightbox-thumb& width=&1998& data-original=&https://pic3.zhimg.com/v2-002dd2f4b89fa88e842a527c0b42f96a_r.jpg&&&/figure&&hr&&p&目前来说,知乎的架构是爬虫友好的,没有严格的反爬策略,要爬数据的赶紧~&/p&&p&而且爬虫难点就是在于如何&b&绕过反爬策略&/b&,差不多已经人人都会写爬虫了,但是安全策略还没人提到,主要有3点&/p&&p&1.风控策略&/p&&p&2.用户应答&/p&&p&3.假的响应内容&/p&&p&时间到了,大家下期再见 &/p&
这篇文章和外面那些妖艳爬虫教程不一样,完全没有任何技术含量,只要你会上网,就能看懂本文(看不懂说明你笨...)如果你想爬知乎数据,已经有人写好了框架。比如的、的,用来爬数据都非常方便,但…
&p&本人背景:分布式系统博士生,研究改进过MapReduce类系统,同时利用actor开发了工业界应用的新一代实时计算引擎(尚未开源)。因此对于Spark和Ray的设计初衷和可能遇到的技术债有一定了解。&/p&&p&先说个人的看法:Ray和Spark是立志于解决两个领域问题的计算机系统,Ray取代Spark是危言耸听了。&br&&/p&&h2&&b&背景&/b&&/h2&&p&回首分布式计算系统进化的10年,我们可以更容易认识到Spark和Ray的相对位置。&/p&&p&2004年,Google提出MapReduce作为一个集群编程框架,并且配合Google File System等技术作为底层存储的支持。之后10余年,MapReduce大行其道。其成功的原因在于其给广大程序员和数据科学家提供了一个非常好理解,表达力丰富,容错性极高,且很容易基于商业硬件(commodity devices)来实现的分布式系统架构。之后在2010年,随着Stanford提出的memory cloud的概念,研究人员意识到原本看似非常昂贵的内存正在变得廉价,许多高度依赖于磁盘的容错操作其实可以利用在内存中实现。在这个背景下,Spark应运而生,催生了RDD和一系列基于内存的优化技术,在中小型规模计算上取代了原本的Hadoop Hive等基于磁盘的框架。可是至今,Hive并没有因此而被完全取代。在超大规模计算(PB级别)场景下,其依赖于SSD以及超强的鲁棒性,依然是很多公司的首选。因此,计算框架出现的初衷往往不是相互取代的关系,而是支持新计算需求和场景,对于新的硬件条件进行利用,形成优势互补,相互合作的关系。ray和spark也是如此。&/p&&p&&br&&/p&&h2&为什么我们需要新的计算框架?&/h2&&p&2015年前后,大量AI计算任务崛起,其中增强学习(Reinforcement Learning)和自动驾驶AI训练等等作为一个重大的计算需求,一直很难在MapReduce得到很好的表达。MapReduce本质上是一个大规模的数据聚合(data aggregation)的模型。另一方面,许多AI的任务的核心诉求是在大规模仿真(Simulation)的环境下优化AI的行为。这种诉求和Spark当时的设计初衷完全不同。&/p&&p&&br&&/p&&p&首先,仿真的规模能够轻易轻易到达Billions的级别。这种级别难以在Spark集群得到良好支持。Spark的Task本质上对于基于CPU的操作系统线程抽象。因此Spark并没有非常自然的方式能够将数十亿个仿真实体(AlphaGo的仿真级别)能够合理的同时调度到几千个CPU上面。&br&&br&另外,MapReduce范式难以表达复杂的计算状态和同步。上亿个仿真实体不仅仅运行的时间不同(有些游戏只要几秒就结束,有些游戏可能十几分钟那个还在运行)。让他们在统一的Bulk Synchronization Processing(BSP)模型频繁的同步,不仅仅系统开销很大,而且很难实现。另外,仿真实体往往需要实现复杂的计算行为,伴随计算中间状态的抽象,而这在Spark下难以实现。&/p&&p&最后,资源调度层的压力。Spark的设计初衷是解决大数据处理问题。那么数据已经静态的存储在文件系统中,Spark只需要依照资源可用性,启动一定的大小的计算图做静态计算即可。可是在大规模仿真中,这上亿个计算实体可能在计算中间大量产生和消失(例如,分布式优化算法的剪枝行为)。这些庞大的对于计算图在线修改的行为在Spark中很难有效支持。&/p&&p&&br&&/p&&h2&&b&Ray解决了什么问题?&/b&&/h2&&p&因此,Ray针对这类超大规模仿真的计算任务提供了一种全新的计算框架。其底层利用actor而不是类似于Spark的基于系统线程实现的资源框架。&br&&br&首先在抽象层次,Ray专门给RL的几大类经典仿真问题提供了专用算法框架。RL用户现在难以得到满足的计算需求得到迅速满足。另外牺牲普适性后,Ray可以为几大类的RL算法专门设计同步算法,从而高效推进算法的执行和资源利用率。&/p&&p&&br&&/p&&p&然后在计算效率上,Ray的底层使用了actor框架来实现。这么做有两大优势。第一,actor可以认为是用户级的线程。其可以轻易在16核的服务器上,同时调度上百万的actor。这使得我们可以轻易实现Billion级别的大规模仿真。第二,actor之间本身是松耦合的,在运行时大量创建和删除actor都可以在server本地完成(毫秒级别的调度延迟),并不会严重影响整个集群的运行效率(当然,这么做的假设是大量的分布式AI算法可以忍受eventual consistency,因此比BSP模型更局限)。&/p&&p&&br&&/p&&p&另一方面,actor相对于Spark系统线程实现存在三大挑战。第一,缺少了系统隔离能力,一个有害的actor实现可以轻易独占当前的cpu资源从而影响他人的使用(依赖于cooperative scheduling)。第二,由于频繁的需要在cpu上切换不同的actor,其调度以及context switch的开销理论上更大。第三,允许python来实现,以及进行大规模仿真的巨大中间计算状态的更新和存储可能成为Ray一个可能的技术债。首先,python在支持function的序列化(函数闭包,有名类,依赖注入)以及远端部署的方面不及Java和C#这类语言成熟。&/p&&p&&br&&/p&&h2&&b&结论&/b&&/h2&&p&因此我们可以看到,Ray其实本质上Berkeley对于AI时代大量崛起的大规模仿真计算需求的一个方案。其在牺牲了Spark等批处理框架易用性的同时,着眼于AI领域特定算法,针对AI程序员的核心诉求提供了的灵活和高性能的框架支持。&/p&&p&&br&&/p&&p&一个可以预见的场景是,人们利用spark来做大规模数据准备,利用ray来训练AI,最终将训练的AI回馈到spark的计算图里面去。&br&&/p&&p&最后一句话回答本题:Spark更懂数据科学(大数据里找总结),Ray更懂AI训练(大仿真中求智慧)。&/p&
本人背景:分布式系统博士生,研究改进过MapReduce类系统,同时利用actor开发了工业界应用的新一代实时计算引擎(尚未开源)。因此对于Spark和Ray的设计初衷和可能遇到的技术债有一定了解。先说个人的看法:Ray和Spark是立志于解决两个领域问题的计算机系统…
&p&没想到竟然上了日报。好方……&/p&&p&———————————————&/p&&p&大学时我对编程语言有过一些困惑:应该学哪个编程语言?到底怎么样才算是掌握了编程语言?5年前我幸运地看到了垠神在新浪博客的一篇文章 - 如何掌握程序语言,里面推荐阅读SICP的前三章。我读过之后,受益良多。&/p&&p&曾几何时,SICP是每个MIT CS学生大一就要上的基础课的教材,毕竟是世界名校,比我们的课程不知高到哪里去了。然鹅,时过境迁,MIT的教授们已经停止这门基于SICP的课程了,因为一方面他们已经教了太久(十几年了),感觉很烦了,另一方面他们认为软件工程的学生现在把大部分时间花在阅读软件库的说明书上,然后搞清楚怎么调用,SICP跟这套工作流程已经不怎么相关了。&/p&&p&好了,虽说这门课已经不更新了,SICP的作者承认他们并不知道应该如何安排更合理的课程,所以我们还是要看看这本书。&/p&&p&另外,基于这本书,伯克利的一位教授搞了个教学网站 - &a href=&//link.zhihu.com/?target=http%3A//composingprograms.com/about.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&composingprograms.com/a&/span&&span class=&invisible&&bout.html&/span&&span class=&ellipsis&&&/span&&/a&,用Python来教SICP,有兴趣可以去看看。这个网站的内容也是基于伯克利的CS 61A,这门课的名字就叫SICP。实际上MIT也已经用Python替换了Scheme,所以我个人更推荐上面这个网站,比起Scheme,Python更加适合初学者。不过SICP的内容不会过时,Scheme只是一个表现形式,扫一遍前三章也绝对不亏。非初学者也会有时看时新的感觉。&/p&&p&SICP帮助读者了解CS的核心概念,属于从高空俯瞰世界,刚入门的读者不应该错过。&/p&&p&&br&&/p&&p&说完了高空,接下来我想推荐另一本中间高度的书,这本书帮助我从了解如何组织代码的模块,以及实践中业界遇到的问题,以及如何用合适的架构来解决这些问题。&/p&&p&Clean Architecture: A Craftsman's Guide to Software Structure and Design&/p&&p&这本书是Uncle Bob最近几年的博文合集,读完以后有种灵台清明的感觉,做code review的时候思路清晰了很多。&/p&&p&看过差的架构才明白好的有多么珍贵。架构都是一点点烂掉的,所以防微杜渐很重要,而要防微杜渐,就必须要从一开始就知道正确的架构方向。这本书不长,英文版也只需要不到10个小时就能读完,大学里或是工作中的读者应该会喜欢这本书。这本书2017年9月才出版,时效性远远超过经典的Martin Fowler的Patterns of Enterprise Application Architecture,你如果准备读后者,建议你先读这本小书。&/p&&p&&br&&/p&&p&说完了中间高度,还有一本更加细节的书,我实在不能不推荐,因为我看到高票答案里都没提到,也许是因为这本书2017年三月才出版,还没有中文的。&/p&&p&Martin Kleppmann的DDIA:Designing Data-Intensive Applications。&/p&&p&这本书的作者阅读量非常广泛,以数据密集型软件的设计为楔子讲了分布式系统的很多东西,从设计思路到一些具体细节,收放自如。从Netflix的技术博客,到开源软件的技术来源,再到OSDI上各个业界大厂发的论文,让我大饱眼福。一共12章节,目前看到了第9章。&/p&&p&如果说上一本是讲了高可扩展性、高可维护性的架构,是骨架;那么这本书是讲了分布式、高并发、高性能、高可用的软件,是血肉。细胞的级别讲不出来,绝知此事要躬行。&/p&&p&微软CTO Kevin Scott对这本书的&a href=&//link.zhihu.com/?target=https%3A//dataintensive.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&评价&/a&是『每一位软件工程师的必读书。』&/p&&p&目前这本书在Goodreads上有404个评价,评分高达4.68,要知道SICP才4.45. &/p&&p&&br&&/p&&p&简单强调一下:国内的朋友不要排斥阅读英文资料,作者都是理工科,写作词汇量基本也就是四级英语,跟咱们高中英语差不多。&/p&&p&&br&&/p&&p&看了这两个回答,赶紧学习吧:&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&Memoria:17 年美国 CS new grad 就业到底有多差?&/a&&/p&&p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&David Dong:如果编程语言变成高考科目会怎样?&/a&&/p&
没想到竟然上了日报。好方……———————————————大学时我对编程语言有过一些困惑:应该学哪个编程语言?到底怎么样才算是掌握了编程语言?5年前我幸运地看到了垠神在新浪博客的一篇文章 - 如何掌握程序语言,里面推荐阅读SICP的前三章。我读过…
&p&翻来翻去,开喷的回答里没有看到任何一个把锅甩对地方的。那我就来给Intel洗一波地好了。&/p&&p&首先这个漏洞是两个,一个叫Meltdown,一个叫Spectre,其它的回答已经说的很清楚了。我补一个链接,我也不知道这是谁建的,但是解释很详细,从最简单的结果论到论文原文都有。唯一的不足是English only,不过你乎高材生应该不在乎这个。&/p&&a href=&//link.zhihu.com/?target=https%3A//spectreattack.com/& data-draft-node=&block& data-draft-type=&link-card& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Meltdown and Spectre&/a&&p&看论文之前我也被忽悠的乱七八糟,但是看过两遍这两篇论文、又上手尝试了一下之后,我自认为有了一个还算公正的认知(如果有错误欢迎指出,但是请摆明白你具备体系结构基础知识并是基于专业知识进行的讨论;别张嘴就来我无脑洗地)。以下假设读者具备体系结构基础知识(大约是读懂整本量化研究方法的水平吧)。&/p&&p&在out-of-order的执行当中,无论是条件分支还是exception的触发都可能导致控制流指令之后的若干指令被执行。而后面的指令可以做这样的一系列事情:&/p&&ol&&li&读取一个本来会导致segmentation fault的内存地址的数据,记作k。但此处由于没有进入提交阶段,并不会触发segfault。&/li&&li&读取array[k * cache_line_size],促使cache中刷入array的第k个line。&/li&&/ol&&p&然后这点工作被毙掉了;因为前面的分支预测失败了/segfault发生了,后续的这些指令在reorder buffer里被刷掉了。于是segfault最终没有发生,表面上看程序没有拿到敏感数据k。&/p&&p&&b&但是&/b&,cache已经被更新了!虽然我们没办法读取k,但array的第k个line已经被取入cache。于是,只要我们在这些指令执行前把cache刷干净,然后结束之后(从exception handler返回/分支预测跳转到了实际的目的地)就可以挨个访问array的每个line,哪个最快就说明哪个是已经提前被刷进cache的,那也就是第k个line。&b&从而我们推测出了敏感数据k的值。&/b&&/p&&p&有明眼人可能会发现,我到这都没提Meltdown和Spectre这两个漏洞到底怎么回事。其实很简单,Meltdown是利用操作1发生segfault时触发exception,转进exception handler后分析cache的前述操作;而Spectre是利用预测执行,分支预测出错转进实际的分支目的地址的前述操作。所以Meltdown可以保证较高的成功率(不需要去先执行好多次同一个分支来忽悠CPU做一次错误的分支预测),而Spectre则性能低下、也不太被人关心、也可以被编译器修复。自己的测试当中,gcc开-O2即可完全防止Spectre起效。&/p&&p&一小部分比较专业的答主可能比我讲的更好一些,大家可以参考。比如 &a class=&member_mention& href=&//www.zhihu.com/people/11c331f9b8aca4e783c8ee3dfd581ca4& data-hash=&11c331f9b8aca4e783c8ee3dfd581ca4& data-hovercard=&p$b$11c331f9b8aca4e783c8ee3dfd581ca4&&@腾讯安全联合实验室&/a& 的回答就很可靠(虽然我对贵司的PC Manager确实是缺乏好感但是就事论事(微笑&/p&&p&所以实际上这两个漏洞的基本思路是一样的:利用少有的在提交前起效的操作(Cache预取)来将敏感数据的影子留在自己可以合法碰触的区域中,然后使用time-based attack把影子提取出来。&/p&&p&这两个漏洞的根本原因在于,体系结构设计的时候从来就没考虑过这么稀奇古怪的情况。我们都想着只要不让你能读到数据就没事了,谁想你还能利用cache比主存快来玩time-based attack啊?&/p&&p&好,回头翻。这里面跟Intel,跟x86&b&有半毛钱的关系吗&/b&??&/p&&p&还真有。因为Intel的各方面优化可以说是最激进的了。越激进,这一串操作完成的概率越高:不管是控制流指令之后的若干条被预测执行,还是cache被刷过之后没有被抹掉,这都是不能够保证的。但当你的CPU的ooo做的十分激进,前者的概率将大幅度提高;而当你的cache策略足够机智的时候,array的整个空间不被洗掉的概率也会大大增加。&/p&&p&好,现在该有人说我恶意揣测AMD而高估Intel了。从Meltdown的论文里提供一个图,为了防止人无脑喷我断章取义,我把上下的一部分也截下来:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-b549cdf45fae62a90ea12_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&414& data-rawheight=&510& class=&content_image& width=&414&&&/figure&&p&我也就不翻译了,总之大意就是我们没能在AMD和ARM上复现可能是因为我们的实现优化的不够好,trick再魔法一点就可以忽悠过去了;能不出现Meltdown的前提基本上只有不具备reorder buffer,但事实上ARM和AMD都有,也就是说理论上完全可以攻破(虽说Meltdown这口黑锅被一帮人各种各样尝试之后都没扣到农企头上,不知道是不是有什么无意的设计恰好避免了问题?没有找到相关的资料,望大手子补充一个)。那帮子喊着让intel review几百万行RTL的歇一歇吧,这不是bug,这是feature导致的flaw,只改硬件的话你不拿掉这个feature是没救的。&/p&&blockquote&其实非要修的话也不是没办法,只要在刷reorder buffer的时候顺便也把Cache刷干净就行了(((虽然真这么干可就不是30%性能损失的问题就是了(((&/blockquote&&p&虽然Meltdown没在ARM和AMD上复现,但师出同门的Spectre成了,嗯。不过Spectre这个漏洞你的编译器长脑子的话基本都不怕,所以也就无所谓了。&/p&&p&某些(还挺多的)答主别瞎扯些新闻里看来的东西了,什么叫Meltdown是硬件漏洞&AMD不受影响?Google Project Zero的论文里明明白白地写着这可能是他们的攻击trick还不够tricky。什么叫Spectre不是硬件级的漏洞?Spectre的问题比Meltdown还严重,分支预测+reorder buffer完全是现代指令级并行必备的,而用Exception的Meltdown如果你的架构不要求精确异常那甚至跟你一点关系都没有,农企栽了就是栽了,无非就是软件可以很大程度上(不是保证)避免这一问题所以不怎么吃损失就是了。&/p&&p&结果上来说Intel替二十多年前的体系结构学术界背了一口巨大的黑锅。怎么说呢,就是一种天塌下来全压在了高个的头上的感觉吧(&/p&&p&你农企想翻身还远着呢。&/p&&p&===手动分隔线===&/p&&p&看了一下我之前确实想错了Spectre的危害也对Spectre的逻辑在理解上出现了一些微妙的偏差,承认错误,感谢评论区的指出。不过话说精选评论是怎么出的啊,我没点啊(趴&/p&&p&但是我还是认为AMD那个鉴权后使用结果完全是流水线在页表查询操作上阻塞的美化版陈述,要说这不是做得不够好而是是安全性设计。。。我也没办法说服你们,因为的确是有可能的嘛(滑稽)&/p&
翻来翻去,开喷的回答里没有看到任何一个把锅甩对地方的。那我就来给Intel洗一波地好了。首先这个漏洞是两个,一个叫Meltdown,一个叫Spectre,其它的回答已经说的很清楚了。我补一个链接,我也不知道这是谁建的,但是解释很详细,从最简单的结果论到论文原…
以前对Excel的理解还是太浅薄,以为就是做几个函数,方便统计。没错,我一直把它定义为统计用!但是!但是!工作后,一下子把这些全部刷新了!&br&一设计院的人用这个算墩长,布孔,以此结合cad出施工图,没错用Excel来做!网上流传着什么“记下这些成为Excel(word)高手&之类的,简直弱爆了,那些全是基础好吗!就像学英语里的单词一样。&br&个人认为,包括word excel会用宏,精通宏才能了解其强大。软件的强大就在于把大学的知识转化为小学生也会的操作上(一个比喻,人为把控肯定是必要的)
以前对Excel的理解还是太浅薄,以为就是做几个函数,方便统计。没错,我一直把它定义为统计用!但是!但是!工作后,一下子把这些全部刷新了! 一设计院的人用这个算墩长,布孔,以此结合cad出施工图,没错用Excel来做!网上流传着什么“记下这些成为Excel(…
&figure&&img src=&https://pic1.zhimg.com/v2-ef4fc130af9afaf766d69d58cf72df43_b.jpg& data-rawwidth=&638& data-rawheight=&383& class=&origin_image zh-lightbox-thumb& width=&638& data-original=&https://pic1.zhimg.com/v2-ef4fc130af9afaf766d69d58cf72df43_r.jpg&&&/figure&&p&我们经常会被微软教育:拔出U盘前一定要安全移除:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-f4db308addb9b34a26129b9_b.jpg& data-caption=&& data-rawwidth=&400& data-rawheight=&311& class=&content_image& width=&400&&&/figure&&p&&br&&/p&&p&作为一个程序员,我也很理解这点。因为如果文件操作都立刻进行,效率非常低,尤其对于大量小文件而言更是如此。操作系统的文件子系统有个buffer,将数据暂时存储起来,在方便的时刻再一次写入设备。这个安全移除就是最后一个“方便的时刻”。&/p&&p&不过,不知道你有没有发现,现在大部分人都是用完直接拔掉,也很少听说文件丢失,这是为什么呢?&/p&&h2&&b&原因&/b&&/h2&&p&其实微软做过调查发现要求用户每次点击鼠标好几次并不是个很好的办法,很少有用户喜欢这么做。它在Windows XP后改变了原先的做法,会尽量在用户操作完成后立刻刷新buffer。这样数据安全了,那么会不会造成磁盘存取效能下降呢? 其实操作系统会判断存储媒介的种类,只有外部可移动设备会被设置这种策略。通过哪里能观察到这种策略呢?我们可以在设备管理器中看到:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-07b405de933f8a35ebebbe9_b.jpg& data-caption=&& data-rawwidth=&583& data-rawheight=&760& class=&origin_image zh-lightbox-thumb& width=&583& data-original=&https://pic4.zhimg.com/v2-07b405de933f8a35ebebbe9_r.jpg&&&/figure&&p&&br&&/p&&p&移动设备都默认被设置为可以快速删除,写缓存被禁用了。带来的好处是可以不用安全移除了!如果你需要更好的性能,可以选择下面那个“更好的性能”选项。如果是本地硬盘,则默认开关完全不同:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f2f3d96b7e817a8ec116e5_b.jpg& data-caption=&& data-rawwidth=&588& data-rawheight=&770& class=&origin_image zh-lightbox-thumb& width=&588& data-original=&https://pic1.zhimg.com/v2-f2f3d96b7e817a8ec116e5_r.jpg&&&/figure&&p&&br&&/p&&h2&&b&结论&/b&&/h2&&p&微软在不停的改进windows的使用体验。这个巨大的进步却没有广为人知,可能是顾及到可能的数据丢失。据我经验,在文件操作完毕后,等个一两秒钟,立刻拔出U盘,没有出现过任何问题。怎么判断文件操作结束了呢?有很多U盘都带有指示灯,在灯光不再闪烁时,再拔出是个好主意。尤其是你只是读取,并不写入的时候。&/p&&p&这就是你的数据不会丢失的原因。&/p&&h2&&b&凡事总有例外&/b&&/h2&&p&如果你有很重要的数据,你希望能够100%确定数据不会丢失。那么通过安全移除可以确保无忧。但在很多时候,安全移除总是提示:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-1f80b51e16a8a6a82a03aba901b89de3_b.jpg& data-caption=&& data-rawwidth=&489& data-rawheight=&185& class=&origin_image zh-lightbox-thumb& width=&489& data-original=&https://pic3.zhimg.com/v2-1f80b51e16a8a6a82a03aba901b89de3_r.jpg&&&/figure&&p&&br&&/p&&p&可你明明已经关闭了所有应用程序了啊?!其实系统中总有些程序在有意无意的扫描你的文件,这些程序包括杀毒软件、流氓软件或者某些“杀毒软件+流氓软件”。而你很难判断是谁锁住了U盘。在几次徒劳的尝试后,你也许就只有重新启动确保数据安全了。这也许就是微软不大张旗鼓宣传这个改进的主要原因:总有些人不按规则出牌。&/p&&p&如果你不希望白白认输,希望找出幕后黑手,那么请跟我来。&/p&&h2&&b&破案过程&/b&&/h2&&p&万事别伸手,伸手必被捉。U盘不能被移除是因为它的句柄(Handle)被锁住了(Lock),我们通过看看是谁锁住的Handle,就能够顺藤摸瓜,找到幕后的黑手。先下载破案工具:&/p&&p&1. Sysinternals的良心免费工具:Handle (&a href=&https://link.zhihu.com/?target=https%3A//technet.microsoft.com/en-us/sysinternals/bb896655.aspx& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Handle&/a&)&/p&&p&2. 还是Sysinternals的良心免费工具:Process Explorer (&a href=&https://link.zhihu.com/?target=https%3A//technet.microsoft.com/en-us/sysinternals/bb896653& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Process Explorer&/a&)&/p&&p&假设我们的U盘是H盘,先运行Handle (Win7以上主要管理员权限):&/p&&figure&&img src=&https://pic1.zhimg.com/v2-3c538d73b5ab43843a20_b.jpg& data-caption=&& data-rawwidth=&595& data-rawheight=&297& class=&origin_image zh-lightbox-thumb& width=&595& data-original=&https://pic1.zhimg.com/v2-3c538d73b5ab43843a20_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&我们看到CleanMyPCService.exe锁住了U盘(H:)。那么我们是不是可以关掉这个exe就万事大吉了呢?Too Simple, Sometimes....啊同学们!很多时候我们可能在任务栏里面根本找不到这个程序,甚至你启动任务管理器也难以发现他们的踪影。没关系,我们不是还有另外一个工具吗,让我们利用它来让黑手现形:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-50c9fcdc7a86be6afba83e8_b.jpg& data-caption=&& data-rawwidth=&498& data-rawheight=&266& class=&origin_image zh-lightbox-thumb& width=&498& data-original=&https://pic3.zhimg.com/v2-50c9fcdc7a86be6afba83e8_r.jpg&&&/figure&&p&&br&&/p&&p&名字和指纹(PID)都对上了,黑手抓住了!&/p&&figure&&img src=&https://pic1.zhimg.com/v2-0cd5523bdc00ab46c30f9a329264aece_b.jpg& data-caption=&& data-rawwidth=&600& data-rawheight=&337& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic1.zhimg.com/v2-0cd5523bdc00ab46c30f9a329264aece_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&我们可以用ProcessExplore关闭这个程序,再安全移除,从此王子与公主过上了幸福的生活。&/p&&h2&&b&结束后的新结束&/b&&/h2&&p&慢着,这么麻烦,让我们一般用户情何以堪,这里不是你们程序员秀优越感的地方!好吧,介绍一个方便的工具:LockHunter(&a href=&https://link.zhihu.com/?target=http%3A//lockhunter.com/download.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Download LockHunter&/a&)。它的功能十分强大:&/p&&p&1. 显示锁住文件或者文件夹的进程和其详细信息。&/p&&p&2. 可以解锁、删除、拷贝和重命名锁住的文件。&/p&&p&3. 允许下次OS启动的时候再自动删除。&/p&&p&4. 杀掉锁文件的进程,还可以杀掉那个进程的文件,斩草除根!&/p&&p&5. 集成到Explore的右键菜单里,方便快捷。&/p&&p&最妙的是OS支持广泛:WinXP、Win7、Win8和Win10。32位和64位!&/p&&p&让我们用它来打开U盘:&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-afa9aa16f2fd2_b.jpg& data-caption=&& data-rawwidth=&449& data-rawheight=&441& class=&origin_image zh-lightbox-thumb& width=&449& data-original=&https://pic4.zhimg.com/v2-afa9aa16f2fd2_r.jpg&&&/figure&&p&&br&&/p&&p&哒哒,黑手再次现形!我关,我删!世界清静了!&/p&&p&欢迎大家关注本专栏和用微信扫描下方二维码加入微信公众号&UEFIBlog&,在那里有最新的文章。同时欢迎大家给本专栏和公众号投稿!&/p&&figure&&img src=&https://pic3.zhimg.com/v2-45479ebdd2351fcdcfb0771bd06fff3a_b.jpg& data-rawwidth=&344& data-rawheight=&344& class=&content_image& width=&344&&&figcaption&用微信扫描二维码加入UEFIBlog公众号&/figcaption&&/figure&
我们经常会被微软教育:拔出U盘前一定要安全移除: 作为一个程序员,我也很理解这点。因为如果文件操作都立刻进行,效率非常低,尤其对于大量小文件而言更是如此。操作系统的文件子系统有个buffer,将数据暂时存储起来,在方便的时刻再一次写入设备。这个安…
已有帐号?
无法登录?
社交帐号登录
1563 人关注
257 条内容
1926 人关注
568 条内容
174 人关注
4723 条内容
3159 人关注
1353 条内容

我要回帖

更多关于 安乐死不应该合法化 的文章

 

随机推荐