Node.js App CPU 100% Usage的一个可能原因
端口数值PORT
太小了,比如我用了一个三位数的port
。
然后,总是报错,listen EADDRINUS::3000
,然后发现是port
已经被占用/
改为四位数,立刻 好了。
端口数值PORT
太小了,比如我用了一个三位数的port
。
然后,总是报错,listen EADDRINUS::3000
,然后发现是port
已经被占用/
改为四位数,立刻 好了。
创建分支dev
:
//简洁版命令
git checkout -b dev
//等价的命令
git branch dev
git checkout dev
合并分支dev
:
//如果你想把dev分支合并到master分支,需要先切换到master分支
git checkout master
//然后再合并
git merge dev
不扯那么多,直接进入正题了吧。
dingo/api
是为Laravel
和Lumen
这俩兄弟框架写的一个库,目的是用于构建RESTful API
。
我的Laravel版本: Laravel 5.6
。
第一个坑,安装:
#不要这样:
composer require dingo/api
因为这个是packagist
上给的默认安装命令,但这样你会安装到最近的一个稳定版v0.10.0
,然后顺利的报错
了。
正确的姿势,你在composer.json
里添加:
"require": {
"dingo/api": "2.0.0-alpha1"
}
然后composer install
第二个坑,配置:
开源软件也要讲究市场营销的,也就是说,是否有unmet technological need
,如果有,怎样去满足?
一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。
我觉得有这么几个点是可行的:
1、怎样把JS和PHP框架结合起来,更方便使用。
其实Laravel就是一个非常典型的例子,性能就不说了,但真的很方便啊,随便几行代码就能解决很多问题,当然是底层做了大量封装,当然是性能差了,但性能差算个屁,到底是机器贵还是人工贵?
2、某些常用组件,比如怎样给某个框架方便的植入一个非常常用的服务,bbs,email,wechat,payment,等等吧
2018年7月13日更新
3、一个靠谱的电子商务网址、图片站、视频站,等等,对迅速建立一个可用的系统非常重要。甚至可以卖钱的。
4、对某些重要软件的支持,例如做一个非常好的admin,接入到wordpress,woocommerce,shopify之类的。
5、抄一些别的语言的靠谱的开源库,然后翻译为php之类的;或者把easywechat这种,翻译到java之类的。
2018年7月23日更新
6、追赶潮流,例如某个新的语言,比如Golang,基础设施不完全,可以做一个库;例如某个新的火热点,比如比特币之类的,那么,就干吧。
2018年7月24日更新
7、LeetCode这样的一些有用网站的Desktop App?
2018年8月6日更新
8、discourse竟然是Ruby写的,用PHP移植一下?但抄袭一模一样的api,会不会引起知识产权纠纷?还行,discourse是GPLv2
,应该问题不大。但这样搞,似乎不好产生商业模式。
基本思路是禁止各种方式实例化这个class,必须只能通过一个方法,比如getInstance
方法,而且这个方法要确保只生成一次实例。
在PHP里,还要防止各种其他Magic Methods魔术方法
生成该实例。
看代码:
MySQL 5.7.4之前的版本:
ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);
For MySQL 5.7.4 or later:
ALTER TABLE mytbl ADD UNIQUE (columnName);
这个IGNORE
主要目的是,因为表中可能已经存在了数据,而且会有重复数据。
但MySQL 5.7.4 之后再用IGNORE
关键字,会报错。所以增加UNIQUE
限制之前,要先确保数据没有重复。
还有一个小特色,甚至你可以为这个constraint
加个名字:
ALTER TABLE myTable
ADD CONSTRAINT constraintName
UNIQUE (columnName);