分类目录: 软件技术

一些Git的基本概念和用法(rebase、HEAD、reset、master、remote、pull、push、force等)

由于之前在一个相对封闭且各方面的IT流程都相对完善的公司工作,公司内部总是习惯使用非常成熟的IT工具,不会很快引入外部的新的更高效的生产工具,因此对一些业界已经普及使用的IT工具接触总是会慢很多。除了工作时间,也没有太多机会接触外部的东西,对git的了解比较晚。本人也是从完全不懂Git(只会从github下载master分支的zip包来看源码^_^),到会用pull、push,再后面也会一些稍微高级一点的用法,如rebase、reset、合并或者修改已有commits等。在这个边学边用的过程中也遇到过一些困惑和曲解,这里系统的整理一下一些常用方法和涉及的概念,希望对新接触这个的Coder能有所帮助。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 同时归档在:编程基础 | 标签: , |

整理一下HomeNas上面跑的服务列表

一、jAlbum

“自研”的相册管理程序,介绍和部署方法参考《jAlbum——Java WEB版相片管理系统

二、代码托管服务器

国内访问github总是非常慢,所以把代码托管到HomeNas上面。使用gogs部署。

三、文件备份工具

接收各个终端上面备份的视频、照片文件。使用sync搭建,目前墙内无法访问该工具的官方网站。现在有开源免费的替代方案:Syncthing

四、Everything

everything本来是一个Windows系统的本地文件搜索工具,以其高效而著称,在IT从业人员中使用非常广泛。其开放WEB访问方式,支持远程搜索和下载文件,远程办公时访问HomeServer上面的文件非常方便。遗憾的是,至今其都不支持HTTPS方式访问,并且用于认证的用户密码机制非常原始。可能是作者为了保持该软件的健壮和简单,不愿意加入更多的小众化功能。

五、Emby Server

媒体管理平台,支持各大平台部署Server端,支持众多的终端部署客户端应用。免费版本的客户端限制较多。当然网上也流传着各种破解方法。

在HomeServer上面部署Emby主要用于管理电视剧、小孩子看的动画片、无损音乐和超清电影,没有广告干扰的娱乐时光还是很惬意的:)

其中电影自动搜索字幕比较有用。但是对于非电影文件,按照电影去搜索元数据时,会出现匹配错乱的问题,因此非电影文件的库都是禁用自动更新元数据。

六、RSSHub

这年头,RSS源越来越少了,只能自行部署一个RSSHub,目前主要用这个工具的客户端快速提取正在访问的网页中的RSS Feed。服务端能起的作用似乎还有限,也可能是还没有完全整明白这个该怎么用。

七、博客静态文件托管服务

在香港的一个主机提供商那里购买的丐版空间,只有1G的文件存储容量,博客中日积月累的各种图片和PDF已经将空间耗尽,还有Reader和博客的数据库文件其实也是分享的这1G的空间,而各大公由云的对象存储又收费,想着家里的NAS每天开机也是闲着,就再承担点负载。将网站的所有静态文件都从“自研”的托管服务上面出,模拟主流对象存储的API实现了类似镜像存储的机制。将所有图片本地保存。这样可以定期清理博客托管服务服务上面的图片和附件等。

当然还有最基本的NAS文件共享服务、远程访问服务、偶尔当梯子给其它终端代理、作为下载机等普通功能都不在话下。不知不觉家里一个小小的Server上都部署了十来个服务。其实,HomeServer就缺了一个完整的80和443等端口,如果国内电信服务提供商开放这些端口,那么都不用购买任何网站托管服务了,直接在HomeServer上面运行所有网站相关的任务。这样不仅省钱,还便于管控。不过话也说回来,电信封了很多端口,对HomeServer的维护来说,也解决了网络安全的问题。


2020-8-9更新:增加WebDAV服务,使用go编写的caddy和webdav插件搭建。主要服务于跨平台的笔记服务:Joplin,除了界面不如印象笔记,功能上已经够用。

服务列表

 

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 同时归档在:WEB网络, 建站技术, 数码硬件, 移动互联 | 标签: , , , , , |

JSR311 规范文档

image

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 归档目录:软件技术 |

收藏夹技术文章导出

把多年来收藏的文章列表倒出来,发到博客上面保存一下。方便后面查阅。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 1票) Loading ... Loading ... | 归档目录:软件技术 |

Stay hungry, Stay young (转载自网络)

1983年出生的张一鸣 ,在2005年从南开大学毕业后,至今参与创办了5家公司,今日头条、抖音、内涵段子等知名APP之父,2013年,他先后入选《福布斯》“中国30位30岁以下的创业者”和《财富》“中国40位40岁以下的商业精英”,是目前国内互联网行业最受关注的青年领袖之一。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 同时归档在:移动互联, 职业发展 | 标签: , , |

一致哈希(Consistent Hashing)简介

一致哈希 是一种特殊的哈希算法。在使用一致哈希算法后,哈希表槽位数(大小)的改变平均只需要对 K/n个关键字重新映射,其中 K是关键字的数量n是槽位数量。然而在传统的哈希表中,添加或删除一个槽位的几乎需要对所有关键字进行重新映射。一致哈希的算法最早在如下论文中被提出:

一致哈希在分布式计存储架构中无处不在。是被证明的可以解决经典哈希视图发生变化时,数据搬迁尽可能少的算法。最早是在分布式缓存中提出,参考如下文档,这里提供原文的下载链接:《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 4票) Loading ... Loading ... | 同时归档在:存储技术, 架构设计, 算法数据结构 | 标签: , , |

分享一个树莓派延时摄影和视频制作代码

心血来潮,想着做一个阳台花草生长的延时视频。阳台上正好有个树莓派,只需要一个摄像头即可。说做就做,500万像素的树莓派摄像头,包邮只需要30元。基本够够用了。接好线,固定好摄像头位置。

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 2票) Loading ... Loading ... | 同时归档在:实用脚本, 数码硬件, 软件应用 | 标签: , , , |

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

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

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 3票) 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- 3票) 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- 3票) Loading ... Loading ... | 同时归档在:实用脚本, 软件应用 | 标签: , , |
返回顶部