PHP 函数 mime_content_type 的缺陷技术
PHP7.1.10 函数 mime_content_type 有个小的 Bug,至少是个缺陷。对于 css 后缀的文件返回的类型是 text/plain。这样导致 css 没法被浏览器解析,页面当然会出问题。
echo mime_content_type('mime.css'); // text/plain
对于 js 文件返回 text/plain 浏览器会正常解析,但是 css 是不行的。
IntelliJ IDEA 导入已下载 Gradle 项目技术
很多朋友不知道 Gradle 项目在 IntelliJ IDEA 下如何导入?如果按照常规思维肯定不行,特别是用惯了 Eclipse 的朋友来讲。
常规思维,我们创建一个项目,一般是 “新建-项目-选择项目目录” 这样的流程,而这种流程是没法导入 Gradle 项目的。最后项目是创建好了,但并不是 Gradle 项目,后面要改是不行的。
导入 Gradle 项目的精髓在于如下:
- 选择菜单栏的 File->Open。
- 在打开的窗口选择对应 Gradle 项目的 build.gradle 文件,然后按照流程走下去就搞定了。
是不是超级简单。参考链接:
http://blog.csdn.net/wangdong5678999/article/details/70255451
FreeMarker 处理不存在的值技术
FreeMarker 是 Java 的模板引擎,相比起比较偏执的 Thymeleaf 更加人性化一些,本文讲解使用 FreeMarker 处理不存在的值的一些事项。
默认值操作符
使用形式:unsafe_expr!default_expr 或 unsafe_expr! 或 (unsafe_expr)!default_expr 或 (unsafe_expr)!。如果默认值被省略了,那么结果将会是空串,空序列或空哈希表。 (这是 FreeMarker 允许多类型值的体现)请注意,如果想让默认值为 0 或 false,则不能省略它。
不存在值检测操作符
使用形式: unsafe_expr?? 或 (unsafe_expr)??。这个操作符告诉我们一个值是否存在。基于这种情况, 结果是 true 或 false。示例如下,假设并没有名为 mouse 的变量:
网页改变状态栏背景实现沉浸式效果技术
沉浸式特效在移动端是个大趋势,特别是最近几年,各种 App 的效果,比如音乐播放器的背景,系统的状态栏特效等。
其实,在网页端也一样是可以支持这种特效的,比如 Chrome 浏览器。
发现有个网页实现了,该网页的页面源代码居然找到 104 个 script 标签,也是醉了,地址 http://www.zaobao.com.sg/znews/singapore/story20171106-808844。特效如下:
当然,国内的网站也有实现了的,比如 3g.163.com 的一些新闻页面。
最后,Google 的搜索结果着实令人满意和佩服,说明人家在搜索领域真的花了心思认真思考过,为什么我这样会搜不到这些优质内容?,于是不断的改进,才成就了今天优质的搜索结果,可以说这样的结果干净没有杂质。
Spring boot jackson datetime 配置技术
Jackson 在遇到 datetime 类型的数据库字段会自动以时间戳数字的方式输出,该如何输出日期字符串呢?
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
在使用的时候,发现有个 8 小时的时间差,解决方案在 application.properties 文件里面添加 spring.jackson.time-zone=GMT+8。 如果返回出来的时间数据需要固定的 String 格式,需要在 application.properties 添加如下配置 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss让该配置文件在启动的时候加载到 spring 容器中。