Erlang
文章平均质量分 74
hidetobj
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Erlang实现简单Web服务器
转贴一个简单的Web服务器:httpd.erl[code]%% httpd.erl - MicroHttpd-module(httpd).-author("ninhenry@gmail.com").-export([start/0,start/1,start/2,process/2]).-import(regexp,[split/2]).-define(de...原创 2008-09-01 17:59:44 · 378 阅读 · 0 评论 -
Programming Eralng读书笔记10: 分布式编程
分布式程序指设计用于运行在网络中的可以通过消息传递相互交流彼此的活动的计算机上的程序分布式应用的好处:Performance、Reliability、Scalability、Intrinsically distributed application、Fun、1, key-value server的简单例子:[code]-module(kvs).-export([star...2008-01-15 13:09:45 · 205 阅读 · 0 评论 -
ubuntu下编译安装Erlang
先要这样[code]apt-get install build-essentialapt-get install libncurses5-devapt-get install m4apt-get install libssl-dev[/code]然后要用新立得装如下库:libc6unixodbcgcj然后下载源代码[code]tar -x...2008-01-18 02:28:27 · 277 阅读 · 0 评论 -
Opus 5与Codex语音模式:构建下一代智能语音交互系统实战
语音识别技术作为人工智能的重要分支,通过将人类语音转换为机器可理解的文本数据实现人机交互。其核心原理基于声学模型、语言模型和解码器的协同工作,采用深度学习算法对音频信号进行特征提取和模式匹配。在技术价值层面,高质量的语音识别能够显著提升交互效率,降低人工成本,并为无障碍访问提供支持。随着opus音频编码技术的演进和流式处理能力的增强,语音系统在实时性和准确性方面取得突破性进展。在实际应用场景中,智能客服、语音助手、实时翻译等领域对低延迟、高准确率的语音交互需求日益增长,这自然引出了对Opus 5架构和Cod原创 2026-07-28 09:43:35 · 502 阅读 · 0 评论 -
gen_event例子:terminal_logger
定义三个terminal_logger:$$ terminal_logger1.erl[code]-module(terminal_logger1).-behaviour(gen_event).-export([init/1, handle_event/2, handle_call/2, handle_info/2, code_change/3, terminate/2])...原创 2008-08-25 16:23:08 · 197 阅读 · 0 评论 -
OTP Design Principles: Supervisor Behaviour
Supervisor Behaviour是一个用来实现一个supervisor进程来监控其他子进程的模块子进程可以是另一个supervisor,也可以是一个worker进程worker进程一般使用gen_event,gen_fsm或gen_server behaviour来实现一个使用该模块来实现的supervisor有一个接口方法的标准集,包括跟踪和错误报告的功能supervis...原创 2008-08-26 00:06:48 · 305 阅读 · 0 评论 -
Mnesia用户手册:一,介绍
Mnesia是一个分布式数据库管理系统DBMS,适合于需要连续运算和软实时特性的电信应用及其他Erlang应用目录1,介绍2,Mnesia快速上手3,构建一个Mnesia数据库4,事务和其他访问上下文5,多种Mnesia特性6,Mnesia系统信息7,联合Mnesia和SNMP8,Mnesia错误消息9,备份callback接口10,活动访问call...2008-08-26 15:47:50 · 301 阅读 · 0 评论 -
Mnesia用户手册:二,Mnesia快速上手
本章介绍了Mnesia:1)启动一个Erlang session并制定Mnesia数据库的目录2)初始化数据库结构3)启动Mnesia并创建必要的表1,初次启动Mnesia以下是Mnesia系统启动的一个简单展示:[code]unix> erl -mnesia dir '"/tmp/funky"'Erlang (BEAM) emulator version 4....2008-08-27 14:09:15 · 283 阅读 · 0 评论 -
Mnesia用户手册:三,构建Mnesia数据库
本章详细介绍了设计Mnesia数据库和编程结构的基本步骤:1)定义schema2)数据模型3)启动Mnesia4)创建新表1,定义schemaMnesia系统的配置在schema里描述schema是一个特殊的表,它包含了表名、每个表的存储类型(表应该存储为RAM、硬盘或两者)以及表的位置等信息不像数据表,schema表里包含的信息只能通过schema相关的方法来...2008-08-27 21:46:06 · 207 阅读 · 0 评论 -
Mnesia用户手册:四,事务和其他访问上下文
本章讲述Mnesia事务系统和事务属性,它们让Mnesia成为一个容错的、分布式的数据库管理系统讲述内容包括锁(table lock和sticky lock)、如何绕开事务(dirty operation)、嵌套事务(nested transaction):1)事务属性,包括原子性,一致性,隔离性,持久性(ACID)2)锁3)脏操作4)Record名与Table名5)act...2008-08-29 00:06:51 · 267 阅读 · 0 评论 -
Mnesia用户手册:五,Mnesia高级特性
本章描述了构建分布式、容错的Mnesia数据库相关的高级特性:1)索引2)分布和容错3)表分片4)本地内容表5)无盘节点6)更多的schema管理7)Mnesia事件处理8)Mnesia应用调试9)Mnesia里的并发进程10)原型1,索引如果我们知道record的key,那么数据获取和匹配在执行起来都很高效相反如果不知道record的key...2008-09-01 17:27:40 · 484 阅读 · 0 评论 -
Programming Erlang读书笔记9: 并行程序里的错误
使用BIF link将两个节点连接起来,如果其中一个节点B退出,则另一个节点A会收到{'EXIT', B, Why}的信号可以创建一个on_exit(Pid, Fun)方法来捕获某个Pid进程的死掉:[code]on_exit(Pid, Fun) -> spawn(fun() -> process_flag(trap_exit, true), li...2008-01-14 17:31:41 · 180 阅读 · 0 评论 -
Android 13+ 精确定位适配:从 ACCESS_FINE_LOCATION 到前台服务 4 步实践
本文详细解析Android 13+精确定位适配策略,从权限声明到前台服务的完整实践指南。针对新版后台定位限制,提供四步实施方案:权限分级请求、前台服务定义、合规通知创建及位置更新处理,帮助开发者解决运动追踪、导航等场景下的持续定位需求,确保应用符合最新的隐私保护规范。原创 2026-07-09 13:36:11 · 331 阅读 · 0 评论 -
Erlang和ActionScript3的Socket通讯
server.erl[code]-module(server).-export([start/0,start/1,process/1]).-define(defPort, 8888).start() -> start(?defPort).start(Port) -> case gen_tcp:listen(Port, [binary, {packet, 0},...原创 2008-09-02 13:18:35 · 164 阅读 · 0 评论 -
Erlang的JSON库
使用下列JSON库:[url]http://www.lshift.net/blog/2007/02/17/json-and-json-rpc-for-erlang[/url]该JSON库采用[url=http://www.erlang.org/ml-archive/erlang-questions/200511/msg00193.html]Joe Armstrong prefered ...原创 2008-09-02 15:40:14 · 250 阅读 · 0 评论 -
Erlang与ActionScript3采用JSON格式进行Socket通讯
前提:需要下载[url=http://code.google.com/p/as3corelib/]as3corelib[/url]来为ActionScript3处理JSON codecserver.erl[code]-module(server).-export([start/0,start/1,process/1]).-define(defPort, 8888)....原创 2008-09-02 16:37:55 · 171 阅读 · 0 评论 -
介绍Erlang里的Record
原文: [url=http://20bits.com/2008/06/15/erlang-an-introduction-to-records/]Erlang: An Introduction to Records[/url]在Erlang内部只有两种混合的数据类型:List和Tuple,而这两种都不支持命名访问,所以如果没有额外的库的话想创建像PHP、Ruby或Python中的关联数组(...2008-09-12 15:52:42 · 261 阅读 · 0 评论 -
Erlang里的make
Erlang自带一个make工具我们看一个例子目录结构:[code]--Emakefile-include --test.hrl-src --test.erl-ebin[/code]Emakefile:[code]{'src/*', [{i, "include"}, {outdir, "ebin"}]}.[/code]test...原创 2008-09-22 17:38:50 · 321 阅读 · 0 评论 -
Erlang:一个通用的网络服务器
原文: [url=http://20bits.com/2008/06/16/erlang-a-generalized-tcp-server/]Erlang: A Generalized TCP Server[/url]前面几篇文章里谈到了Erlang的[url=http://20bits.com/2008/05/02/network-programming-in-erlang/]gen_t...2008-09-24 16:50:14 · 281 阅读 · 0 评论 -
Erlang内存管理和运行模式笔记
Erlang进程非常轻量级进程间通过消息传递进行通讯进程接收消息时无法判断消息是共享的还是物理上复制过来的,这取决于Erlang运行时系统每个进程都有一个邮箱,或者说是消息队列,队列中包含所有发给该进程的消息的指针消息本身是一个term,存储在堆上进程调用receive语句时会扫描邮箱直到找到第一个匹配的消息发送消息时接收者由进程id来指定,而不管进程位于何处Erl...原创 2008-09-25 16:40:26 · 370 阅读 · 0 评论 -
ECUG III -- Elrang中国用户组第三次活动
详情请见:[url]http://ecug.org/[/url]大家也帮忙宣传宣传原创 2008-11-06 11:00:05 · 170 阅读 · 0 评论 -
OTP Design Principles: Gen_Fsm Behaviour
1,有限状态机FSM,有限状态机,可以用以下形式来描述做一个关系集:[code]State(S) x Event(E) -> Actions(A), State(S')[/code]意思是,如果我们位于状态S,然后事件E发送了,则我们应该执行动作A,并且将状态改为S'2,例子有一个代码锁的门,如果输入的代码顺序是对的,那么将门打开30秒如果输入代码不完全,则等待...原创 2008-08-22 17:29:33 · 191 阅读 · 0 评论 -
Erlang基于Socket实现简单聊天室
1,chat_server.erl[code]-module(chat_server).-export([start/1]).-define(TCP_OPTIONS, [list, {packet, 0}, {active, false}, {reuseaddr, true}]).start(Port) -> Pid = spawn(fun() -> manage...2008-08-11 15:56:00 · 366 阅读 · 0 评论 -
gen_server入门
gen_server入门1)什么是gen_server?gen_server是OTP(Open Telecom Platform)的一个组件,OTP是Erlang的应用程序框架,gen_server定义了自己的一套规范,用来写Erlang服务器程序gen_server manual: [url]http://www.erlang.org/doc/man/gen_server.htm...2008-08-12 00:33:50 · 359 阅读 · 0 评论 -
Claude新架构解析:语义校验环折叠与FSM硬件加速
大语言模型推理中的语义一致性校验,传统上依赖高频动态计算,构成显著隐性开销。其原理在于通过实时监控输出分布保障意图连贯性,但带来显存带宽争抢、缓存污染与延迟激增等技术代价。随着模型部署向高并发、低延迟、边缘化演进,这类冗余计算层正成为性能瓶颈。Anthropic此次将语义保真度校验环(SFCL)重构为寄存器级有限状态机(FSM),实现从‘在线计算’到‘状态锚定’的范式跃迁,大幅释放GPU计算资源。该技术已落地客服对话、实时代码补全及Jetson Orin边缘推理等典型场景,在保持甚至提升输出质量前提下,实现原创 2026-06-29 09:26:24 · 460 阅读 · 0 评论 -
Erlang里实现MapReduce
参考: [url]http://weblambdazero.blogspot.com/2008/08/mapreduce-in-erlang.html[/url]MapReduce的主要原理是将一个数据集上的计算分发到许多单独的进程上(map),然后收集它们的结果(reduce)。在Erlang里实现MapReduce非常细节也十分简单,例如Erlang的作者Joe Armstrong...2008-08-17 23:35:14 · 186 阅读 · 0 评论 -
Joe Armstrong:关于并行编程和Erlang的十个问题
原文:[url=http://www.thinkingparallel.com/2007/03/20/ten-questions-with-joe-armstrong-about-parallel-programming-and-erlang/]Ten Questions with Joe Armstrong about Parallel Programming and Erlang[/url]...2008-08-18 22:24:19 · 251 阅读 · 0 评论 -
如何写超强伸缩性的多游戏玩家服务器
附标题:如何构建超强伸缩性的游戏服务器而集容错、负载均衡和无限伸缩性于一身原文:[url=http://www.devmaster.net/articles/mmo-scalable-server/]Writing Low-Pain Massively Scalable Multiplayer Servers[/url][b]介绍[/b]本文以我的OpenPoker项目为例子,...2008-08-20 12:55:14 · 514 阅读 · 0 评论 -
从零实现C++字符串类:深入理解动态内存、移动语义与SSO优化
在C++编程中,字符串处理是基础且高频的操作,其核心在于动态内存管理。通过手动管理堆内存的分配与释放,开发者能深入理解资源生命周期,这是C++区别于托管语言的关键。动态数组的实现原理涉及深拷贝与浅拷贝,直接关系到程序的正确性与性能。现代C++引入的移动语义通过右值引用实现了高效的资源转移,避免了不必要的拷贝开销,显著提升了容器操作和函数返回值的性能。短字符串优化(SSO)作为一种重要的性能优化技术,将小字符串直接存储在栈内存中,避免了堆分配的开销,这对处理大量短字符串的场景(如键值对、日志标签)尤为有效。本原创 2026-07-10 11:39:38 · 539 阅读 · 0 评论 -
OTP Design Principles Overview
1,Supervision Trees来源于workers和supervisor模型workers就是实际执行计算的进程supervisors是监控workers的进程,如果workers进程崩溃,supervisors可以负责重启workers进程supervision tree将代码分层为supervisors和workers,方便构建容错系统2,Behaviours...原创 2008-08-21 17:28:32 · 169 阅读 · 0 评论 -
OTP Design Principles: Gen_Server Behaviour
OTP Design Principles: Gen_Server Behaviour1,Client-Server原则client-server模型由一个中心服务器和任意多的客户端组成该模型主要用来做资源管理操作,不同的客户端共享一个通用的资源,服务器负责管理该资源2,例子[code]-module(ch3).-behaviour(gen_server)....原创 2008-08-22 12:19:52 · 140 阅读 · 0 评论 -
gen_server Hello World
简单的gen_server Hello World程序代码:[code]-module(genserver).-behaviour(gen_server).-export([start/0, hello/1]).-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_...原创 2008-08-22 13:45:57 · 147 阅读 · 0 评论 -
最简单的Erlang Socket程序
server.erl:[code]-module(server).-export([start/0]).start() -> {ok,Listen}=gen_tcp:listen(2345,[binary,{packet,4}, {reuseaddr,true}, ...2008-08-08 12:44:50 · 159 阅读 · 0 评论 -
YOLOv8超参数自动搜索实战:Ray Tune与W&B集成指南
超参数优化是深度学习模型调优的关键环节,直接影响模型性能和收敛速度。通过自动化搜索算法替代传统手动调参,可以系统性地探索参数空间,找到全局最优解。Ray Tune作为分布式超参数优化框架,支持多种搜索算法和资源管理,与YOLOv8结合可实现高效参数搜索;Weights & Biases(W&B)则提供实验跟踪和可视化功能,两者配合形成完整的工作闭环。在目标检测、工业质检等场景中,这种自动化调参方案能显著提升模型mAP指标和开发效率。本文以YOLOv8为例,详解如何利用Ray Tune实现超参数自动搜索,并通原创 2026-07-01 14:40:33 · 461 阅读 · 0 评论 -
Programming Erlang读书笔记1:Why Erlang?
公司产品终于上线了,一切告一段落,可以有大把时间看书写字了。新年最令人激动事:可以开始系统的学习Erlang了!Erlang的书籍和教材还很少,《Programming Erlang》是Erlang的发明者Joe Armstrong自己写的学习Erlang的书,可谓经典为什么要学习Erlang?现在还不知道,学完了才知道Erlang值不值得学。搞程序的需要宗教信仰啊。[b]...2008-01-02 16:33:04 · 170 阅读 · 0 评论 -
Programming Erlang读书笔记2:Getting Started
去[url]http://www.erlang.org/download.html[/url]下载Windows版本的Erlang,将bin目录加入到系统path中cmd进去输入erl回车,就进入Eshell了,输入q().或者Ctrl+C/Break可以退出Eshell(命令末尾加.然后回车才会执行函数)在Eshell里输入help().可以看到命令列表(实际上是函数列表)基...2008-01-03 13:20:31 · 163 阅读 · 0 评论 -
Programming Erlang读书笔记3: Sequential Programming
module是Erlang代码的基本单元,我们写的所有function都存储在module里面,module存储在.erl文件里面module编译成.beam文件后方可运行在Erlang_HOME建立一个名为.erlang的文件:[code]io:format("consulting .erlang in ~p~n", [element(2, file:get_cwd())])...2008-01-04 17:29:03 · 166 阅读 · 0 评论 -
OpenCV与dlib实现高效人脸识别系统开发指南
人脸识别作为计算机视觉的核心技术,通过特征提取与模式匹配实现身份验证。其技术原理主要基于深度学习模型将人脸图像转换为高维特征向量,再通过欧氏距离计算相似度。OpenCV+dlib组合因其优异的性能平衡成为开发首选,其中dlib提供的68点特征定位与ResNet模型能有效提取128维人脸特征。这种方案在相册管理、门禁系统等场景展现实用价值,特别适合需要处理批量图片的摄影后期与档案数字化场景。本方案通过调整识别阈值tolerance参数(建议0.4-0.6范围),可平衡召回率与准确率,实测在家庭相册整理中达到9原创 2026-06-30 11:14:05 · 426 阅读 · 0 评论 -
Programming Erlang读书笔记5: Advanced SP
所有的BIFs都属于erlang module,如erlang:tuple_to_list()、erlang:time(),但是大部分BIFs都auto-imported了,所以可以直接调用tuple_to_list()、time()erlang module的所有BIFs列表见:[url]http://www.erlang.org/doc/man/erlang.html[/url]B...2008-01-07 18:38:19 · 153 阅读 · 0 评论 -
Programming Erlang读书笔记6: 编译和运行Erl程序
启动和停止Eshell[code]$ erl1> halt().[/code]查看/添加代码查找路径[code]code:get_path().code:add_patha(Dir).code:add_pathz(Dir).erl -pa Dir1 -pa Dir2 ... -pz DirK1 -pz DirK2[/code]查看载入...2008-01-08 18:21:48 · 275 阅读 · 0 评论
分享