编程语言相关技术专家
能力说明:
掌握封装、继承和多态设计Java类的方法,能够设计较复杂的Java类结构;能够使用泛型与集合的概念与方法,创建泛型类,使用ArrayList,TreeSet,TreeMap等对象掌握Java I/O原理从控制台读取和写入数据,能够使用BufferedReader,BufferedWriter文件创建输出、输入对象。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明我一直感觉对着电脑不利于思考,当需要纯粹的思考时,我习惯让视线离开屏幕,起身走动两圈,再用纸和笔整理思路,想清楚后,开始动手编码。 双手端着iPad时,似乎也能有类似纸与笔的组合效果,大脑能适应那种界面习惯。
最近买了不少的书 - 电子的,甚至以看书为由买了iPad。 人到底为什么要看书呢?无聊时看书打发时间,知识量不够时看书找答案,要找的答案不是那些用百度Google一下就能出来的。 当你心里面最想买的那几本书买过以后,基本需求就没有那么旺盛了,这时一般靠阅读软件的推荐、或者公众号文章的推荐。
PHP之所以被人称为“世界上最好的语言”,很大程度上是因为学会语法后就可以直接运用其开发Web应用了吧,而Java基本上不可能。在Java的语言特性的背后,还拖着由Sun公司和社区搞出的一大堆理论和框架,用以支撑所谓的“企业级开发”。
debian系linux发行版的高级软件包管理工具叫apt(for Advanced Package Tool) 。 debian的包管理体系很立体,dpkg -> apt ->aptitude -> synaptic。
不管我们的人生经历了多少个阶段、走得有多远,有一个本质好像没有改变过 - 在一个个的小目标中循环着:不断给自己定目标,在某方面做更好的自己。当然,也有很多人是在被动等待和接受人生的际遇,而且也过有过得滋润的。
有没有一种感觉,日子过得浑浑噩噩的、大脑没有能力想清楚一件事
每种编程语言都有一群固定的用户,对于那些习惯将不同编程语言用成同样的感觉的人来说,最是难受。因为每种语言都有它独特的设计『哲学』和擅长的应用领域。 PHP给大家的一贯的印象都是动态弱类型语言,Python是动态强类型语言。
言语能伤人,也能救人。 今天阅读的代码:http://git.oschina.net/web3d/DiscuzX/commit/0d5de58c626d44f224d8c0c93038f8d44716fcb1 ,自我感觉其中对于package的命名挺有创意的 - @package discuz.x.lib.tree,至少没法往PSR-0或PSR-4规范上靠了。
从我个人的经历来看,阅读优秀的代码,是技术水平提升的最佳途径。记得对进来的每个新人,我都做过阅读优秀代码的要求,但都只能坚持很少一段时间而已。 前晚大家还在开玩笑的讨论,就是因为看了前人的一些代码写法,才学会的一些乱七八糟的花招。
在这家公司熬了两年多,以为终于能做一回主,能按自己这么多年的积累去设定产品逻辑和体验,事实是.....最近,我又要面对另一种形式的产品经理,争论中,好像我居然又是处在下方?搞得我把微信昵称都改了:无嗔,就是告诫自己,不要在心中总是万马奔腾,要看到草原,要看到高山流水。
我一直以为我能打造出一个有格调的技术开发团队,但其实碰到的公司都不具备这样的条件。我不是高帅富,也没有碰到过高帅富的老板(印象中好像是有的,但碰到时还不具备忽悠能力)。 所谓格调呢,简单的说是这样的: 学习氛围、技术沉淀、产品意识 相对轻松的开发节奏,把东西做到位 首先,可以从公司是否拥有所谓互联网思维,来判断一家公司会不会有格调。
小团队做小产品,如果只能追求bigger and bigger的指标,会对细节做很多关注;但如果小团队做“大”产品,则只能先和别人比拼功能的多少,而不能拿细节说事,否则阶段性目标很难达成。 在开发过程中,这两种团队的相应指导思想肯定是不同的。
团队开发,一般都是保守的,因为遗留了庞大的代码资产,没法太激进。这两年开发方向逐渐从社区和B2C转向B2B,对于PHP的一些新特性接触较多,团队项目走出了长期以来PHP 5.2版本时代的风格,进入了PHP 5.6,而能否切换到PHP 7还有待验证。
前面一篇文章里,提到了以前的一个小伙伴,用了类似微博的 @ 写法,没想到系统真的 @ 到他了(其实以前也 @ 过)。@someone 应该是从twitter开始流行的,微型博客中提及某人,对方更得到系统的相应提醒。
花了“大价钱”买了一个域名 - zzm.hk,够短了,其实没有什么含义,但没有其它选择。这样的域名,好像只能指向个人博客站点,或者用QQ邮箱体系里的域名邮箱功能设置一个如 i@zzm.hk (记得给我发邮件)的个人email。
它已超出我们最初的期望,疯狂的期望。 这是刚看的一部电影中的一句台词。往往这就是事实的真相。 最近在读《心经》,也许是希望能从中悟出点什么人生道理罢!但程序员的人生,其实太简单,而且编程之道本身已是大道,够我们悟的。
这个标题背后的潜台词其实是:逼格是什么炼成的? 此处省略一万字。 Emacs就不多说了,神之编辑器,但其快捷键实在是....Evil。好啦,现在来了Spacemacs,结合Vim与Emacs二者的优点而成,真可谓宇宙最强! 官网:http://spacemacs.org/ 安装方法: git clone git@github.com:syl20bnr/spacemacs.git 到~/.emacs.d 目录,然后启动emacs即可。
感觉没货了啊。 每天对着现实,很多问题都是无奈二字,唯有阅读。 阅读对于人的意义,也许并不如进食一道美味的大餐让人在当下就获得愉悦的快感。但它可以让你即使独自一人,也能和世界上最伟大的灵魂作伴。春光明媚的时光里,不如停下你的步履匆匆,静下来读一本好书吧。
发愿,佛教语,谓普度众生的广大愿心,后亦泛指许下愿心。 用比较诙谐的方式翻译过来就是定个理想,但可以先定个小目标。 2017年似乎整个互联网行情表面上不太好,但这才是正常状况。无论做什么行业,做的人多了,就容易陷入严重的同质化竞争;做的人浮躁了,就没法沉下心来做出让用户体验更好,觉得更有价值的产品。
Gambas的IDE环境,有一个软件农场的入口,英文叫GambasFarm,打开后列出了所有发布到农场里的第三方软件,可以安装或下载。 作为一个社区驱动的开源开发工具产品,还花了人力物力财力去做这样的类似"应用商店"的东西,背后可能是有着某种美好的规划,但上面的内容实在很少,点击了下载,进度却始终为0%,而且对话框无法取消和关闭(这种情况应该是某一时刻服务器响应连接状态是排队的,IDE中没有做超时处理,一直处于连接状态,又无法中断连接)。
所谓脚本语言,我们认为它是解释执行。 Go是既可编译执行,又可解释执行的一门编程语言,它算是对标C语言的。 还有一种由社区驱动开发的类Visual Basic的开发环境Gambas,它所支持的编程语言Gambas Basic也是既支持编译运行也支持脚本解释执行的。
Unix哲学是一些先哲们多方位阐述的,有多种说法。可以概括为以下几点: 模块原则:使用简洁的接口拼合简单的部件。 清晰原则:清晰胜于机巧。 组合原则:设计时考虑拼接组合。 分离原则:策略同机制分离,接口同引擎分离。
Pong Godot自带的Demo中有大量更复杂的示例,但这款叫“Pong”的游戏可以对2D游戏的基本特性做一个介绍。 静态资源 本文所用到的一些资源文件:http://files.cnblogs.com/files/x3d/pong_assets.zip 场景设置 考虑到兼容旧设备,该游戏的分辨率设置为 640x400像素,相关操作在项目设置中进行。
在这个创意满天飞的年代,为何你没有做出一款自己的产品?好像有个大家都能接受的结论:聪明人太多! 互联网的出现,打破了个人职业生涯原来普遍需要10年行业沉淀和积累的必要条件,是个人都可以成为产品经理,快速迭代、快速试错,一年抵别人10年。
从老板的角度,只看结果,按时重于按质。在结果面前,可以不论过程、不论手段。因为企业的本质是追求效益。如果只是做公益,你可以只注册一个社会团体。 所以,这就是平凡的公司。平凡,不是贬义,只是客观的陈述。 平凡的公司、平凡的团队,就会流行起绩效。
作为一个团队的技术负责人,如果你被手下的人当众嘲笑连个开发环境都撘不起来时,是微笑面对,还是微笑面对呢? 有时,人要有种觉悟,团队中你无法再像自己一个人编程那样把控所有事情。 我不在意有人说出了这样一件事,在意的是说出这句话的是一个在团队中呆了不短的时间的老员工。
DAO Data Access Object,数据访问对象 DAO是一个软件设计的指导原则,在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。
Javascript由于其作为Web标准的独特地位,很多人甚至希望它能一统前后端开发。 Javascript的本质工作首先肯定的Web前端开发,本文主要想介绍的CodeMirror是一款Web Editor组件。
刚刚撇了一眼,注册博客园已经12年了。时间有时只是个数字,有没有意义呢,自己去判断啦。 像博客园这样的技术社区,很是难得,虽然这个社区里.NET开发者才是一等公民。 我最喜欢的是它的博客系统的高度可Diy性。
前面整理过一篇文章,描述php中的array与json的array和object的转换关系。http://www.cnblogs.com/x3d/p/php-json-array-object-type.html 在实际开发中,如何保障这种关系呢?一般来说,需要定义一些类型来做映射。
这是我在一本书中看到过一种说法,程序员对编程之道的追求大致要经历下面的四个阶段: 1.学会 - 知其所然 掌握一些具体编程知识。 2.会学 - 知所以然 能快速和深刻的理解某项技术并举一反三。 3.会用 - 人为我用 能将所学灵活运用到实际程序设计中。
基于前面的TODO示例,使用Data Binding库来显示数据并绑定UI元素的响应动作。 这个示例并未严格遵循 Model-View-ViewModel 或 Model-View-Presenter 模式,其中既有View Model,也有Presenter。
今天有小伙伴问我:编程路上十年,值不值? 老实说,我不知道怎么回答这个问题。在被问的瞬间,脑袋里也在快速回放着十年多的经历,而所有画面都没法与“值不值”联系起来,所以没有答上来。只是零星的表达了一个观点:前面七八年积累似乎是为了这两年的爆发。
制作插件 下文仅针对2.1版本。 关于插件 插件是为编辑器扩展出更多有用工具的重要方式。它可以完全用GDScript和标准场景开发,甚至都不需重新加载编辑器就可生效。不像模块,你无需创建C++代码、也无需重新编译整个引擎。
概述 该示例(TODO-MVP)是后续各种示例演变的基础,它主要演示了在不带架构性框架的情况下实现M-V-P模式。其采用手动依赖注入的方式来提供本地数据源和远程数据源仓库。异步任务通过回调处理。 注意:MVP中View的概念是有所不同的: android.
一直都知道Web打印还不太成熟,以前IE横行时,普遍都是采用打印相关的ActiveX控件,有些国产厂家做得不错,只是那时还没有付费能力,没有太多关注。而纯粹基于Web标准的打印,浏览器对CSS print media特性支持不够好、以及打印机的兼容性问题。
有价值主要是指对他人有价值的点,而这个命题是否成立在此略过不谈。 我翻看博客中一些访问量高的文章时,分析这些文章的内容,发现其可能是其他程序员也会碰到或需要解决的一些问题点。这样的文章一般通过搜索引擎过来,如果我描述得不清晰的,别人甚至会留言询问。
数组是固定长度的,依稀让我想起了VB;切片是动态的;map一般是键值对 package main import ( "fmt" ) func main() { var username string fmt.
panic来自被调函数的信号,表示发生了某个已知的bug。一段良好的程序永远不应该发生panic异常 对于大部分程序而言,永远无法保证能够成功运行,因为错误原因往往超出程序员的控制范围。任何进行io操作的程序都会面临出错的可能,只有无经验的程序员才会相信读写操作不会失败。
面向企业级市场,一款网页浏览器的很多特性不是说改就改,说丢弃就丢弃。就像微软不能抛弃IE一样,Firefox也有类似的定位和使命。 Firefox即尝试提供企业级市场所需的特性稳定的软件版本(LTS),又是Web新技术的实验田,从推广W3C组织的Web标准(虽然有段时间它的内核是对Web标准支持程度最低的)、支持最新Web标准,到WebGL、WebVR等技术领域,都是领导者;当然,它目前的市场份额是比较低了。
除了明面上的一些更新,但我感觉最重要的是触摸板的行为特征又还原了。
“背书”来源于英文Endorse,原意是在支票的背面签名为其效力担保的意思。背书的人就会对这张支票负某种程度、类似担保的偿还责任。 品牌为了增强其在市场上的承诺强度,通常还会借用第三方的信誉,然后第三方以一种明示或者暗示的方式来对原先品牌的消费承诺作出再一次的确认和肯定。
平庸的定义:碌碌无为,寻常且不突出。 因为自己很平庸,有时都有点拒绝周围人也平庸的环境。 如何改变平庸的状态?每一年给自己制定几个小目标!可以从几个角度进行: 1. 时间 成为一个技术领域的专家,需要你持续的投入10000个小时的钻研;今年你将投入多少个小时在技术上? 2.
Application 这个单词的基本含义为“应用”,在计算机术语里,中文通常翻译为“应用程序”。其实叫“应用”是准确的,而叫“应用程序”稍微有点问题。 “程序”在英文中叫Program,原意是安排节目、制定计划;这个含义大家对应一下,就可以理解“Program”在计算机术语里有什么含义了。
这个周末没有翻译文章,也没有写代码。本来有想写点weex相关的代码,但尝试了两三个小时后,放弃了。主要是原因是npm那些无止境的包依赖,随便找一个库,要依赖57个其它的库,看得蛋疼。 我记得当年放弃java,也是这个原因,总是依赖一大堆的jar包。
编写脚本(Scripting) 简介 关于无需编程即可创建视频游戏的那些工具的谈论有很多。不用学习编程知识对很多独立开发者来说就是一个梦想。这种需求 - 游戏开发者、甚至在很多公司内部,希望对游戏流程拥有更多控制权,已经有很长一段时间了。
场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这是一种设计语言 场景实例化真正强悍的地方就在于它是以一种卓越的设计语言的机制运行的。
场景实例化(Instancing) 原理阐述 创建一个场景并将节点扔到里面对于小项目是适用的,但随着项目不断发展,用到越来越多的节点,整个项目很快就会演化成难以管理的状态。 为了解决这个问题,Godot允许一个项目分割成多个场景。
前面某个时间我自己分析过,其实我最擅长的不一定是技术,而是翻译。 技术创新何其艰难,但英翻中,文字的映照,确是我可以做的一点事情。
场景(Scene)与节点(Node) 简介 先设想有那么一瞬间你自己不再是一名游戏开发者了,而是一名大厨! 你的装备换成了一套大厨的制服。不要考虑制作游戏的事情,你现在的职责是为你的顾客创建新的可口的食谱。