漫画 | 程序员,你千万不能喝酒啊!

解压你的压缩:Python ZipFile 实战指南(一)ZipFile 类和它的参数们 ZipFile 类是 zipfile 模块中最重要的类之一,它提供了一系列的方法,用于创建、读取和解压缩 Zip 文件。Zip64 格式使用 8 字节的字段来存储文件大小和位置,可以处理更大的文件和归档文件。ZipFile 类的 compression 参数用于指定压缩文件时使用的压缩算法,它可以被设置为以下四个值之一:ZIP_STORED、ZIP_DEFLATED、ZIP_BZIP2 或 ZIP_LZMA。中央目录结构是 ZIP 文件格式的一部分,它存储了 ZIP 文件中包含的所有文件和目录的元数据信息。 阅读详情

2000年4月14日,一个酒鬼被发现死在了一家廉价的小旅馆房间的地板上。

警察很快确认了他的身份:PKWare公司的创始人,zip 文件的发明者,菲尔·卡兹(Phil Katz)。

这位年仅37岁,身价数百万的软件天才,在去世的时候没有任何亲人和朋友,孤零零地结束了自己的一生。

如果你用Vim/UltraEdit以二进制方式打开任意一个zip压缩包,你总能在开头看到两个字符:PK。

PK就是菲尔·卡兹(Phil Katz) 的名称缩写,他用这种形式把自己的名字永远地留在了计算机世界。

 

他创作的PKZIP能把文件减小50%到70%,是当时最流行的压缩软件。

 

 

菲尔·卡兹生于1962年,从小内向,不合群,在学校是大家指指点点的对象。

 

但是,他喜欢编程,在PC机还没有出现的时期,他就和父亲一起为可编程的计算器写代码了

 

 

1980年,卡兹到威斯康星大学计算机读工程科学专业, 父母为他买了第一台计算机IBM PC 。IBM PC 有两个软盘驱动器,一个单色显示器,还有64k的内存,这样的配置现在看来非常寒酸。

但是卡兹超级喜欢,在上面疯狂地写程序。

当网络浪潮袭来的时候,卡兹迷上了当时的BBS,一呆就是几个小时。

 

 

 

BBS成为了卡兹的朋友圈, 他用计算机技术帮助别人,获得了认可,并接受了共享软件的概念。

 

 

 

1981年,卡兹的父亲因为心脏病去世,这对他是个巨大的打击,从此变得更加孤僻。

 

 

 

大学毕业后,他先是为洛克威尔自动化公司编写机器手臂的控制程序,后来又加入了Graysoft,每天晚上,他都躲在自己卧室写程序。

 

和所有的程序员一样,卡兹喜欢上网。

 

但是在80年代,上网用的还是电话线,网络传输数据的速度非常慢。

 

 

当时的计算机硬盘和内存都很小,因此,将数据压缩后再经由网络传输成了一个迫切的需求。

 

 

 

在当时的美国,SEA公司的ARC是压缩软件的霸主, 不知为何,SEA把ARC的源码放到了BBS上。

 

PKXARC是一个免费解压软件,速度极快,远超ARC,受到了大众的欢迎。

 

备受鼓舞的卡兹一鼓作气,不断改进,把它变成了共享软件PKARC。

 

结果卡兹在两周内就赚到了一年薪水的钱,那还给别人打什么工呢? 

辞职创业!卡兹成立了一家公司:PKWARE。

公司就在他母亲家厨房餐桌旁边办公,他母亲也获得了一小部分股权,帮忙处理行政和商务的事情。

PKARC的发展驶入了快速车道!

 

自古以来,人与人之间的深仇大恨莫过于杀人父母、挡人财路。 

恼羞成怒的ARC公司将PK告上了法庭。

 

最终ARC胜诉,卡兹赔了几万美元,并且被要求停止开发和传播PKARC。

 

卡兹被这场控诉激怒后,杠精的本能发作了。他喝了几瓶酒冷静了一下,决意搞垮ARC这个压缩软件的垄断者。

 

卡兹检索了当时可以使用的所有压缩编码算法,为避免再度惹上官司,他选择了其中不受专利保护的LZ77算法和Huffman算法,并将两者结合起来,创造了一个新的算法:deflate压缩编码算法。

 

基于这个新算法,PK编写了一个新的解压缩软件——PKZIP。这就是当今流行的zip格式的由来。

 

PKZIP无论是在压缩比,还是在解压缩速度上都完胜ARC。和以往一样,菲尔·卡兹以共享软件的方式分发软件,并允许用户自由使用和传播。

与此同时,PK还公布了自己的deflate算法细节以及PKZIP的源代码,允许任何人使用、修改和传播。

不甘心失败的SEA再次发起诉讼。

这一次, SEA就没那么好运了。

 

他们的请求不但被法官驳回,还激怒了很多共享软件用户。

 

大家认为SEA试图把ARC格式搞成封闭和专有的,PK的ZIP格式则是自由的、开放的。

 

SEA是个大的不要脸的公司,而PK则是个反抗垄断的“领袖”。

很快,所有的用户都放弃了ARC,选择了PKZIP,SEA公司从此消失了。

 

此后,卡兹一直继续着对PKZIP的开发和维护工作,PKZIP建立和统治了DOS时代的压缩标准。

到了Windows时代,Winzip成功接棒,ZIP格式也成为压缩文档的事实标准。

PKZIP获得了成功,财富像洪水一般用来。

 

在巅峰时期,PKWARE雇佣了30多人,年收入到500多万美元。

 

但是卡兹的心思全在编程上,对商务处理毫不在乎,全由他的家人处理。 

在事业蒸蒸日上的时候, 他的个人生活问题也开始逐渐显露,酒精让他走上了一条不归路。

 

他的妈妈听说一些流言,说他的儿子出没在脱衣舞吧里,和那些女人调情,而且大量饮酒。

 

 

卡兹对于母亲干涉自己的事情越来越不满,以至于和母亲不再讲话。

 

到了1995年,他把自己的母亲给解雇了!

 

 

 

和家人断绝了联系,卡兹酗酒更厉害了。

 

有一次他被警察逮到,当时他坐在驾驶座上,眼睛几乎是闭着的。

 

 

 

卡兹被吊销驾照,但依然开车,被逮到5次。

 

他多次入狱,两次在保释期逃跑。

 

为躲开对他的逮捕令,他在机场附近不停更换廉价旅馆居住。

 

 

 

卡兹酗酒更加厉害,每天至少喝掉一升的Rumple minze和两瓶Bacardi rum,他开始吐血,肝脏完全不行了。

 

2000年4月,卡兹被发现死在了一家廉价的小旅馆房间的地板上。

在卡兹去世后两天,人们才发现他的尸体。而PKWare的员工在几乎一个星期后才听到他去世的消息。

 

接下来的日子里,PKWare公司收到数百封来自软件迷们哀悼的Email,感谢卡兹对互联网做出的贡献。

 

天才的卡兹也许已经身在天堂了,或许正端着酒杯指点着屏幕,向上帝介绍他新写的程序。

 

作者:刘欣&郭可岩  

插画:郭可岩  

参考资料:http://www.bbsdocumentary.com/library/CONTROVERSY/LAWSUITS/SEA/katzbio.txt

https://kb.cnblogs.com/page/141461/

https://www.wsj.com/articles/SB961363319756539141

https://en.wikipedia.org/wiki/Phil_Katz

https://en.wikipedia.org/wiki/ARC_(file_format)

zip 伪加密学习,压缩包十六进制数据含义分析 一个zip文件由三部分组成: 压缩源文件数据区 压缩源文件目录区 压缩源文件目录结束标志。 阅读详情

相关推荐

PKWARE_DCL_fortyuht_zip_pkware_

PKWARE Data Compression Library

ZIP文件组成

压缩源文件数据区+压缩源文件目录区+压缩源文件目录结束标志 1、压缩源文件数据区 在这个数据区中每一个压缩的源文件/目录都是一条记录,记录的格式如下: [文件头+ 文件数据 + 数据描述符] a、文件头结构 组成   长度 文件头标记 4 bytes (0x04034b50) 解压文件所需 pkware 版本 2 bytes 全局方式位标记 2 b...

qq_45951598的博客 696

使用freesurfer和3Dslicer进行脑区分割和电极定点(详细版)

1、安装好matlab和freesurfer2、在目标位置创建文件夹3、开放权限4、将需要计算的nii文件放入文件夹。

zQIANYUN的博客 5629

【传奇故事】Zip压缩

ZIP的作者是一个叫Phil Katz的人,这个人算是开源界的一个具有悲剧色彩的传奇人物。虽然二三十年前,开源这个词还没有现在这样风起云涌,但是总有一些具有黑客精神的牛人,内心里面充满了自由,无论他处于哪个时代。Phil Katz这个人是个牛逼程序员,成名于DOS时代,我个人也没有经历过那个时代,我是从Windows98开始接触电脑的,只是从书籍中得知,那个时代网速很慢,拨号使用的是只有几十Kb(比特不是字节)的猫,56Kb实际上是这种猫的最高速度,在ADSL出现之后,这种技术被迅速淘汰。当时记录文件的也是

zhypss的博客 645

YOLO与3D点云融合:从原理到实践的多模态3D目标检测指南

最近在实验室和几个研究生聊天,发现一个挺有意思的现象:大家一提到“YOLO+3D点云”这个组合,第一反应往往是“顶会热门”、“发论文利器”,但真上手去复现或者想基于这个方向做点创新时,又常常卡在第一步——感觉每个部分都懂一点,但就是串不起来,不知道从哪开始,也不知道核心的“价值点”到底在哪。 这让我想起几年前刚开始接触这个领域时的自己,也经历过同样的困惑。当时看了很多论文,感觉“3D目标检测”这个方向既酷又难,YOLO负责2D图像里的快速定位,点云提供精确的三维空间信息,听起来是天作之合。但真正把代码跑起来

weixin_34267123的博客 413

信贷风控实战指南:Vintage分析表从数据建模到风险洞察

本文是一份信贷风控实战指南,详细阐述了Vintage分析从数据建模到风险洞察的全流程。文章深入解析了Vintage分析作为信贷资产“体检报告”的核心价值,并提供了从借据表与还款计划表设计、账龄计算、逾期口径判定到风险暴露计算与最终可视化透视的完整SQL实现方案,旨在帮助风控从业者构建精准的风险监控体系。

nft7creator的博客 321

Zip,一个没落天才的故事

ZIP,一个没落天才的故事,Phil Katz不愿意为一个压缩软件付钱,就索性自己写了一个更好的算法,然后无偿公开。2000年4月14日,他被发现死于一家汽车旅馆,年仅37岁,死时手中握着一个空酒瓶。他留下了zip算法,却没有留下一张像样的照片。 久违了的zip在你的脑海里还能占据多少空间?或许,你跟本就把它忘记了。 记得刚上大学的2001年,在电脑报上看到过一篇介绍Philip Katz的

Test 琴侠参合散人 3766

kali破解wifi之airmon-ng 工具利用

......

qq_42378173的博客 1万+

今天找压缩算法,看到一段陈年往事

此文章转载自2004.10的《大众软件》,原作者为 广东 GZ 前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万众期待下发布了9.0正式版。全世界自然一片沸腾,在世界各大知名下载网站中,WinZip9.0再次带起下载狂潮。然而此时国内并没有王者回归的欢呼,却一致委婉或直接地表达出失望地情绪,而下载更新的用户也寥寥无几,这绝对是一道国内独特的风景,它不禁让人想问,为什么...

或与非的是非之地 785

谷歌账号国家或地区设置修改全攻略:条件、流程与避坑指南

谷歌账号的国家或地区设置与付款资料、账号历史行为及登录环境强绑定,修改时需满足特定条件。其原理在于地区作为索引键,关联内容库、货币结算和风控策略。正确切换可解决内容推荐错乱、付款失败等问题,适用于搬家、订阅区域限定服务等场景。操作前需在目标地区创建付款资料、清空余额并取消订阅,且一年仅能修改一次。本文详解从准备到验证的完整流程,并揭示官方文档未提及的实操陷阱,助你安全完成地区切换。

weixin_42521558的博客 2321

数字滤波器应用介绍

线性滤波器FIR ,会引起恒定延迟,通过补零的方式补偿非线性滤波器IIR,会引起频率相关的延迟,通过零相位延迟filtfilt补偿从信号中去除不需要的频谱时,通过滤波和补偿实现。如果需要去除的频率与采样率相差甚远,比如4kHz 与100Hz, 可通过 低通滤波->补偿->降采样–> 滤波 补偿 -->上采样还原的方法。*降采样前一定要先低通滤波为了防止混叠。

weixin_39107270的博客 274

漫画 | 程序员,你千万千万不能喝酒啊!

2000年4月14日,一个酒鬼被发现死在了一家廉价的小旅馆房间的地板上。警察很快确认了他的身份:PKWare公司的创始人,zip 文件的发明者,菲尔·卡兹(Phil Katz)。这位年仅37岁,身价数百万的软件天才,在去世的时候没有任何亲人和朋友,孤零零地结束了自己的一生。如果你用Vim/UltraEdit以二进制方式打开任意一个zip压缩包,你总能在开头看到两个字符:PK。PK就是菲尔·卡兹(P...

码农翻身 1065

计算机视觉论文复现指南:从理论到可运行代码的保姆级教程

计算机视觉论文复现指南:从理论到可运行代码的保姆级教程​ ,人工智能,计算机视觉,大模型,AI,本文围绕计算机视觉论文复现展开,介绍从理论到可运行代码的全流程。先强调复现的重要性,再讲解复现前的准备,包括明确目标、构建工具链;接着说明代码获取分析、环境配置调优、调试运行技巧及结果验证优化方法,还推荐了高效工具,提及复现中的伦理规范。旨在助读者掌握复现方法论,实现从经典模型到前沿论文的复现,推动学术成果落地。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 12万+

周星驰《一本漫画闯天涯》看程序员悲剧人生

星仔70后出生,毕业于某211高校,上学那会很崇拜那些曾经的硅谷英雄,希望能够毕业后到国内知名企业工作,做白领,拿令人羡慕嫉妒恨的工资。即使在酒店勤工俭学那会仍然带着计算机编程书籍,最爱看的就是那本《C语言程序设计》。 一次机缘巧合,*wei* 项目经理到酒店消费,看到我...

chuling9661的博客 565

3D深度饼图的QT实现

首先,我们需要创建一个QT项目并创建一个窗口,用于显示我们的饼图。在QT Creator中,选择创建一个新的QT Widgets应用程序项目,并创建一个新的窗口类。在本文中,我将介绍如何使用QT实现一个3D深度饼图(Pie 3D)的可视化效果。在构造函数中,我们将创建一个饼图(QChartView)并设置饼图的数据。这是一个简单的示例,您可以根据需要自定义和扩展代码来创建更复杂的饼图。现在,我们已经完成了3D深度饼图的QT实现。您将看到一个具有相应数据的3D深度饼图显示在窗口中。3D深度饼图的QT实现。

CodeJolt的博客 277

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

程序员个个秃头,市场部个个美女?你可能去了假互联网公司!

互联网公司,可能是存在刻板印象最多的地方;不管是来自外部的,还是内部的。人们对互联网公司里的每个工种都有自己“心里的那个模样”;而实际上,很多时候却不是想的那样...-正...

技术领导力 1309

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

1024编码人生,来聊聊程序员的情怀

大家好,我是程序员小灰。公众号里的小伙伴们,今天可是1024,是我们广大程序员的专属节日。在此,小灰祝各位节日快乐!今天许个愿的话能被实现吗?中国的程序员有多少人呢?根据Boss直聘发布的《2023年中国程序员人才发展报告》称,中国程序员总数约为600万人左右。他们是公司业务中的重要一环,他们的工作质量直接影响着用户的体验,他们时常扮演着改变世界的角色。但说起程序员这个群体,还是会有不少朋友给他们...

程序员小灰的博客 259

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

深度学习工具包 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")

讲述:一个月薪 12000 的北京程序员的真实生活

点击上方“阿拉奇学Java”,选择“置顶或者星标”每天早晨00点00分,与你相约!往日回顾:解析IT行业的苦逼工作!(漫画)1. 关于学历2. 关于婚姻3. 关于性别4. 关于住房5....

qq_36189144的博客 508

李雷和韩梅梅

 李雷和韩梅梅目录[隐藏]图书信息内容简介编辑推荐作者简介图书目录 [编辑本段]图书信息书 名: 李雷和韩梅梅(人教英语漫画版)作 者:出木杉太郎  出版社: 万卷出版公司  出版时间: 2009-6-1  ISBN: 9787807598510  开本: 16开  定价: 24.80元[编辑本段]内容简介在上亿80后的热切呼唤下,风

1245

在职场工作的进化过程

大话在职场工作的进化过程 by byteh 一直就想写篇文章记录自己求职的过程的文字,感谢那些给我面试机会的企业和人,但是一直被拖着……拖得过程中,自己的心态也发生了变化。 前不久,看到了一幅漫画,名为“程序员的成长之路”,看了以后下意识的摸了摸腰间肚皮的肥肉试图拽出被脂肪掩盖的肌肉,自己的体型真的按照这个图去进化了…… 看来运动还是要坚持的,毕竟身体发福从健康角度是没什么好处的。据说...

weixin_33929309的博客 219

压缩软件历史--转载

LZ算法--ZIP与RAR共祖同源  要讲压缩的历史,就不可不提LZ算法,这是一种有关数据压缩的算法,何为数据压缩?从本质上讲,数据压缩的目的就是要消除信息中的冗余。早在LZ算法出现之前,研究员们从理论上探讨了压缩算法的数学基础及模型基础,同时也在这些基础上研究出了一些编码方法,其中的 Shannon-Fano 编码和 Huffman编码非常有影响力。但这些编码,包括后来发展出的“算术编码”,都无

压缩研究 1728

名人故事之 Philip Katz

                             WinZIP创始人 ——Philip Katz                                                     贾菡 / 文 Philip Katz,这个英年早逝惨淡一生的程序员,天才地缔造了ZIP这种压缩文件格式和Internet历史上最有名的共享软件之一——WinZIP。缔造了自由软件打败商业

《程序员》官方BLOG 8827

ZIP 软件包管理

ZIP 也是计算机文件的压缩的算法,原名 Deflate(真空),发明者为菲利普·卡兹(Phil Katz)),他于 1989 年 1 月公布了该格式的资料。ZIP 通常使用后缀名“.zip”。 主流的压缩格式包括 tar、rar、zip、war、gzip、bz2、iso 等。从性能上比较,TAR、 WAR、RAR 格式较 ZIP 格式压缩率较高,但压缩时间远远高于 ZIP,Zip 命令行工具可 以实现对 zip 属性的包进行管理,也可以将文件及文件及打包成 zip 格式。如下为 ZIP 工具打包常见参数详

qq_40907977的博客 498

ZIP文件结构

ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为。实体文件头中包含着文件的各种信息,包括文件名称、解压缩版本、压缩方式、CRC等等。通常以固定值开始(图中是从高位往低位写的,在一些软件中如winhex、010editor等,会从低位往高位写)。我们仍以上文的压缩包举例首先是4字节的固定值,接着是解压缩版本0A 00,标志00 00,压缩方式00 00。

足球中国的专栏 2549
上一篇: 假如王撕葱是程序员。。。
下一篇: “重算法,轻设计”必将遭到反噬
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值