标签归档: jAlbum

使用let’s encrypt制作免费HTTPS证书

在外网访问家里的NAS服务器上面的jAlbum相册时,使用HTTPS更安全。之前使用的一直是自签发的证书,在自己的手机上面导入了自签发证书的CA,因此浏览器一直显示安全的绿色。今天在其他手机上面使用HTTPS访问时,打不开页面,使用HTTP访问则没问题,很快就想到这是证书的问题,自签发证书的根证书没有安装。但是总不能每次有新的设备访问时就要求其安装CA证书,除非这个服务能做到像12306那么不可或缺(12306上线很多年都不购买商用证书,一直要求用户下载证书安装到本地,这种做法很危险)。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 归档目录:WEB网络, 建站技术 | 同时打有标签:, , , , |

记录一下最近修改的两个Bug

最近改了两个jAlbum的bug,问题并不复杂,但是比较有代表性。在这里记录一下。第一个问题是,在单张照片的页面提供了一个“隐藏”当前照片的按钮。当点击该按钮时,页面重新load,显示下一张照片,使用了当前照片的ID来构造下一张照片的url,即加载url:
/?next=[currentphotoid]&count=1,
具体到服务端接收这个请求时,需要使用当前照片的ID到数据库中索引下一张。
然后对当前照片发起删除操作,即使用ajax发起一个HTTP请求:
DELETE /photos/[currentphotoid]
向服务端发送一个delete请求,具体的浏览器端代码为:

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 归档目录:Java, WEB网络, 多线程编程 | 同时打有标签:, , |

使用ffmpeg工具转换mov、avi格式为mp4

iPhone拍摄的视频备份到Home-NAS后,文件类型是mov,无法在网页上直接呈现,因此需要对视频编码进行转换。本想找一个批量转换的工具。无奈,从几个下载网站上面找了多款工具都不能完美实现,要么需要购买,要么转换后的视频效果极差。考虑使用ffmpeg工具,直接使用命令行转换,最终使用如下脚本实现了格式转换和元数据信息的拷贝。

set indir=%1

for %%a in (%indir%\*.mov) do ffmpeg -i "%%a" -map_metadata:s:a 0:s:a -map_metadata 0:g -map_metadata:s:v 0:s:v -vcodec copy -acodec copy "%%a.mp4"

for %%b in (%indir%\*.avi) do ffmpeg -i "%%b" -map_metadata:s:a 0:s:a -map_metadata 0:g -map_metadata:s:v 0:s:v -vcodec copy -acodec copy "%%b.mp4"

将如上代码保存为bat文件,将存放有mov和avi格式文件的目录拖拽到bat文件上面执行即可实现转换。

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 归档目录:实用脚本, 软件应用, 软件技术 | 同时打有标签:, |

Java 9 踩坑之启动参数

Java 9 出来一段时间了,也试着在Java 9 下运行jAlbum,原以为以Java一贯的向下兼容原则,应该都不用重新在JDK9编译,直接运行即可。然鹅,运行时报错,找不到类文件:

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 归档目录:Java, 语言基础, 软件技术 | 同时打有标签:, |

jAlbum 0.1.6版本截图

新增主要功能:修改页面适配手机屏幕。

Android 手机截图效果:

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 15票) Loading ... Loading ... | 归档目录:Java, Jetty, WEB网络, 移动互联, 软件技术 | 同时打有标签: |

开源照片整理系统jAlbum 0.1.3版本发布

第三个版本,jAlbum完整版差不多完工了:https://github.com/shentar/jAlbum/releases/tag/jAlbum_0.1.3

最后解决了文件系统监控的问题。利用Java1.7封装的文件系统的通知回调机制,实现对指定目录的递归监控,避免每次全盘扫描性能太低的问题。

注意对于linux系统对于单个用户能够监听的inotify对象个数做了限制,一般是限制为8192,因此需要修改系统内核的配置:在/etc/sysctl.conf文件中,新增一行:fs.inotify.max_user_watches=1000000,表明将该限制修改为100万个。下次重启后会生效,如果希望当前立即生效,则需要执行命令:sysctl –p 。

对于WatchService,只监控当前目录的变化,当前目录下新增文件或者文件夹时,当前文件夹会有修改事件或者创建事件,但是再下一层的文件夹或者文件发生变更时,并不会有任何事件,因此如果要监控指定的文件夹,需要递归监控到最后一层。没有验证文件系统的notify机制对进程性能和文件系统性能的影响,在树莓派上面简单验证了下,能够非常及时的发现新增文件,进程CPU和内存也没有明显的增加。终于解决了每次都有依赖全盘扫描一遍文件才能发现新增的文件的问题。

具体代码请参见源码中的DirWatchService类。

| 1 分2 分3 分4 分5 分 (5.00- 9票) Loading ... Loading ... | 归档目录:Java, Jetty, WEB网络, 数据库, 软件技术 | 同时打有标签:, |

基于Java WEB的本地照片管理系统jAlbum

请参见项目介绍主页:家用网络相册jAlbum安装使用指南

| 1 分2 分3 分4 分5 分 (5.00- 19票) Loading ... Loading ... | 归档目录:Java, Jetty, WEB网络, 数据库, 软件技术 | 同时打有标签:, , , , |
返回顶部