V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  feiyuanqiu  ›  全部回复第 20 页 / 共 41 页
回复总数  815
1 ... 16  17  18  19  20  21  22  23  24  25 ... 41  
事实上 algorithms 这本书的全部英文版内容都被作者放到网站上了,可以试试直接读英文版,不用买书了
书出的比较早,我是 13 年买的,所以书里面的代码可能更新了

建议到此书的官网看看的最新版的代码示例 http://algs4.cs.princeton.edu/home/
2016-08-20 13:00:47 +08:00
回复了 CuminLo 创建的主题 程序员 快三年的 PHPer 的困惑。
楼主不妨把自己现在写的代码放出来看看...我见过不少两三年经验的同事(包括我)到了这个阶段就特别浮躁,觉得自己在业务代码上已经到瓶颈了,提升不了了,但看他写的代码却仅仅只是能实现需求,远远称不上好。一旦让其独立负责一个项目或者大的需求功能,需要自己设计程序架构的时候,弄出来的东西总是不尽如人意,拼拼凑凑地凑合着做完

底层的知识对实际编程能力的提升并不是立竿见影的,会写 c 扩展更多的用处是跟人吹比或者写在简历上。实际工作中需要用到 c 扩展的地方往往已经有别人的(被广泛使用的、经受了考验的)实现了。如果要为自己的业务写 c 扩展,首先很难得到同事领导的支持,因为增加了维护成本,一旦你离职之后就没人能维护了;其次如果你在 php 上的编程能力都不能做到在公司里的权威地位的话,会让人质疑你在更底层方面的能力


从我有限的经历来看,过去每次感觉自己到技术瓶颈的时候,都发现其实还有很多东西没掌握,比如
程序设计方面的知识
最简单的一个体现,团队 CodeReview 的时候能否发现对方代码中不好的地方(代码风格,命名,惯用模式,设计架构, etc...),能否有充足的理由说服对方认同你的观点
能否在需求建模设计会议上提出有价值可行性的设计方案,并说服同事
经过几个月迭代之后,维护的业务代码是否已经混乱成一坨翔了,如是,如何拨乱反正
能否抽象提炼出重复代码中的通用逻辑,并开发出 api 简洁清晰的库类
能否发现流行的框架、工具设计的优点;能否发现流行的框架、工具设计的缺点;能否将好的东西引入自己的开发中
IDE 是否能 resolve 正确所有变量的类型(...仅仅是我个人的喜好)

业务方面的掌握
能否从头到尾将系统里一个复杂功能(复杂,所以很可能是团队协作多人开发的)的来龙去脉讲清楚,为什么要有这个功能,开发它的目的是什么,是为了解决什么实际问题,如何实现的...从入口开始,把处理流程中所有涉及到的地方都拎出来讲一下,为什么这里要这么设计,为什么这里会对这种类型的业务对象做单独的处理,是否有更好的实现方式,为什么针对 A 类型的业务对象的功能会涉及到 B 类型的修改,如果调用了外部接口,外部接口干了些什么,它怎么通知回调,回调处理是怎样的...

数据库方面的知识
数据库基础知识(不同数据库引擎的优缺点、支持的数据类型、不同数据类型的长度,特点、常用语句的语法结构);数据库表的设计(根据不同的需求要求,采用一个胖数据表结构呢还是拆成几个小表, 搞清楚单表 select 和 join 的性能差异);索引(如何确定索引、如何构造能尽可能命中索引的查询);并发的处理(排它锁和共享锁的区别、什么情况需要加锁、什么情况会导致锁表); ORM 的使用(判断业务是否需要引入 ORM ,几种数据源架构的优缺点); php 里面数据库持久连接和短连接的差异;分析业务是否需要开启查询缓存...

排错修 bug 的能力
能通过有限的错误信息定位 bug ,能找到更多的上下文信息( nginx 的访问日志错误日志在哪里, php-fpm 的错误日志在哪里, php 错误日志在哪里, sql 错误日志、查询记录在哪里);知道不同的错误级别 php 的错误处理有什么不同;知道使用的库函数的坑(比如 bcmath 对大整数、浮点类型)

其他工具库的了解与使用
项目需要异步任务队列了,怎么搞
jira
还可以配合 jetbrains 家 ide 的 task 插件,工作流更简单
企业应用架构模式那本书对 ddd 开发并没有写得很清楚,很多概念其实在日常开发中,在使用 orm 中已经接触并实践过了,看它收获不大

最近在看 implementing domain driven design 这本书,内容挺丰富的


以下是个人的一些牢骚

我之前非常纠结的是采用 DataMapper 类型的 orm 之后,因为会给每个表建立一个对应的实体,我有点不清楚业务逻辑该放在哪好了,普遍推荐的是实体就仅仅是个做数据映射的 pojo ,数据持久化操作放到 repository 里面,领域逻辑放到 service 里面,业务流程逻辑放到 controller 里面…但因为我用的是 php ,在网上找到的一些资料又说 weak object 是种反模式,比如 doctrine 的作者之一,在他的 doctrine 最佳实践的 ppt 里就说,实体应该要有行为,不然和数组有什么区别…

然后找了一些 php 的 ddd 开发实例观摩,发现似乎过于复杂了,几乎把业务里所有东西都对象化了, id 这些不可变元素要做成 value object ,把它的行为都扔到 vo 里面,但是实际上很少会对 id 这些东西有什么复杂的操作,同样还有对 repository 的抽象,单独建了 instruction 这么一层来存放不同的数据存储,但是实际工作中很少会出现更换数据库这种事吧?有必要吗

我觉得像 php , python 这种语言,并不需要全盘地采纳 ddd 的思想,不然还不如直接用 java 算了
2016-08-15 14:05:17 +08:00
回复了 baozijun 创建的主题 问与答 重拾操作系统知识,有什么书籍推荐哦,谢谢
限于自身水平,只能推荐一些入门读物

现代操作系统
不知道是因为自己太笨了还是怎么,感觉有些地方没有讲得很透彻,比如信号量那里,没有给出 up 和 down 的伪代码,只看文字就比较难理解。另外中文版也有些错误

Operating Systems: Three Easy Pieces
http://pages.cs.wisc.edu/~remzi/OSTEP/
在 reddit 一个帖子里看到的推荐,挑着看了几章,感觉还行

mit 6.828
https://pdos.csail.mit.edu/6.828/2014/schedule.html
并没有跟完这个课程,只看了 xv6 book ,只有 100 多页,但把操作系统主要的方面都讲到了
https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf
@ilotuo 最好还是给他找点事情做,五六十岁的人,坐吃山空总觉得不踏实,又不是事业单位的,小生意也不好做,出去找个工作也不好找,低端的服务行业拉不下脸身体也吃不消,又没有个什么爱好,打牌打麻将就听着别人吹自己孩子自己家怎么怎么又来气,天天窝家里面又无聊又容易乱想,觉得自己差不多是个废人,就是中年危机的加长版,也挺不容易的

我其实也不怎么反感他去搞这个,天天在外面东奔西跑的,跟个大忙人似的,就觉得自己实现自己的价值了,但至少他自己觉得过得挺有劲的就好,就当作跟一群同龄人旅游好了,钱其实也没花多少。
但就是影响真不好,朋友圈 QQ 空间完全没法看,全是广告,估计所有人都把他屏蔽了。现在亲朋们见着他就跟见着鬼一样,自己又好强,总想给别人证明点什么看看,越陷越深。我怕的就是在这种不理智的心境下说不定什么时候干点想不开的事就麻烦了

至于沟通劝解,是真没法沟通,总把你当小孩看,你温和地跟他谈,他就温和地回应我懂我清楚我有分寸;你着急了跟他生气,他就更生气你们就没人懂我那你说该怎么办我就要做出个样子给你们瞧瞧...
不过总之呢,还是祝你好运啦
劝不回来的,会信这个的人怎么说呢,差不多都是又蠢又犟的那种,亲友们越劝他越会觉得没人能懂他,能理解他,反而越发觉得还是组织里有人情味聊得来。
谁都知道传销组织是坏的,但他们不认为这是传销,他们会说,这是正规公司,国家都支持的,如果是传销的话国家早取缔了...或者是这公司的产品真有效果,谁谁谁在我这里买了多少多少用了几天就见效…或者是我行得正走得直,我肯定不会去害人...之类的话,而如果你越强调它的行为跟传销没两样的时候,越容易得到反效果,人都要面子的,越老越要脸,尤其是在自己一手拉扯大的小孩面前,怎么可能承认自己已经蠢到被骗去搞传销的地步了呢,我就要做出点成就让你们看看

反正我是没办法了,爱怎么折腾怎么搞吧,现在只能是断他的经济来源,等那个组织从他身上榨不出油水了应该就差不多了,通知了亲戚朋友们不要私自借钱给他,不然我不认也别想找我还钱
但是还得担心他去外面借高利贷,年初就帮着还了两万的高利贷,月息 10%利滚利我听了也是醉了,这日子过得真是惨兮兮的
不懂 python ,只看这个错误提示,说的不是代码风格的问题,是你上面声明的 course_lists 是个二维数组
但你却给它 append 字典,导致类型不匹配
2016-07-16 20:16:27 +08:00
回复了 stcasshern 创建的主题 问与答 idea 使用问题,自动补全不如 eclipse?
自动补全的设置在 Editor->General->Code Completion

文档显示需要按 f1

"打 pu 然后 eclipse 会提示 public"
在 Editor->Live Templates 里面,默认已经有很多自动扩展的模板了,有个人的需要的话可以去改或者添加

不习惯 idea 的快捷键设置的话,可以在 keymap 里选择设置为 eclipse 方式的
不过我是自己设置为仿 sublime 方式的
refactor->refactor this: cmd+t
navigate->file structure: cmd+r
navigate->class: cmd+o
navigate->file: cmd+p
navigate->symbol: cmd+shift+o
navigate->back: cmd+[
navigate->forward: cmd+]
view->recent files: cmd+e
2016-07-13 12:33:02 +08:00
回复了 piglei 创建的主题 Python Python 工匠:善用变量来改善代码质量
不针对这帖,只想说这些代码大全早都总结过了的东西,为什么总还是有人一遍遍地重复发文章来讲呢
2016-07-09 20:38:17 +08:00
回复了 DaCong 创建的主题 正则表达式 分享一下几个正则表达式可视化的网站
2016-07-07 23:31:08 +08:00
回复了 Ya 创建的主题 音乐 有什么好听的纯音乐?
神秘园
神思者
时不时跟人比较一下薪资才有动力学下去,不然每天玩玩游戏看看视频刷刷论坛追追时髦的技术时间也就那么过去了,但是太在意的话也不好,容易影响现在的工作生活
感谢楼主,你框架里面用到的依赖好多都是我正需要的,之前还在傻乎乎地自己写,现在做起来简单多了
2016-07-01 19:34:29 +08:00
回复了 m939594960 创建的主题 问与答 PHP 的项目的问题
另外,我们现在提供接口一般都是直接封装好一个接口 Client 的 composer package ,发布到公司的 repository 上面,要用我们接口的团队直接 require 这个包就行了,即插即用,也不需要他们自己再去弄接口调用、签名之类的麻烦事了,发布的接口全都在 Client 里面写成方法,接口返回全部封装成实体对象,用 IDE 开发起来也方便
2016-07-01 19:25:15 +08:00
回复了 m939594960 创建的主题 问与答 PHP 的项目的问题
要提供错误码是因为使用这些 api 的也是程序,错误码提示的是一类错误,方便接口使用程序处理错误;错误信息告知具体的错误原因,方便接口使用者 debug
你把它当成异常就很好理解,同一类的异常情况抛出相同的异常类,但是异常信息会因具体的情况而不同

错误信息不会太大,太大了就是设计有问题了,接口使用者看着这么巨大的错误列表会昏过去的
2016-06-24 10:17:46 +08:00
回复了 lml12377 创建的主题 程序员 PHP 如何引入第三方类库
@lml12377
你不用在 loader 里面 exit 的, spl_autoload_register 注册的 loader 会在某个 loader include/require 文件的时候停止对队列之后的 loader 的调用,不需要自己去处理,所有 loader 都找不到文件的时候会抛一个 fatal error

另外你用的 phpmailer 是什么版本呢,刚才去找了下,如果用的是现在 github 上面的那个版本
可以在你的 bootstrap.php 里面 inlcude PHPMailer/PHPMailerAutoload.php 这个文件,然后注册 loader ,就行了

require __DIR__ . '/PHPMailer/PHPMailerAutoload.php';
spl_autoload_register('PHPMailerAutoload');
$a = new PHPMailer();
1 ... 16  17  18  19  20  21  22  23  24  25 ... 41  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   989 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 20:41 · PVG 04:41 · LAX 12:41 · JFK 15:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.