随笔分类 -  erlang

摘要:本来想全面解读一下mnesia源码,初步读了一遍,发现功底不够,先做个记录 先以网上的一张图看看 1、 我们先看看mnesia的启动 直接看mnesia_sup模块 %%%%下面摘自mnesia_sup.erl.......init([[]]) -> init(); init(BadArg) -> 阅读全文
posted @ 2021-05-18 14:26 土豆008 阅读(198) 评论(0) 推荐(0)
摘要:gen_event能查看的例子不多,把网上的做个标记 curling_scoreboard_hw.erl -module(curling_scoreboard_hw). -export([add_point/1, next_round/0, set_teams/2, reset_board/0]). 阅读全文
posted @ 2021-05-06 09:31 土豆008 阅读(116) 评论(0) 推荐(0)
摘要:深度学习反向学习方法可以说是神经网络中比较难懂的一块了,主要是公式的推导和计算要有一些数学知识 可以说这个思想的精髓是数学也不为过 因为都是数学公式表达式,不知道怎么发,直接转成了图片,可以放大查 这里的误差推荐用平方差 每次学习神经网络,看到反向传播都有点蒙,做个标件,以后如果还有什么再补充~~~ 阅读全文
posted @ 2019-09-18 15:49 土豆008 阅读(237) 评论(0) 推荐(0)
摘要:erlang的优点 1、并发简单 2、热更新 3、易于学习 为什么要学erlang? erlang底层实现是C 所有简单来说,如果一个很精通C的程序员(20年+)肯定是比一个常规的erlang程序员写出的代码效率更高。 其实这个对于底层基于C的大部分语言(JAVA等)都是一个道理, 可是为什么要学e 阅读全文
posted @ 2019-06-04 10:31 土豆008 阅读(814) 评论(0) 推荐(0)
摘要:erlang作为一个为电信级别而出现的语言,热更新是其最重要的特性之一 热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新旧代码是共存的。 下面我们以最典型的gen_server为例子,讲解一下这个BT的功能 编译运行结果 如果修改了函数,可 阅读全文
posted @ 2018-08-14 11:39 土豆008 阅读(847) 评论(0) 推荐(0)
摘要:上接erlang下lists模块sort(排序)方法源码解析(一),到目前为止,list列表已经被分割成N个列表,而且每个列表的元素是有序的(从大到小) 下面我们重点来看看mergel和rmergel模块,因为我们先前主要分析的split_1_*对应的是rmergel,我们先从rmergel查看,如 阅读全文
posted @ 2018-05-23 18:15 土豆008 阅读(531) 评论(0) 推荐(0)
摘要:排序算法一直是各种语言最简单也是最复杂的算法,例如十大经典排序算法(动图演示)里面讲的那样 第一次看lists的sort方法的时候,蒙了,几百行的代码,我心想要这么复杂么(因为C语言的冒泡排序我记得不超过30行),于是自己就实现了下 结果更蒙了 对比结果如下 B是一个打乱顺序的1到1000的序列,我 阅读全文
posted @ 2018-05-22 17:36 土豆008 阅读(1618) 评论(0) 推荐(0)
摘要:一般的tcp服务器(阻塞)是使用的如下 [erlang] gen_tcp传输文件原型 http://www.cnblogs.com/bluefrog/archive/2012/09/10/2679040.html server端 server(Port) -> case gen_tcp:listen 阅读全文
posted @ 2017-10-11 16:59 土豆008 阅读(1164) 评论(0) 推荐(0)
摘要:上接 cowboy源码分析(二) 我们接着分析cowboy_protocol.erl的request/7模块 -module(cowboy_protocol). %% API.-export([start_link/4]). %% Internal.-export([init/4]).-export 阅读全文
posted @ 2016-07-20 10:50 土豆008 阅读(572) 评论(0) 推荐(0)
摘要:接 cowboy源码分析(一) 下面我们重点看看cowboy_protocol.erl代码 在这里我们省略的一些代码,看看cowboy_protocol的主要流程 注意标红色的部分 首先是start_link/4启动init -》 -》init 初始化参数,找不到的设置为默认 -》 -》设置超时时间 阅读全文
posted @ 2016-07-19 16:19 土豆008 阅读(524) 评论(0) 推荐(0)
摘要:前段时间导读了ranch的源码,具体见ranch 源码分析(一), 现在整理了下ranch框架下经典应用cowboy。 源码地方:https://github.com/ninenines/cowboy(目前使用的是cowboy-1.0.4版本) 还是找其中最简单的例子来入手,那就选这个static_ 阅读全文
posted @ 2016-07-08 09:55 土豆008 阅读(1183) 评论(0) 推荐(0)
摘要:前段时间写了同一个世界的,链接如下 同一个世界(erlang解题答案) 这次带来了三生梦醒的解题答案和思路, 首先看题目 还是用1代表黑色,0代表白色,用2代表黄点,x代表空白 抽象就是这样 | 1 | 1 | 1 | 1 | | 1 | 0 | 0 | 1 | | 0 | 1 | 1 | 1 | 阅读全文
posted @ 2016-05-31 11:20 土豆008 阅读(871) 评论(0) 推荐(0)
摘要:最近玩同一个世界,才几关就把3次提示用完了,十分气愤, 于是写了程序来解~~~ o(^▽^)o 以2-1为例子,题目如下 以0代表白色,1代表黑色,抽象的就是这样的 | 0 | 1 | 0 | 1 | 0 | | 0 | 1 | 0 | 1 | 0 | | 1 | 0 | 1 | 0 | 1 | | 阅读全文
posted @ 2016-05-23 15:37 土豆008 阅读(749) 评论(0) 推荐(0)
摘要:接上 ranch 源码分析(三) 在上一次,根据ranch源码把大概流程理了一遍,下面我们将一些细节解释一下。 ranch只是一个服务的框架,它提供了传输层协议代码(ranch_tcp 和ranch_ssl), 大概可以看看这2个的源码,其实就是gen_tcp和gen_ssl的封装。 它做的工作可以 阅读全文
posted @ 2016-05-12 11:11 土豆008 阅读(571) 评论(0) 推荐(0)
摘要:接上 ranch 源码分析(二) 上次讲到了ranch_conns_sup和ranch_acceptors_sup这2个ranch的核心模块,我们接着分析 首先查看ranch_conns_sup.erl 可以看到ranch_conns_sup不是一个典型的gen_tcp模块, start_link/ 阅读全文
posted @ 2016-05-09 14:57 土豆008 阅读(697) 评论(0) 推荐(0)
摘要:接上ranch 源码分析(一) 上次讲到了ranch.erl的start_listener函数,下面我们详细分析下这个函数 可以看到在ranch的start_listener中,首先查看Transport模块(传输层模块,这里是ranch_tcp)是否载入, 如果正常载入就启动ranch_liste 阅读全文
posted @ 2016-05-09 13:33 土豆008 阅读(661) 评论(0) 推荐(0)
摘要:以前写了一个ranch的处理流程,http://www.cnblogs.com/tudou008/p/5197314.html ,就只有一张图,不是很清晰,现在有空做个源码分析。 ranch的源码(版本v1.2.1 下载链接https://github.com/ninenines/ranch.git 阅读全文
posted @ 2016-05-06 18:10 土豆008 阅读(1693) 评论(0) 推荐(0)
摘要:下面代码摘自rebar_utils.erl 这样就能用port方法执行一些shell命令 执行如下  去掉调试,修改DefaultOptions = [{use_stdout, true}, abort_on_error]   阅读全文
posted @ 2016-03-15 10:54 土豆008 阅读(883) 评论(0) 推荐(0)
摘要:recon 是ferd 大神 释出的一个 用于生产环境诊断Erlang 问题的一个工具, 不仅仅是对Erlang stdlib 接口的封装, 还有memory fragmentation 相关的函数. 下面对rencon的各个函数进行解读,做个笔记 -module(recon). -export([ 阅读全文
posted @ 2016-02-24 17:31 土豆008 阅读(1067) 评论(0) 推荐(0)
摘要:设置LOG的宏定义,调试只要在代码中加入?LOG(Val),就可以 特点是,简单,调试清楚,对代码性能的影响小,也是最常用的方法,就不举例说明了 第二种方法,加trace 日志 特点:对整个模块,或者某些函数进行详细的调试,调试信息比较多,对性能有一段影响。 举例 阅读全文
posted @ 2016-02-23 15:40 土豆008 阅读(597) 评论(0) 推荐(0)