Jason

独立开发,自由职业


  • 分类

  • 友链

  • 关于

  • 搜索

使用UnixBench为Linux跑分

发表于 2014-07-13 | 分类于 IT

跑分软件感觉是被Android玩烂了,突然也想测试下手上的Radxa和Linode VPS的性能怎样

#

UnixBench介绍

简单搜索了下,找到了Linux下较常用的UnixBench,是linux、unix测试系统基准性能的经典工具,UnixBench测试包含了系统调用、读写、进程、2D、3D、管道、运算、C库等系统基准性能,它的优点在于提供了对系统性能的一种评价体系,为系统评分,如此方便对系统作对比测试;但UnixBench在网络性能测试欠缺

UnixBench的使用方法如下:

Download the latest version

wget https://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz;

tar xzf UnixBench-5.1.3.tar.gz;

cd UnixBench;

Disable graphic test as no desktop for Linux installed

sed -i "s/GRAPHIC_TESTS = defined/#GRAPHIC_TESTS = defined/g" ./Makefile

make;

./Run;

执行后就耐心等待结果就行,依据机器性能不同,大概需要10分钟

#

UnixBench测试结果

Radxa的执行结果:

more

========================================================================

 BYTE UNIX Benchmarks (Version 5.1.3)

 System: radxa: GNU/Linux

 OS: GNU/Linux -- 3.0.36+ -- #2 SMP PREEMPT Sat Mar 15 11:18:05 CST 2014

 Machine: armv7l (armv7l)

 Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")

 11:50:03 up 12 days, 14:42, 4 users, load average: 0.54, 0.31, 0.58; runlevel 2

------------------------------------------------------------------------

Benchmark Run: Sun Jul 13 2014 11:50:03 - 12:18:17

0 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables    6077940.3 lps  (10.0 s, 7 samples)

Double-Precision Whetstone           995.3 MWIPS (9.9 s, 7 samples)

Execl Throughput                294.0 lps  (29.5 s, 2 samples)

File Copy 1024 bufsize 2000 maxblocks    129538.0 KBps (30.0 s, 2 samples)

File Copy 256 bufsize 500 maxblocks      40792.2 KBps (30.0 s, 2 samples)

File Copy 4096 bufsize 8000 maxblocks    325214.2 KBps (30.0 s, 2 samples)

Pipe Throughput               271265.0 lps  (10.0 s, 7 samples)

Pipe-based Context Switching         64658.0 lps  (10.0 s, 7 samples)

Process Creation                831.6 lps  (30.0 s, 2 samples)

Shell Scripts (1 concurrent)          1785.6 lpm  (60.0 s, 2 samples)

Shell Scripts (8 concurrent)          370.0 lpm  (60.1 s, 2 samples)

System Call Overhead            1007757.5 lps  (10.0 s, 7 samples)

System Benchmarks Index Values        BASELINE    RESULT  INDEX

Dhrystone 2 using register variables     116700.0  6077940.3  520.8

Double-Precision Whetstone            55.0    995.3  181.0

Execl Throughput                 43.0    294.0   68.4

File Copy 1024 bufsize 2000 maxblocks     3960.0   129538.0  327.1

File Copy 256 bufsize 500 maxblocks      1655.0   40792.2  246.5

File Copy 4096 bufsize 8000 maxblocks     5800.0   325214.2  560.7

Pipe Throughput                12440.0   271265.0  218.1

Pipe-based Context Switching          4000.0   64658.0  161.6

Process Creation                126.0    831.6   66.0

Shell Scripts (1 concurrent)           42.4    1785.6  421.1

Shell Scripts (8 concurrent)           6.0    370.0  616.6

System Call Overhead             15000.0  1007757.5  671.8

                                 ========

System Benchmarks Index Score                     264.7

Linode 1GB的执行结果:

========================================================================

 BYTE UNIX Benchmarks (Version 5.1.3)

 System: li715-76: GNU/Linux

 OS: GNU/Linux -- 3.15.3-x86_64-linode44 -- #1 SMP Tue Jul 1 15:51:04 EDT 2014

 Machine: x86_64 (x86_64)

 Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")

 CPU 0: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz (5602.5 bogomips)

     Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET

 11:50:02 up 8 days, 19:34, 1 user, load average: 0.08, 0.09, 0.51; runlevel 2

------------------------------------------------------------------------

Benchmark Run: Sun Jul 13 2014 11:50:02 - 12:18:09

1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables    29753198.8 lps  (10.0 s, 7 samples)

Double-Precision Whetstone           3944.6 MWIPS (9.9 s, 7 samples)

Execl Throughput                1619.4 lps  (30.0 s, 2 samples)

File Copy 1024 bufsize 2000 maxblocks    319724.7 KBps (30.0 s, 2 samples)

File Copy 256 bufsize 500 maxblocks      82858.8 KBps (30.0 s, 2 samples)

File Copy 4096 bufsize 8000 maxblocks    957790.3 KBps (30.0 s, 2 samples)

Pipe Throughput               458770.0 lps  (10.0 s, 7 samples)

Pipe-based Context Switching         74230.2 lps  (10.0 s, 7 samples)

Process Creation                2963.8 lps  (30.0 s, 2 samples)

Shell Scripts (1 concurrent)          3719.2 lpm  (60.0 s, 2 samples)

Shell Scripts (8 concurrent)          494.0 lpm  (60.1 s, 2 samples)

System Call Overhead             474360.8 lps  (10.0 s, 7 samples)

System Benchmarks Index Values        BASELINE    RESULT  INDEX

Dhrystone 2 using register variables     116700.0  29753198.8  2549.5

Double-Precision Whetstone            55.0    3944.6  717.2

Execl Throughput                 43.0    1619.4  376.6

File Copy 1024 bufsize 2000 maxblocks     3960.0   319724.7  807.4

File Copy 256 bufsize 500 maxblocks      1655.0   82858.8  500.7

File Copy 4096 bufsize 8000 maxblocks     5800.0   957790.3  1651.4

Pipe Throughput                12440.0   458770.0  368.8

Pipe-based Context Switching          4000.0   74230.2  185.6

Process Creation                126.0    2963.8  235.2

Shell Scripts (1 concurrent)           42.4    3719.2  877.2

Shell Scripts (8 concurrent)           6.0    494.0  823.3

System Call Overhead             15000.0   474360.8  316.2

                                 ========

System Benchmarks Index Score                     587.5

Radxa基本参数:











                    System













                    CPU





                    ARM Cortex-A9 quad core @ 1.6Ghz









                    Memory





                    2GB DDR3 @ 800Mhz









                    Storage





                    8GB Nand Flash











Linode 1GB基本参数:









                System













                CPU





                单核Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz









                Memory





                1GB









                Storage





                24GB SSD Storage









可以看出,表面参数占优的ARM板子Radxa还是输给了Linode的VPS。不过,需要说明的是,VPS都是多个共用一个服务器资源,所以,测试结果并不代表可以使用到这么多资源

#

UnixBench测试结果的解释

1. ***********************

Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10

此项产生于 1984,测试 string handling,因为没有浮点操作,所以深受软件和硬件设计(hardware and software design)、编译和链接(compiler and linker options)、代码优化(code optimazaton)、对内存的cache(cache memory)、等待状态(wait states)、整数数据类型(integer data types)的影响

2. ********************

Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10

这一项测试浮点数操作的速度和效率。这一测试包括几个模块,每个模块都包括一组用于科学计算的操作。覆盖面很广的一系列 c 函数:sin,cos,sqrt,exp,log 被用于整数和浮点数的数学运算、数组访问、条件分支(conditional branch)和程序调用。此测试同时测试了整数和浮点数算术运算。

3. **************

System Call Overhead 1 2 3 4 5 6 7 8 9 10

测试进入和离开操作系统内核的代价,即一次系统调用的代价。它利用一个反复地调用 getpid 函数的小程序达到此目的。

4. ***************

Pipe Throughput 1 2 3 4 5 6 7 8 9 10

管道(pipe)是进程间交流的最简单方式,这里的 Pipe throughtput 指的是一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次数。需要注意的是,pipe throughtput 在实际编程中没有对应的真实存在。

5. *************

Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10

这个测试两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数。这一点很向现实编程中的一些应用,这个测试程序首先创建一个子进程,再和这个子进程进行双向的管道传输。

6. ************

Process Creation 1 2 3

测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)。process creation 的关注点是新进程进程控制块(process control block)的创建和内存分配,即一针见血地关注内存带宽。一般说来,这个测试被用于对操作系统进程创建这一系统调用的不同实现的比较。

7. ***********

Execl Throughput 1 2 3

此测试考察每秒钟可以执行的 execl 系统调用的次数。 execl 系统调用是 exec 函数族的一员。它和其他一些与之相似的命令一样是 execve() 函数的前端。

8. ***********

File copy

测试从一个文件向另外一个文件传输数据的速率。每次测试使用不同大小的缓冲区。这一针对文件 read、write、copy 操作的测试统计规定时间(默认是 10s)内的文件 read、write、copy 操作次数。

9. **********

Shell Scripts

测试一秒钟内一个进程可以并发地开始一个 shell 脚本的 n 个拷贝的次数,n 一般取值 1,2,4,8.(我的系统上取 1, 8, 16)。这个脚本对一个数据文件进行一系列的变形操作(transformation)

10. *********

Arithmetic Test

11. *************

Arithoh 1 2 3

12. *************

C Compiler Throughput 1 2 3

13. *************

Dc: sqrt(2) to 99 decimal places 1 2 3

sqrt(2) 到 99 位小数

14. *************

Recursion Test--Tower of Hanoi 1 2 3

15. *************

join: file 2 is not in sorted order

join: file 1 is not in sorted order

###

参考
  • https://code.google.com/p/byte-unixbench/

  • http://www.ddhow.com/blog/unixbench.html

  • http://www.cnblogs.com/share-everything-i-do/articles/3179213.html

  • http://lbs.sourceforge.net/

    EndFragment

Origami初入门

发表于 2014-07-09 | 分类于 PM

最近粗粗得了解了Origami,这里简要记录过程及对Origami的理解

#

Origami是什么

一句话,Origami是一款用来设计高保真、可交互产品原型的工具

XCode是Mac进行开发的工具,Quartz Composer(以下简称QC)是基于XCode进行UI开发、原型设计的工具,Origami是Facebook对QC封装后得到的Patch库,降低了QC的使用门槛,使QC的界面变得更加友好,更加适合进行移动App的界面设计

#

Paper来背书

2014年初,Facebook重磅推出一款拥有超华丽界面的新闻聚合应用:Paper,它有许多复杂的动画:在一个屏幕内翻页和切换主题,滑动移动版块提取新闻,灵活的互动让用户仿佛感觉不到屏幕上玻璃的存在,富有诗情画意的3D效果更是给App增加了无限立体感。而这些交互都是使用Origami进行原型设计,足见其强大

more

#

Origami的优缺点

优点
  • 交互设计功能强大

  • 基础操作简便,拖放即可

  • 适合进行移动App原型设计

    缺点

  • 学习门槛高

  • 只能在Mac上进行设计

  • 设计出的原型只能在Mac上体验,而不能在手机等目标设备上运行,这一点个人觉得效果大大折扣

#

Origami的学习渠道
  • Origami官方Examples:

  • Facebook上Origami群组:

  • 网上其它人发布的教程,如这篇

  • 网上高手发布的例子,如这篇

###

引用
  • http://facebook.github.io/origami/

  • https://github.com/facebook/origami

在Linode Ubuntu 14.04 64位系统中安装AMH碰到的问题及解决办法

发表于 2014-07-07 | 分类于 IT

刚买了个Linode的VPS,尝试安装AMH,碰到以下两个问题导致安装失败:

1,

gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib -I../intl -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -g -O2 -c progname.c

In file included from progname.c:26:0:

./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function)

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

^

make[2]: * [progname.o] Error 1

make[2]: Leaving directory `/home/amh_install/packages/untar/libiconv-1.14/srclib'

这个问题已经有解决办法;[http://amysql.com/bbs/forum.php?mod=viewthread&tid=2610](http://amysql.com/bbs/forum.php?mod=viewthread&tid=2610)

more

2,

checking for png_write_image in -lpng… yes

If configure fails try –with-xpm-dir=<DIR>

configure: error: freetype.h not found.

make: * No targets specified and no makefile found. Stop.

make: * No rule to make target `install'. Stop.

cp: cannot create regular file ‘/usr/local/php/etc/php-fpm.conf’: No such file or directory

cp: cannot create regular file ‘/usr/local/php/etc/php-fpm-template.conf’: No such file or diorytt

mkdir: cannot create directory ‘/usr/local/php/etc/fpm’: No such file or directory

mkdir: cannot create directory ‘/usr/local/php/var/run/pid’: No such file or directory

touch: cannot touch ‘/usr/local/php/etc/fpm/amh.conf’: No such file or directory

./amh.sh: line 371: /usr/local/php/sbin/php-fpm: No such file or directory

[OK] php-5.3.27 install completed.

查看vi php-5.3.27/configure

for i in $PHP_FREETYPE_DIR /usr/local /usr; do

if test -f &quot;$i/include/freetype2/freetype/freetype.h&quot;; then

  FREETYPE2_DIR=$i

  FREETYPE2_INC_DIR=$i/include/freetype2

  break

fi

done

可以看到脚本假定freetype的相对路径为&ldquo;/include/freetype2/freetype/freetype.h&rdquo;,但实际上系统路径为&ldquo;/include/freetype2/freetype.h&rdquo;。可以相应的修改脚本,去除一层&quot;freetype&quot;,或者在系统路径下临时多生成一层路径,并将相应的文件复制过去

Netgear WNDR3800 WPS按钮切换LED灯

发表于 2014-07-06 | 分类于 IT

Netgear WNDR3800前面板的灯看起来还是挺上档次的,不过放在客厅一直闪,总觉得晃眼,故而准备使用前面板的WPS按钮来控制LED灯的亮灭。

Shell脚本

创建/root/led.sh脚本,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/sh
# const
ENABLE="enable"
DISABLE="disable"
TOGGLE="toggle"
# read parameter
ope=
while getopts "edt" arg
do
case $arg in
e)
ope=$ENABLE
;;
d)
ope=$DISABLE
;;
t)
ope=$TOGGLE
;;
?)
echo "unknown argument"
exit 1
;;
esac
done
# check operator
if [[ -z $ope ]]; then
echo "Miss operator!"
exit 1
fi
if [ "$ope" == "$TOGGLE" ]; then
# read current led status
cur_state=`swconfig dev rtl8366s port 1 get led`
if [ "$cur_state" == "0" ]; then
ope=$ENABLE
else
ope=$DISABLE
fi
fi
# check command
if [ "$ope" == "$DISABLE" ]; then
# turn on power green led
echo 0 > /sys/class/leds/netgear\:green\:power/brightness
echo 0 > /sys/class/leds/netgear\:orange\:power/brightness
# turn off all group 1 (i.e., green) and group 2 (i.e., orange) leds
swconfig dev rtl8366s port 1 set led 0
swconfig dev rtl8366s port 2 set led 0
# USB
echo 0 > /sys/class/leds/netgear\:green\:usb/brightness
# 2.4GHz
echo 0 > /sys/class/leds/ath9k-phy0/brightness
# 5GHz
echo 0 > /sys/class/leds/ath9k-phy1/brightness
fi
if [ "$ope" == "$ENABLE" ]; then
# turn on power green led
echo 128 > /sys/class/leds/netgear\:green\:power/brightness
echo 0 > /sys/class/leds/netgear\:orange\:power/brightness
# turn off all group 1 (i.e., green) and group 2 (i.e., orange) leds
# turn on all group 1 (i.e., green) and group 2 (i.e., orange) leds
swconfig dev rtl8366s port 1 set led 6
swconfig dev rtl8366s port 2 set led 9
# USB
echo 128 > /sys/class/leds/netgear\:green\:usb/brightness
# 2.4GHz
echo 128 > /sys/class/leds/ath9k-phy0/brightness
# 5GHz
echo 128 > /sys/class/leds/ath9k-phy1/brightness
fi

目前这一脚本中控制全部LED灯:电源、2.4GHz、5GHz、USB、WAN、LAN

测试脚本是否正常工作

  • 点亮LED灯 /root/led.sh -e
  • 熄灭LED灯 /root/led.sh -d
  • 切换LED灯 /root/led.sh -t

接入按钮事件

在/etc/hotplug.d位置创建一个目录,名为button,然后在/etc/hotplug.d/button下创建名为01-radio-toggle的文件

1
2
3
4
#!/bin/sh
if [ "$BUTTON" = "wps" ] && [ "$ACTION" = "pressed" ]; then
( sleep 1; /root/led.sh -t ) &
fi

测试:按下WPS按钮就可以切换前面板中的部分LED灯了

开机设置默认值

如果开机就希望LED灯熄灭,可以使用crontab:#crontab -e

添加如下命令

1
2
# turn off led
@reboot /root/led.sh -d

参考

  • http://wiki.openwrt.org/toh/netgear/wndr3700
  • http://wiki.openwrt.org/doc/uci/system
  • http://blog.xieyc.com/how-to-setup-after-upgrading-netgear-wndr3700-to-openwrt/

Radxa折腾小记

发表于 2014-07-05 | 分类于 IT

前段时间折腾了Radxa开发板,一直没时间整理,怕再不记下就忘了,粗略流水账如下

从开发板说起

要说Radxa,还真得从开发板说起。要说开发板,还得从电脑说起。说起电脑,我们的印象基本是台式机、笔记本,构成上主要包含屏幕、键盘、鼠标、音箱、还有最重要的主机,主机内包含CPU、内存、显卡、硬盘等核心组件

粗俗的说,和电脑相比,开发板可以理解为精简的主机,它也包含核心的CPU、内存、显卡、存储器(不同于硬盘,通常是Flash存储),但没有屏幕、键盘、鼠标等外围配件,不过没关系,开发板上通常有丰富的接口,可以外接屏幕、键盘、鼠标等配件,甚至是音箱、摄像头、红外遥控器、蓝牙配件等等。加上这些配件,开发板就能组成功能完善的电脑

那为什么不用电脑而用开发板呢?因为开发板有它独特的优势:

  • 体积小。像Raspberry Pi这样的开发板仅有信用卡大小,这使得开发板非常适合嵌入式开

  • 功耗低。一般不超过3W,而笔记本待机一般在60W,长年累月用下来,电费不是个小数目。关键是,功耗低就可以使用更轻便的电源、待机时间更

  • 定制性高。一般的电脑只包含少数通常的接口,比如USB。而开发板则更多,比如GPIO。这些丰富的接口使得开发板提供了丰富的想像空间,比如遥控飞机、自动浇花系统等等

在开发板的圈子里,Raspberry Pi应该是名气比较大的,最关键是其发展成熟,有丰富的社区、文档、实例支持,学习起来莫名其妙的问题少。但最大的问题是性能较差,仅有单核700MHz的CPU和512M的内存,跑起Linux及应用来比较吃力

进而,我将目光转向性能更强的开发板。其实,了解之后发现,高端开发板也大有板在,像三星、Intel这些国外牛轰轰的公司都有自己的高端的板子,不过价格也是高端,跟买一台入门笔记本也差不多

为了性价比,将目光又转回国内,毕竟堆硬件这种思路国内还是很盛行的。果不其然,国内这一圈子也很火热,一番比较之后(比较这篇文章:几款高端大气的ARM开发板),选择了Radxamore

Radxa由来

Radxa是怎么来的呢?对其创始人汤亮的这篇采访文章说得比较清楚了,这里摘录一二:

2010年,他从华中科技大学毕业,曾在Imagination Technology和全志科技工作,做过外贸,也曾经在山寨平板产线上调试过固件。Raspberry Pi和一款名为MK802的USB便携电脑点醒了他,他与四名老同事聚在一起,开发了曾在众筹平台Indiegogo获得9.5万美元融资的Cubieboard。现在,他再度出发,与一群85后的年轻人和一位有着丰富的大公司管理经验的“老兵”杨博士,共同组建了 radxa。这就是前Cubieboard创始人,现radxa(瑞莎)创始人汤亮

之所以选择Radxa,还有一个内心的原因,就是支持创业。即便我目前没有创业,也希望其他创业者能够成功,出钱买他们的产品(RMB599),便是对其最直接的支持与帮助

Radxa功能与性能

说到这一点,又要从Radxa官网搬数据了:

Model radxa rock

  • System

    • CPU ARM Cortex-A9 quad core @ 1.6Gh

    • Memory 2GB DDR3 @ 800Mh

    • Storage 8GB Nand Flash, Micro-SD SDXC up to 128GB

  • Display and Graphics

    • GPU Mali400-mp4@533Mhz, OpenGL ES 2.

    • Digital Video HDMI 1.4 up to 1080p@60h

    • Analog Video AV output

  • Network

    • LAN 10/100M Ethernet por

    • WIFI 150Mbps 802.11b/g/n with antenn

    • Bluetooth Bluetooth 4.0

  • I/O

    • Audio S/PDIF, headphone jac

    • USB HOST 2 USB 2.0 standard A typ

    • USB OTG USB OTG micro-USB connecto

    • Serial Serial Console for debuggin

    • IR Support self defined IR remot

    • Key 1 power key, 1 recovery key, 1 reset key

  • Other

    • Led 3 programable led

    • RTC Support power off alar

    • Extend header 80 pins including GPIO, I2C, SPI, Line in, USB 2.0, PWM, ADC, LCD, etc

4核1.6Ghz的CPU,2G内存,这几乎可以干掉我那台08年的笔记本了。另外可以看到Radxa还有Wifi、蓝牙4.0、红外、80个GPIO等接口,理论上可以做很多事情了

Radxa学习渠道

学习渠道很重要,就像先前说的,Raspberry Pi的成功,很大程度上原由其成熟的社区,正所谓有人的地方才有江湖,才能把东西做好。与其相比,Radxa就显得很冷清,目前主要的学习渠道包括官网、Google Group、论坛、QQ群。而且,其文档还是很匮乏的。举个例子,我当时尝试使用GPIO结合温度传感器监测Radxa板子温度,本来是件很简单的事情,结果因为愣是得不到足够的关于GPIO的文档而放弃。可见一斑。不过,说话其QQ群还是很活跃的,平均每天百十条消息,假以时日,相信还是能发展起来的

Radxa目前被用来做什么

说了这么多,到底用Radxa做什么呢?Radxa买来之后,装上了Ubuntu服务器版,其实是对ARM系统适配的Liano系统。之后就可以做任何Linux可以做的事,比如

  • 满足夙愿。很早就折腾过Linux,也折腾过Linux内核定制,一直想有个常开的Linux环境,不断累积对Linux的经验,想起来时就可以去玩

  • Web服务器。虽然在AWS、Linode上有服务器,不过毕竟放着需要保证可靠性的网站,不敢随意折腾。而作为专门用来折腾的开发板就不同的,想怎么折腾就怎么折

  • PPTP服务器。可以远程到家里的网络环境下,这是做很多事的基础。比如,在外面想给家里的路由器开个端口转发,怎么办?除了路由器可以外网访问(有安全风险),VPN是不错的方

  • SVN/Git服务器。总有一些文档需要保存历史版本、比较不同版本的区别,又不希望作为开源放在网上,搭个私有的服务器是比较好的选

  • 私有云。公有云的好处大家都知道,但也有其不好的地方:内容被政府监控、安全性依赖于对方服务器、容量及价格问题。自建私有云,可以有更多的可定制

  • NAS服务器。组个家庭的文件共享中心,这个其实和私有云有重叠的部分,并且有USB接口的路由器也可以实现这一功

  • Linux编译、测试环境。虽然性能毕竟不强,但没关系,我可以24小时编译啊,又不费

  • 等等,取决于你的想像能力和动手能力

小记

总的来说,比较满意Radxa这个开发板,既可以是折腾的东西,也可以是积累的落脚点,没事摩挲一下,也有种IT男的满足感,像是小男孩的玩具,也像是小女孩不断摆弄的芭比娃娃

1…611612613…626
Jason

Jason

记录一位独立开发者的精进之路,分享自由职业者的生存方式。

3129 日志
9 分类
5 标签
RSS
GitHub Twitter Weibo
Links
  • Toolinbox
© 2011 - 2025 Jason 浙ICP备16002197号