2016年11月,接受了一个工作,是对"悟空CRM"进行一些修补.这是一个不错的 CRM,开源,并提供一个 SaaS 的服务.正好微软的 .NET Core 和 ASP.NET Core 也发布了.于是就有了这个想法:使用 ASP.NET Core 来开发一个 CRM.当然这里面的私心是:朝后坦白讲,悟空CRM 的代码真的是不怎么样.大量的代码堆在 Controller 里,多个功能在一个 EndPoint 里混合.权限管理也有些乱来.View 里充满了"临时解决方案&quo…
创建新项目很简单,File-New-New Project,这个没什么好说的跟Eclipse都差不都. 第二步SDK选择,有手机平板还有Wear,TV,汽车Auto,谷歌眼镜等几个种平台,这里就先选择Phone and Tablet. 最小SDK需要选择以下,可以点击Help me choose将会打开一个版本分布图给你参考 看一下版本图,可见最多的还是4.4,但是为了照顾少数低版本用户,我们在这选择2.2 第三步就问你是否需要添加一个Activity 我这里显示比较乱,因为分辨率比较高,as没…
上一篇说到,因为有新朋友加入,对前端开发有了新的要求.原来基于 Bootstrap 的 UI 就不要了.在网上(其实是 GitHub 上)逛了几圈,最后使用了 antd-admin 这个框架做为基础模板,然后根据悟空 CRM 的特色进行了一些改变: 在原来的 antd-admin 的页面里,应该是属于 SPA 式的后台应用的.而 CRM 这样比较大的系统,完全 SPA 可能有点太大了.所以我就把第个模块拆出来做为一组 pages,这一组 pages 构成一个 SPA.这样,就需要在原来的右上导航…
昨天(2016年12月29日)发了开始开发的文章.本来晚上准备在 Coding.NET 上添加几个任务开始搞起了.可是真的开始用的时候才发现:Coding.NET 的任务功能只针对私有的任务开放.我想Coding.NET 团队可能是出于商业的目的做出这样的选择,但这样我就没法把开发的过程开放出来了.但总要有一个项目管理的方法来展(dun)示(cu)我进行开发,于是我首先想到的是之前在用的团队协作工具:Worktile.然而,Worktime 也是一个针对封闭团队的工具(团队里的每个人都需要确定下…
虽然2月初就回来了,可 CoreCRM 一直到5月才开始恢复开发,期间是各种生活中的意外和不方便. 1. 为什么要重构 首先是一件很值得高兴的事情:CoreCRM 有了第一位 contributor!Larry 是我原来的一位 实习生,现在在某公司做前端开发.因为 Larry 的加入,我就不再是一个人战斗了.当然,也就得考虑怎么进行合作的事情了. 年前的开发计划是:使用 Bootstrap 按照悟空CRM的样子先弄出一个可以用的版本来.然后再使用一些比较好的后台前端框架来代替 Bootstrap…
上一篇文章我提到:为了使用"国货",我把 Linux 上的构建和测试委托给了 DaoCloud,而 Travis-CI 不能放着不用啊.还好,这货支持 macOS 系统.所以就把 CoreCRM 在 macOS 上的构建和测试任务交给它了. 我想国内已经有很多写怎么用 Travis-CI 的博客文章了,我就不需要在这里多费话了.当然,最好的文章其实就是 Travis-CI 的文档:最好的帮助都在 StackOverflow 和 GitHub 上.如果还觉得自己英语不够用,看不懂这些站的…
一.添加其它类库     3.0以上的设计耦合性强,项目中模块常以库的形式存在,需常添加链接库.在3.0中经常用到CocoStudio 编辑器的资源数据,所以需要添加CocoStudio 库. 1.1添加库项目     右键解决方案,添加->现有项目,在弹出框找到文件cocos2d-x-3.x \cocos\editor-support\cocostudio\proj.win32\ libCocosStudio.vcxproj打开. 1.2添加库项目引用     找到MyStudy右键,选择引用…
测试不是问题,问题是怎么测试. ## 单元测试 我认为单元测试已经是无可争议的最佳开发实践之一.但是很多人并不同意这个观点.他们的说法无非是:写测试需要花很多时间,需求又经常变动,一但变动,一大片测试就作废了.这样又浪费时间,又降低效率. 但现实情况是:没有人不测试代码的.哪怕是最牛的开发者,也需要对自己写的代码进行测试.这一点可以去看<Coders at Work>.虽然有一些"牛人"测试的方法很原始--比如使用 `printf` 来查看运行结果.其实,从现代软件组件的角…
再简单的功能,也需要一坨代码的支持.Profile 的编辑功能主要就是修改个人的信息.比如用户名.头像.性别.电话--虽然只是一个编辑界面,但添加下来,涉及了6个文件的修改和7个新创建的文件.各种生成的和手写的代码,共有934行之多. 1. Account 和 Profile 分离 什么是 Account?通常这个词被翻译成"帐户".我的理解是,这个 Model 里的内容,是为了登录而设计的.而 Profile 呢,应该保存那些和登录无关的附加信息,比如昵称.头像之类的.不过,有一点坑…
单元测试的核心就是:只测试眼前的逻辑.这就要求所有的依赖项都要使用仿类来代替,也就是所谓的 Mock Object.在测试 ProfileRepository 和 AccountController 的时候,我遇到了需要对 UserManager 和 SignInManager 进行 Mock 的需求.因为这两个组件相互依赖,还依赖别的组件,我折腾了好一阵才搞定这个问题.具体和方法分两种:直接使用 Moq 进行 Mock 和使用 InMemory Database 进行 Mock.下面分别来说明…
目录 目录 前言 环境 openstack-project-generator 前言 Openstack Developer 应该都知道, 开发一个 Openstack 的新项目并不是一个从 0 到 1 的过程, 而是在一个 Project Template 的框架中, 为其填充 API/DB/Manager 等代码定义和实现. 一般来说, 搭建这个 Template 框架并不困难, 只是太过繁琐. 本篇推荐的开源小项目, 可以非常帮助我们完成这些繁琐的工作, 用法也很简单. 如果大家能帮忙提交…
新项目用swift3.0开发,现在基本一个月,来总结一下遇到的问题及解决方案   1,在确定新项目用swift后,第一个考虑的问题是用纯swift呢?还是用swift跟OC混编      考虑到新项目也不可避免的使用很多第三方库,而第三方库不一定支持swift或者有swift的替代版本,所以最终还是决定混编了: (其实最终决定性因素就是YYModel不支持swift,而目前貌似没有特别好用的swift的json解析库,用惯了那么好用的YYModel之后,再让手写model层真是受不了呀~~) 所…
这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://antonioleiva.com/kotlin-android-create-project/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-03-23 在对Kotlin是什么和它能够为我们做什么有了清晰的概念后,该是配置Androi…
最近接手一个Android新项目,之前也没做过这方面的开发,算是边学边干,这两天看了一下Android开发的书,大致入门了一点,今天把所需要的软件都下了下来,准备开工,先列一下开发环境: 所有的软件都用64位,因为操作系统是64位,保持一致,省的以后有什么莫名的问题. tomcat选择7版本是因为该版本的数据库连接池做了重要更新,这个在项目中需要用到. 1.安装和配置JDK: 先装好JDK7,并配置好,配置过程如下: I.在系统变量里新建JAVA_HOME变量,变量值为:C:\Program F…
一.业务场景 工作多年,在真实的项目开发中经常会遇到将一个项目拆分成多个工程的情况,比如将一个真实的项目拆分成controller层,service层, dao层,common公共服务层等等.这样拆分比较有利于分清各自所属层需要做的事情,也非常便于管理个层次之间的代码,职责比较清晰.各 个层次之间也会相互依赖,比如controller层需要依赖common层,则直接引入:service层需要引入common层也直接引入:dao层也是同理. 这种处理方式也没什么问题,整个项目依然能够顺利的跑起来,…
项目架构 ESP8266项目开发并非使用IDE自动管理工程文件,而是使用了诸多第三方程序如Python,以及使用了Makefile管理依赖与控制编译,所以项目的创建与日常维护较为复杂,本篇将详述创建一般项目的详细步骤.下图描述了一个ESP8266工程的大致模样: 要开始本篇的教程,请确保已经完成了上一课<开发环境搭建>中的内容,此处的编译需要上一篇所提到的IDE与IDE文件夹下的Cygwin的支持,否则无法工作.创建这样一个项目的大致步骤如下: 步骤1,SDK下载 官网下载最新SDK,以下地址…
喜大普奔                         10.1假期之前看到了一个很振奋的消息,就是随着Cocos2d-x 2.2的发布,WP8/WIN8有史以来第一次的合并到主版本了. 之前 V2.X 在preview 版本持续了好久,搞的我一直以为微软已经放弃这么个强大的引擎了,只去支持Unity了,结果很意外的在 2.2的更 新版本,这一次,终业余兵终于转职业了,作为一直以来都被边缘化的WP开发者,我表示十分特别的感动,有种长征路上找到大部队的感觉. 大家都知道,Cocos2d-x 是采…
今年的 Google I/O 大会上,人工智能和虚拟现实的产品发布让我们对未来多了几分惊喜.对于开发者部分,Google 发布了 Android N 系统,感受最深的是全新的 Android Studio . Firebase,赋予开发者更大的发挥空间. 再来看看本期 fir.im Weekly ,一如往常精选了一些实用的技术干货分享- 『 iOS,Android 开发干货分享』 干货搜索器 Gank Alfred Workflow @五道口宅男潇涧自制的干货搜索器 Gank Alfred Wo…
记录一下新项目的搭建. 试想一下,如果没有历史负担,没有KPI压力,去新搭建一个项目,你会怎么设计和实现呢? 本系列文章不是教你怎么从0开始学Android,从0开始怎么建一个项目,而定位于零负担的情况下,在2016年怎么去创建一个好的Android项目,其中一部分技术并不太适合刚入门的初学者. Application specific 类似clean architecture,分为三层 presentation - data - domain. 关于Clean Architecture由于国内…
iOS开发拓展篇——如何把项目托管到GitHub 说明:本文主要介绍如何把一个OC项目托管到Github,重操作轻理论. 第一步:先注册一个Github的账号,这是必须的 注册地址:Github官网注册入口 第二步:准备工作 gitHub网站使用Git版本管理工具来对仓库进行管理,注意它们并不等同. gitHub是全球最大的第三方开源库集散地,Git是一款分布式的版本管理控制工具(除了git之外还有一些其他的版本管理控制工具如SVN等). 关于Git的基本介绍以及基本使用这里不会做更多介绍,如有…
前几天有个朋友问我:自己有一个idea不错的项目,也把基本的框架写好了,想贡献到Openstack社区,却不知道应该怎么做.正好之前我有过类似的经历,那么来分享一下我是如何向Openstack社区提交一个新项目. Openstack的整套系统就是一个开源项目的“大杂烩”,社区把所有项目划分为两类:核心和孵化.除非出身特别牛逼或者从其他核心项目独立出来的项目会在设计之初就被列为核心项目(例如Nuetron,Ironic等):其他项目一般划分到孵化类,在通过一个或多个大版本的发展后,如果变得成熟满足…
文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecloud UI下拉刷新EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字…
"快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! - V2EX "快的打车"创始人陈伟星的新项目招人啦,高薪急招Java服务端/Android/Ios 客户端研发工程师/ mysql DBA/ app市场推广专家,欢迎大家加入我们的团队! By ipaitao · 93 天前 · 466 次点击   这是一个创建于 93 天前的主题,其中的信…
2015年十大热门Android开源新项目 2015 即将结束,又到了大家喜闻乐见的年终盘点时刻啦,今天给大家盘点一下 2015 年 Android 开发领域新出现的 10 大热门开源项目.数据来自于 GitHub 搜索,创建时间自 2015 年 1 月 1 日开始的新项目才能入围,因此一些创建时间较早的诸如 RxJava 等优秀项目不在榜上,排名规则是 best match,欢迎大家一起吐槽. 10. Material-Animations 它是一款实现了各种 Material 风格动画效果的…
windows开发环境:window7.vs2012.python2.7.6 Cocos2d-x 3.1.1的完整文件夹例如以下:比起曾经的2.x的版本号来说分类更规范了 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbzEyM18=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=""> Build文件夹: wa…
今天是个值得欢喜的日子,因为VS2019在今天正式发布了.作为微软粉,我已经用了一段时间的VS2019 RC版本了.但是,今天有很多小伙伴在我的<ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)>文章中留言说,装了VS2019后没有gRPC的模板.What?难不成VS2019出BUG了,于是乎,我趁着中午的时间安装了VS2019的社区版. 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10649327.html VS2019创建…
E&T: Eclipse; GitLab; GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(https://github.com/gitlabhq/gitlabhq 基于MIT协议) P1. 登录GitLab P2. 创建一个新项目. P3. 将eclipse代码与Git仓库作关联. P4. 将eclipse代码提交到本地库 P5. 未本地库设置.gitignore P6. 将eclipse代码加入到index, 这是push的前提…
ANT出现之前,编译和部署Java应用需要使用包括特定平台的脚本.Make文件.不同的IDE以及手工操作等组成的大杂烩.现在,几乎所有的开源Java项目都在使用Ant,许多公司的开发项目也在使用Ant.Ant的大量使用,也自然带来了对总结Ant最佳实践的迫切需求. <?xml version="1.0" encoding="UTF-8"?> <project name="wwo-weiwen" default="dep…
记录一个AS无法创建新项目的问题. 今天想写一个测试Demo,点击上面的“Start a new Android Studio Project” ,填写完包名和项目路径后,点“Finish”, AS无任何反应,直觉上感觉项目应该是没创建成功,转到项目路径下查看: 果然只有一个.idea文件夹.... 当时一时间想不明白是怎么回事,无意中注意到创建项目的窗口上有一个红色的叹号,就在这儿: 很好奇,点开看后发现: 什么意思没看懂,不过大概是说Kotlin 什么什么的异常了,不过我使用的是Java开发…
接上一篇<Google Chrome Native Messaging开发实录(一)背景介绍>的项目背景,话不多说,有关Chrome Extension介绍和文档就不展开了,直接上代码. 首先准备一个测试效果的页面demo.html <!DOCTYPE html> <head> <meta charset="utf-8"> <title>Printer Demo</title> </head> <…