漫画 | 都是搬砖的打工人,差距怎么这么大呢?

Gemini Pro实测:原生多模态能力与真实开发落地深度解析 多模态人工智能正从概念走向工程实践,其核心在于模型是否具备跨文本、图像、代码等模态的统一理解与协同生成能力。原生多模态架构通过共享参数空间与联合训练,显著提升符号推理、长程依赖建模和跨模态因果推断水平;相较之下,组装式多模态易受信息衰减与调度延迟制约。Gemini Pro作为当前可商用的典型原生多模态模型,在SVG生成、时间序列推理、教育知识蒸馏等场景展现出独特技术价值,尤其适合需结构化输出与物理世界建模的前端AI应用开发。本文基于72小时真实编码实测,聚焦其在Web应用构建中的能力边界、提示词激活逻辑与生 阅读详情

后记:这篇短漫画主要想讲一下Redis的线程模型和Tomcat的线程模型的区别。Redis负责的业务主要是和内存打交道,每天就是读写内存的那些数据结构,像string ,hash, set, list等等,内存的速度是很快的。我们来假设一个场景, 有10万个请求发给了Redis, 假设10微秒处理一个,那这10万个请求,Redis一个线程1秒内就轻松搞定!

(1秒 = 1000毫秒 = 1000,000 微秒 = 1000,000,000纳秒)

Tomcat的线程就和Redis不同了,它需要读写文件,访问硬盘,访问网络,那速度是非常非常慢的, 如果同样是10万个请求发给Tomcat,假设平均处理时间是10毫秒,那就需要1000秒才能搞定,这实在是太慢了,人类是万万等不及的。所以Tomcat肯定要建立一个线程池,里边养一堆线程来干活了。并且,一个Tomcat在高并发的情况下还不够,需要多个Tomcat组成集群来分担压力,也是不得已而为之。

另外,Redis是非阻塞的I/O,使用了epoll作为I/O多路复用的实现,还有一个自己的事件处理模型,不会在网络I/O上浪费时间。

更多精彩技术漫画,尽在码农翻身

【企业管理】【管理科学】企业全岗位综合运营与组织知识矩阵体系15 企业管理基本框架(2) 人性维度自私利他合作竞争诚实欺骗忠诚背叛信任怀疑贪婪恐惧懒惰勤奋创新保守自私包含互斥弱依赖强依赖互斥强依赖互斥强依赖互斥强依赖包含强依赖强依赖互斥弱依赖强依赖利他互斥包含强依赖互斥强依赖互斥强依赖互斥强依赖互斥互斥互斥互斥弱依赖弱依赖弱依赖合作弱依赖强依赖包含互斥强依赖互斥强依赖互斥强依赖互斥弱依赖互斥互斥强依赖强依赖弱依赖竞争强依赖互斥互斥包含弱依赖强依赖互斥强依赖互斥强依赖强依赖强依赖互斥强依赖强依赖弱依赖诚实互斥强依赖强依赖弱依赖包含互斥强依赖互斥强依赖互斥互斥互斥互斥强依赖强依赖弱依赖欺骗强依赖互斥 阅读详情

相关推荐

shopee app算法分析第一篇

shopee app算法分析第一篇分析完整算法大概要好几篇,耐心等待下.国内只会发律师函,牛逼,一个律师套话,一个律师发函,大意了(警惕卡通律师头像),希望law可以保护好你,还是干国外好.

2533

HTML、CSS、JavaScript、JQury、Jsp、Ajax、Xml、Json、Servlet、Tomcat、redis、jedis是什么有什么用?

文章目录前言一、HTML是什么?有什么用?二、CSS是什么?有什么用?三、JavaScript是什么?有什么用?四、JQury是什么?有什么用?五、Jsp是什么?有什么用?六、Ajax是什么?有什么用?七、Xml是什么?有什么用?八、Json是什么?有什么用? 前言 本文对HTML、CSS、JavaScript、JQury、Jsp、Ajax、Xml、Json这些常用于Web开发的语言、技术的定义和作用进行归纳总结,目的在于帮助读者理清楚他们的区别。 一、HTML是什么?有什么用? HTML是超文本标记语言

programer-MCB 1476

硬件作品3----STM32F103RCT6最小系统板MCU配置

电路未调试成功,目前刚打板,后续需要补充或者改版另行注明。

weixin_58364194的博客 5568

什么是多级缓存

传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: •请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 •Redis缓存失效时,会对数据库产生冲击 多级缓存就是充分利用请求处理的每个环节,分别添加缓存,减轻Tomcat压力,提升服务性能: 浏览器访问静态资源时,优先读取浏览器本地缓存 访问非静态资源(ajax查询数据)时,访问服务端 请求到达Nginx后,优先读取Nginx本地缓存

Leon_Jinhai_Sun的博客 6126

Python 包安装报错:ERROR: No matching distribution found for xxx 的全面排查指南

本文全面解析Python包安装时常见的`ERROR: No matching distribution found for xxx`报错。从检查包名拼写、网络与镜像源配置,到深入分析Python版本、操作系统等环境兼容性问题,提供了从简到繁的排查步骤。文章还介绍了使用`pip debug`、`-v`参数等高级诊断工具,并给出了更换包管理器、使用Docker等终极解决方案,帮助开发者高效解决依赖安装难题。

p8q9r0的博客 898

从波士顿动力SpotMini拆解看四足机器人机械设计:关节布局与电机选型的5个关键决策点

本文深入解析波士顿动力SpotMini四足机器人的机械设计,聚焦关节布局与电机选型的5个关键决策点。通过拆解髋关节偏移距、膝关节传动链、电机热管理等核心设计,揭示商业级四足机器人的工程智慧,为工业巡检、物流机器人等应用提供实用参考。

postgres8guard的博客 896

2006-京淘Day11

1.tomcat服务器启动的脚本 2.学习Mycat服务器 实现数据库读写分离 负载均衡 3.实现数据库高可用 双机热备形式 4.关于Redis缓存入门

qq_16804847的博客 8238

Cocos Creator发布微信小游戏:深度定制与去除默认加载页面的实践指南

本文详细介绍了如何使用Cocos Creator发布微信小游戏时去除默认加载页面的实践方法。通过修改构建配置和重写启动逻辑,开发者可以自定义加载体验,提升品牌一致性。文章还提供了进阶优化方案和常见问题解决方案,帮助开发者实现更专业的微信小游戏发布流程。

weixin_27972919的博客 571

nginx+tomcat+redis基本概念

一、基本概念 负载均衡 意思就是集群的意思 最开始 三点一线 浏览器–web–DB(前端) 一个tomcat最大访问量1000 如果一个网站并发上万人,则会出现宕机。 解决这个问题则 1.方案一 纵向拓展 可以+redis xxx 2.方案二 横向拓展 nginx +tomcat 负载均衡 http服务器 还有一个为appche服务器二、可能出现的问题 1.单点故障 nginx去管

大道至简,悟在天成。 1677

YOLO26涨点改进 | 独家创新,特征融合改进篇 | TGRS 2025 | 引入FFM特征融合模块,实现特征的全局交互与融合,含多种组合创新改进,适合小目标检测、助力YOLO26有效涨点

本文提出了一种改进YOLO26目标检测模型的FFM模块,该模块通过跨模态注意力机制实现全局特征融合,显著提升模型对小目标、密集目标和复杂场景的检测性能。FFM采用多头跨注意力机制建模不同模态间的复杂关系,同时引入可调节下采样率降低计算复杂度。实验表明,在WHU-OPT-SAR等数据集上,FFM模块使mIoU提升0.75%,OA提升0.32%。文章详细介绍了FFM的结构原理、核心代码实现,并提供了两种改进YOLO26的yaml配置文件方案,包括FFM单独使用以及与FCM模块的组合方案。

Ai缝合怪、助力小伙伴高效发论文 195

【Autosar从入门到精通到进阶实战篇】75 0x34/0x36/0x37:请求下载、传输数据、请求退出——刷写流程的“三兄弟”

文章摘要:UDS刷写流程0x34/0x36/0x37关键实现要点 本文通过一个真实ECU变砖案例,揭示了UDS刷写服务(0x34请求下载、0x36传输数据、0x37请求退出)的实现陷阱与最佳实践。核心要点: 安全架构设计: 0x34阶段只协商参数,不立即擦除Flash 采用缓冲区暂存数据,避免频繁写Flash 严格检查地址对齐和内存边界 关键改进措施: 实现数据包序列号校验(防错位) 传输层缓冲区溢出保护 0x37阶段必须包含完整性校验(如CRC32) 一次性批量写入Flash,减少擦写次数 典型错误模式:

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 72

redis在网站架构中做缓存服务器(nginx+tomcat+redis+mysql)

文章目录redis简述redis与memcache区别如下memcached和redis的比较什么是session会话解决重复session会话问题nginx+tomcat+redis实现负载均衡、session共享1.nginx安装部署tomcat应用服务器安装redis配置tomcat session redis同步扩展:tomcat连接数据库 redis简述 Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库缓存和消息代理。它支持数据结构,例如字符串,哈希,列表,集合,带范围查询

Mr.李的博客 2091

Python:爬取数据出现response.status_code为403解决方法

目录前言1. 原理2. 代码 前言 出现403的返回结果 主要是有些服务器为了防止访问量过大,承受服务器的压力,或者是拒绝你的访问。服务器接收到这个信息,理应返回了这个403的信息 在前一块的代码中解决了 Python:爬取数据出现response.status_code为418解决方法 如果还出现了403的访问错误 可以通过如下解决 1. 原理 服务器拒绝访问,可以通过给服务器登录,获取当前的cookie来得到网址的信任。得以爬取该网址的信息 在head头中加入cookie的信息 具体怎么查找该cooki

码农研究僧的博客 1万+

25岁,一个汽修工人转行 Python 的真实事迹!

我遇到一个汽修工人,他没有事喜欢上网,看新闻,对于编程很有兴趣,也想过转行,但是不知道学习什么好。后来在我的推荐下果断学习了Python走上人生巅峰!

xx16755498979的博客 571

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

官方认证:软件及信息技术从业者为新生代农民工

为了进一步做好农民工服务工作,了解外来农民工在京工作、生活需要,国家统计局北京调查总队在全市范围开展了农民工市民化进程动态监测调查,2020年监测数据显示,新生代农民工占比达到50.1%,...

架构文摘 252

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

某程序员的薪水变化数据

上一篇:深夜看了张一鸣的微博,让我越想越后怕0、某程序员的薪水变化数据1、未来编程趋势及薪水中位数2、不考虑薪水你最想从事什么工作?3、我的梦想与我的薪水4、薪水就像月经5、发工资当天的我...

emprere的博客 145

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

收到阿里年终奖后,我感觉穷的睡不着,网友:贫穷限制了我的想象力

来自:程序员求职面试(ID:CoderJob)年底了,想必很多人都在估摸着自己能拿到多少年终奖。最近逛职场论坛脉脉的时候,看到一个帖子,标题是:“阿里昨天发年终奖了,我感觉我穷得有点睡不...

emprere的博客 199

每周AI看 | 马斯克发布Grok 4 Fast、微软AI同事上岗、黑科技扎堆亮相2025云栖大会、网易云商揭秘AI客服创收密码

简单说,就是通过他们自研的AI工具+真人配音,让漫画“动起来”,变成每集1-3分钟的短视频内容。这可不是传统的“PPT动画”哦!据36氪作者亲眼所见,他们早期的作品确实比较青涩,但。

wyysqy的博客 1461

为什么农村出来的大学生大多混得比较差?知乎上一个扎心的话题

最近在知乎上看到了一个很扎心的话题:为什么农村出来的大学生大多混得比较差? 作为一个好不容易从落后的小地方走到大城市站稳脚跟的人,我非常能体会提问者内心的无助和茫然。 我也曾经在文章《哪一个瞬间,让你突然感受到了贫富的差距?》里提到过(后台回复“贫富”可提取文章): 贫富的差距确实存在,但更重要的是你如何去思考贫穷或者富裕,以及用什么样的视角去看待这样的差距。 所以今天分享的这篇...

ABCCloud的博客 1879

《谁说我们不会爱》:8090后的爱情私人订制

《谁说我们不会爱》:8090后的爱情私人订制   ■ 文/慕容天涯   对于这个情人节档期而言,一部部为情侣们量身打造的影片纷纷在院线上马,开始抢占双节档期,演绎情爱之旅。在众多的影片之中,一部为8090后几乎量身打造的“私人订制”爱情片《谁说我们不会爱》,显得极为不同,惹人关注。 “工体爱情”——这部影片最初的定位让人瞠目结舌。工体人人不陌生,人人也陌生

u013696345的专栏 770

协调成本——我们应该如何协同工作?

假设你已经找到了合适的人才,也创建了相应的联系。那么,你该如何管理他们呢?罗纳德·科斯在他的文章中时常提及协调、匹配和规划不同的人、产品和流程以实现一个高效地 创造价值的企业及这些工作所涉及的成本。与那些认为公司内部是有着内部市场的经济学家不同的是,罗纳德·科斯认为“若一个工人从A部门转移到B部门,他转移的原因并不是因 为价格的相对改变,而是因为他接到了命令”。 25 换句话说,市场通过价格机制调...

cljikd的博客 2133

十几万专科毕业生走向职场,平均月起薪不足4000元,那么你呢?

十几万专科毕业生走向职场,平均月起薪不足4000元,那么你呢?

一名正义的白帽黑客 944

实测DeOldify:上传黑白图片,体验AI自动上色的神奇效果

本文介绍了如何在星图GPU平台上自动化部署DeOldify图像上色服务,实现AI驱动的老照片自动上色功能。该服务基于先进的深度学习模型,能够智能还原黑白照片的自然色彩,特别适用于家庭老照片修复、历史档案数字化等场景,让珍贵记忆重现生动色彩。

weixin_42591413的博客 376

为什么游戏需要英雄

摘自网络: 1、指才能勇武过人的人 2、指具有英雄品质的人 3、无私忘我,不辞艰险,为人民利益而英勇奋斗,令人敬佩的人 另解1 英雄是一个比较主观的概念。一般是指在普通人中间有超出常人的能力的人,他们能够带领人们做出了巨大的对人们有意义的事情,或者他们自己做出了重大的事情。 另解2 英雄是文学分析与心理学常用的概念。童话中的主人翁就是容格分析心理学里的英雄。人生就是一场的战争,人活着...

weixin_30455365的博客 258

总统辩论话语分析的三层工程化架构

政治话语分析是自然语言处理在高风险、高噪声真实场景中的关键应用,其核心在于超越通用情感与主题建模,实现立场、逻辑与事实的可验证解构。基于话语功能理论与实证传播学原理,该技术体系通过时空锚定、功能标注与影响建模三层穿透,将非结构化辩论文本转化为具备物理世界锚点(音视频帧、立法记录、受控实验)的结构化数据。它支撑政策研究者的立场漂移追踪、媒体机构的议题响应优化,以及教育场景下的批判性思维训练,尤其适用于需兼顾准确性、可解释性与操作落地的政治传播、舆情监测与数字人文项目。

weixin_30596343的博客 334

《置身钉内》原文-可播放阅读

阿里员工的《置身钉内》相信你一定有听说、或看过这样的标题,最近出差、又加上各种其他的事还有,今天拿起来看,网上流传大多是 DPF 截图版,对于工作一天再盯着长篇着实累,所以搜索到一篇文字版,可以选择语音播放。文末会放一个网盘离线版本。以下是正文:发心第一 钉钉的动物园形象钉三多,是一只尖尾雨燕,世界上平飞最快的鸟类之一。它最特殊的地方在于,可以吃喝、睡眠、交配通通在空中完成;每年从非洲飞经印度和东南亚,回中国北方繁殖,最多可以连续飞行三百多天不落地。尖尾雨燕的拉丁文是apus apus,"pus"是"脚"的

JavaPub 6933
上一篇: 2021年,脸皮"厚"点儿
下一篇: 漫画 | 让任正非忧虑的定理
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值