51CTO博客开发
一个gen_server服务器在运行周期里面保持了一系列运行状态,erlang根据运行状态来决定是否停止该服务,今天说的是常规方法停服务的方法,至于由异常引起的服务停止,又要分为我们有没有提前做过trap_exit处理,改日再说。 先看一个简单的服务器,什么也不处理,只是启动起来。 -module(lab). -author('1
今天说说bash shell脚本中,函数的返回值和如何为函数传递参数. shell作为脚本语言已经成为我开发工作必不可少的工具了,不说它的语法规则了,直接来点高级的用法 1、函数返回值 注意,我这里介绍的是显式的返回值,而不是默认的返回值! 例子1: 返回值用echo显示的输出。&n
今天演示,如何利用shell和erlang通过socket进行通信,希望能对大家有所启发。 服务端由erlang设计的一个支持并发的取整服务器,客户端由shell脚本实现(当然,其他动态语言做起来也很方便,这里有个目的就是介绍shell脚本的扩展应用)。客户端发送一个浮点数,服务端处理后返回相应的整数。这里只是一个引子,希望看到的朋友可以自
今天说的也算是perl正则表达式的一两点高级特性--命名捕获与匹配变量,如果能够掌握的话,对于提升能力和效率都有帮助。 #!/usr/bin/perl -w =pod 命名捕获--给匹配上的内容加上标签 捕获到的内容都会保存在%+散列中,这个散列的key为对应的标签; 方便之处就是利于程序扩展和阅读,不用繁琐的一个一个去数括号来获取匹
今天抽空介绍tuple list数据结构在实际开发过程中与record配合的应用,我这里只是说明一种应用场景,另外的扩展应用有待大家一起去发掘。 tuple list数据结构,适合的应用场合就是:查找,更新,删除,排序,更简洁的归纳的话就是:查找和更新。 来看一个实际例子: 我有一
今天说shell的here document,何为here document?答:“这是文档”!。答案很简单,就跟易经里面解释卦一样,“卦者,挂也”! 在自动化构建一些代码时,here document技术非常常用,它在各种动态语言中使用和表现都类似。 here doc
好几位同学一直不用状态机,什么都是gen_sever,有的说是不熟悉,有的说是有必要用吗?其实erlang的状态机gen_fsm也是由gen_server实现的,这点看gen_fsm.erl就很清楚了。关键是我们要在什么情况下来使用状态机呢,根据个人经验:如果一件事情有很明显的多个状态(阶段),那么使用状态机。比如:电商那边的淡季,旺季,遇到各种日子的打折促销活动;游戏里
在上午工作的时候遇到一个问题,有两个列表A和B,分别都是无重复元素的列表。B中的元素A中有可能也包含,现在需要把A,B两个列表都包含的元素从A中删除。查看了一下手册,没有直接这样的函数或者方法,而且perl的列表操作这块提供库函数没有Erlang那么多,这就需要我们自己想办法。 最后的想到一个简单可靠的办法,先由A构建一个散列,利用散列key的唯一性,然后
很多服务端开发的同事和新手运维都来和我讨论过如何诊断linux系统的性能瓶颈,今天统一说明。 查找瓶颈有一个基本的流程,不外乎借助系统工具来给系统做一个全面的检查,最后根据结果来确定问题出在哪方面。 基本流程: 1、使用top查看系统的总体运行情况; Top的输出结果那些是很有用的信息呢?我已经全部用红线框起来了,
用户登录到linux控制台,长时间没有操作,为了安全和节约性能我们需要把这类用户强制logout掉,假设我们规定一个登录上来的用户如果5分钟内都无任何操作,那么就使其logout,我们只需要设定Bash的环境变量TMOUT就好,如: [root@qyeee 17:00:39 ~]# TMOUT=$((5 * 60))&n
介绍Erlang的dict模块( dictionary),dict就是一个通过散列(hash)来存放数据的组织方式,同时dict模块还提供了完整的操作接口,类似的模块还有orddict模块。具体讲如何使用dict模块的各种常用方法之前,先来看一些基础的概念。 大家写程序如果有一段时间了,发现程序中数组和链表是使用频率很高的两种数据结构
Shell脚本语言是我非常推荐大家要去熟练掌握的语言,今天说说Shell的for循环结构,都是我平时的使用经验和习惯。 for循环的语法结构: for arg in [args] do command(s)... done 或者C语言风格的for循环: for((i
列表操作在Erlang中很常用,lists模塊提供了很多函數來處理列表,這些的函數處理的列表對象通常分為兩類,一類是通用的,如[1,2,a,bc,{key, value}],列表元素沒有明顯的”結構“;還有一類就是針對key-value結構的函數(tuple-list),即列表每個元素都是{key, value}結構,整個列表看起來是[{key1,
今天上午一位同事的程序遇到一個問題,說是加了很少的一點代碼之後,昨天咝械暮煤玫某绦蚩偸菆箦e,又無法找到錯誤在哪裡,花了他一上午,搞的他很鬱悶,代碼具體是這樣的: NRole = add_honor_timer(NRole), case lists:member(HonorId, ?add_and_use_honors) o
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号