话说科学家&工程师&设计师&商人

编写多格式音乐播放器(扫盲) <br />考试考完后决定把智能播放器重新写一遍,要能支持更多格式(包括wav、MP3、wma、flac、ape等常见的格式),用新的智能算法。于是就不能用MCI接口来做简单的编程了,就必须用到第三方解码器,这个过程是曲折的,花了我一周的时间才写出能够解码播放 阅读详情

——题记,针对Computer Science领域的一些主要类型人才的工作评论

计算机科学家做的是基本就是解决通过建立模型解决模型理论问题,或实际问题的理论模型。数学不好基本没的说了,别干这一行了,很少能成的,我觉得。不过只有数学好感觉也不是一切,但极有帮助是铁打的。计算机科学家的工作一定是需要很多创造性的,数学或许只是工具吧(当然也有就是做计算机的数学的,如离散数学、组合数学等),只要是工具,只要你掌握了熟练了都能用的来的,并不需要那么强烈的创造力,因为数学创新可以由其他的科学家来做。另外,科学家是做研究的,研究是很快乐的,因为它是真正有创造性的活动,尽管开始的时候你或许会感到很痛苦(因为很多天才勤奋的先人为你筑了高台,让你能够站得更高,这是要付出代价的)

计算机工程师做的是基本就是利用现有技术解决实际问题。当然不能因为他们是利用现有技术就能为他们很菜很没技术含量,实际问题甚至会比模型的问题复杂的多,要做更多的优化,并且其所用到的技术未必都是很成熟的现有的技术(当然大多数问题都是通过现有的成熟技术解决的),他们中强者甚至需要去未成熟的理论中去提炼技术解决问题。但也不能说所有的工程师都是强大的,有的工程师属于码农型,什么原因,因为他们做的东西基本是把自然语言转换成程序语言操纵计算机,码农也有好坏之分,码农也能赚很多很多钱,所以很多歧视码农的人也不要那么激动。但是,即便你在做码农,也不要让自己一直做下去,刚开始,这种工作是有利培养职业感觉和熟练度的,但做久了就像工人一样了,真没什么技术含量了。

计算机相关的设计师deal with用户需求,为什么这么说,这个不是计算机相关的商人的工作么?不是的。计算机商人deal with市场,市场是什么,是供需平衡,是成本利润、运营、销售等等。需求包括一切想要的,功能性的、审美性的等等,设计师要做的是设计出最能满足用户需求的东西,哪怕这个东西无法实现获利,纯粹的设计师是不会考虑的,他们只想着把产品设计到最好(如果有约束,也是来自于商人的约束)。

基本就是这么个东西。

回头看看我自己,做计算机科学家是我喜欢的一件事情,但是除了本性对于创造性以及模型的无限好感,拿得出来的背景上并不是完全赞同这个方向,尽管如此,但是我认为自己还是很具备做研究的潜力的,也是经过大牛承认的哈哈,扯家史没用,就一句话概括:“Research arose me.”。做工程师是大学三年来背景的统计方向,当然,我说的是我心中的高级工程师,高级的工程师能够发现问题、批判性思考、提出创造性解决方案,结合模型、方案使用相关技术,如果技术存在且已经掌握,那他们可以简单有效解决问题,如果技术存在但没有接触过,他们会用超强的学习能力迅速学会然后解决问题(从来不会说这个东西我没学过不会,只会说这个东西要学的话需要XX小时的成本我现在支付不起可以找其他边际成本更低的人来合作),当然,如果技术还不存在或很不成熟,他们就会像科学家一样去探索相关技术,看paper,做实验,建模型,将理论转化为技术等等。这样的工程师是很快乐的。go on,做设计师嘛,专业的就算了,缺乏天赋与专业修养,顶尖的设计师一定要具备这两个条件的,然而,无论你作什么,特别是工程师或商人,都是需要跟需求打交道的,具备设计师的素养是成为好工程师或好商人的基础。商人的话,再说吧,这个需要的条件可多了,如果说创业,运气也是其中很重要的一部分,谁说的清楚呢,唯一知道的是自己是不具备Bill Gates的商业潜质和家庭背景的。

End of Comments.


homepage = http://chentingpc.me/

从理想光源到部分相干:Abbe与Hopkins模型在计算光刻中的演进与选择 本文深入探讨了计算光刻中Abbe模型与Hopkins模型的演进与选择,分析了理想光源与部分相干光源在光刻仿真中的关键差异。Abbe模型基于理想点光源假设,计算简洁但存在精度局限;Hopkins模型则通过互强度函数和TCC技术,更准确地模拟现实中的部分相干光源,尤其适用于先进节点光刻工艺。文章还提供了模型选择的实用建议,帮助工程师在精度与效率间取得平衡。 阅读详情

相关推荐

用Isaac Sim复现经典案例:手把手教你写Python脚本控制机械臂抓取(附避障算法调试心得)

本文详细介绍了如何使用NVIDIA Isaac Sim仿真系统复现机械臂抓取经典案例,包括Python脚本编写、避障算法调试等关键步骤。通过URDF模型导入、关节控制逻辑实现和RMPFlow避障配置等实战演示,帮助开发者快速掌握机器人仿真技术,特别分享了官方文档未提及的实用调试技巧和性能优化策略。

weixin_30632089的博客 407

Architecture:话说科学家/工程师/设计师/商人

         从使命、目的、行为的不同,可以归类人群到科学家、工程师、设计师、商人等等。使命分别是:1.携带当下社会的财富对未来探索,希望引发变革;2、掌握工程全貌、完成整个工程的圣经周期;3、在工程的设计层面做文章;4、维持商业体系的运行,并在其中获取最多利润。        上半部分源地址:http://blog.youkuaiyun.com/chentingpc/article/details/73...

wishchinYang的专栏 1062

箱式连续提升机

箱式连续提升机,是对具有高度差较大(>1500mm)的输送线之间进行连接,将箱式物资进行连续输送的提升(或下降)的输送设备,可根据输送线的具体输送要求作相应的参数设计。目前的箱式连续提升机种类比较多,常用的形式主要有Z型和C型,工作原理相同,只是入口和出口分别在两侧和同侧。

月生沧溟 1248

软件工程师与商人的区别

一般做技术的比较实在,能够清晰的认识到自己的不足,相对来说比较谦虚;而商人恰好相反,至少表面上看是这样的。他们把自己的产品说成多么多么的好,到处做广告。不知道什么时候,广告 ≈ 吹牛了。 中国铁路如此(在外国人看来),某些软件厂商也是这样,动不动就是世界一流。(XBRL 一流)说

904

PyQtWebEngine安装避坑指南:快速解决ModuleNotFoundError

本文详细解析了PyQt5开发中常见的ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'错误。核心原因是PyQt5 5.11版本后,网页引擎组件被独立为PyQtWebEngine包。文章对比了退回旧版本、独立安装及使用Conda等多种解决方案,并提供了针对Windows、macOS和Linux不同平台的实战安装指南与验证方法,帮助开发者快速解决依赖问题。

weixin_29056101的博客 427

手把手教你用LaTeX完成Elsevier期刊投稿:附完整文件上传清单与注意事项

本文提供了一份详尽的Elsevier期刊LaTeX投稿实战指南。文章系统拆解了从稿件准备、文件上传到最终提交的全流程,重点解析了Manuscript、Figure(s)等关键文件的上传逻辑与注意事项,并附有PDF生成前后的详细检查清单,旨在帮助研究者高效、规范地完成投稿,规避常见错误。

weixin_29300931的博客 487

工程师和科学家有什么区别

全世界有3.14 % 的人已经关注了数据与算法之美科学家和工程师有什么不同?通常民众认为,工程师就是搞技术的,科学家就是搞科研的。对科学领域有一定认识的人群会说,工程师是...

数据与算法之美 4560

YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例

大家好!欢迎阅读本专栏。本专栏涵盖了YOLO8中C2f、主干网络、检测头、注意力机制、Neck等多种结构的创新,同时也包括了 YOLO相关的基础知识以及相关项目。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 3万+

构建AI智能体社会:Agentopia架构设计与关键技术实现

多智能体系统是人工智能领域的重要研究方向,它通过模拟多个自主智能体之间的交互与协作,来解决复杂环境下的决策问题。其核心原理在于为每个智能体赋予感知、决策和行动能力,并通过环境交互实现集体智能的涌现。这一技术对于开发通用AI助手、优化复杂工作流程具有重要价值,尤其在自动化协作、社会仿真等应用场景中展现出巨大潜力。本文聚焦于Agentopia的实现,深入探讨了基于大语言模型的智能体记忆系统、多智能体协作机制等关键技术,并结合向量数据库、检索增强生成等热词,为构建可持续演化的虚拟社会提供了工程实践指南。

weixin_30843605的博客 440

YOLO11涨点优化:注意力魔改 | 引入Deformable Attention (可变形注意力),灵活感受野自适应复杂形变目标

Deformable Attention为YOLO11带来的不仅是2.6个百分点的mAP提升,更是一种全新的“形变感知”范式。标准卷积的固定感受野在非刚性目标、多尺度变化和遮挡场景下力不从心——Deformable Attention恰好填补了这一空白。从架构设计到代码实现,从竞品对比到部署方案,从生态工具到安全风险,本文覆盖了将Deformable Attention引入YOLO11所需的全部知识链路。

2601_95807009的博客 284

YOLOv11涨点改进| TGRS 2026 顶刊| 注意力改进篇| 引入MSEA多尺度边缘感知注意力,助力红外小目标检测、遥感目标检测、工业缺陷检测、图像去雨雾任务高效涨点

🔥本文提出了一种基于MSEA多尺度边缘感知注意力的YOLOv11改进模型,通过增强网络对边缘、纹理和细粒度信息的感知能力,显著提升复杂背景下的目标检测性能。MSEA模块采用多尺度空洞卷积提取上下文特征,并通过边缘监督和注意力融合机制强化目标边界信息。实验表明该方法在小目标、边界模糊目标和复杂纹理目标检测任务中表现优异,尤其在遥感、工业缺陷和红外检测等场景具有显著优势。文章详细介绍了MSEA的结构原理、核心代码实现、模块配置方法以及三种YOLOv11改进方案.

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

用python做网页抓取与解析入门笔记

(from http://chentingpc.me/article/?id=961) 事情的起因是,我做survey的时候搜到了这两本书:Computational Social Network Analysis和Computational Social Network,感觉都蛮不错的,想下载下来看看,但是点开网页发现这个只能分章节下载,晕,我可没时间一章一章下载,想起了迅雷的下载

chentingpc的专栏 6028

PyRoki:机器人运动学优化库入门教程

PyRoki:模块化机器人运动学优化工具包 本文介绍了PyRoki,一个模块化、可扩展且跨平台的机器人运动学优化工具包。PyRoki通过统一变量和成本函数接口,简化了逆运动学、轨迹优化和运动重定向等任务的实现,支持CPU、GPU和TPU加速。实验表明,PyRoki在批量逆运动学任务中比现有GPU加速库cuRobo快1.4-1.7倍,且收敛误差更低。其模块化设计支持快速集成新成本函数,并通过交互式可视化工具优化参数配置。PyRoki开源发布,为机器人运动优化提供了灵活高效的解决方案。

机器人控制与仿真应用 1291

有一定基础,如何快速学习编程语言

对于有一定基础的程序员,比如已经掌握了一门程序语言,对算法有所了解了,怎么继续学习其他的编程语言?    我的方法很简单。加入你想学X语言,你先找个X语言能做的、你喜欢的目标项目,大可以是一个订票系统,小可以是一个简单demo页面。然后呢,看你现有的材料,如果没啥例子,你对目标语言也不了解,就找N本书来(N>=1),可以多找基本,不是太在意书的质量,以看的舒服为标准,然后用一两个小时把书翻一遍

chentingpc的专栏 5664

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex&trade;-M4F 内核的信息,请参见《Cortex&trade;-M4F 技术参考手册》。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IT领域问题结构解析随笔

(http://chentingpc.me/article/article.php?id=599) IT领域实际上是个很大很大的领域,别看它的显式发展时间才六七十年,但是近几个世纪的知识的增长是指数形式的,所以相关的知识的产量非常之大。这意味什么呢?没有全领域专家!没有一个人完全了解IT领域,相比之下,可能有人可以几乎完全懂绘画史、各派画的风格等,但IT领域就不同了,没有全领域专

chentingpc的专栏 4334

深度学习工具包 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&#39;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 = &quot;R. B. Palm&quot;, title = &quot;Prediction as a candidate for learning deep hierarchical models of data&quot;, year = &quot;2012&quot;,}```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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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 &lt; 0.10, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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 &lt; 0.16, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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&lt;0.12, &#39;Too big error&#39;);```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(&#39;state&#39;,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 &lt; 0.08, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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 &lt; 0.1, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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 &lt; 0.1, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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 &lt; 0.1, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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 &lt; 0.1, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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 &lt; 0.1, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free &quot;Bitdeli Badge&quot;)

【编程总结】公交车路线管理与查询系统

    数据结构的课程设计。两三千行代码吧,最多。真正写的时间估计也就一周这样吧。既然写了(代码),也有些感悟,就随便写写吧。    这个软件能实现什么功能就参见附录的说明和贴图吧。还是把心得放在前面一点比较好,突出重点。    说说算法吧。说实话,当问题规模小的时候没算法问题,你爱怎么玩怎么玩,计算机快着呢。但是问题规模增大后你就得严肃起来了,在规划路线这个问题上,我们刚开始的想法是用最

chentingpc的专栏 4125

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

我为什么创建个人网站chentingpc.me

我为什么需要一个个人网站? 因为个人网站有如下用途: 它可以作为日记与文集。它可以作为备忘录,记录一些哪怕很琐碎的事情,以便日后查询。它可以作为较为正式笔记本,记录学习工作中遇到的问题以及解决方法,并且可以与人分享。它可以作为一个发布机构,告诉世界你的最新动向等等。它可以作为你的简历(cv)的承载者。它可以作为你的项目经历的记录,从项目的主页到项目的过程都能用它承载。它可以

chentingpc的专栏 3788

IT领域关于什么

我本来想以"IT行业"为题,但是我考虑了一下,还是用了"IT领域";行业,只代表企业界,而领域,则包括了企业界,和学术界。   IT领域可以说是第三次产业革命后才发展起来,尤其是过去半个世纪的发展。比起传统领域,IT领域是年轻的,而且更加具备革命性的。IT领域覆盖了一切电子化与信息化的领域,狭义的说从硬件到软件再到各种相关的算法、理论等,都是IT领域的内容,而我们看到,这一切都跟人们的生活紧紧的

chentingpc的专栏 3346

记淘宝网的一个设计上的bug

其实说实话,淘宝网的设计已经蛮人性化的了,客服系统什么都做的还不错,但是问题还是存在的,毕竟这个系统太大了。这里记录一个设计上的bug,当然了,不能利用这个bug去做坏事,但是你如果不小心而且淘宝没有及时改正过来,你就可能调到这个bug里面去,浪费一定的运费和时间。 这个bug是一个逻辑上的bug。请看下面这张图: 原来的下订单的页面(旧页面) 假设我的这一次订单要用

chentingpc的专栏 2815

我理解的结构化与面向对象

在我的编程之旅中,我发现一些问题,做了一些思考,提出了本文中的观点,这些观点应该并不新颖,只是我自己的总结,另外,可能不是最新的观点,但应该是软件开发上的主流观点吧(还没来得及学过软件工程的知识,只能猜)。     在当今面向应用的软件开发中,一般要面临如下两个非常基本而重要的

chentingpc的专栏 2331

【编程总结】足球俱乐部

(一)登陆模块 程序的第一个模块就是登陆模块,做成一个提供注册和登陆功能的类。密码保存的结构为:01…..512513…1024V1Gap1gapOffsetgap正文V3Gap2Gap长度gap正文V2参数包括密钥文件验证的和密钥信息提取(间隔量,偏移量)的。整个思路是半动态的,同样的用户名密码每次生成的密钥文件是不同的,正文在密钥文件中的位置也是变化的,但是控制这些变化的参数在程序中是静态的,反编译技术应该就能够找出这些规律,从而伪造密钥文件或用其他方式来破解。(二)文件系统文件系统是用VC提供的CFi

chentingpc的专栏 1384

可思考性问题

  对计算机,有可计算性问题(P and NP)。为什么有这个问题呢?倒不是因为有些现实的问题计算机难以模拟,而是计算机没有足够的运算能力来计算(根据我现在的理解)。但是,你仔细思考,计算机的计算能力究竟比人强在哪里?我认为,其实就是强在计算速度快与记忆容量大这两点。除此以外,计算机几乎没有什么优势。可计算性问题是一个重要的问题,但是可计算性问题却不是计算机真正的限制所在,或许真的有一些问题的计算量远远超出了计算机的能力,但这并不是真正影响计算机思维能力的地方。计算机没办法思考的问题很多,这是可思考性问题,

chentingpc的专栏 1151

说说博客匹配、推荐与搜索系统

    现在要找到一个跟自己相像的人并不容易,特别是当你思想比较独特的时候。然而博客等个人主页型网站的规模化,为我们提供了更多的信息与偶遇的机会。有的时候确实会看到一两个人的博客后感觉如此清新,相知恨晚。我就有这样的经历,在一次偶然的机会中,看到一个人的新浪博客,她的内容或许不是真正吸引我的元素,但她的音乐列表却是独特的,她爱听的歌几乎全部都是我爱听的歌曲,无论这些歌我听过或没听过。这样的例子很多

chentingpc的专栏 1029

人工智能的尴尬

  传统编程模型——有限状态自动机的模型,已经能够很好的解决很多它能够解决的问题。对于许多确定性问题,特别是计算性问题,这种模型已经能够很好解决,很少有人工智能插足的余地。如果有,也只是对大型数据问题的近似求解。  人工智能的编程模型与传统编程模型很不一样,它具有更强的兼容性,能够允许一定程度上的无限状态,也就是状态具有一定的不确定性,或者说,具有学习能力,能够通过接触数据来建立“新的”规则。(必须说明的是,有些人工智能的模型用的仍然是传统编程模型,也就是说,它的规则的建立不是通过学习而是通过程序编写者利用

chentingpc的专栏 801

what to do @110201

<br />  我们学计算机这些知识干什么呢?用来设计能够世界上最出色的机器来,来达到信息科技根本改变生活的目的。为了设计这些机器,我们大致有两个大的模块,硬件和软件,两者相对独立但又不绝对分割。现在,我的主要的精力还是集中在软件设计上面,而且,课程学习的主要焦点也在于软件。因此,为了达到最终的目的,也为了学好课程(数据结构与算法等),我应该怎么做呢?显然,答案就是设计软件!更何况,这也是让我快乐的事情。但是,令我担心的是——计算机行业的现状:程序设计语言以及设计平台的快速更迭——会使得编程来学习变得脆弱,

chentingpc的专栏 662
上一篇: 记淘宝网的一个设计上的bug
下一篇: PCL(Point Clouds Library)在windows下的环境配置与使用
chentingpc
博客等级 码龄20年 92粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值