背景 在终端执行一些需要较长时间的命令时,会切换到别的界面.但为了知道是否执行完成,需要时不时地切换过去看一眼.很麻烦. 解决方式 为了减少这种麻烦,可以使用notify-send,发送桌面通知.notify-send的使用非常简单,后面加上提示内容即可. 比如执行make的时候,就可以换成使用 make && notify-send "编译完成" 当然,每次还需要手工输入notify-send,也是挺麻烦.经常使用的话,可以封装成shell函数.起个自己顺手的名字.…
公司有几万个用户,接近10万人,有一些紧急的通知,消息提醒,可以发个及时通知工具,这样可以快速把一些信息通知给大家,让大家快速收到信息,及时通知到系统的每个人. 自动提示信息现实状态,会在客户端自动谈出来,比较友善,发布的内容支持html格式内容.…
背景 嵌入式开发中,开发工作是在远程服务器上进行的.当需要adb推送一个文件到开发板时,则需要重新在本地机器中找到该文件,再执行命令.这样的操作比较麻烦. 下面介绍我的解决方式. sshfs挂载 首先,我是通过sshfs将远程机器,挂载到了本地.并且在挂载时,挑选了同一目录.即,将远程机器的~/workspace挂载到了本地的~/workspace.这么做的好处是,远程的路径,可以直接复制黏贴到本地使用. 配置免密码登录 在远程机器上,配置好.ssh/config并使用ssh-copy-id设置…
背景 日常用过ssh登录服务器进行工作,尽管大部分时间,都只需要终端操作,编辑源码也是vim就够用了. 但有时候,还是需要使用gui程序的,比如打开一份pdf,word,ppt,excel等. 碰到这种情况,一种解决方式是,通过scp命令或别的方式,将所需文件拷贝到本地机器,再在本地使用对应的程序打开. 这里介绍另一种方式,使用x11-forward. x11-forward简介 X11是X Window System主版本11的缩写,它不光是一个基本的GUI软件,X11也被定义为一个网络协议,…
工具推荐 命令行中很方便的代码统计工具---cloc 强大的分屏工具---tmux 最舒服的markdown书写工具---typora markdown图床推荐--七牛云 模拟生成熵(避免暴力手搓键盘) 计算机本身是可预测的系统(比如开始的过程),因此,计算机算法不可能产生真正的随机数.但是机器的环境中充满了各种各样的随机性的噪声,如硬件设备发生中断的时间,用户点击鼠标的时间间隔等,这些事件是完全随机的,事先无法预测.而Linux内核实现的随机数产生器正是利用系统中的这些随机噪声来产生高质量随机…
FreeSWITCH技巧:notify与message-waiting @(Freeswitch经验点滴) 现象描述 在客户端登陆抓包时,发现了FreeSWITCH发来的包: NOTIFY sip:9988002@192.168.168.106:63984;transport=udp SIP/2.0 Via: SIP/2.0/UDP 192.168.168.204:11160;rport;branch=z9hG4bKyDmpeXc5757jD Max-Forwards: 70 From: sip…
// 为发送通知的按钮的点击事件定义事件处理方法 public void send() {///// 第一步:获取NotificationManager NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); ///// 第二步:定义Notification Intent intentAct = new Intent(this, OnePage.class); i…
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需要调用明确的存取方法.这样就可以在运行时动态在访问和修改对象的属性.而不是在编译时确定,这也是iOS开发中的黑魔法之一.很多高级的iOS开发技巧都是基于KVC实现的.目前网上关于KVC的文章在非常多,有的只是简单地说了下用法,有的讲得深入但是在使用场景和最佳实践没有说明,我写下这遍文章就是给大家详解…
该应用的界面如下,界面代码在此不再给出,源码github账户下载 MainActivity.java public class MainActivity extends Activity { private TextView tvTitle; private TextView tvContent; private Button btnSend; private String title; private String content; public void onCreate(Bundle sa…
上一篇文章<运维效率之数据迁移自动化>中讲到了工单通知,本文将介绍工单通知实现过程中的一些小技巧.所有演示均基于Django2.0 阅读此篇文章你可以: 解锁一个python if的使用新姿势 获取一个利用signals做通知的真实案例 背景说明 先看看工单表简化后的结构 class Ticket(models.Model): '''工单表''' STATE = ( (1, '待审批'), (2, '已撤销'), (3, '已通过'), (4, '被拒绝'), (5, '已挂起'), (6,…