10个TypeScript的坏习惯
Typescript 和 Javascript 在过去的几年里增加了很多新特性,所以我们写代码时的一些习惯可能已经过时了, 其中一些可能已经永久的失去了存在意义。这篇文章列举了10个不应该有的习惯。
在下面的例子中,注意“应该是什么样”只是修复了讨论的问题,代码里面可能还会有别的问题这里不做讨论。
C++,python运行速度比较程序
给别人上课的时候突然有了这个问题。 其实所有人都知道C++运行速度要比Python快许多倍,网上也有很多文章做了解释,但是如果面对一个小白最好的办法就是跑一个功能相同的程序给他看时间对比。然后我就想了个证明方法,感觉还挺直观的,这里记录下。方法就是用两种语言分别写两个冒泡排序,然后从文件中读取随机数,排序之后比较程序运行时间。选择用冒泡排序是因为O(n^2)复杂度,可以拉长程序运行时间,结果比较更直观, 快排结果不太理想,两个程序运行时间差距不大。
React-Native推送消息
这里我基本上直接用的react-native-push-notification, 但是使用途中还是遇到了几个小坑,费了一些时间才解决掉,这里记录下步骤。
Ubuntu16.04上使用Nginx部署Laravel应用程序
Laravel 是一个非常流行的PHP框架,以编码风格优雅著称,每行代码都非常简洁,富有表达力,并且拥有强大的组件开发生态,号称为web艺术家创造的PHP框架。我最近的个人项目尝试了下Laravel框架,部署的的时候遇到了一些坑,这里记录下。
我用的服务器是DigitalOcean的Ubuntu 16.04 LTS,其他公司的服务器应该也大同小异,有一些公司甚至简化了安装流程,几乎不用改动配置文件就可以让自己的程序跑起来(比如阿里云
React-Native跨平台调用代码
有时候React-Native需要访问原生API,但是官方并没有封装,这时候就需要自己手动调用原生代码,比如调用安卓的Toast,比如需要调用某些硬件接口。这篇文章主要记录了如何调用安卓和iOS原生方法。
RTMP Ubuntu 18.04 配置
Digital Ocean Ubuntu 18.04 x64
Angular2+项目中添加Bootstrap
大部分内容翻译自 https://github.com/angular/angular-cli/wiki/stories-include-bootstrap
Boostrap是一款很好用的CSS框架,但是如何把它加到Angular2项目里好像中文文档写的很少。下面就介绍下如何讲Bootstrap添加到Angular2+项目中。
CMMotionActivityManager
现在很多应用都需要检测用户的运动情况,而iPhone上有一整套传感器可以帮助开发者确定用户的运动状况例如 气压计,陀螺仪,磁强计,加速度传感器和GPS模块,然而这些传感器模块的数据需要通过CPU计算得到判断得到结果,如果一直在后台运行程序来不断获取数据容易让app变得十分耗电,比如美国的一家新型保险公司root。他们通过app来检测得到用户的驾驶数据,然后通过计算得到用户的驾驶习惯,评估之后会给出用户相应的保险报价。比如这个人加速过快或者转弯过猛就说明这个人驾驶习惯不好,保险费用就会相对来说高一些。然后我下载了这个app之后惊奇的发现,就算半夜我没开车它也一直在后台获取我的数据,导致我手机一晚上耗电百分之十几(新的iPhone 8P,平时一晚上大约掉1%的电)