思想集
Phodal
待我代码编成,娶你为妻可好
展开
-
无代码编程
中台之后,便是无代码编程。规模化的组织,经常要面临这样的挑战:每个应用的基础设施是相同的,部分的代码也是相同的,甚至于它们可能只是数据模型不同而已。结果却导致了,他/她们要一次又一次地重新编写一个应用。对于一个新的应用而言,它需要对接大量的三方(非自己团队)服务。服务之间的不断变化 ,导致了对应的使用方也需要发生变化。不断变化的业务,导致了前台的设计不断变化。为了应对快速谈的的前台服务,后...原创 2019-04-02 09:05:27 · 15448 阅读 · 16 评论 -
天天写业务代码的那些年,我们是如何成长过来的
比起写业务代码更不幸的是,主要工作是修 Bug,bug,buG, bUg。在一家大的公司里,不同的人总会有不同的运气:运气好的人遇上一个好的项目,升职加薪,从此就走上了人生的巅峰。运气差的人摊上一个差的项目,升不了职,少加了薪,并且还获得不了技术成长。我刚毕业那会儿,所在团队的主要工作是,维护一个『又老又旧』的系统。比起写业务代码更不幸的是,我们的主要工作是修 Bug,bug,buG, bU原创 2017-04-12 21:02:37 · 14203 阅读 · 28 评论 -
写在GitHub 的第 19999 个 star 时——开源的路还很长
Star 虽好,可不要贪杯哦。 两年前在做 Annual Review 订下一年的目标时,想着写一个开源框架。去年订下今年的目标时,仍然继续着这样的想法。今年又要制定下一年的目标,2333~~。不久前,在 GitHub Ranking 上看到自己的 star 数(star 不是设计用于做“点赞”的,而是用来收藏的)时,发现已经快 20000 了。然后把自己的项目过了一遍,发现没有一个比较好的原创 2016-12-21 07:33:11 · 10661 阅读 · 0 评论 -
从最新的技术趋势看前端的未来
本文仅代表 Phodal 的个人观点,来听听一个前端程序员的 YY。新一期的ThoughtWorks技术雷达有点出乎意料,使用new标签的框架、工具、技术、语言等等超过了一半——Vue.js、ES2017上榜,Three.js凭着VR的火又上榜了,还有熟悉的Electron,以及微前端的概念。让我们先看看一些技术亮点~~。前端在可见的未来在那篇《最流行的编程语言JavaScript能做什么?》的文原创 2016-11-08 07:20:49 · 11736 阅读 · 1 评论 -
如何高效的进行编程练习
最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就相到了这个问题,以及我是怎么做的?对于我来说,提升技能的项目会有四种:纯兴趣驱动的项目。即我的Idea列表上的一个个酷炫的项目,先满足自己再说。理论驱动的项目。这一类的项目会比较少,因为我们需要牵强地驱动出这样的项目,然后以理论的方式驱动它。兴趣结合理论型。有一个长长的Idea列表,难免有些时间会和原创 2016-06-20 20:04:04 · 3830 阅读 · 0 评论 -
关于计算机书籍,你应该知道的五件事
虽然在我的书架上有很多的技术书籍,但是这并不代表我对每本书都很了解——但是至少每本书我都过了一下目录,大部分的书都翻了一遍。在开始瞎扯之前,先让我们过一下目录:在什么情况下,我们会买技术书籍?我们应该买怎样的书?拿到书后,我们会怎么做?书看完之后呢?技术书籍,不就是花钱买时间吗?在什么情况下,我们会买技术书籍?买技术书籍的情形应该是下面的几种情况:工作上使用到一些“新的技术”。对于自己原创 2016-06-04 23:35:31 · 4622 阅读 · 0 评论 -
程序员如何艺术的提升技术、影响力&赚钱
相信大家也看了之前的一篇《程序员如何优雅的挣零花钱?》,这篇文章和我之前尝试过的东西差不多,本文以图片为主。因此,这篇文章会从以下几个角度来分析,即赚钱、影响力和技术——这是我所关心的三个维度:Money。这个就不用说了,地球人都懂的。Tech。这个就不用说了,热爱技术的人都懂的Impact。可能很多人不懂,建议大家可以看看之前我写的《程序员如何提高影响力》。他们的关系大致是这样的:没看懂的原创 2016-04-24 08:49:55 · 8050 阅读 · 0 评论 -
为什么我偏爱用GitHub来写书?
为什么我偏爱用GitHub来写书?GayHub作为一个全球著名的社交网站,它的用途可不仅仅只有约基那么简单。今天,让我们来说说为什么我越来越喜欢用Git来写书——只是电子书,并且将它发布到GitHub上。GitHub上的第一本书我在GitHub上写的第一本书是《一步步搭建物联网系统》,它是我的毕业论文与博客的合集。在这本电子书里,我和我的同学小兵一起协作来编写内容。在今天看来,这仍是一本不错的物联网原创 2016-04-21 22:46:12 · 14234 阅读 · 0 评论 -
如何以“正确的姿势”阅读开源软件代码
所有让你直接看最新源码的文章都是在扯淡,你应该从“某个版本”开始阅读代码。之前想过写这篇文章,但是没有想到一个好的内容、好的突破点。在《GitHub 漫游指南》指南里,我们提到过《如何在GitHub“寻找灵感(fork)”》,但是并不是关于阅读源码的好文章。我们并不建议所有的读者都直接看最新的代码,正确的姿势应该是:clone某个项目的代码到本地查看这个项目的release列表找到一个看得懂原创 2016-05-16 08:52:53 · 6133 阅读 · 0 评论 -
说说程序员的核心能力:第一个三年:后台、前端、移动应用,第二个三年呢?
转眼间,做了一年多的项目结束了。修了两天的假,等着下一个项目的开始,或许这就是身为乙方的宿命。倘若是在自己的办公室里完成项目,那么甲方和乙方的区别怕是不大。而作为一个在客户现场工作的乙方工程师,就不是一件容易的事。在客户现场面对的,不仅仅是技术问题,还要注意一系列的沟通,以及额外的政治影响等等。时间一久吧,总会在思考两种工作模式的不同之处。两者的目标是一致的,只是一方永远都是要配合的。总在想,如果我原创 2017-10-15 11:18:33 · 5895 阅读 · 2 评论 -
Molog:使用 Serverless 搭建的前端错误日志及事件收集系统
最近在交接项目,也因此有了一些时间。之前想过做一个前端的错误日志系统,便想着直接用 Serverlss 做了好了。开始之前先让我简单地介绍一下:https://github.com/phodal/molog,以便于了解我们的需求及功能。原创 2017-12-10 20:02:05 · 3219 阅读 · 0 评论 -
开源,并不意味着免费、开源,不是道德绑架
我开我的源,与你何干?Ant Design 事件之时,作为看热度的吃瓜群体。我偶尔也会随意地皮一下,虽然没有这么大胆。过程中,大抵发现一些人呐,对于开源的态度并不是那么友善——仿佛作为一个开源贡献者,这些都是我等的义务,应尽的天职一样。我在最初也并没有那么友好,经贺老提醒之后,我发现自己的态度似乎也是不太对。但是,这种利用道德上的压迫感,让人觉得甚是不爽,便想写一篇文章顺带吐槽一番。开源,...原创 2019-01-13 13:45:38 · 1516 阅读 · 3 评论 -
年底的焦虑
2018 年,就只剩下这么一个月了,也是时候焦虑一下了。女朋友找了吗?在哪工作啊?收入怎样?什么时候要结婚?打算什么时候生孩子?孩子打算在哪里上学?孩子的学习成绩怎么样?当然了,以上的话题纯属瞎扯,和本文没有任何关系。每年,这时,各位神仙都会总结自己一年的时候,也是我司(ThoughtWorks)进行 Annual Review 的时候。顾名思义,便是...原创 2018-12-07 16:14:35 · 666 阅读 · 0 评论 -
7 年 700 篇技术文章,收获的 7 个心得
最近,几个月,几星期,几天,忙在一个大型的 “markdown 工程” 里。平时的时间变得不充裕了,原本早九晚六剩下的时间,远远不够用。周末,在补充这本周、本月里的几点技术心得、笔记的时候,发现:嗯,我有 700+ 的博客了。再算上时间,7 年,平均每年在 100 篇的水平。数量上一算,大抵是有些可怕的。而,我,大抵、或许还是几个在写博客的人吧。数量庞大的博客,一点一滴地地带来了 markdow...原创 2018-11-08 20:52:12 · 836 阅读 · 3 评论 -
技术的学习与练习
随着工作年限的增长,经验的不断丰富,我开始寻找下一阶段的个人发展目标。作为一个学习者,在过去的几年里,成果大抵是卓有成效的。可无论是学习还是应用新的技术,都需要一个短暂的学习与练习,才能获得相应的经验。这就造成了一个冲突,日益增长的技能需求,同不足的时间之间的矛盾。练习不练习?练习的话,又得练习多少?怎么练习?在时间限制的情况下,我们要怎么去解决这些问题?练习式学习我的模式比较...原创 2018-09-03 07:29:12 · 3938 阅读 · 10 评论 -
实施微前端的六七种方式
微前端架构是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。由此带来的变化是,这些前端应用可以独立运行、独立开发、独立部署。以及,它们应该可以在共享组件的同时进行并行开发——这些组件可以通过 NPM 或者 Git Tag、Git Submodule 来管理。注意:这里的前端应用指的是前后端分离的单应用页面,在这...原创 2018-07-08 21:16:14 · 4775 阅读 · 0 评论 -
如何解构单体前端应用——前端应用的微服务式拆分
刷新页面?路由拆分?No,动态加载组件。本文分为以下四部分:前端微服务化思想介绍微前端的设计理念实战微前端架构设计基于 Mooa 进行前端微服务化前端微服化对于前端微服化来说,有这么一些方案:Web Component 显然可以一个很优秀的基础架构。然而,我们并不可能去大量地复写已有的应用。iFrame。你是说真的吗?另外一个微前端框架 Single...原创 2018-04-07 16:58:34 · 2782 阅读 · 0 评论 -
前端微服务化:拆分大型 Angular 应用的四种策略
上一个月,我们花了大量的时间不熂设计方案来拆分一个大型的 Angular 应用。从使用 Angular 的 Lazyload 到前端微服务化,进行了一系列的讨论。最后,我们终于有了结果,采用的是 Lazyload 变体:构建时集成代码 的方式。过去的几周里,作为一个 “专业” 的咨询师,一直忙于在为客户设计一个 Angular 拆分的服务化方案。主要是为了达成以下的设计目标:构建插件化的...原创 2018-04-07 16:56:27 · 5695 阅读 · 2 评论 -
从遗留技术栈升级里,我学到的八件事
几周前,当我使用 Mifa 主题刷新我的博客时,我发现了一件不得了的事情:我的博客使用的 Python 版本是 2.7,而不是我预期的 3.5。并且我用的 Django 版本是 1.9,它是 2015 年的版本。这些让我意识到,如果我再不做点什么,我的博客可能就维护不了了。毕竟 Django 已经 2.0 了,而 Python 2.7 即将(好多年了)成为过去式了。尽管我在之前的文章,讲述原创 2018-02-05 20:23:12 · 2499 阅读 · 0 评论 -
最流行的编程语言JavaScript能做什么?
首先很遗憾的一点是,“PHP虽然是最好的语言”,但是它不是最流行的语言。对不起的还有刚刚在4月TIOBE编程语言排行榜上榜的各个语言:你们都很棒,但是你们都担当不了这个大任。开始之前,我先说一下我常用的三个语言:Java、JavaScript、Python。Java,让我学到了很多架构层级的知识,这一点可以参考我之前写的架构相关文档。虽然我一点儿也不喜欢这个语言,但是它真的很棒。Python,它原创 2016-04-10 11:39:41 · 10998 阅读 · 1 评论 -
程序员如何才能写出一篇好的技术文章
文章来源于 @justjavac在知乎上的邀请,要写在知乎上的回答。因为有原创,所以先首发,免得被伪原创。每天有大把的时间刷GitHub,写博客。从我大二的时候,大概六年前开始写技术博客,到现在已经有540+了,大概每年会写一百篇左右。这个答案由四部分组成:博客的流量来源不同文章类型的写作要点如何写博客如何收集写作的灵感原创 2016-03-01 00:00:42 · 4389 阅读 · 4 评论 -
为什么未来是全栈工程师的世界?
谨以此文献给每一个为成为优秀全栈工程师奋斗的人。节选自《Growth: 全栈增长工程师指南》技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快。今天技术的门槛下降得越来越快,原本需要一个团队做出来的Web应用,现在只需要一两个人就可以了。同时,由于公司组织结构的变迁,以及到变化的适应度,也决定了赋予每个人的职责将会越来越多。尽管我们看到工厂化生产带来的优势,但是我们也看到了精益思想带来的原创 2016-03-23 07:44:53 · 23160 阅读 · 40 评论 -
寻ta驿站成长记二
过去的一些日子里,仍然还在为自己的博客与寻ta驿站撰写一些内容。流量并不会像想象中一样来得快,但是似乎在慢慢的成长也印证了一个道理。成功会带来成功。在这里不得不说的一句话便是:失败并不是成功的先决条件。博客与内容刚开始的时候,自己的博客没有影响力,虽然已经有了不够的内容。也印证了一句话是错误的酒深不怕巷子深。真正为博客带来流量的怕就是物联网系统,这个影响力的关键词,排名谷歌第一的关键词果然带来更多原创 2014-06-06 09:05:09 · 2611 阅读 · 0 评论 -
持续学习
如果说持续交付则是一种对卓越的追求,那么持续学习应该就是追求软件卓越。 如果说持续集成是一种软件开发实践,那么对于技术人员来说——持续写作应该就是持续学习的实践持续学习生活总会遇到压力,来自工作上的也好,来自对于技术上的兴趣也罢,我们需要持续来断地学习。没有一直能立于不败的方法,在传说中的武林上也是如此。对于持续学习来说,通常会有以下的阅读编程写作有意思原创 2014-05-10 16:45:01 · 2676 阅读 · 0 评论 -
致关闭清华大学软件源的精英的一封信——你们赢了。
这是如此一个令人失望的消息,这样一个“民主”的国家里面,有这样黑暗的一群人,拿着所谓的国家的钱,却只满足了一已的私欲,他们是微软的忠实伙伴,是收费软件的支持者。他们有着足够的钱拿买正版软件,而他们的钱都是来自于纳税人的钱,而他们不忠于人民,不忠于广大人民群众的想法。他们是自私的,一个国家的主要的核心的大家就那样浪费着来自我们的钱,将之用之于无用的没有益处的,不利于国家软件及自主知识产权的开发,将之原创 2013-03-12 23:39:01 · 4684 阅读 · 0 评论 -
何处的中国计算机文化
说在前头所谓的标题也就是如同程序名的意义一样,自然的一个好的标题能吸引更多的驻足者,当然了,此篇不是送给标题党的,更多的是一些感想吧。谨以此篇献给那些和我一样的程序员,以及为梦想奋斗的人。 关于黑客于此,我也没有必要再对此正名,还是那句话,黑客是指酷爱编程的人,这是起义。至于现在到处泛滥的骇客,至少我现在不想与之有太多的联系或者说接触吧。当然了,我也不想得罪这此人,因为这些人如原创 2012-06-20 20:06:50 · 12374 阅读 · 37 评论 -
我们是码农?还是手工艺人?
大公司里面的程序员是码农,小公司里的程序员是手工艺人。码农意义在于如同工人一样可以被替换,在本行业里面做的事和农田里的劳动者一样简单。问题不在于计算机行业如何如何,关键问题是学得不精。久而久之能力所限便不会有所贡献,故而称之为码农。其如同Java,大公司喜欢Java也是如此,因为Java程序员到处都是,足够的简单,以使得Java程序员如同零件一样,成为码农。原创 2013-09-30 21:07:58 · 2826 阅读 · 1 评论 -
GNU及其操作系统 何处的中国计算机文化(三)
GNU是什么引自官网(http://www.gnu.org/)的定义:GNU 是一个由 自由软件 构成的类 Unix 操作系统 — 自由软件尊重你的自由。你可以选择安装一个完全由自由软件构成的 基于 Linux 内核的 GNU 系统。GNU 工程 创始于一九八四年,旨在开发一个完整 GNU 系统。GNU这个名字是 “GNU's Not Unix!” 的递归首字母缩写词。 "GN原创 2012-07-24 10:46:18 · 5129 阅读 · 0 评论 -
书和nerd
所谓的书呆子,或者说我们通常所理解中的书呆子是这么认为的,也就是死读书的人。之所以,扯得这么远,原因有一部分是和之前的那书有关,不过当然本文也绝对是瞎扯,不会有所指,也没有特殊的含义。只是为了娱乐而娱乐的一个娱乐嘛~。这个话题是在偶然间联想到的,所谓的nerd自然和书呆子是有所区别的,也和geek也是也有区别的。当然我们还是说一下其含义吧,来自英国的俚语中,一般指偏爱钻研书本知识,将大量闲原创 2012-04-18 15:24:58 · 3575 阅读 · 0 评论 -
黑客文化 何处的中国计算机文化(二)
黑客的含义(PS:此节可参考阮一峰关于黑客的含义:http://www.ruanyifeng.com/blog/2011/04/on_hacker.html,至于其由来我们也可以由此断定是在国外。)简单的说引用,引自最后一个真正的黑客&自由软件创始人Richard Stallman的话,出于某个兴趣,解决某个难题,不管他有用没用,这就是黑客。(原文:Playfully doing some原创 2012-06-30 15:03:57 · 5299 阅读 · 0 评论 -
两种不同的移动构架
如果对于移动开发,你的知识还仅仅限制于响应式设计,那么这是远远不够的。作为一个开发人员不得不去处理一些老旧的框架,同时添加一些新功能。为了不仅仅是更好的适应需求,有时也是为了方便更好的扩展。分享一下,今年来玩的两个不同网站的移动扩展之路,一个是自己的网站,一个则是与女友建设中的一个寻找有趣的人、事、物的网站——寻ta驿站。一次传统网站的移动开发对于一个传统的网站来说,仅仅是Responsive是远原创 2014-06-17 20:36:59 · 3223 阅读 · 0 评论 -
程序员如何提高影响力
影响力,让梦想离你更近。试想一下,有一天你开发了一个新的语言。它比现有的某某主流软件,运行效率将提高了50%,开发效率提高了100%。接着,你在github上release了0.1,但是由于出现某个开发难题,你需要别人的帮助。而这时,你找不到有效的途径去找到那些真正会用它的人。接着出现了一个新的语言可以达到一样的效果,而这个项目就死于腹中,我记得mruby刚刚只写了一个README.md的时候,就原创 2015-06-01 22:37:57 · 2695 阅读 · 0 评论 -
程序员如何提高影响力2.0
尽管之前已经有一篇非常不错的关于《如何提高影响力》的文章,但是那篇文章缺少一些理论的支持。不知道你发现了没有你在Github上的代码并不比别人差,但是无论你怎么努力你都换取不了同样的关注。当别人开始使用微信公众号的时候,你也开始使用,但是你怎么努力也不及别人的百分之一的阅读量。然而尽管你觉得非常不爽,但是你并不知道为什么!我记得mruby刚刚只写了一个README.md的时候,就获得了上千个star原创 2016-01-12 20:37:53 · 2458 阅读 · 1 评论 -
Growth——帮助你成为顶尖开发者的APP
日子过得很快,三周就这样过去了,转眼间在Github上已经又多了六百多次commits。轻轻松松代码就过万了,看来我也是蛮拼的。不过,灵感来了的感觉还真是好 ~~。Growth介绍作为一个编程的学习者,我们总要学习很多的知识,但是什么时候学习什么知识就是一个非常有意思的话题。而且,我们也希望可以在一开始的时候对很多东西都有一个非常好的了解。这就是Growth的Day页面。如上图所示:在这个页面里,我原创 2016-01-18 20:59:44 · 3428 阅读 · 0 评论 -
Repractise基础篇:Web应用开发七日谈
Repractise基础篇:Web应用开发七日谈本来想的只是画一个如下的七日图来说说Web开发的,随后又想了想这似乎是一个非常棒的Web开发相关的知识介绍。应用开发是一个很有意思的循环,多数时候我们总会觉得别人的代码写得不好。即使它使用了一种非常好的设计,我们也可能会觉得他很复杂。而它总结下来就是下面的七天过程里发生的一些事情。七日谈其实对于Web开发,有下面这张图就足够了。第一天:新的开始 我原创 2015-12-28 12:36:16 · 2463 阅读 · 0 评论 -
听我说说我的博客: 月访问量过万的个人IT博客的技术史
过去曾经写过一系列的文章,试图去鼓励更多的人去写文章。从毕业前的《成为笔杆子》、《写作驱动学习 》、《重新思考博客的意义 》,到工作后的《如何提高影响力》,都在试图去向人们展示写博客的可以促进自己学习、提高自己的影响力。等到工作以后,发现想写的人是没有时间,不想写的人不存在时间。人们陷入生活的怪圈,越是加班越没有时间学技术,越是没有时间学技术越是需要加班。前言我尚不属于那些技术特别好的人——我只原创 2015-10-29 23:38:37 · 3620 阅读 · 4 评论 -
After 500: 写了第500篇博客,然后呢?
偶然间发现博客已经有498篇了,昨天写了一篇,然后今天500了。以前是算是一个文学爱好者,后来渐渐发现了这个世界上还是有很多有意思的东西——编程。在我学会如何写好800字作文的时候,不知道已经写了几千行代码,然当时年少。在不经意间写下了第一篇技术博客之后,又写下了一篇,几个评论后发现对别人还是有帮助的。实习的时候经常被教导着输出等于大量的输入。意思便是你在向别人讲述的东西,收获更多的人是你。不过,我原创 2015-09-17 09:13:18 · 2610 阅读 · 2 评论 -
ReThought (二): 如何照顾团队中的新人
当我们在说照顾的时候,我们实际上是在给新人减压。当我们在说容忍犯错的时候,我们实际上说你可以犯一两个错误。减压更像是在塑造一种更好的学习体验,或者说更愉快地学习方式。学习与构建系统 学校的时候,学习倾向于理论性的学习。工作的时候,学习倾向于应用性的学习。两种不同方式有着不同的区别,即一个广度,一个深度。在构建系统的时候,通常我们需要一个基本能工作的系统,其次在系统不断开发的过程中。我们对于深度了解的原创 2015-09-11 08:42:19 · 2341 阅读 · 1 评论 -
ReThought (一): 如何构建理想的开发团队
ReThought (一): 如何构建理想的开发团队引言: 过去,关于理想的开发团队似乎是一个热门的话题,所以我也来凑凑热闹。人们想要理想的开发团队,只是因为在传递知识的时候很痛苦。人们总在说,这个地球多你一个不多,少你一个不少。假想有一天你们团队中的主力走了,那么你们的团队会怎样?塞翁失马,焉知非福。也许上个月我们团队里走了个汉子,来了一个萌妹子。也许下个月会走个老人,那必然也会来个新人。对于个人原创 2015-09-09 22:01:11 · 2607 阅读 · 2 评论 -
代码有价,思想无价
代码有价,思想无价作为程序员的我们为这个世界创建了一个又一个的创作工具——Word、Tex、Lotus、Libreoffice等等,而我们只是用其中的一个种类Emacs、QT、Visual Studio、VIM、Xcode等等,将其用来开发其他工具的创作工具。我们用创作工具创作出来的代码,有的可以如同散文般优美的,有的却只能像是我们在小学时候刚写字的模样。码农很便宜,因为他所会做的是一般人原创 2013-11-15 15:25:28 · 3263 阅读 · 0 评论