果冻虾仁

Results 85 issues of 果冻虾仁

## 控制结构 - [x] if - [x] case - [x] for - [x] while - [ ] util - [ ] 混合使用

|原写作时间 |2013-03-24| |---|---| 作为一名爱好编程的大学生。我在独自奋斗。 在周围人都在拼命LOL的时候,我却奇葩地拼命敲着代码。这是在大一的下个学期。在上个学期,过的浑浑噩噩。也想学点技术。但是不知道学什么。东学一点,西学一点。学了点html,也学了点PS,学了使用dreamweaver,也学了点illustrator。但是都不是很精、自己也不知道要该怎么走。上学期就这么过了,期间还跑过推销,做了校代,最终的业绩只是卖个了老乡一件衣服,还挂了一门工程制图。 后来在高中同学那里听说了ACM,我开始热爱上这个。我心里想“对,我要的就是这个”。然后在努力得学,到现在差不多一个半月。最初的时候连c语言基础都不牢固,老师也没讲完c语言。我就这么开始了。但是苦逼的是我们学校根本没人搞ACM,连校队都没有,其他学校都是有的。我只有一个人在战斗。 今天参加了腾讯编程马拉松。第一道题WA了好几次,找不到原因。在确实测试了很多数据……感觉自己真的差得很远。作为高中没有noip背景的人。我只有更加努力的奋斗。因为我爱ACM。我爱算法。我爱编程。曾经听华南农业大学的ACM交流群里,有人说ACM是他的初恋。我想没错,就是这种感觉,就是这种,不管失败,受挫多少次,都死心塌地,义无反顾的感觉。

编程往事

## github主页: https://github.com/apache/incubator-brpc ## 克隆: ``` git clone https://github.com/apache/incubator-brpc.git ``` ## 本地依赖 ### cmake 其中一个gflags需要cmake3,所以要安装cmake3: ``` yum install cmake3 ``` ### 依赖第三方库 - gflags - leveldb - protobuf【2或3均可】 - openssl...

BRPC

# 0. 为什么我说C/C++程序员都要阅读Redis源码 主要原因就是『简洁』。如果你用源码编译过Redis,你会发现十分轻快,一步到位。其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你源码编译安装过Nginx/Grpc/Thrift/Boost等开源产品,你会发现有很多依赖,而依赖也有自己的依赖,十分苦恼。通常半天一天就耗进去了。由衷地羡慕 npm/maven/pip/composer/...这些包管理器。而Redis则给人惊喜,一行make了此残生。 除了安装过程简洁,代码也十分简洁。使用纯C语言编写,每个模块功能都划分的很清晰。 废话不多说,本文要介绍的是Redis里的事件处理功能,与Memcache引入libevent这一臃肿的事件库不同,Redis自己实现了一个小型轻量的事件驱动库——AE。阅读它的源码是一次非常好的学习和体验。 # 1. 跨平台兼容:重剑无锋,大巧不工 文件名说明ae.h/ae.c主要文件,根据OS平台的不同依赖以下不同文件: |文件|平台| |---|---| |ae_epoll.c|Linux平台 |ae_kqueue.c|BSD平台 |ae_evport.c|Solaris平台 |ae_select.c|其他Unix平台 虽然源码文件看起来不少,但是实际上ae_epoll.c、 ae_kqueue.c、 ae_evport.c、 ae_select.c 这4个文件的功能是完全一样的,提供一致的API接口,给ae.c文件调用。这是由于实现高性能的事件驱动的API(称之为polling API)不存在ANSI或POSIX的标准,不同的OS内核有着自己的实现。比如Linux内核的epoll,BSD内核中的kqueue。 ae.c中有: ```c #ifdef HAVE_EVPORT #include "ae_evport.c" #else...

后台公论
Redis

我知乎小记录 ========= [![zhihu-shield]][zhihu] |日期|里程碑| |----|----| |2020.03.16| 专栏《后台公论》2000关注 |2020.03.23| 3000关注 |2020.04.02|创作等级LV7 |2020.04.12|10000收藏 |2020.04.13|4000关注 |2020.04.28|5000关注 |2020.05.05|10000点赞 |2020.05.06|6000关注 |2020.05.17|7000关注 |2020.06.28|10000关注 |2021.10.24|创作等级LV8 |2022.11.13|创作等级LV9 |2025.4.1|创作等级LV10 :pray: 欢迎关注: https://www.zhihu.com/people/guodongxiaren --------------- [zhihu-shield]:https://img.shields.io/badge/dynamic/json?color=0084ff&logo=zhihu&label=%E6%9E%9C%E5%86%BB%E8%99%BE%E4%BB%81&query=%24.data.totalSubs&url=https%3A%2F%2Fapi.spencerwoo.com%2Fsubstats%2F%3Fsource%3Dzhihu%26queryKey%3Dguodongxiaren [zhihu]: "我的知乎,欢迎关注"

编程往事

|原写作时间 |2013-03-27| |---|---| 关于排序的算法有很多。作为初学者。我在掌握了冒泡排序后掌握的第二个排序算法是插入排序。一个多月前看了一些资料,了解了排序的思想,然后自己摸索出了代码的写法。并一直这样写了这么久。直到今天看了《算法导论》的时候,才恍然大悟,原来自己一直写的插入排序并不十分正确。虽然思想是相通的。但是运行的效率却相差很多。 比如一个数列。用数组表示。a[n]。 我写的插入排序是这样 ```c for(i=0;i

编程往事

很久之前就听说过CAP,知道其表达到是三者无法同时满足。 C | 一致性 -- | -- A | 可用性 P | 分区容错性 后来读了DDIA,发现自己之前的很多理解还是浮于表面,没有深入骨髓。思考如下: CAP作为经验提出,并无准确的定义。 CAP只是历史上有重大影响力的一个说法而已,对于具体系统设计的价值有待商榷。 CAP范围很窄: - 一致性只考虑了线性化的一致性这一种。 - 故障也只考虑了网络分区(节点断连但各自活跃)没有考虑网络延迟、节点失败或其他折中的情况。 三者不能同时满足。这个说法有误导,其实准确的说法是:一旦发生网络故障(分区),必须要在C和A之间选择一个!因为网络分区P不是特性,是故障,无所谓喜欢与不喜欢。而C和A则可以权衡!

创建环境 ------- >conda create --name python35 python=3.5

Python

TBB ===== Intel 开源的C++并行计算库:Threading Building Blocks 同类产品: - PPL:微软开源:Parallel Pattern Library - OpenMp:老牌的并行计算库

C/C++
TBB