自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 [Erlang] - lager

lager是Erlang自己的日志系统。可以通过一下方式获取源码。

2024-04-23 19:26:46 143

原创 [Erlang] - gen_event

一般来说,gen_event的实现模块大都没有start_link()函数,一般情况下,直接有监督者启动的都是gen_event容器(事件管理器),而不是gen_event的实现模块。

2024-04-23 16:36:13 168

原创 [Erlang] - EPMD

游戏服和大区服(也有的叫网关服的)短暂断连并短时间内又再次链接。1.大区服服务器网络问题(同事同时间没出现问题,pass)。2.配置问题引发(是能正常连接的,pass)。3.游戏服网络问题(就是它!

2024-04-18 20:21:57 296 2

原创 [Erlang] - 部分系统限制

单个dets文件大小不能超过2G,mnesia也受到这个限制。

2024-04-17 21:44:23 162 1

原创 Erlang和Java对比

Erlang 有原生支持网络编程和建立分布式应用程序的能力,这些都使 Erlang 成为开发大规模应用的理想语言。由于 Erlang 中的进程被设计为相互独立的容器,所以在 Erlang 中进行并发编程通常比使用共享状态的线程库更容易。Erlang 的高可用性来自于其内置的错误处理机制。另外,Erlang 的错误日志非常详细,对于跨进程或跨网络通信的问题有很好的支持。总之,Erlang 能够提供高性能、高并发、高可靠性和热代码升级等优点,这使得 Erlang 成为一种适用于实时和分布式系统的编程语言。

2024-04-17 19:34:26 315 1

原创 Erlang atom

atom​​不参与垃圾回收​​,一旦创建就不会被移除掉,一旦超出atom的数量限制(默认是1048576) VM就会终止掉.对于一个会持续运行很久的系统,把任意字符串转成atom是很危险的,内存会慢慢被吃光.如果使用的原子是在预期范围内的,比如协议模块的名称,那么可以使用list_to_existing_atom来进行防范,这个方法把一个文本形式的字符列表转为一个已经存在原子 atom,如果原子 atom 不存在,则返回一个 badarg 的错误。在shell中看一下atom的使用情况。

2024-04-15 21:02:55 272 1

原创 [Erlang 002] -Application构建

又预感到可能是文件位置导致的启动失败,但是网上大家都是用的application:start()去启动,后面发现因为beam在ebin目录下,正确的启动erl进程的命令应该是 erl -pa ebin。控制台输入启动test。

2024-03-25 15:10:16 220 1

原创 [Erlang] - gen_fsm

gen_fsm(有限状态机)描述了这样的一组关系:State(S) x Event(E) -> Actions(A),State(S’)这个关系意味着:如果在S状态下发生事件E,将执行动作A并返回状态S’.

2024-02-22 16:47:54 336 1

原创 [Erlang] - gen_server

gen_server.erl (上面的spawn经过fun的传来传去最后会来到gen_server)proc_lib.erl是一个关于进程的工具类,提供了同步启动进程的机制。

2024-02-22 16:46:14 449 1

原创 [Erlang] - 数据存储选择

跨进程读写的数据,比较全局性的,最好用ets。但ets不能用得太多,有数量限制的。(缺省情况下最多1400个,可以通过环境变量ERL_MAX_ETS_TABLES进行修改)定义进程数据结构的,比较稳定的,用State;进程内经常读写的数据,最好用进程字典,快;

2024-02-21 20:07:56 108 1

原创 git常用操作

工作实践中git的常用操作

2023-11-15 19:32:10 1116 1

原创 ssh 解决git@gitlab.xxx.com‘s password

使用以上命令,只能对当前环境生效,重启或新开终端会继续提示输入密码。

2023-10-25 11:13:09 4912 1

原创 [Erlang] - 运算符

:=用来测试两个数据类型是否完全相同。X andalso Y: 如果X为true,则会执行Y,如果X为false,则不会计算Y,直接false。X orelse Y, 如果X为true,则结果为true,不会计算Y。X =:= Y:比较X、Y的值和数据类型是否完全相同。X =/= Y:比较X、Y的值和数据类型是否完全不同。X == Y:比较X、Y的值是否相同。X /= Y:比较X、Y的值是否不同。X =< Y:X等于或小于Y。X >= Y:X大于或等于Y。X < Y :X小于Y。X > Y:X大于Y。

2023-10-24 17:00:35 1319 1

原创 [Erlang] - lists

列表 List 里的每一个元素按从左向右的顺序,依次跟一个累积器(accumulator)参数 Acc0 作为 Fun 的参数被调用执行,并返回一个新的累积器 Acc1 跟列表的下一个元素调用,直到调用完列表里的所有元素,最终返回累积器 Acc 的结果值。列表 List1 里的每一个元素以参数的方式被断言函数 Predicate 调用,如果该元素在断言函数 Predicate 执行中返回的是 true,那么则留下,否则被丢弃,最终返回一个符合断言条件的元素的列表。获取列表中指定位置的元素。

2023-10-23 19:45:37 1314 1

原创 [Erlang] - 入门练习

Erlang 练习

2023-10-20 11:41:36 592 1

原创 设计模式-装饰器模式(Decorator Pattern)

装饰类模式

2023-02-21 15:43:44 88

原创 设计模式-工厂模式(Factory Pattern)

设计模式-工厂模式

2023-01-31 14:39:22 106

原创 nutzDao常用注释汇总

汇总一下最近用到的nutzDao的相关注释类上方:@Table(“XXX”) 表名@PK({“id”, “dateTime”}) 联合主键@TableIndexes({@Index(name=“dateTime”, fields={“dateTime”}, unique=false),@Index(name=“id”, fields={“id”}, unique=false)}) 表索引设置@TableMeta("{mysql-charset:‘utf8mb4’}") 表字符设置

2022-03-17 11:44:12 311

原创 遇到的面试题们(一)

最近遇到的面试题(一)1、输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。方法一(推荐-两次反转): String str = "I am a student."; List<String> strList = Lists.newArrayList(str.split(" ")); Co

2022-03-17 11:19:24 54

原创 《MySQL必知必会》知识总结一

重新学习数据库,跟随着《MySQL必知必会》这本书的脚步一起进行深入的了解。数据库基础知识数据库(database):保存有组织的数据的容器。表(table):某种特定的数据类型的结构化清单。表名具有唯一性(同一个数据库不能有相同的表名,但在不同的数据库中可以出现两个相同的表名)。模式(schema):描述关于数据库或者表的布局或特性的信息。列(column):表中的一...

2018-12-17 10:49:52 118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除