DigitalOcean服务器ssh-key登录配置

     第一次购买DigitalOcean服务器,没曾想,它的登录方式与其他服务器很不同,它没有root默认的登录密码,而是选用了ssh-key的登录方式。
ssh-key登录倒也可以,只是它的配置稍微坑爹了点,稍微搞不好就造成永远也登录不上了,登不上了……
     参考了一些网上的文章,终于找到解决方法了,记录一下吧。

通过sed为账户配置信息

缘起

     由于业务需要,我管理了几台服务器,有客户过来开通账号时,就操作服务器,给他们开通。开通账号的很多操作都是机械性的,但是又非常浪费时间和精力。我维护了一年多的时间,居然一直都是手动配置,今天终于忍不住编写了一个脚本,让它自动帮我完成这一系列的操作,确实非常方便。

Oracle使用游标和循环更新另一张表

缘起

最近遇到个问题,由于业务需要,需要在已有很多用户的系统中,对每位用户绑定唯一一个二维码信息,这个二维码的数据表已经有了,只需要更新二维码表的userId字段即可。这个二维码表有1万条二维码信息,并且这个二维码表的条目是固定的,但要节约使用,用户离职时需要对二维码表更新状态(state)标记,以保证以后复用,系统用户数远不足1万,倒是不会溢出二维码表。
梳理一下思路
  • 二维码表(qrcode)通过字段userId与用户表(user)的id进行关联
  • 二维码表有一万条数据,并且不再新增删除
  • 用户表条目非常少,不会超过1万条

Eclipse启动时构建不能正常停止的解决方法

在使用eclipse进行编程的时候,启动时eclipse进行一些项目的构建和软件的检查,比如会自动构建项目,并校验项目的代码正确性,软件错误的上报,jar包的更行等。但是经常会出现检查一直不停止的情况,非常影响后续的编程。
这时我们可以配置一下eclipse,使其启动速度变快一些,其实就是去掉一些无谓的检查。

多线程知识整理

  • 使用 isInterrupted()方法判断中断状态
  • 可以在 Thread 对象上调用 isInterrupted()方法来检查任何线程的中断状态。
    这里需要注意:线程一旦被中断,isInterrupted()方法便会返回 true,而一旦 sleep()方法抛出异常,它将清空中断标志,此时isInterrupted()方法将返回 false。
  • 使用 Thread.interrupted()方法判断中断状态

    可以使用 Thread.interrupted()方法来检查当前线程的中断状态(并隐式重置为 false)。又由于它是静态方法,因此不能在特定的线程上使用,而只能报告调用它的线程的中断状态,即判断的都是当前这个线程的状态。

mysql按条件输出不同字段的情况

mysql中遇到输入不同字段的情况。
项目中遇到一个情况,如果original_account字段的值不为0,则选择该值original_account,如果为0,则选择account这个字段
可以使用mysql自带的IF函数,非常方便。
IF(expr1,expr2,expr3)
果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。
那么这个sql语句就是:
SELECT sum(if(original_account =0, account, original_account)) as account
from dw_borrow  
类似的还有
select *,if(sva=1,"男","女") as ssva from user where sva != ""

 

解决mac下sudo失效的问题

最近要在mac安装maven,需要将maven放到/usr目录下,当执行命令

sudo apache-maven-3.3.9 /usr

输入密码时,出现了operation not permitted的问题,没有权限操作,明明密码是正确的,还依然报错。

于是网上找原因,原来是自mac系统升级到

OS X El Capitan后,在内核下引入了Rootless机制,以下路径:

/System
/bin
/sbin
/usr (except /usr/local)

均属于Rootless范围,即使root用户无法对此目录有写和执行权限,只有Apple以及Apple授权签名的软件(包括命令行工具)可以修改此目录。

一个解决方法是关闭Rootless,具体如下:

用树莓派打造家庭级的NAS

c2c2122d4f849ee9f8ae3a2a6a836162

缘起

今年树莓派3刚发售的时候就下单了树莓派3,,打算拿它来研究点东西。
最近买了一些学习的会员账号,下载了一些视频和音频的会员服务,想在家里学习一下。问题是,家里有好几个设备,PC、mac和手机,如果在每台设备上都能看(听)的话,要分别在设备插上移动硬盘,这样当然是观看最直接的方式,但是这样势必非常的麻烦,每次都要拔插硬盘,而且手机也不支持移动硬盘;当然也可以将文件分别保存到各个设备上面,但是这样一份文件存到多个地方也会占用很大的空间。
所以我想,何不利用树莓派打造成一个家庭级别的多媒体服务器,其他设备通过软件直接观看这台树莓派上面的视频等文件呢?