据说是最懂法律的包工头,最会码字的程序猿……
开始怼人了! 一直忒忙(忙什么就不打广告了,O(∩_∩)O~,园子里的童鞋们应该都知道了),现在终于有点时间,一定要先把这口气出了再说。 两篇文章,让我心里那个难受啊…… 编程基础的重要性(程序员之路)(以下简称《编程基础》) 《大型网站技术架构:核心原理与案例分析》读书笔记(以下简称《大型网站》) 他们的共同点,都在讲“内功”。
一直在博客园怼人,非常惭愧。所以郑重决定: 好好写一篇干货,然后再接着怼人。 这是一起帮上陈百万同学的求助,讲了一会之后,我觉得很有些普世价值,干脆就发到园子来。面向小白,高手轻拍。 我们从最简单的说起(基础知识,懂的同学直接往下拉),直接上代码: static int amo...
今天啥事都不做了,一定要好好的怼一怼这家伙! 为了创业,我一个文科生,一个包工头,27岁学编程,转行做程序员,跳进这坑里已经十年了……十年啊!人生有多少个十年?然后你告诉我程序员不适合创业? 我……我先点个反对再说。
上一篇博客里提到:技术越来越简单,发布后不久,就看到《技术并不是越来越简单》,这显然是打擂台来了。 技术究竟是不是越来越简单?其实这个问题,要看你究竟是以什么角度来思考这个问题。我们可以举很多例子,比如: 生火,是不是越来越简单? 你可以说:是的,以前得钻木取火,太特么难了(贝爷除外)!现在打火机“啪”的一声,瞬间搞定,好简单。
一起帮的开发直播已经告一段落:一是主体的功能差不多都实现了,二是用到的架构技术都展示得差不多了。以后就算继续开发,也应该都是一些“技术上”重复的工作而已。整个直播过程耗时近半年,SVN提交1062次,视频录像60.5G,涉及到一个项目开发的方方面面,想来还真是有那么一点小小的成就感。
/(ㄒoㄒ)/~~/(ㄒoㄒ)/~~/(ㄒoㄒ)/~~ 一定要让我先看看我写的这篇博客啊: 十年之后再看“面向对象” ,不然我死给你看! 写了两天,忘了“发布到首页”,啊~~~~~~ /(ㄒoㄒ)/~~/(ㄒoㄒ)/~~/(ㄒoㄒ)/~~/(ㄒoㄒ)/~~/(ㄒoㄒ)/~~/(ㄒoㄒ)/~~ 这几天.NET Core 2.0火得一塌糊涂,蹭个热门,把我早就想写的东西先写出来。
一起帮里有人问“面向对象”的问题。但我创建“一起帮”的目的是帮人解决“具体的”“实务性的”问题,“面向对象”太过于抽象,所以没批准发布。后来在QQ群里讨论,看他们七嘴八舌闹得慌,突然有一种“多情应笑我,早生华发”的萧瑟之感。
这里我说的“不做”,是指:不作为承包方,承接外包业务。不是作为员工不进外包公司工作,到外包公司打工,我一点意见都没有,只要工资给够就行,什么外包学不到技术之类的,我哈哈哈哈,仰天大笑……(以后有空再解释,其实我记得园子里和知乎的一些回答里都说过很多次了:学东西要靠自己。
想在园子里写点东西已经很久了,但一直没有落笔,忙着做 一起帮 的开发直播,还有些软文做推广,还要做奶爸带孩子,还要……好吧,我承认,真正的原因是: 太特么的难写了! 但再难写也要写啊,要等到“能写好了再写”,怕是黄花菜都凉了——尤其是技术类文章,时效性非常强的。
这篇博客真是干货,干得估计还有点“磕牙”,所以还提供视频和代码。但基础稍弱的同学,怕还是得自行补充一些基础知识——就一篇文章,确实没办法面面俱到。 视频和代码下载:Demo - 百度云盘 · 一起帮 参考原文:Automatic ModelState validation in ASP.NET MVC(英文强,基础好的同学可以直接看原文了)。
有关程序猿职场生涯的文章,应该能上首页吧? 赌咒发誓,要是再被移出首页,一辈子不在博客园写一个字! 你看,这就是自己心虚。要是我真牛逼,一字千金,到处都在求我的文,我鸟都不鸟博客园,哪里会这幅泼皮模样? 窃以为,王垠也差不多。
其实好早就想写一写,但总是觉得心情还不够平和。加之其他事情一拖,一直拖到了今天。本以为今天应该是一个好心情,因为“一起帮”上线。结果家里出了点事,心情乱成一团糟。 但我已经是一个比较自律的人(想想真奇怪,我TM的怎么都成了一个“自律的人”?)定了今天填这个坑就一定要填。
杜康马上开始万能的百度,先大概了解了一下什么是SVN,然后将按照网上说的,下载了客服端,依样画葫芦,一步一步的安装配置。哈哈!一切OK,代码嗖嗖的就给签出来了! 打开文件夹,里面只有一个记事本文件:readme.txt。
叶飞挂掉了电话,颇有些玩味。 他还是给了杜康一个机会,不是因为杜康不要工资——当然,这也是一个因素,至少这是一种姿态,态度有时候也是很重要的。 更重要的原因是杜康说了实话:他其实一点工作经验都没有。 “哈哈,这小子,像我!半点工作经验没有,敢冒充一年。
如果是骚扰电话那就是神转折了——这当然是面试电话。 “您好。这里是首顾科技有限公司,请问是杜康吗?”电话那头传来一个中年男人的声音。 “是的。” “我们收到了您的一份简历,请问你现在说话方便么?” “方便方便。
“我要飞得更高, 飞得更高, 翅膀卷起风暴, 心生呼啸……” 杜康的神州手机铃声嘹亮的响了起来,而杜康显然还不太想飞,他只想睡觉——昨天晚上熬了一夜,他睡得正香。摸索着找到手机,努力的睁开眼睛,“嗯,陌生号码?座机……” 他一个激灵,立马就清醒了过来,翻身起床,把嘴巴赶紧的活动了一圈,才挤着笑容接了电话,拼尽全力让自己的声音听起来充满活力:“喂,您好!” 杜康今年刚满19岁。
老爸顺利出院,明天就开始“一起帮”项目直播了(详见:《倡议:我们“一起帮”》)。 这几天,我一直在想:通过直播,我能给观众带来的,最有价值的东西是什么?是C#的语法么,是http://ASP.NET MVC技术么,是如何进行一个Web系统的架构么…… 不是的,全都不是。
只有一个前提:你知道你创业是为了什么。 我给《创业日志N,一听到别人说创业我就怕》点了赞,因为这篇文章非常的真实。 但我还要写这篇文章,因为我觉得还应该有一些补充。 前不久又一次开始创业,兴奋劲过去没几天,就想起了那句话:我这是好了伤疤忘了痛啊。
最近实在太忙,所以这一篇还是继续“形散意也散”的散文风格,碎碎念,大家都轻松一点。 上一篇其实主要讲的就是一个“提高”的问题。在工作中提高,有一点非常重要:走出你的舒适区。这个概念现在已经被广泛传播,我也不过是炒冷饭。
今天去公司办完了离职手续! 我是被裁掉的。听到这个通知的时候,我……我……我简直高兴得要跳了起来!激昂铿锵的旋律在脑海里响了起来:“等了好久终于等到今天,梦了好久终于把梦实现……”哈哈!天随人愿,我重出江湖的最后一个障碍也彻底扫除了。
前面的两篇反应很差:没评论没赞。很伤心啊,为什么呢?搞得我好长一段时间都没更新了——呵呵,好吧,我承认,这只是我的借口。不过,还是希望大家多给反馈。没有反馈,我就只能猜了:前面两篇是不是写得太“粗”了一点?所以这一篇我们尽量详细点吧。
CurrentUser,也就是当前用户,这是我们系统中大量使用的一个概念。 确认当前用户 当然,我们利用的是cookie:用户的ID存放在cookie中,服务器端通过cookie中的Id,查找数据库,得到需要的用户信息。
我们目前正在开发中的是任务管理系统,一个前端复杂的项目,所以我们先从MVC讲起吧。 WebForm 随着ASP.NET MVC的兴起,WebForm已成昨日黄花,但我其实还很想为WebForm说几句。
写技术文档的难度太大了!数次删改,都没能满意,所以我还决定,先写出来,以后再逐步整理完善——否则可能这个系列都没办法写下去了。这也算是借鉴了敏捷的思路,先写再改,不断迭代重构吧! 前面的几篇博客反响还不错,但还有一个硬伤,“说了这么多理论,能不能实践?”讲类似概念的文章不算多,但也不少了,但我一直没能从中收获太多的东西,反而更是云里雾里的糊涂了。
之前写过一篇,不满意,重写如下: 管理一般说来,就三件事:管人,管事,还有管钱。而这三者其实又是联系起来的,比如,我们可以说:让合适的人做合适的事,并给他合适的钱。那么,问题就转化为:怎么才算“合适”呢? 困境 有一些人的管理工作随意散漫,但他们振振有词,“管理是一门艺术”。
上一篇我们讲了,我们通过对任务进行切分,确定项目的真实任务量,保证劳动付出和报酬收益之间的等价匹配。但就像一次交易,除了价格以外,还有其他很多需要考虑的因素。本篇将继续探讨在软件开发过程中,如何进行流程控制和责任划分。
其实我是有点惭愧,又浪费时间写水文,所以扯上项目管理的大旗,稍稍心安了一点。不知道能不能上首页,候选吧,老规矩,5赞上首页。 《创业泡沫的“军功章”,高薪低能的程序员分一半》里提到两个观点,我都是很赞成的:1、编程日益简化;2、程序员可以更多的把时间花在编码和思考架构上。
前面写了这么多,很大程度上就是为了这一章做准备。面向对象或者领域驱动,最重要的一点就是要忘记数据库!我花了很长很长的时间,才理解了这一点,从而真正的迈向一个崭新的天地;而后,我又花了很长很长的时间,才勉强做到这一点;我希望,有一天,这将不再是一个问题,我不需要考虑这一点…… 为什么业务层这么薄 三层架构流行起来之后,我们很清楚的知道UI层负责页面交互并调用下一层,也知道DAL层就是和数据库打交道。
====================== 实事求是的讲,写《【野生程序员】:优先招聘》的时候,是带着情绪的。其后也有反思,是不是我杞人忧天了?尤其是下面开始的几条评论,如“都是混口饭吃的不容易”,“何以内外之分,中华儿女非山倾河泄而不能一气前指,千年亦是如此”等,让我感觉可能是我过于敏感了。
本来是计划在《架构之路》系列完成之后,发表一篇类似性质的博客。因为我觉得,到那时候,我可以有底气的说,“我就是半路出家的,哪点比科班出生的差?”但昨晚《野生程序员的故事》评论里同学们普遍性的自怨自艾,让我想起了一句话,“迟到的正义非正义”。
我们在上一篇博客中设定了架构的目标,只有一个,就是可维护性。完全没有提性能,这是故意的。 似乎程序员都是急性子,或许是被windows冗长的开机时间折磨够了,有可能是因为提升性能的效果是最显而易见的……总之,我发现,绝大部分程序员对性能的关注和热情是无与伦比的! C#刚刚推出的时候...
+++++++++++++++++++ 2016年11月23日 补充 后续行动:倡议:我们“一起帮” +++++++++++++++++ 终于决心再一次开始这个系列的博客了。之所以说再一次,是因为我之前曾经试着写过这样一个系列,但中途却不得已停了下来。
补充:建议将此文和《一个小企业招人的胡思乱想》一起读,别有一番风味啊。 =========== 下午员工辞职了,我又成了“光杆司令”一枚。谨以此文记。 导火索是因为他坚持他的看法,我不同意。
设计模式一直饱受争议,很多人对设计模式推崇备至,但也有很多人认为设计模式误导了编程者,见(《解密“设计模式”》)。 我也只是一个普通的编程人员,这里只能谈一谈我在学习设计模式中的一些想法,不一定正确,欢迎大家谈论。
对我而言,认识BLL层的作用,或者领域模型驱动的含义,最大的干扰来自数据库。我们很清楚的知道UI层的含义,也知道数据层是做什么的。但对于一个简单的(甚至是相当复杂的)系统而言,实在不知道除了对数据库进行增删改查以外,还能做些什么?发布一篇博客,不就是在数据库里插入一条记录么?点击一下推荐,不就是在数据库里做一个update么?为了避免数据库的干扰,这里,我们设定:不使用关系数据库做存储!请大家牢记,为了更清晰,更深刻的认识到这一点,我们再次明确,我们将使用最流行的NoSQL技术。
我正在开发的系统是一个简单的“博客+论坛+SNS”系统。应该比较好理解吧,就“博客园+csdn+开心网”模式。具体的功能在需要用到的时候详细讲解即可。(一)架构选择 Asp.net: WebForm vs MVC我最后选择的还是MVC。
对我而言,如何学习“系统架构”一直是一个大难题。我把编程学习分为了三个境界: 只有一个解决方案 不止一个解决方案 最好的解决方案 当我们最开始学习编程时,只要能把问题解决掉,把功能实现出来,就沾沾自喜;如果实现的功能够华丽够出彩,就更是“拽”得不行了。
磨蹭了好久,还是写一写吧,虽然我的英语水平目前也不是很好。英语对于程序员来说,无论是从待遇,还是从技术发展的角度来看,都是一个必须得过的槛。我重新开始拾起英语,就是进入程序员这一行之后,那时,我已经大学毕业5年多了。
Orchard是一个基于.NET平台的开源CMS(Comment Management System)。园子里周金根同学有过介绍。 决定研究Orchard主要基于以下几个原因: 1. 技术很新。最近发布的版本居然都使用的是Asp.net MVC Razor!2. 大量使用的开源技术,如NHibernate, Autofac等。
ASP.NET的SEO:目录 黑帽(black hat)SEO主要是指采取“不怎么道德”(暂时就这么形容吧!)的方式进行搜索引擎优化。 1. 注入攻击,包括Sql注入和Html注入。我经常能看到对Sql注入防范的谈论,但对于Html注入,很多人并没有引起足够的重视。
今天突然发现Reset按钮在回发之后就不起作用了,清不掉TextBox里的值。 网上搜了一下,只有问题,没有答案。csdn上一个老帖子里说和ViewState之类的有关,把我还搞得晕乎乎的,想想reset按钮怎么也就是一个客户端的控件,和服务器端根本不搭界,怎么可能呢?ViewState怎么也得到了服务器端才开始解析呀。
本系列目录网站地图的作用是让搜索引擎尽快的,更多的收录网站的各个网页。 这里我们首先要明白一个基本的原理,搜索引擎的爬行方式。整个互联网就像一张纵横交错的“网”:网的各个节点就是各个网页,而各个网页之间通过url相互连接。
本系列目录 我们经常说“404错误”,你知道他指的是什么意思么? 404其实是Http报头所包含的一个“状态码”,表明该Http请求失败。那么除此之外,还有哪些常用的状态码呢?这些状态码和SEO又有什么关系呢? 每次当用户代理(可以理解为就是IE和Firefox)向Web站点请求一个URL地址,服务器都会给予回复,回复内容包括两部分:HTTP报头,和被请求的内容。
本系列目录 不同的链接指向的页面如果具有大量相同的内容,这种现象就会被称为“重复内容”,如果一个网站的重复内容很多,搜索引擎就会认为这个网站的价值不高。所以我们应尽量避免各种重复内容。动态网站的重复内容常常是由URL参数引起的,而URL重写会恶化这一现象(比较耐人寻味哟,呵呵)。
ASP.NET的SEO:基础知识 ASP.NET的SEO:Global.asax和HttpModule中的RewritePath()方法——友好的URL ASP.NET的SEO:正则表达式 ASP.
本系列目录 假设你需要从一个页面转向其他页面,下面有很多种方式,你是如何选择的呢?你能清晰的说明理由么? HyperLink LinkButton 如果你还有些迷茫,我建议你查看他们生成html之后的源代码。
本系列目录 因为在网上搜到了很多这方面的文章,而且UrlRewrite中SEO中的重要性也在逐步下降,所以这一节我就写得简单一些。以下是几个重点: 1.UrlRewrite,顾名思义,只是针对URL进行的重写操作,不要认为www.freeflying.com/Jack/articles-2467.html就真的对应着一个html文件:articles-2467.html;实际上,该链接真正对应的是www.freeflying.com/articles.aspx?author=Jack&id=2467。
本系列目录 首先谈一点我自己的体会,我还是希望能和大家分享:当你读到一定数量的SEO资料后,你会发现,对同一个问题,众说纷纭,莫衷一是。这其实主要是因为以下一些原因造成的:1. 很多SEO技巧,是“推测”出来的,最多可以算是一种经验总结。
最近博客园里程序员过30岁能不能再写程序的帖子好像又火起来了。当年我刚入行做IT,看到的这类帖子,吓得不得了——差点就放弃了,还好我胆子大。所以今天有空,再看到这样的帖子,总是忍不住要多说几句。我大学里学的专业是国际贸易,毕业后主要是做律师,也比较深入的涉足过装饰行业,几年前转行做了IT。