Forwarded from .
@reverseSearchBot
刚发现的一个 GIF 反向搜索引擎,支持图片表情多种格式反向搜索,输入该里番 GIF 立马返回了节目信息以及时间戳
刚发现的一个 GIF 反向搜索引擎,支持图片表情多种格式反向搜索,输入该里番 GIF 立马返回了节目信息以及时间戳
Forwarded from Rss™
VIP视频在线解析破解去广告(全网)+ 全网电影搜索 2019.7.29更新可用 无任何垃圾广告
https://ift.tt/2ymLeuU
https://ift.tt/2ymLeuU
greasyfork.org
VIP视频在线解析破解去广告(全网)+ 全网电影搜索 2019.7.29更新可用 无任何垃圾广告
全网电影搜索+在视频标题旁上显示“vip解析(去广告)”按钮和“搜索电影”按钮,在线播放vip视频;支持优酷vip,腾讯vip,爱奇艺vip,芒果vip,乐视vip等常用视频...
Forwarded from .
写下我的读后笔记
简历和作品集哪个重要?
如今的计算机专业以及数学专业依然使用简历招刚毕业的大学生,但是简历往往不代表一个学生的真实实力;每个计算机科学专业学生都应该做一个作品集:可以是一个博客,可以是一个 Github 开源项目,项目连接项目让更多人知道。对开源社区做出贡献,这样可以告诉公司你的能力,而往往计算机专业学生的 GPA 和简历并不能证明学生的实力如何。
技术性交流
公司里程序员们相互需要交流代码的 Bug 和性能问题等等,然后提交给上层,所以往往沟通能力和交流技巧很重要;在一些小公司里工程师和上层一旦传达的信息出现了偏差,后果很危险。
个人建议
建议个人熟练掌握一种演示工具,PPT 什么的都行,Markdown,LaTex 语言这样的,然后课堂作业,以后提交文档的时候可以写出清晰美观的文档。
一些建议阅读的书籍
Writing for Computer Science by Zobel
Even a Geek Can Speak by Asher
The LaTeX Companion
The TeXbook by Knuth // LaTeX 重度使用者读物
Mathematical Writing
How to Give a Good Research Talk
My advice on how to send and reply to email
———
工程
计算机科学和工程学不是一回事,但是很接近,工程师会和计算机科学家合作,所以需要一种植根于实际分析,线性代数,和概率,物理学的语言;计算机科学家应该通过使用学习电磁学来学物理学,但是如果要做到这一点需要学习多元微积分,微分方程。在构建声音模拟时,掌握概率和(通常是)线性代数是非常宝贵的。在解释结果时,没有什么能替代对统计数据的深刻理解。
推荐阅读书籍
Calculus by Spivak
All of Statistics: A Concise Course in Statistical Inference
———
Unix 哲学
计算机科学家应该熟悉并实践Unix的计算哲学。
Unix哲学(与Unix本身相反)强调通过语言抽象和组合来实现计算。
实际上,这意味着熟悉命令行计算、文本文件配置和无理想软件开发的概念。
- 导航和操作文件系统
- Shell 的原始创作
- 熟练使用emacs 和 vim
- 为软件项目创建、修改和执行 Makefile
- 学会简单的 Shell 脚本
推荐阅读书籍
The Unix Programming Environment by Kernighan and Pike
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
Unix Power Tools by Powers, Peek, O'Reilly and Loukides
commandlinefu
Linux Server Hacks
The single Unix specification
———
系统管理
系统的安全问题我们也可以自学,不需要专门找寻系统管理员
每一位现代计算机科学家都应该能够:
安装并管理Linux发行版。
配置和编译Linux内核。
排除与dig、ping和traceroute的连接故障。
编译和配置像apache这样的web服务器。
编译和配置类似bind的DNS守护进程。
使用文本编辑器维护web站点。
剪断并卷曲网络电缆。
推荐阅读
UNIX and Linux System Administration Handbook
简历和作品集哪个重要?
如今的计算机专业以及数学专业依然使用简历招刚毕业的大学生,但是简历往往不代表一个学生的真实实力;每个计算机科学专业学生都应该做一个作品集:可以是一个博客,可以是一个 Github 开源项目,项目连接项目让更多人知道。对开源社区做出贡献,这样可以告诉公司你的能力,而往往计算机专业学生的 GPA 和简历并不能证明学生的实力如何。
技术性交流
公司里程序员们相互需要交流代码的 Bug 和性能问题等等,然后提交给上层,所以往往沟通能力和交流技巧很重要;在一些小公司里工程师和上层一旦传达的信息出现了偏差,后果很危险。
个人建议
建议个人熟练掌握一种演示工具,PPT 什么的都行,Markdown,LaTex 语言这样的,然后课堂作业,以后提交文档的时候可以写出清晰美观的文档。
一些建议阅读的书籍
Writing for Computer Science by Zobel
Even a Geek Can Speak by Asher
The LaTeX Companion
The TeXbook by Knuth // LaTeX 重度使用者读物
Mathematical Writing
How to Give a Good Research Talk
My advice on how to send and reply to email
———
工程
计算机科学和工程学不是一回事,但是很接近,工程师会和计算机科学家合作,所以需要一种植根于实际分析,线性代数,和概率,物理学的语言;计算机科学家应该通过使用学习电磁学来学物理学,但是如果要做到这一点需要学习多元微积分,微分方程。在构建声音模拟时,掌握概率和(通常是)线性代数是非常宝贵的。在解释结果时,没有什么能替代对统计数据的深刻理解。
推荐阅读书籍
Calculus by Spivak
All of Statistics: A Concise Course in Statistical Inference
———
Unix 哲学
计算机科学家应该熟悉并实践Unix的计算哲学。
Unix哲学(与Unix本身相反)强调通过语言抽象和组合来实现计算。
实际上,这意味着熟悉命令行计算、文本文件配置和无理想软件开发的概念。
- 导航和操作文件系统
- Shell 的原始创作
- 熟练使用emacs 和 vim
- 为软件项目创建、修改和执行 Makefile
- 学会简单的 Shell 脚本
推荐阅读书籍
The Unix Programming Environment by Kernighan and Pike
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
Unix Power Tools by Powers, Peek, O'Reilly and Loukides
commandlinefu
Linux Server Hacks
The single Unix specification
———
系统管理
系统的安全问题我们也可以自学,不需要专门找寻系统管理员
每一位现代计算机科学家都应该能够:
安装并管理Linux发行版。
配置和编译Linux内核。
排除与dig、ping和traceroute的连接故障。
编译和配置像apache这样的web服务器。
编译和配置类似bind的DNS守护进程。
使用文本编辑器维护web站点。
剪断并卷曲网络电缆。
推荐阅读
UNIX and Linux System Administration Handbook
Amazon
Amazon.com: Writing for Computer Science eBook: Zobel, Justin: Kindle Store
Buy Writing for Computer Science: Read Kindle Store Reviews - Amazon.com
Forwarded from Rust 视界
「Rust异步之书」中文翻译
#async #book
感谢 @huangjj的分享
[Read More](https://huangjj27.github.io/async-book/index.html)
#async #book
感谢 @huangjj的分享
[Read More](https://huangjj27.github.io/async-book/index.html)
Forwarded from Rust 视界
cheats.rs 一个整洁的Rust备忘录
#rust
[cheats.rs](https://cheats.rs)是一个Rust资料备忘录网站,记载了常见Rust知识点、文档、工具等等,有了它可以把一大堆书签删掉了。夜间模式下 Ferris 的眼神蠢萌蠢萌的。
[Read More](https://cheats.rs/)
#rust
[cheats.rs](https://cheats.rs)是一个Rust资料备忘录网站,记载了常见Rust知识点、文档、工具等等,有了它可以把一大堆书签删掉了。夜间模式下 Ferris 的眼神蠢萌蠢萌的。
[Read More](https://cheats.rs/)
Forwarded from Rust 视界
【阅读】使用Rust开发NB-IOT设备
#iot
作者[李立源](https://medium.com/@ly.lee?source=post_page---------------------------)介绍了他使用Rust、 STM32 Blue Pill 和 Apache 开发 NB-IoT 传感器的过程。
[Read More](https://medium.com/@ly.lee/rust-rocks-nb-iot-stm32-blue-pill-with-quectel-bc95-g-on-apache-mynewt-ef62a7e28f7e)
#iot
作者[李立源](https://medium.com/@ly.lee?source=post_page---------------------------)介绍了他使用Rust、 STM32 Blue Pill 和 Apache 开发 NB-IoT 传感器的过程。
[Read More](https://medium.com/@ly.lee/rust-rocks-nb-iot-stm32-blue-pill-with-quectel-bc95-g-on-apache-mynewt-ef62a7e28f7e)
Medium
Lup Yuen Lee 李立源 – Medium
Read writing from Lup Yuen Lee 李立源 on Medium. Techie and Educator in IoT 物聯網教師. Every day, Lup Yuen Lee 李立源 and thousands of other voices read, write, and share important stories on Medium.
Forwarded from Rust 视界
【工具】vulkan-tutorial-rs 编程语言练习工具
#rust
[@timkofu](https://twitter.com/timkofu) 看完 The Book 后想找一个类似 [pythonchallenge.com](https://t.co/Q0vzcnTU9S) 网站,通过做一些编程练习学习 Rust,网友给他推荐了以下几个网站:
* [vulkan-tutorial-rs](https://github.com/bwasty/vulkan-tutorial-rs)
* [www.codewars.com](https://www.codewars.com/)
* [exercism.io](https://exercism.io)
刚学 Rust 不知道该做些什么项目的同学可以看看,顺便推荐[issuehub.com](http://issuehub.io),可以用“rust + help wanted”来搜索Rust 相关的开源项目,帮助开源项目解决issue也是一种练习方式。
[Read More](https://twitter.com/timkofu/status/1158415111394123776)
#rust
[@timkofu](https://twitter.com/timkofu) 看完 The Book 后想找一个类似 [pythonchallenge.com](https://t.co/Q0vzcnTU9S) 网站,通过做一些编程练习学习 Rust,网友给他推荐了以下几个网站:
* [vulkan-tutorial-rs](https://github.com/bwasty/vulkan-tutorial-rs)
* [www.codewars.com](https://www.codewars.com/)
* [exercism.io](https://exercism.io)
刚学 Rust 不知道该做些什么项目的同学可以看看,顺便推荐[issuehub.com](http://issuehub.io),可以用“rust + help wanted”来搜索Rust 相关的开源项目,帮助开源项目解决issue也是一种练习方式。
[Read More](https://twitter.com/timkofu/status/1158415111394123776)
Twitter
Timothy Makobu (@timkofu) | Twitter
The latest Tweets from Timothy Makobu (@timkofu). MSc. Software Engineering student @HWUDubai
Forwarded from Rust 视界
十年Cpp程序员学了三个月Rust之后的感想
#cpp
文章不长,用作者的话来总结:与其把Rust看作是一门语言,倒不如将其看作是一个生态系统。他对Rust这个生态系统未来的成长感到非常excited。
- Facebook用Rust写区块链: Libra
- Goolge用Rust写操作系统: Fuchsia
- 亚马逊用Rust写虚拟化技术: FireCracker
- 微软推,崇业界都应该使用Rust语言。
看见了吗? 四大巨头的未来主要核心业务都交给或准备交给Rust了。
这也是这个10年Cpp程序员开始学习Rust的原因:未来。
Read More: [https://blog.aclysma.com/my-first-three-months-with-rust/](https://blog.aclysma.com/my-first-three-months-with-rust/)
#cpp
文章不长,用作者的话来总结:与其把Rust看作是一门语言,倒不如将其看作是一个生态系统。他对Rust这个生态系统未来的成长感到非常excited。
- Facebook用Rust写区块链: Libra
- Goolge用Rust写操作系统: Fuchsia
- 亚马逊用Rust写虚拟化技术: FireCracker
- 微软推,崇业界都应该使用Rust语言。
看见了吗? 四大巨头的未来主要核心业务都交给或准备交给Rust了。
这也是这个10年Cpp程序员开始学习Rust的原因:未来。
Read More: [https://blog.aclysma.com/my-first-three-months-with-rust/](https://blog.aclysma.com/my-first-three-months-with-rust/)
aclysma's blog
My First Three Months With Rust
I’ve used C++ professionally in games and simulations for over 10 years, and in the past few years I’ve also used C# to build distributed backend systems.
Lately, I’ve been exploring rust.
Lately, I’ve been exploring rust.
Forwarded from Rust 视界
「SO问答」对超过240个元素的数组进行循环时,为什么会有很大的性能影响?
#stackoverflow
问题:
> 下面代码当
解答:
> 总结:低于240,LLVM完全展开内部循环,可以优化掉重复循环,增加性能。
分析:
> 这是一个神奇的阈值,超过该阈值LLVM将停止执行某些优化。阈值是
比如这段代码:
你在 [godbolt](https://rust.godbolt.org/z/VKL9MS) 编辑器中查看生成的汇编代码,比较240和239,会发现有很大区别。比如当239的时候生成:
就是所谓的循环展开: LLVM将循环体粘贴一段时间,以避免执行那些“循环管理指令”,即循环变量的增量,检查循环是否结束和跳转。(可以自行对比一下240的输出)。但是,即便循环不展开,也不会造成80倍的性能差异。所以,实际上那个性能测试代码嵌套循环导致的(LLVM生成的代码基本上首先只执行内部循环(计算总和),然后通过多次累加总和来模拟外部循环!)。最好要使用Rust的惯用法: `arr.iter().sum()`,这样就不会产生80倍的性能差异了。
Read More: [https://stackoverflow.com/questions/57458460/why-is-there-a-large-performance-impact-when-looping-over-an-array-over-240-elem](https://stackoverflow.com/questions/57458460/why-is-there-a-large-performance-impact-when-looping-over-an-array-over-240-elem)
#stackoverflow
问题:
> 下面代码当
CAPACITY >= 240 的时候,与 CAPACITY >= 239 相比,性能慢了80倍。Rust编译器专门为240以内的长度做了优化? 使用 rustc -C opt-level=3 进行编译。rust
use std::time::Instant;
const CAPACITY: usize = 240;
const IN_LOOPS: usize = 500000;
fn main() {
let mut arr = [0; CAPACITY];
for i in 0..CAPACITY {
arr[i] = i;
}
let mut sum = 0;
let now = Instant::now();
for _ in 0..IN_LOOPS {
let mut s = 0;
for i in 0..arr.len() {
s += arr[i];
}
sum += s;
}
println!("sum:{} time:{:?}", sum, now.elapsed());
}
解答:
> 总结:低于240,LLVM完全展开内部循环,可以优化掉重复循环,增加性能。
分析:
> 这是一个神奇的阈值,超过该阈值LLVM将停止执行某些优化。阈值是
8字节* 240 = 1920字节 (数组是usizes数组,因此长度乘以8字节,假设 x86-64 CPU)。在该问题中的基准测试中,是仅针对长度239执行的一个特定优化,所以导致了巨大的性能差异。比如这段代码:
rust
pub fn foo() -> usize {
let arr = [0; 240];
let mut s = 0;
for i in 0..arr.len() {
s += arr[i];
}
s
}
你在 [godbolt](https://rust.godbolt.org/z/VKL9MS) 编辑器中查看生成的汇编代码,比较240和239,会发现有很大区别。比如当239的时候生成:
rust
movdqa xmm1, xmmword ptr [rsp + 32]
movdqa xmm0, xmmword ptr [rsp + 48]
paddq xmm1, xmmword ptr [rsp]
paddq xmm0, xmmword ptr [rsp + 16]
paddq xmm1, xmmword ptr [rsp + 64]
; more stuff omitted here ...
paddq xmm0, xmmword ptr [rsp + 1840]
paddq xmm1, xmmword ptr [rsp + 1856]
paddq xmm0, xmmword ptr [rsp + 1872]
paddq xmm0, xmm1
pshufd xmm1, xmm0, 78
paddq xmm1, xmm0
就是所谓的循环展开: LLVM将循环体粘贴一段时间,以避免执行那些“循环管理指令”,即循环变量的增量,检查循环是否结束和跳转。(可以自行对比一下240的输出)。但是,即便循环不展开,也不会造成80倍的性能差异。所以,实际上那个性能测试代码嵌套循环导致的(LLVM生成的代码基本上首先只执行内部循环(计算总和),然后通过多次累加总和来模拟外部循环!)。最好要使用Rust的惯用法: `arr.iter().sum()`,这样就不会产生80倍的性能差异了。
Read More: [https://stackoverflow.com/questions/57458460/why-is-there-a-large-performance-impact-when-looping-over-an-array-over-240-elem](https://stackoverflow.com/questions/57458460/why-is-there-a-large-performance-impact-when-looping-over-an-array-over-240-elem)
rust.godbolt.org
Compiler Explorer - Rust (rustc 1.36.0)
pub fn foo() -> usize {
let arr = [0; 239];
let mut s = 0;
for i in 0..arr.len() {
s += arr[i];
}
s
}
let arr = [0; 239];
let mut s = 0;
for i in 0..arr.len() {
s += arr[i];
}
s
}
Forwarded from Rust 视界
Crev的使用教程
#Crev
[cargo-crev](https://github.com/dpc/crev/tree/master/cargo-crev)是一个代码审查工具,旨在构建信任的生态网络。但它并不局限于Rust社区,C/Cpp也可以使用。
该工具可以判断你项目中依赖crate的安全性、质量和发现的问题。可以在公共的git仓库里发布可验证的review信息。通过这种方式期望在Rust生态系统中构建可信任的网络。将不会有人再受到未经审查和不受信任代码的困扰。
想想npm因为依赖包出了多少次安全事故。这个工具ms不错,但是否真的可以解决问题?
Read More: [https://wiki.alopex.li/ActuallyUsingCrev](https://wiki.alopex.li/ActuallyUsingCrev)
#Crev
[cargo-crev](https://github.com/dpc/crev/tree/master/cargo-crev)是一个代码审查工具,旨在构建信任的生态网络。但它并不局限于Rust社区,C/Cpp也可以使用。
该工具可以判断你项目中依赖crate的安全性、质量和发现的问题。可以在公共的git仓库里发布可验证的review信息。通过这种方式期望在Rust生态系统中构建可信任的网络。将不会有人再受到未经审查和不受信任代码的困扰。
想想npm因为依赖包出了多少次安全事故。这个工具ms不错,但是否真的可以解决问题?
Read More: [https://wiki.alopex.li/ActuallyUsingCrev](https://wiki.alopex.li/ActuallyUsingCrev)
GitHub
crev-dev/cargo-crev
A cryptographically verifiable code review system for the cargo (Rust) package manager. - crev-dev/cargo-crev
Forwarded from Rust 视界
使用Rust进行游戏开发6个月之后收获到了什么?
#game
一位使用Rust开发游戏的妹纸,最近6个月内使用ggez框架开发自己的个人游戏项目,这篇文章简单介绍了她的一些感想,比如如何坚持做自己的项目、ECS很棒之类的。
重点是她之前写的另一篇文章:24小时游戏开发,介绍了如何使用ggez框架在24小时内开发一款小游戏。感兴趣的看看吧。
Read More: [https://iolivia.me/posts/6-months-of-rust-game-dev/](https://iolivia.me/posts/6-months-of-rust-game-dev/)
#game
一位使用Rust开发游戏的妹纸,最近6个月内使用ggez框架开发自己的个人游戏项目,这篇文章简单介绍了她的一些感想,比如如何坚持做自己的项目、ECS很棒之类的。
重点是她之前写的另一篇文章:24小时游戏开发,介绍了如何使用ggez框架在24小时内开发一款小游戏。感兴趣的看看吧。
Read More: [https://iolivia.me/posts/6-months-of-rust-game-dev/](https://iolivia.me/posts/6-months-of-rust-game-dev/)
Forwarded from Rust 视界
「思考」对于小的结构体,传值(By-Copy)还是传引用(By-Borrow)?
#Struct
这个小小的问题,涉及日常编写代码需要考虑的两个问题:性能 vs 人体工程学
我们是追求性能呢,还是追求代码的可读性和维护性等?
该文作者通过大篇幅的讨论,甚至深入到C++中探讨,得出结论:还是By-Copy吧。至于原因,还需要仔细阅读他的文章。
Read More: [https://www.forrestthewoods.com/blog/should-small-rust-structs-be-passed-by-copy-or-by-borrow/](https://www.forrestthewoods.com/blog/should-small-rust-structs-be-passed-by-copy-or-by-borrow/)
#Struct
这个小小的问题,涉及日常编写代码需要考虑的两个问题:性能 vs 人体工程学
我们是追求性能呢,还是追求代码的可读性和维护性等?
该文作者通过大篇幅的讨论,甚至深入到C++中探讨,得出结论:还是By-Copy吧。至于原因,还需要仔细阅读他的文章。
Read More: [https://www.forrestthewoods.com/blog/should-small-rust-structs-be-passed-by-copy-or-by-borrow/](https://www.forrestthewoods.com/blog/should-small-rust-structs-be-passed-by-copy-or-by-borrow/)
Forrestthewoods
Should small Rust structs be passed by-copy or by-borrow?
Benchmarking Rust to determine if small structs should be passed by-copy or by-value.