Category: 学习笔记

我为什么努力

这么努力,有什么用? 前天和帅姑娘一同乘地铁时看到这个知乎的广告,这个问题困扰了我大概有十来个年头,尤其是高中和大学时期,甚至刚毕业后那一年也时常有之。我高中那会努力去读书学习,是出于亲人的嘱咐和期待,当然也有为理想和未来而努力,但是现在想来当时那个腼腆少年大概还不晓得啥是理想,只是一头拉磨小驴而已。 然后大学时期,虽然没有博览群书,成绩平平偶有挂科,但课外活动颇为丰富和积极。大一就出去做打工赚钱,大二担任网络社团的技术部长到处去修电脑写程序,大三就是工作室的小技术团队的leader,后来还和几个同学合伙创业做了不少项目,所以还算是努力的。如今细想,当时对“努力”这件事儿是不知所以然,确实有兴趣喜好驱动的,但也常有欲望、虚荣。 毕业之后那一两年,知道自己有很多不足,所以会有各种工作学习至深夜,有职业需要,也有为喜好和挣钱。这个“努力”是求知若渴、涉猎甚广,但是还是茫然,难道就是为生活所迫,将来解决了眼前这些职业和窘迫之后呢?是继续努力还是解甲归田?后来随着经历越来越多的事情,相信功不唐捐,所有的努力都不会被白白的浪费掉,多学多尝试一些事儿总会是好的,所以哪怕疑惑茫然也时常提醒自己不要懈怠。 直到前阵子文殊院的论语课上,我才有了一个让自己认同的答案—“博学于文,约之以礼”。古代的文是诗书礼乐,一切文章典籍,对我来说就是技术编程、摄影厨艺,所有知识技能。“约”是实践、学以致用,“礼”是外在的体现形式,就是我们普通的生活、工作、学习,这些平常的为人处事。所以于我而言“努力”这件事儿就是,在一切人文知识和技术技能上博学努力,然后把它用到生活,以带来更多的乐趣、开心、从容,哪怕只有一点点。 用钱穆先生说的话是,博学始能会通,然后知其真义。同一个问题大家会有不同的看法,所以要会通自己学到遇到的知识,思考、实践而后知道自己的真义,而非遇事人云亦云。博学以文,还不仅是指读书和技能,还有旅行、电影、与人交谈,甚至种花做饭也是。 这两年来我常有随心随性地去读一些书和尝试一些新鲜事,无关职业,也并非当前生活迫切所需,不昧因果地去做。比如瑜伽绘画、摄影吉他、绘画厨艺,那会还觉得好像是没啥用,挣不了钱,还花了不少时间精力。现在想来这些手艺技能、想法观念,是让我有所改变,与母亲兄弟更加亲近和自然,虽然相隔于南北,但无论付出多少都会信任、心安。要知道两三年前,每年回去大概都会吵个架发个脾气。与同学同事会分享喜悦,也会相互吐槽,都来往自在。你可晓得,几年前跟我同住的某师兄说我“喜怒不形于色”。 所学所悟的东西不知不觉地用于生活,无所用,无所不用。 明超老师还提到,君子能博约并进,礼文兼修,二者齐头并进,而非先博文,再约礼。有些人总觉得自己学得还不够,准备得还不够,于是迟迟不敢迈出那一步,尤其是事业或者大的项目。我就有这样的一面,自己觉得尚未足够准备好之前不会轻易去开始,有时候这并非好事,错过了不少美好。学和文是无止境的,其实迈出那一步之后的平常工作和实践也是学习的一种方式,努力学文与事业,得齐头并进,是正相成,非相矫。

php编程的5个良好习惯

【原文来自ibm development】 良好的编程习惯不仅能提高效率,还能让编写出在应用程序的整个生命周期中易于维护的代码;应用程序维护是一笔很大的开支。养成良好的编程习惯能够提高设计质量,从而使代码更加容易理解,因此维护就更加容易,同时也降低维护成本 使用良好的命名 语义化,就是看到名字就知道意思 通用前缀:is表示是否,后面跟形容词,如is_multilingual,而不是is_multilanguage;get表示读;set表示写 冗余后缀:尽量不要使用data、list、info后缀 类名:大写字母开头,驼峰命名;一般用名词,比如配置解析类:ConfigParser;这与java和C++一致 类的文件名:与类名一致。这与php autoload有关 非类文件名:全小写,下划线分隔,不得使用空格,比如get_user.php 目录名:全小写,下划线分隔,不得使用空格,如model、www、templates 函数名:小写字母开头,驼峰命名,例如:function addBlog()。这与C++和java类似 类中的函数:另个函数中间空一行 URI定义 变量:全小写,下划线分隔 常量:全大写,下划线分隔 php短标签 类的大括号后换行 分成更小的部分 test 为代码添加注释 注释块 @author yixun API注释 处理错误条件 根据大众的经验,如果编写健壮的应用程序,错误处理要遵循80/20规则:80%的代码用于处理异常和验证,20%的代码用于完成实际工作 在编写程序的基本逻辑代码时经常这样做。这意味着编写适用于基本条件荐的代码,及所有的数据都是可用的,所有条件符合预期 这个习惯要求我们编写足够的错误处理代码,而不是编写对付所有错误的代码,以致于diamante迟迟不能完成 切忌使用复制粘贴 我们可以从其他地方将代码复制粘贴到自己的代码编辑器,但是这样做有利也有弊 好的一面是,从一个实例或一个模板中复制代码能够避免很多错误 不好的一面是,这容易带来大量的类似编程方式 一定要注意,不要将代码从应用程序的一部分粘贴到另一部分。如果您在采用这种方式,请停止这个不良的习惯,然后考虑将这段代码重写为可重用的。 一般而言将代码放置到一个地方便于日后的维护,这样只需在一个地方那个更改代码 编写成带参数的可重用函数

GTD(get things done )

GTD 是英文Getting Things Done 的缩写,是一种行为管理的方法,也是David ALLen写的一本书的书名。GTD的主要原则在于一个人需要通过记录的方式把头脑中的各种人物转移出来。通过这样的方式头脑可以不用塞满各种需要完成的事情,而集中精力在正在完成的事情。 GTD是关于什么的 和其他时间管理专家不同的是,Allen并不把重点放在设置任务的优先级。他提出制定出在各种环境下的任务列表,例如,制定一个需要打电话的列表,或者在市区才能完成的事情的列表。他也建议任何两分钟之内就能完成的任务应该马上做。 GTD在心理上的好处在于使你需要完成的事情相关的信息易于保存,跟踪和获取。Allen认为导致很多我们在做事的时候碰到的脑力上的障碍的原因是前期的计划不足(举个例子,对任何项目我们需要弄清楚要达到什么目标,还有什么措施需要完成)。 Allen认为我们的脑力上的“提醒系统”相当的低效,很少能够在恰当的时间和地点提醒我们需要做的事情。因此,把“下一步行动”根据场景分类存放 在“可信的系统”当中,是一个能使我们在正确的时间得到正确的提醒的手段。在“GTD”中有很多个人的管理小技巧在实行Allen描述的工作流程中很有用 的。 一个很概括的对于Allen的书的内容的描述是对于任何事情都准备好: “把所有事情都从你的脑袋里弄出来。在事情出现,而不是在事情爆发的时候,就做好相关行动的一系列决定。以合适的类别组织好你的想的的各种提醒以及下一步的行动。保持你的系统更新和完整,充分地检查,使你在任何时候都能信任你的对于你正在做(或者不做)的事情直觉的选择” 原则(核心原则) 1)搜集 把任何你需要跟踪或者记住或者做的事情记在Allen称之为‘水桶’的地方:一个收件箱,电子邮箱,磁带,笔记本,PDA,或者它们的组合。把你脑子里的任何东西都拿出来放到你的搜集设备里,准备好做下一步的处理。每星期所有的水桶都应该被至少清空一次。 2)处理 处理你的收件箱要遵循一个严格的工作流程: 从最上面开始。 一次处理一项。 不把任何东西放回收件箱。 如果任何一项需要做: 做(如果花的时间少于两分钟) 委托别人完成,或者 把它延期。 否则 把它存档以便查询, 把它扔掉,或者 使它成熟以便下一步的处理 两分钟原则:任何事情如果花的时间少于两分钟,那么马上就去做。两分钟是一个分水岭,这样的时间和正式地推迟一个动作所花的时间差不多 3)组织 Allen描述了一個建議的列表集合,你可以用來跟蹤需要關注的項目: 下一步行動(Next actions) – 對於每個需要你關注的事項,定好什麼是你可以實際採取的下一步行動。例如,如果事項為「寫項目報告」,下一步行動可能會是「給Fred發郵件開個簡短會 議」,或者「給Jim打電話問報告的要求」,或者類似的事情。雖然要完成這個事項,可能會有很多的步驟和行動,但是其中一定會有你需要首先去做的事情,這 樣的事情就應該被記錄在「下一步行動」列表上。較好的做法是把這些事項根據能夠被完成的「環境」整理分類,例如「在辦公室」,「用電話」,「在商場」. 專案(Projects) – 每個需要多於一個實際的行動才能達到的生活或者工作中的「開放式回路」就是一個「專案」.使用跟蹤以及週期性的回顧來確保每個專案都有一個下一步的行動進行下去。 等待(Waiting for) – 當你已經指派了一個事項給其他人或者在項目進行下去之前需要等待外部的事件,就應當在你的系統當中跟蹤以及定期檢查是否已經可以採取行動或者需要發出一個提醒。 將來/可能(Someday/Maybe) – 這些事情你需要在某個點去做,但是不是馬上。例如:「學習中文」,或者「進行一個潛水假期」. 對於跟蹤你的預約和委託,一個日曆也是重要的;另外,Allen特別推薦日曆應該被用在他所謂的「硬工程」上:必須在某個特定的期限之前完成的事情,或者在約定的時間和地點完成的會議和約會.「待辦」事項應該用在下一步行動列表當中。 GTD的最後一個關鍵組織模塊是歸檔系統.「Getting Things Done」書裡說如果要用一個歸檔系統,那它必須得是簡單易用和有趣。即使是一張紙,如果你需要用來記錄參考信息,如果不屬於你已經有的一個目錄,也要有 自己的文件組織方式。Allen的建議是你可以維護一個按照字母順序組織的歸檔系統,這樣可以比較容易快速的存儲和提取你所想要的信息。 Google的Gmail的用戶可以用創建標籤的方式來創建「待辦事項」和「項目」,這種方式在Bryan […]

正则表达式-基础笔记【Unix&Linux大学教程】

关于正则表达式 基本元字符 .  除新行字符外,匹配任意的单个字符 ^ 匹配行的开头 $ 匹配行的末尾 \< 匹配单词的开头 \> 匹配单词结尾 [list] 匹配list中的任意字符 [^list] 匹配不在list中的任意服务 ( ) 组,视为一个独立的单元 | 交变,匹配选择之一 \ 引用,从字面上解释元字符 关于运算符 * 匹配0次或多次 + 匹配1次或多次 ? 匹配0次或1次 {n} 限定符,匹配n次 {n,} 限定符,最少匹配n次 {0,m} 限定符,最多匹配m次 {,m} 限定符,最多匹配m次 {m,n} 限定符,最少匹配n次,最多匹配m次 类运算符 [:lower:] 小写字母,类似于 a-z [:upper:] 大写字母,类似于 A-Z [:alpha:]  大小写字母,类似于 A-Za-z [:alnum:] 大小字母、数字 A-Za-z0-9 [:digit:] 数字 […]

关于小组内部技术分享活动

其实早在大三暑假开始就认真的组织和探索,小组内部技术分享活动;大三暑假的时候作为学校PHP兴趣小组的核心成员之一假期的时候和云涛同学很认真的做了几期PHP和服务器运维相关的技术分享活动 ,当时觉得效果很好,主要的参与者也是技术兴趣爱好者,有PHP小组的成员也有学院计算机协会的成员。于分享者而言,是一种分享的方式,另一种学习和提高的方式;然后后来一段时间在小组内部用这样继续开展内部技术分享,【记录其中一次】 不过在后来因为小组成员时间安排和其他缘故,这项分享活动又搁置了,其实现在总结下这样的方式,对于分享者而言 抱以技术分享的态度 以分享或者教授的方式,从另一个角度学习和提高技术 更新小组内部成员沟通交流的方式 对于参与者而言 以一种更有效率(近于直接获取)的方式学习 对某技术主题,直接线下交流 其他方面 分享者,尽量事情做好备课