一切福田,不離方寸,從心而覓,感無不通。

WordPress安装插件报错解决办法

今天多说评论插件遇到点问题,就把原来的删除掉,想重新安装一遍,再次安装的时候遇到:无法安装这个包。 PCLZIP_ERR_MISSING_FILE (-4) : Missing archive file ‘C:\WIN….很长一段,不知道什么原因,就在网站搜了一下,原因可能是windows server权限的问题。最终在找到了一个解决方法。指定wp的临时文件夹路径,避免默认的文件夹在windows下没有权限。方法如下: 打开wordpress根目录下的wp-config.php文件 找到如下: /** WordPress 目录的绝对路径。 */ if ( !defined(‘ABSPATH’) )     define(‘ABSPATH’, dirname(__FILE__) . ‘/’); 在下面增加如下代码即可: /** 指定WordPress的临时目录 */ define(‘WP_TEMP_DIR’, ABSPATH . ‘wp-content/temp’); 最后再wp-content文件夹下新建个temp文件夹,然后再更新或下载插件试试。 from:http://blog.csdn.net/xiangqiao123/article/details/14119715

龙生   20 Jul 2016
View Details

2016年那些永远离我们而去的技术产品

戴尔、谷歌与微软等一众厂商都在2016年砍掉了自家前景无亮的产品或服务。 出来混早晚要还的 技术厂商的资源是有限的,因此每年都需要对自家产品组合进行梳理。黑莓、戴尔、谷歌以及微软等厂商在今年给出了自己的答案。 Windows IE 8、9与10 微软公司于今年1月提醒客户称,其即将终止对IE 8、9与10浏览器的官方支持,同时敦促使用者升级至IE 11或者Edge。IE 8、9与10仍可继续运行,但必然面临更多安全风险。IE浏览器最初诞生于1995年。 摩托罗拉(品牌) 摩托罗拉公司于2011年被一分为二,其中摩托罗拉解决方案公司继续从事电信业务,而摩托罗拉移动公司则于2012年被谷歌收购,并于2014年由联想接手。今年早些时候,摩托罗拉品牌被正式弃用。不过联想公司当然不会让自己的收购资金打水漂,其决定在自家消费级移动设备中使用更酷的Moto商标。 黑莓Classic 在推出BlackBerry 10以及Android设备之后,黑莓公司于今年7月宣布正式中止黑莓Classic手机的开发与销售。黑莓公司COO Ralph Pini在一篇博文中写道:“这曾是一款超出受众预期、并为消费者带来巨大生产能力的设备。然而,Classic已经度过了自己的生命周期,无法适应当下对智能手机的需求。我们已经准备好迎接这一变化,并为客户提供更出色的产品——在保证智能手机最佳生产效率的同时,继续保持传统安全性与血统优势。” TeslaCrypt勒索软件 作为一款专门面向游戏相关内容的勒索软件,TeslaCrypt勒索软件的开发者们意外宣布于2016年中止其运作,同时向研究人员共享了一套主密钥以创建文件解密工具。TelsaCrypt最初出现于2015年年初,并从受害者身上夺取了数万美元赎金。有人认为TelsaCrypt的开发者们可能已经改邪归正,但我们最好还是保持谨慎的乐观态度。 Facebook Parse Facebook公司于今年1月宣布,其将关闭于2013年推出的、由开发者们用于将无数应用接入云端的移动后端即服务项目。Parse的生命周期将于2017年1月28日正式终止,而艰难的迁移流程已经正式开始。Facebook公司本身可能也面临着新的难题——此次失信可能导致开发者不愿购买其新型开发工具。 智能手机版Firefox OS Mozilla公司于今年2月表示,其将在今年5月正式停止对移动设备版Firefox OS的开发工作,而最终版本也将永远定格为2.6。不过根据Mozilla方面的说法,该操作系统堆栈还将继续存在于智能电视以及其它物联网设备当中。 谷歌Picassa 2015年发布的基于云后端的谷歌Photos(拆分自Google+)将接过图片及视频分享及存储的重担,这也意味着基于桌面与Web的Picassa将彻底退役。该服务诞生于2004年,而且很明显Picassa一名显然源自著名画家毕加索。 微软(Skype) Qik 这是那种我们可能根本感受不到的项目终止方式。微软Skype团队在博文中提到,Skype Qik之所以被砍掉,是因为其过去几年中Skype一直在迎来新的类似功能,这意味着Qik不再有存在的价值。Skype于2011年吸纳了Qik短视频消息服务方案,而Skype Qik随后于2014年推出。 AT&T 2G网络 关于5G无线网络的火热讨论似乎表明其将在不久的未来全面普及,那谁还愿意使用2G网络?有鉴于此,AT&T公司决定到今年年底前彻底取消2G网络,而继续保留3G与4G。所以如果大家的陈旧设备只能支持2G,那最好赶紧升级了。 面向移动设备的英特尔凌动处理器 芯片巨头于今年4月表示,其将放弃凌动处理器,转而利用代号Sofia与Broxton的新方案支持移动设备。英特尔方面曾在过去几年中向这款移动处理器投入数十亿美元,但却仍然无法帮助其完成大规模普及。 戴尔Android平板 戴尔公司于今年1月表示其将退出Android平板市场,转而专注Windows二合一设备。这意味着Venue产品线与Wyse Cloud Connect袖珍计算机将彻底消失。与此同时,戴尔方面表示二合一设备将逐步进军企业市场。 原文标题:2016 technology industry graveyard 原文链接:http://www.networkworld.com/article/3094024/microsoft-subnet/2016-technology-industry-graveyard.html#slide12 【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】 from:http://developer.51cto.com/art/201607/514514.htm

龙生   20 Jul 2016
View Details

外媒速递:Web设计师们不容错过的十款JavaScript库与插件

外媒速递是核子可乐精选的近日国外媒体的精彩文章推荐,希望大家喜欢! 本期给大家推荐的是Web设计师必备的JavaScript库与插件、数据挖掘工具、如何招揽出色的移动应用开发者和敏捷与DevOps之间的区别等。 一、Web设计师们不容错过的十款JavaScript库与插件 原文标题:10 JavaScript Libraries and Plugins For Web Designers 时至今日,网站开发已经成为技术领域发展速度最快的分支。而在其中,JavaScript正扮演着不可或缺的核心角色。目前与之相关的工具、插件、库等资源不胜枚举,下面,我们将从中挑选出最值得关注的十种: 1. Layzr.js 2. Dense 3. Full Page.js 4. Lunr.js 5. Lity 6. Dynamics.js 7. Accordion Pro JS 8. Arbor.js 9. jNotify 10. jQuery Form Validator 二、十款最佳数据挖掘工具助你打造分析仪表板 原文标题:10 Best Tools To Build Analytics Dashboard 各类高级数据挖掘工具的不断涌现让我们得以处理日益增长的企业存储数据,进而从中提取有价值信息。而越来越多的可视化工具降低了我们获取数据洞察能力的门槛。当利用仪表板处理数据分析结论成为主流,我们自然不能在这场变革中屈居人后。 1. DashThis 2. HappyMetrix 3. Analytics Portfolio 4. Geckoboard 5. ZoomCharts 6. MicroStrategy 7. Google Analytics Solutions 8. Klipfolio 9. Cyfe 10. IBM Watson Analytics 三、管理者必读:如何招揽真正出色的移动应用开发者? 原文标题:10 Tips to Hire the Perfect Mobile App Developer for Your Project 移动应用开发工作的重要性已经毋庸置疑,招聘相关技术人员也成为令众多管理者头痛的难题。除了令人心动的薪酬之外,我们还需要擦亮双眼来辨别真正身怀绝技的人才。下面来看这十条移动应用开发人才的重要判断标准: 1. 开发经验 2. […]

龙生   20 Jul 2016
View Details

27 个 iOS 开源库,让你的开发坐上火箭吧

1. DZNEmptyDataSet 这本应该是iOS中一个标准、内置的解决空table和collection view的方式。默认的如果你的table view是空的,屏幕就是空的。但这不是你能提供的最好的用户体验。 用了这个库,你只需要遵循一系列协议,iOS会优雅地接管你的collection view并且会正确、好看地显示给用户信息。很明显,每个iOS项目都应该采用。 这是完全可自定义的。 CocoaPods: pod ‘DZNEmptyDataSet’ GitHub 2. PDTSimpleCalendar 你的app是否需要一个简单、好看并且有效的日历组件呢? 现在你有了——PDTSimpleCalendar很有可能是最棒的iOS日历组件。有很多方式来自定义它,逻辑有效而且好看。 CocoaPods: pod 'PDTSimpleCalendar' GitHub 3. MagicalRecord 他们说,Core Data很简单。他们说,它很好很简单。哈哈,你是认真的吗,苹果?一顿陈词滥调的代码被添加到每个项目里,这真的不够优雅和简单。更不用说添加、移除和更新很多实体,保存上下文,为不同的环境创建不同的Core Data栈,等等等等。我当然很喜欢Core Data,但是苹果真的可以通过一个简单的好方法来简化它——MagicalRecord方法。 MagicalRecord的工作就像一个Core Data的包装,并且向开发者隐藏了所有无关的东西。如果你曾经用过活跃纪录模式(例如Ruby on Rails),那你已经掌握它了。如果你在app里用Core Data的话真的真心推荐这个库。 CocoaPods: pod 'MagicalRecord' GitHub 4. Chameleon 如果你读到了这一点,你是一个很好的程序员,而不是一个设计师。这就是为你准备的。 Chameleon是iOS的一个颜色框架。它用好看、摩登的扁平化颜色扩展了UIColor。它也给了我们能力来创建调色板,里面是我们自己定义的颜色。它可以做很多其他事,探索readme文件。如果你想要好看的应用程序,快把这个库加到你的项目里吧。 Chameleon基础扁平化颜色 CocoaPods: pod 'ChameleonFramework' GitHub 5. Alamofire Alamofire是一个用Swift写的优雅的网络库。你曾经用过AFNetworking吗?ALamofire是它的弟弟。年轻也更有才华,当然啦(AFNetworking是用Objective-C写的)。 需要做网络相关比如下载、上传、获取JSON等等?Alamofire是为你准备的。GitHub上8000人的选择不会错。 CocoaPods: pod 'MagicalRecord' GitHub 6. TextFieldEffects 你不觉得标准的UITextField有一点无聊吗?我也是——所以对TextFieldEffects说hello吧!我不会写太多,我只会展示你一些这个库可以做的例子: 是的,这些就是简单的易用的控制器。你甚至可以用storyboard里的IBDesignable! 不幸的是这个库不支持CocoaPods(如果你来自未来,而这在一些时间之前改变了的话,请在Twitter上让我知道),但它支持Carthage。你也可以简单的从GitHub下载项目,并且把它添加到你的workspace里。 Carthage: github "raulriera/TextFieldEffects" GitHub 7. GPUImage 你曾经创建过一个摄像机app吗?如果没有,看完这个库你就肯定会的。 GPUImage可能性 GPUImage提供我们一个GPU-accelerated摄像头效果(图像和视频都可以),熊熊燃烧般的速度。App Store里有几百个app使用这个库——其中就有我的一个: 我的一个app中用的GPUImage GitHub上8869个收藏并且还在持续增加。 CocoaPods: pod 'GPUImage' GitHub 8. iRate 在App Store获得更多评价最好的方式是什么?我没有明确的数据来回答这个问题,但如果要我来猜测的话,我会说只要简单的询问用户就可以了。也许这是一个老套的方式——大部分开发者现在创建自定义的app内置提醒——但如果你没有时间或者不想所有事都从头做起,用iRate比不用要好。并且这就是iRate——一个小库,你包含在你的项目里并且忘记询问用户去评价了——iRate会自动替你完成,在合适的时间里。 CocoaPods: pod 'iRate' GitHub 9. GameCenterManager 喜欢或讨厌一个人,在这种情况下管理Game Center非常简单,只需要一点我们最著名的反模式的帮助(你的游戏里只有Game Center,对吧?) 诚实地说,在iOS里香草管理Game Center并不是那么困难,但用这个库就是简单和快速。更好的是好的敌人。 […]

龙生   20 Jul 2016
View Details

给 PHP 程序员的 10 款最佳 IDE

准备好好学习学习PHP了吗?那么你首先应该考虑用什么开发工具(IDE)。市面上有很多这类工具,收费的有,免费的也有,选择起来并不轻松。 如果你说PHP编程用基础的文本编辑软件就可以了,比如用记事本。是的,这对于业余爱好者来说绝对可以。但选择一款功能丰富而完整的开发软件还是要好一些,尤其是专业开发者更有必要。这些软件如:NetBeans, PHPStorm, VIM, Zend Studio, Cloud9或Atom。 好的开发工具富有特点而且能够帮助开发者快速高效地编辑程序,它是开发者的基本需求,磨刀不误砍柴工,提前花点时间选择一款适合的开发软件是为上策。 那选择哪一款呢, 这个问题要看你的需求、偏好和预算。 选定一款之前试用几个也不错。 大量PHP开发软件支持跨平台系统,能用于Windows,Linux和Mac,而且提供免费下载。 对于初学者,我的建议是,你可以随意选择一款免费的,可用就行。 比如:NetBeans,VIM,Atom或Eclipse PDT。 企业和专业开发者可以用这些免费的开发软件完成程序编辑,但同时也有很多收费的平台因为整合了很多最新和更进步的功能特性而备受企业开发者的青睐。随便举几个,比如:PHPStorm, Sublime Text, Zend Studio, Nusphere, PHPED, PHP Designer和 Cloud 9等。 假如你只是想用PHP做简单的应用而非构架一整个系统,那么你也可以试一试那些线上的PHP开发工具,比如说PHPfiddle.com。 更简单的你可以选用witephponline.com和ideone.com。 好了,那让我们来看一下被全世界开发者们公认的10个优秀的开发工具吧。它们功能丰富,广为流传,最为先进而且备受喜爱。 1. NetBeans – 最好的PHP IDE (免费版本) NetBeans是供普通大众使用的PHP IDE,它功能丰富、免费并且支持多国语言,其中包括英语、日语、俄语、巴西葡萄牙语以及简体中文。NetBeans的免费版本的发布日期要回溯到2010年,Sun Microsystems开始将其作为开源项目发展,后来Sun Microsystems成为了Oracle的子公司。 自发布以来,NetBeans的下载次数已超过1800万次,同时拥有一个最大的致力于开源集成开发环境的开发者社区。 过去,NetBeans的用途很少,只能进行Java开发,但现在,这样的日子一去不复返了,NetBeans目前的稳定版是轻量级的、速度更快并且全面支持PHP。对于像Zend、Doctrine、 Smarty和Symfony2一类的流行PHP框架以及像Yii、CakePHP、 FuelPHP和Wordpress CMS一类的其它框架提供了开箱即用的支持,也通过laravel-ide-helper提供了对Laravel框架的开箱即用支持。 让NetBeans位居榜首的关键特性是拥有很多代码生成工具,像getter setter生成、代码模板、智能代码补全、提示、快速修复和重构等。另外还支持一些基本特性,包括代码折叠和格式化、try/catch代码补全以及矩形选区等。 当进入调试阶段时,你可以在本地或者远程使用命令行或者xDebug。NetBeans PHP编辑器对包括 javascript、HTML和CSS等web开发都提供了开箱即用的支持。所有这些特性轻而易举地使得NetBeans成为最好的开源PHP IDE。 阅读更多有关NetBeans的内容请访问官方网站netbeans.org。 2. PHPStorm- 最好的PHP IDE (商业版本) PHPStorm 是全功能的PHP IDE,其拥有最现代化的功能集可以快速便捷的进行网页开发。它由名叫JetBrains的公司开发并销售。 在过去的15年中,在开发工具的市场中JetBrains是最受人喜爱的公司,它使得编写代码更加的轻松和愉快。 PHPStorm 很好的支持主要的框架比如Symfony, Zend Framework, Yii, CakePHP, Laravel以及主要的CMS系统如Drupal, Magento 和Wordpress。 不是所有的Web开发项目都没有前端技术,这也正是PHPStorm耀眼之处, 它几乎提供了所有前端技术的实时编辑功能比如CSS, Sass, HTML5, CoffeeScript, TypeScript, JavaScript, Stylus, Less等等。同时还支持代码重构,调试和单元测试。 从发工具方面来说,它提供了版本控制系统,sql数据库,composer, 远程部署,vagrant,其他的客户端,命令行工具等诸如此类的功能。 从调试的角度来说,它支持Zend Debugger和Xdebug,也同时支持本地的或远程的。 PHPStorm是企业级IDE, 需要授权费用,主要的目标是专业的开发人员,但是它同时为教师,学生或开源的项目免费提供。 PHPStorm的普及程度可以从一个事实来衡量,就是众多的大公司如Expedia,Yahoo, Cisco, Salesforce 和wikipedia都曾有购买过PHPStorm IDE的授权。 你可以在以下地址下载PHPStorm试用版 […]

龙生   20 Jul 2016
View Details

几种基本的数字正则表达式[转]

只能输入1个数字 表达式  ^\d$ 描述  匹配一个数字 匹配的例子  0,1,2,3 不匹配的例子 只能输入n个数字 表达式  ^\d{n}$ 例如^\d{8}$ 描述  匹配8个数字 匹配的例子  12345678,22223334,12344321 不匹配的例子 只能输入至少n个数字 表达式  ^\d{n,}$ 例如^\d{8,}$ 描述  匹配最少n个数字 匹配的例子  12345678,123456789,12344321 不匹配的例子 只能输入m到n个数字 表达式  ^\d{m,n}$ 例如^\d{7,8}$ 描述  匹配m到n个数字 匹配的例子  12345678,1234567 不匹配的例子  123456,123456789 只能输入数字 表达式  ^[0-9]*$ 描述  匹配任意个数字 匹配的例子  12345678,1234567 不匹配的例子  E, 只能输入某个区间数字 表达式  ^[12-15]$ 描述  匹配某个区间的数字 匹配的例子  12,13,14,15 不匹配的例子 只能输入0和非0打头的数字 表达式  ^(0|[1-9][0-9]*)$ 描述  可以为0,第一个数字不能为0,数字中可以有0 匹配的例子  12,10,101,100 不匹配的例子  01, 只能输入实数 表达式  ^[-+]?\d+(\.\d+)?$ 描述  匹配实数 匹配的例子  18,+3.14,-9.90 不匹配的例子  .6,33s,67-99 只能输入n位小数的正实数 表达式  ^[0-9]+(.[0-9]{n})?$以^[0-9]+(.[0-9]{2})?$为例 描述  匹配n位小数的正实数 匹配的例子  2.22 不匹配的例子  2.222,-2.22, 只能输入m-n位小数的正实数 表达式  ^[0-9]+(.[0-9]{m,n})?$以^[0-9]+(.[0-9]{1,2})?$为例 描述  匹配m到n位小数的正实数 匹配的例子  2.22,2.2 不匹配的例子  […]

龙生   19 Jul 2016
View Details

验证数字的正则表达式

验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^\d+$ 验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 验证长度为3的字符:^.{3}$ 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由26个小写英文字母组成的字符串:^[a-z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 验证汉字:^[\u4e00-\u9fa5],{0,}$ 验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 验证身份证号(15位或18位数字):^\d{15}|\d{}18$ 验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。 整数:^-?\d+$ 非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$ 正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 浮点数 ^(-?\d+)(\.\d+)?$ ×××××××××××××××××××××××××××××××××××××× 以下未经测试,请验证后使用 1.只能输入数字和英文的: <input onkeyup="value=value.replace(/[\W]/g,") " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,"))" ID="Text1" NAME="Text1"> 2.只能输入数字的: <input onkeyup="value=value.replace(/[^\d]/g,") " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,"))" ID="Text2" NAME="Text2"> 3.只能输入全角的: <input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,")" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,"))" ID="Text3" NAME="Text3"> 4.只能输入汉字的: <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,")" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,"))" ID="Text4" NAME="Text4"> 5.邮件地址验证: var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$" var re = […]

龙生   19 Jul 2016
View Details

这些编程语言程序员工资最高!C#才第九

在众多行业中,程序员属于高薪职业。无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作岗位。 高薪的诱惑和充满挑战性的工作,令程序员一直成为备受欢迎的职业。在今年年初,Glassdoor发布的一份调查报告指出,在美国,程序员的就业情况仍然向好。据报告显示,在排名前25位的最能赚钱和需求量最高的工作岗位中,超过一半以上的岗位要求求职人员具备编程技术。因此,要想获得高薪不是一件容易的事情,你得有过硬的本领。 14种最具“吸金”能力的编程语言 据美国Rasmussen College(拉斯姆森学院)在2015年5月发表的一篇文章显示,在数以百计的编程语言中,以下14种编程语言最具“吸金”能力。 文章指出,这个结果是拉斯姆森学院收集了在2014年发布的1800万个招聘广告,以“平均年薪”和“招聘职位”两个指标为基础进行分析而得出来的。 (数据来源:Rasmussen College) 而在Indeed.com今年发布的调查数据则显示,根据编程工作的数量,排在前九位的编程语言如下: 图片来源:www.indeed.com 学习哪种编程语言可以赚到更多钱? 不同的编程语言适合不同的系统,不同的工程师也需要掌握不同的编程语言。 后台或服务器端的程序员通常都懂得Python, Ruby, PHP, Java或 .Net以及数据库的知识。前端或客户端的程序员掌握的编程语言主要是HTML, CSS和JavaScript,能力全面的程序员还具有设计能力。 移动应用的程序员懂得的语言是用于iOS 的Objective-C 或安卓系统的Java, 还有用于移动网站的HTML/CSS,他们当中有些人还懂得服务器的知识。3D或游戏开发者懂得 C/C , OpenGL和动画,同时具有艺术能力的程序员会更有优势。高效程序员懂得C/C 和Java,有的人还有数学和定量分析的能力。 如果你并不介意工程师的类型,Python, Objective-C, JavaScript, HTML和CSS这五种语言是值得学习的。因为每年它们都会出现在“最受欢迎的编程语言”名单中。此外,作为程序员,你还应该学习一些数据库,例如MySQL, MongoDB,而且要学习如何使用它来编程。 出处:网易科技 from:http://www.oschina.net/news/75295/these-programming-language-programmers-pay-the-highest

龙生   18 Jul 2016
View Details

React Native 源码笔记——你知道几条?

ReactNative是Facebook开源的一种实现移动跨平台开发的解决方案,目前在业界得到广泛应用,这里有非常详细的中文使用指南。本文主要分享RN源码中一些值得大家学习或者借鉴的代码或者编写技巧等,供大家学习参考。 整个RN库包含10多个工程,有兴趣的童鞋可以下载源码查看具体细节,在此不再展开。 宏定义巧用 整个ReactNative源码工程中用到了大量的宏定义,包括RCT_EXTERN、RCT_NOT_IMPLEMENTED、RCT_EXPORT_METHOD以及RCT_EXPORT_MODULE等申明宏或者功能宏。通过宏定义的方式,可以非常方便嵌入功能代码或者逻辑实现,重用代码的同时又保持了代码的整洁性。 比如,ProtocolKit工程中,作者通过宏定义@defs将Protocol接口巧妙的实现在.h文件中,代码简介明了,又不失功能完整性。当然,RN工程中,RCT_NOT_IMPLEMENTED宏也有相似作用,实际项目中各位也可以尝试通过宏定义实现一些常用功能模块。 关于iOS宏定义的文章有很多,在此推荐两篇非常不错的文章:RAC中必须要知道的宏、ios宏的使用和技巧。 环境变量 iOS开发中,各位对#ifdef DEBUG应该非常熟悉,通过判断该条件,可以区别当前运行环境是Debug环境还是Release环境。比如Release环境下通过重定义NSLog以屏蔽所有日志输出: ? 1 2 3 4 5 #ifdef DEBUG   #define NSLog(…) NSLog(__VA_ARGS__)   #else   #define NSLog(…) {}   #endif 进一步,是否可以考虑只在联机调试环境下输出日志?此时就涉及联机调试环境的判断,环境变量正好可以解决该问题: Xcode可以在不同环境下自定义环境变量Environment Variables,通过在运行环境Run中自定义变量CI_USE_PACKAGER,此时便可在项目代码中通过getenv()函数判断当前运行环境: ? 1 2 3 if (getenv("CI_USE_PACKAGER")) {   // to do… } 被忽略的硬键盘 相较于软键盘文字符号的输入,对于APP来说,硬键盘的应用开发似乎很容易被忽视,毕竟,通常情况下,硬键盘输入只会出现在模拟器环境下。 iOS7以后,系统定义有硬键盘响应交互类UIKeyCommand,通过UIKeyCommand,APP能够监听硬键盘的特定输入响应,比如Command+D等,当然,前提是APP需要首先监听该输入命令。 UIKeyCommand的使用非常简单,当需要在特定场景触发某一事件,但又不想影响界面显示的时候,不妨试试UIKeyCommand,具体使用可以看看这篇文章。 _cmd iOS官方文档中,_cmd表示当前方法的selector,你可以通过下面代码打印输出当前函数名: ? 1 NSLog(@"Current method: %@", NSStringFromSelector(_cmd)); 当然,实际项目中,你也可以这样使用: ? 1 2 NSNumber *rootTag = objc_getAssociatedObject(self, _cmd) ?: @1; objc_setAssociatedObject(self, _cmd, @(rootTag.integerValue + 10), OBJC_ASSOCIATION_RETAIN_NONATOMIC); 瞧,是不是有点意思! kCFNull 相对于nil NSNull而言,kCFNull笔者接触较少,kCFNull可以理解为NSNull单例对象: ? 1 2 id null1 = (id)kCFNull; id null2 = [NSNull null]; 打印地址: ? 1 2 null1=(NSNull *)0x10426eaf0 null2=(NSNull *)0x10426eaf0 从上面测试结果可以看出它们其实指向同一地址, 可以简单理解为 kCFNull === [NSNull null]。 文本阴影NSShadow APP开发中,程序猿可能经常需要在图片或视频上显示文字,由于背景颜色跟文字颜色相近,导致文字看不清,比如时下火热的直播弹幕显示,为了确保文字显示清晰,开发者一般会配上阴影或者文字描边。 给文本添加阴影描边,系统提供有NSShadow类,可以这样使用: ? 1 2 3 4 5 6 NSShadow *shadow = [NSShadow new]; shadow.shadowOffset = CGSizeZero; shadow.shadowBlurRadius = 5.0f; shadow.shadowColor = [UIColor colorWithWhite:0.0f alpha:0.3f]; NSAttributedString *attString = [[NSAttributedString alloc] initWithString:@"www.olinone.com" attributes:@{NSShadowAttributeName: shadow, NSForegroundColorAttributeName: [UIColor whiteColor]}]; lbl.attributedText = attString; 实际效果是这样的,shadowBlurRadius值越小,文本描边越清晰 主线程判断 判断当前执行线程是否为主线程的方法有很多,比如: ? 1 2 […]

龙生   18 Jul 2016
View Details

Mysql支持的数据类型(总结)

一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。 扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。 整数类型        字节       范围(有符号)      范围(无符号)          用途  TINYINT        1字节        (-128,127)          (0,255)            小整数值 SMALLINT       2字节     (-32 768,32 767)       (0,65 535)         大整数值 MEDIUMINT      3字节    (-8 388 608,8 388 607) (0,16 777 215)      大整数值 INT或INTEGER   4字节   (-2 147 483 648,2 147 483 647) […]

龙生   17 Jul 2016
View Details