Skip to content

四火的唠叨

一个纯正程序员的啰嗦

Menu
  • 所有文章
  • About Me
  • 关于四火
  • 旅行映像
  • 独立游戏
  • 资源链接
Menu

Category: Tools Frameworks and Libs

使用树莓派和 Plex 架设照片和备份服务

Posted on 06/02/202010/08/2024 by 四火

我用手机拍了很多照片,平时都保存在一台 Windows 台式机上,这台机器硬盘空间大,主要干两个事情,一个是我打游戏,一个就是存放多媒体数据(主要是照片,也有很多文档)。有时候我需要它提供照片服务,以方便家人使用各种媒体终端(手机、电视盒子等)阅览,有时候则需要往上面拷贝数据以作备份只用,于是我使用 Plex 折腾了一下,但是由于台式机噪音等等的关系,不适合长期开机,因此当时那个方案还是残缺的。

现在打算彻底解决这个问题。大致总结一下,以下是我的主要的几个需求:

  • 照片服务要能够长期保持在线,私用可以方便地查看照片。开机不能有明显的噪音和功耗问题。
  • 我的照片经常是在 Windows 下进行处理的,

[……]阅读全文

Continue reading

VPS 迁移和网站备案

Posted on 01/15/202010/08/2024 by 四火

以前这个 Blog 放在 VPSYOU 上,主机在美国加州,但是这个 VPS 由于亏损的关系,要关掉了,于是我开始寻找下一个 VPS 服务。考虑到是中文的博客,因此我倾向于把主机放到中国大陆,这样访问速度会快一些。正好腾讯云在搞活动,我就订购了,找了上海的主机,其实我隐约知道国内的 VPS 建立网站,是需要备案的,但我觉得可以尝试一下。如我所料,这个 Blog 应用迁移的过程很顺利;可是没想到的是,我大大低估了备案的难度,这个备案的过程,实在太过荒谬和不近人情。

Blog 应用迁移

整体来说,应用迁移过程本身还是比较顺利的。这里记录了迁移这个过程的操作步骤,也可以作为日后再做 VPS 迁移的参考。

安装 LNMP

首先

[……]阅读全文

Continue reading

从 Mac 下的包管理和安装工具说起

Posted on 08/06/201810/08/2024 by 四火

先说点别的。

可能很多人和我一样,最开始习惯使用的是 Windows,后来开始接触 Linux,再后来,接触到 Mac,几周以后,一发不可收拾。

如果说,在 Windows 下面,基本上习惯了便捷友好的图形化界面,以及经历了对 “系统在干什么” 一无所知的恐惧之后,那么接下来 Linux 就带来了另一个极端的体验,知道系统在做什么,但是总是觉得不那么便捷而友好(刚开始很长一段时间都没有接触 Linux 图形界面)。我记得大致有这么一句话,“Linux is user friendly, but it is selective who its friends are.”,Linux 也是对用户朋友友好的,只 [……]阅读全文

Continue reading

Lombok 介绍

Posted on 09/08/201306/23/2019 by 四火

Lombok最初我是在公司内部的 broadcast 上面听到有 principal 介绍到它的,和 AspectJ 归在一起。看了几个例子之后觉得有点意思,就去 Lombok 的官网上扒了一下。我们已经知道向 AspectJ、CGLib 等等都可以做到对已有 Java 代码在字节码层级的改变,无论是编译时期静态织入还是运行时期动态代理,对于我们使用 AOP 来减少那些重复性编码的劳动、增加切面性质的逻辑颇有帮助。这里有几个概念:

  • 首先是 AOP,我在这里不啰嗦,网上有的是这样的文章。
  • 其次,如果你还没有接触过 AspectJ,那么在 Lombok 之前,AspectJ 是值得推荐了解的。和 Lombok 相比,AspectJ 更强大,有它自己的

[……]阅读全文

Continue reading

Memcached 调优

Posted on 08/02/201306/23/2019 by 四火

cache项目中有一个对实时响应性比较高的服务,引入了 Memcached 以减少延迟和减少数据库压力。但是期间遇到了一些问题,这里记录一些调优细节。 

客户端选择

  • 最开始我使用的是 Memcached Java Client,但是最后放弃了,放弃原因包括:
    • 有时会出现的 “No Thread For Socket” 异常,我记录在这里;
    • 它不支持 NOREPLY 模式(在这种模式下,更新缓存的 set 操作可以不需要 Memcached 服务端响应,这使得 set 操作非常非常快)。
  • 现在我使用的是 XMemcached。

统计信息

可以通过 nc 命令向 Memcached 服务端发送消息来获取统计信息,例如:

echo "

[……]阅读全文

Continue reading

Issue record: “No thread for socket” about Memcached

Posted on 07/15/201306/23/2019 by 四火

MemcachedWe own a service supplying not-real-time data to the downstream clients. In order to reduce the average latency and the pressure on database, Memcached was imported as the cluster center cache, and our service consumed it. I encountered an issue when Memcached was firstly deployed on production envi

[……]阅读全文

Continue reading

寻找 Mac 平台上 Windows Live Writer 的替代品

Posted on 07/08/201310/08/2024 by 四火

工作中大部分 Windows 上的软件我都可以在 Mac 上找到相应的替代品。我已经习惯使用 Windows Live Writer 来写博客了(有一个普遍的言论是,微软是一家没有品味的公司,但是也有一些可用性做得比较出色的软件,Windows Live Writer 就是其中之一),在 Mac 上我需要寻找这样的替代品。用客户端写博客比网页端有很多优势,比如网上的图片,截屏的图片,可以直接快捷键粘贴到博客中,再比如配合插件,可以很方便地实现我需要的代码高亮效果。

写博客的同学可以在这里下载到,代码高亮效果使用SyntaxHighlighter 插件完成:

SyntaxHighlight

如果你的博客是 WordPress,在服务端开启远程发布

[……]阅读全文

Continue reading

Ehcache 详细解读

Posted on 05/31/201206/23/2019 by 四火

ehcache Ehcache  是现在最流行的纯 Java 开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从 Hibernate 的缓存开始的。网上中文的 EhCache 材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行 google;对于 API,官网上介绍已经非常清楚,请参见官网;但是很少见到特性说明和对实现原理的分析,因此在这篇文章里面,我会详细介绍和分析 EhCache 的特性,加上一些自己的理解和思考,希望对缓存感兴趣的朋友有所收获。

 

一、特性一览,来自官网,简单翻译一下:

 

1、快速轻量
过去几年,诸多测试表明 Ehcache 是最快的 Java 缓存之

[……]阅读全文

Continue reading

OSCache 框架源码解析

Posted on 05/18/201206/23/2019 by 四火

OSCache 是一个受到争议的开源缓存框架,OpenSymphony 网站已经关闭(OpenSymphony 可是诞生过 Quartz、WebWork、SiteMesh 和 OGNL 等数个非常有名的框架的)了,它也已经不维护了。在 JavaEE 的缓存框架领域,似乎已经是 EhCache 等其它支持分布式的缓存框架的天下了,OSCache 垂垂老矣?但是 OSCache 的源代码依然值得一读,一度作为最常用的缓存框架,代码量却不大,绝大部分类一天的时间就可以详详细细地阅读完。

 

统观 OSCache 的代码,我最关注其中的 base、algorithm、events、persistence、clustersup

[……]阅读全文

Continue reading

Study Notes Of Mason

Posted on 04/20/201206/23/2019 by 四火

mason The Main Features of Mason

  • Components: Modular Design Elements
  • Object-Style Component Inheritance
  • Intelligent Caching Mechanisms
  • Integration with Apache and mod_perl

Alternatives to Mason: Embperl

  • Embperl may be the most similar one to Mason
  • Embperl is one of the oldest heavyweight systems that i

[……]阅读全文

Continue reading

Grails 引发的中文乱码问题

Posted on 04/14/200806/23/2019 by 四火

在一个 Grails 项目里面,我想写一个过滤不良信息的 Service,而将过滤的规则放置在 xml 文件之中。

以下 xml 文件放置不良信息,包含单词、词组和句法,支持正则表达式:

<filter>
    <words>
        <word>fuck</word>
        <word>kill</word>
    </words>
    <phrases>
        <phrase>asshole</phrase>
    </ph

[……]阅读全文

Continue reading

在 Eclipse 中配置 Grails 工程

Posted on 03/29/200806/23/2019 by 四火

1、环境变量:

配置 GRAILS_HOME,注意一定要配置到 build.xml 所在的文件夹:

image
2、Eclipse 装上 Groovy-Eclipse 插件,可以使用 link 方式。

3、导入 Grails 工程,并选中"Copy projects into workspace"

4、工程的属性中,选中:

 image

这样就阻止了 groovy 文件被 Eclipse 编译成 class 文件。

5、工程属性的 Java Build Path 中,选择 Libraries,选择 Add Variable,添加变量 GRAILS_HOME,并将其中的所有文件夹内的所有 jar 文件全部引入工程

[……]阅读全文

Continue reading

SSH 学习杂记

Posted on 03/28/200806/23/2019 by 四火

ssh Web 开发是一个很有意思的事情。Struts+Spring+Hibernate 作为一种当今流行的开发模式,我很荣幸地在一周左右的时间里,疯狂地边学边琢磨了一番,甚有感触。

Struts:

Web 应用程序框架统一体:PHP、ASP → Struts → JSF、Shale → Ajax

从左至右与常规桌面应用程序相似度依次提高。

clip_image002

Struts 将用户表单使用 FormBean 打包,根据 struts-config.xml 里面 mapping 的配置送入 ActionServlet,ActionServlet 决定自己处理或者分发给更单一任务的 Action 处理。

事实上 Struts 的贡献主要在表示层上,对于

[……]阅读全文

Continue reading

订阅·联系

四火,啰嗦的程序员一枚,现居西雅图

Amazon Google Groovy Hadoop Haskell Java JavaScript LeetCode Oracle Spark 互联网 亚马逊 前端 华为 历史 同步 团队 图解笔记 基础设施 工作 工作流 工具 工程师 应用系统 异步 微博 思考 技术 数据库 曼联 测试 生活 眼界 程序员 管理 系统设计 缓存 编程范型 美股 英语 西雅图 设计 问题 面向对象 面试

分类

  • Algorithm and Data Structure (30)
  • Concurrency and Asynchronization (6)
  • System Architecture and Design (43)
  • Distributed System (18)
  • Tools Frameworks and Libs (13)
  • Storage and Data Access (8)
  • Front-end Development (33)
  • Programming Languages and Paradigms (55)
  • Testing and Quality Assurance (4)
  • Network and Communication (6)
  • Authentication and Authorization (6)
  • Automation and Operation Excellence (13)
  • Machine Learning and Artificial Intelligence (6)
  • Product Design (7)
  • Hiring and Interviews (14)
  • Project and Team Management (14)
  • Engineering Culture (17)
  • Critical Thinking (25)
  • Career Growth (57)
  • Life Experience and Thoughts (45)

推荐文章

  • 谈谈分布式锁
  • 常见分布式系统设计图解(汇总)
  • 系统设计中的快速估算技巧
  • 从链表存在环的问题说起
  • 技术面试中,什么样的问题才是好问题?
  • 从物理时钟到逻辑时钟
  • 近期面试观摩的一些思考
  • RSA 背后的算法
  • 谈谈 Ops(汇总 + 最终篇):工具和实践
  • 不要让业务牵着鼻子走
  • 倔强的程序员
  • 谈谈微信的信息流
  • 评审的艺术——谈谈现实中的代码评审
  • Blog 安全问题小记
  • 求第 K 个数的问题
  • 一些前端框架的比较(下)——Ember.js 和 React
  • 一些前端框架的比较(上)——GWT、AngularJS 和 Backbone.js
  • 工作流系统的设计
  • Spark 的性能调优
  • “残酷” 的事实
  • 七年工作,几个故事
  • 从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
  • 一道随机数题目的求解
  • 层次
  • Dynamo 的实现技术和去中心化
  • 也谈谈全栈工程师
  • 多重继承的演变
  • 编程范型:工具的选择
  • GWT 初体验
  • java.util.concurrent 并发包诸类概览
  • 从 DCL 的对象安全发布谈起
  • 不同团队的困惑
  • 不适合 Hadoop 解决的问题
  • 留心那些潜在的系统设计问题
  • 再谈大楼扔鸡蛋的问题
  • 几种华丽无比的开发方式
  • 我眼中的工程师文化
  • 观点的碰撞
  • 谈谈盗版软件问题
  • 对几个软件开发传统观点的质疑和反驳
  • MVC 框架的映射和解耦
  • 编程的未来
  • DAO 的演进
  • 致那些自嘲码农的苦逼程序员
  • Java 多线程发展简史
  • 珍爱生命,远离微博
  • 网站性能优化的三重境界
  • OSCache 框架源码解析
  • “ 你不适合做程序员”
  • 画圆画方的故事

近期评论

  • panshenlian.com on 初涉 ML Workflow 系统:Kubeflow Pipelines、Flyte 和 Metaflow
  • panzhixiang on 关于近期求职的近况和思考
  • Anonymous on 闲聊投资:亲自体验和护城河
  • 四火 on 关于近期求职的近况和思考
  • YC on 关于近期求职的近况和思考
  • mafulong on 常见分布式基础设施系统设计图解(四):分布式工作流系统
  • 四火 on 常见分布式基础设施系统设计图解(八):分布式键值存储系统
  • Anonymous on 我裸辞了
  • https://umlcn.com on 资源链接
  • Anonymous on 我裸辞了
© 2025 四火的唠叨 | Powered by Minimalist Blog WordPress Theme