0%

前言

在开发软件中,一个值得注意的问题就是当程序从一个环境迁移到另一个环境时,我们的程序是否依然正常运行,因为在开发阶段时,某些环境配置可能与生产环境不同,例如数据库配置,加密算法等。

在 Spring 中,你可以分别为不同的环境设置一个配置类,然后在运行时再根据环境来确定应该创建哪个 bean 和 不创建哪个 bean。在 Spring3.1 中,引入了 bean profile 的概念,可以将它理解为我们在Spring容器中所定义的Bean的逻辑组名称,对应到环境一般就是 dev(开发环境),uat(用户测试环境), prod(生产环境),在部署时指定激活哪个 profile 就行了。

阅读全文 »

前言

各位小伙伴有没有发现,现在的网站基本都用上了 HTTP,因为 HTTP的通信是明文的,容易被不怀好意的人监听通信,窥探用户的隐私,这简直就是裸奔。而 HTTPS 使用 SSL 证书在加密通信前进行身份验证,协商加密算法以及交换密钥,可以满足基本的安全需求,即防窃取,防篡改,防钓鱼。

https 通信的流程如下:

阅读全文 »

前言

关于使用 Hexo 搭建个人博客可参考本人另一篇博文: Hexo框架+NextT主题搭建博客教程

相信有不少小伙伴使用 Hexo 来搭建自己的个人博客,但问题是如果你电脑突然坏了,或者你想在其他电脑编辑发表你的博客,又要花费时间精力来重新配置你的站点,这样就比较麻烦。这时,我们可以将我们的站点放到 Github 或者其他 Git 托管平台,如此一来,无论你在哪里,都可以随时 clone 下来,简单配置下,就可以继续玩耍。

阅读全文 »

前言

在项目中我们常常需要配置一些基本的属性,比如连接数据库的 URL, Driven, username,password 等,这些配置内容如果放在代码中会变得难以维护, 想象一下,当你的应用配置信息临时需要变更时,你要改动代码然后重新编译打包再部署,如此一来就耗费大量时间,给用户带来不好体验。因此,我们通常将配置信息放在一个配置文件中,一般以 ==.properties== 结尾,因为可以直接通过 Properties 类读取。

在 Spring Boot 中,默认使用一个全局的配置文件 ==application.properties==, 同时也支持 ==application.yml==, 默认放在 ==src/main/resource== 下面, 可以直接将 .properties 改为 .yml, 效果一样。两者区别: properties 的配置是以 key=value 格式存储内容,而 yaml 则是以数据为中心的语言,配置更加清晰。如下面两者配置方式对比:

阅读全文 »

前言

设计模式的概念最早来源于建筑大师 Alexander 的《建筑的永恒方法一书》,书中的观点实际上也适用于软件设计领域。Alexander 是这样描述模式的:
模式是一条有三个部分组成的通用规则:它表示了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了一个不断重复发生的问题,以及该问题解决方案的核心设计。

阅读全文 »

Android 平台

支持的Android API级别和过去几个cordova-android版本的Android版本:

cordova-android 版本 支持的 API 级别 实际安卓版本
7.X.X 19 - 27 4.4 - 8.1
6.X.X 16 - 26 4.1 - 8.0.0
5.X.X 14 - 23 4.0 - 6.0.1
4.1.X 14 - 22 4.0 - 5.1
4.0.X 10 - 22 2.3.3 - 5.1
3.7.X 10 - 21 2.3.3 - 5.0.2
阅读全文 »

背景介绍

数说移动端的几种开发模式

  • Native App: 采用原生代码进行,优点就是体验好,缺点是需要为不同的系统平台独立开发一套应用,开发成本较高。
  • Web app: 一般是指 SAP(SinglePageApplication) 模式开发出的网站,体验较差。
  • React Native App: 是 Facebook 开源的一套App开发解决方案,让你只使用 JavaScript 也能够编写原生移动应用,它在设计原理上和 React 一致,通过声明式的组件机制来搭建丰富多彩的用户界面,能够实现大部分的跨平台,体验较好。
  • Hybrid App: 混合开发模式,由Native 通过 JSBridge(一种)等方法提供统一的API,然后用前端语言(HTML、JS、CSS) 来写实际的界面和逻辑,再调用API,最终应用的页面是在 webview中示,从而达到跨平台效果,常见的是用Phonegap或Cordova中间件组合其他移动UI框架进行开发。
  • 值得注意的是,RN App 和 Hybrid App 还是有本质区别的,RN App 是用JavaScript告诉原生语言做什么,所以最终在平台上运行的都是原生语言,包括UI等,也是原生的组件,而 Hybrid App中显示的大多是 webview,webview 里套常见的移动UI框架。Hybird App的原理图如下W:
阅读全文 »

用过视频剪辑软件的小伙伴们可能都会为添加视频字幕所烦恼,尤其是当一个视频包含了大量语音而且只有你一个人在配字幕的时候,那就变得很蛋疼;尽管到最后你完成了这么庞大的工作量,但是你都会一度怀疑自己的人生。我曾经为一个十来分钟的视频配字幕都配到我想吐。

阅读全文 »