分类 理解计算机 中的文章

如何做代码 CR?

一、设计问题 (ABI 原则) CR 的意图 (Intention) 首先要了解整个 CR 要解决的问题; 正确的解决方案 (Better Solution) 在了解问题的基础上,思考标准的解决方案; 架构设计(合理的分层)(Architecture Design) 包设计 类设计 接口设计 安全 (safety) 不要迫使使用方到处传递敏感信息 二、实现问题 命名规范 命名规范: 一致性 注释和代码保持一致 同一个概念,不要用多个(近似但不一样的)名称 作用域……

阅读全文

MySQL: 一条SQL语句是如何执行的?

1 MySQL 基本架构 MySQL基本架构示意图 2 日志系统 与查询流程不一样的是,更新流程还涉及两个重要的日志模块,它们正是我们要讨论 的主角:redo log(重做日志)和 binlog(归档日志)。 如果接触 MySQL,那这两个词肯定是绕不过的,我后面的内容里也会不断地和你强调。 不过话说回来,redo log 和 binlog 在设计上有很多有意思的地方,这些设计思路也可以用到你自己的程序里。 2.1 重要的日志模块:redo log……

阅读全文

五种 IO 模型

1 Preface 同步 (synchronous IO) 和异步 (asynchronous) IO,阻塞 (blocking) IO和非阻塞(non-blocking) IO分别是什么,到底有什么区别? 这个问题不同的人给出的答案可能不同。为不同的人的知识背景不同,并且在讨论这个问题的时候上下文(context)也不相同。 我们这里讨论的背景是Linux环境下的network IO, 本文参考 Richard Stevens 2003 年的传世之作 1 ,如果英文够好的话,推荐直接阅读。Stevens的文风是有名的深入浅出,所以不用担心看不懂。 2 五种 I/O 模型 blocking I/O nonblocking I/O I/O multiplexing (select and poll) signal driven I/O (SIGIO) asynchronous I/O (the POSIX aio_functions) 再说一下IO发生时涉及的对象和步骤。 对于一个net……

阅读全文

计算机系统组成

1 不用goto 原因: (1) 可能会破坏程序的局部性原理,会导致cache失效,从而降低执行效率。 (2) 程序的逻辑变得混乱,不利于程序的维护和bug排查。……

阅读全文

(译) 蒙特卡罗搜索树

今天(2017-10-19) 看到一篇关于蒙特卡罗搜索树 (Monte Carlo Tree Search) 的文章,感觉写的非常好,决定尝试翻译一下,于是就有了这篇文章:)。 原文在这阅读原文。 1 What is MCTS? 蒙特卡罗搜索树是 一个在人工智能(AI)问题中做出优化决策的方法,通常在组合游戏中移动规划。它将随机模拟的一般性与树搜索的精度相结合。 由于 AlphaGo 卓越的表现,并潜在应用于一些其他难题上,人们对MCTS的研究兴趣急剧上升。其应用范围超越了游戏,理论上 MCTS 可以应用于能用 {state,action} 来描述的任何领域,以及预测结果的 模拟。 2 Basic Algorithm 基本的MCTS算法……

阅读全文

搭建CUDA 环境(GPU)

1 Preface 最近拿到一篇论文,老板需要按照论文的思路,通过提取股票行情的特征,从而预测未来几分钟内股票的价格变动。在这之前已经用python 的 scikit 库实现过了。计算完全市场3000只股票大概需要1小时(10 thread)。Boss想能不能1min能就算完全市场的?所以 CTO 就建议使用GPU来加速计算。 下面我们就来讲讲怎么搭建GPU的环境。(如有不正确的地方,请不吝指正) 1.1 首先确认配置的 Nvidia 显卡型号 官网查看CUDA兼容的GPU型号cuda-gpu (20170612) CUDA Toolkit on x86_32 is unsupported 2 CUDA 环境搭建 2.1 Download nvidia cuda-toolkit 下载对应的开发包,安装的时候选择自定……

阅读全文

程序员如何留Email?

有时候我们在公共网络上留下自己的Email,会收到垃圾邮件? 那么我们可以这样留邮箱: 1 有人会把@换成 # 2 还有人会用base64加密 echo 邮箱号 | base64 我的电子邮件地址是—— echo c3VucXVhbmFAZ21haWwuY29tIA0K | base64 -d 我想你应该知道怎么做。……

阅读全文

最近文章

分类

友情链接

标签

-Wall(1) 2017(1) 2023(1) about(1) AC自动机(1) algorithm(2) atomic(1) BigData(1) busy(1) C++11(3) cache(3) chrome(1) cluster(1) CMake(1) cmd(1) Code Review(1) communication(1) core(1) CPA(1) CPC(1) CPM(2) CPP(15) CPS(1) CPT(1) CPU(1) CR(1) CS(4) Diary(3) Docker(1) DP(1) duck-type(1) echarts(1) epoll(1) etcd(1) Eureka(1) event(1) eventfd(1) Feeling(1) future(2) Gerrit(1) git(6) go(3) go-cmp(1) Golang(8) hardware(1) Hundsun(2) intersection(1) iPhone(1) Java(2) kafka(2) lambda(1) Languages(2) LeetCode(3) libuv(1) Life(12) LinkList(1) Linux(2) LogReplay(1) lua(3) MacOS(1) MySQL(1) mysqldump(1) narrow cast(1) nullptr(1) OKR(1) oneof(1) OpenTelemetry(1) owners(1) pkg(2) plan(1) plugin(2) plugins(1) poll(1) promise(1) proto3(1) Protobuf(1) rb-tree(1) Reactive(1) ready_future(1) rebase(1) recommend(2) recursive(1) Redis(1) reflection(3) Registry Center(1) Release(1) resume(1) rpm(1) seastar(4) select(2) set(1) shared_ptr(1) SIGABRT(1) Simulate Location(1) sql(2) std::thread(1) syscall(1) tcp(1) timeout(1) TodoList(1) Tools(3) tracing(1) Travel(1) unique_ptr(1) unwound stack(1) weak_ptr(1) Web(2) Wireshark(4) Work(9) zeromq(2) zookeeper(2) zsh(1) 个人旅游(1) 企微机器人(1) 优点(1) 全麻(1) 动态规划(1) 在线广告(1) 多模匹配(1) 工作总结(1) 广告(1) 开源工具(1) 开源库(4) 总结(2) 扔鸡蛋问题(1) 文本消息指令(1) 智齿(1) 流量录制回放(1) 用户标签(1) 缺点(1) 群收款(1) 背包问题(1) 读书笔记(8) 香港签注(1) 高可用(2) 鼻炎(1)

其它