关闭

TensorFlow模型保存的一个坑

最近工作需要,使用tensorflow(r1.3)中contrib的某个库,根据tf官网的说法,go版本是只能调用py版本训练好的模型,而个人对go比较熟且线上环境用go作服务,所以想用go调python训练好的模型。使用python import tf和tf.contrib相关库,使用tf.saved_model.builder.SavedModelBuilder保存模型,但使用go使用LoadS...
阅读(6) 评论(0)

glibc-文件读缓存的EOF判定坑

本文基于glibc2.24版本。问题起源于一个学弟的代码:#include #include #include #include #include int main() { int rec = dup(0); int fd = open("./a.txt", O_RDON...
阅读(131) 评论(0)

linux源码 网络包接收--从中断到协议栈

本文基于4.11内核linux在硬中断触发后,会进入do_IRQ函数(arch/x86/kernel/irq.c):/* * do_IRQ handles all normal device IRQ's (the special * SMP cross-CPU interrupts have their own specific * handlers). */ __visible unsig...
阅读(269) 评论(0)

linux内核与netlink有关的两个坑

最近做一些与netfilter/ulogd2性能调优有关的工作(https://github.com/InsZVA/ulogd-with-syslog-tcp),在过程中发现了两个内核概念理解的坑点。 第一个问题是下面代码: ```c len = recv(fd, ui->nfulog_buf, bufsiz_ce(upi->config_kset).u.value, 0);...
阅读(197) 评论(0)

Linux内核netfilter子系统ulogd项目性能调优记录

使用ULOGD打SYSLOG到SYSLOG-NG,当NFLOG拿到的数据包在6K左右时,CPU有两个核心占了15%左右 使用修改过的ULOGD直接打TCP,CPU只有一个核心占15%左右(修改版在https://github.com/InsZVA/ulogd-with-syslog-tcp) 使用perf top查看, 8.89% libc-2.12.so [....
阅读(197) 评论(0)

Visual Studio 调试器bug一例分析

背景Visual Studio一度被认为是“最强大的IDE”,不过前段时间有thu学长遇到一个问题,是和调试器相关的,我和他qq联系,让他远程发图,发现了一例VS的调试器bug。问题这是调试过程中的截图,在运行光标处之前,看到lReturn是0然后运行到第二条语句,lReturn还是0,state是0但是运行完那句if判断,lReturn突然变成了一个负数,而且state也没有变,是0.但是那句if...
阅读(262) 评论(0)

制作一个自己的对战平台

缘起因为在浙大,物理网卡的地址被分配为222.205.XX.XX,但是子网掩码是255.255.255.0,这样的话虽然大家都在一个局域网里面,但是却不一定在同一个子网。 局域网联机游戏为了发现局域网中的主机,会发送广播包,有些局域网联机游戏,会发送到255.255.255.255这个广播地址(典型代表War3),但是这个广播地址 是只能广播到子网的,路由器默认不转发,这样就造成了我们同在校园网...
阅读(523) 评论(0)

通过简单的处理去除WinRAR中文版的广告

winRAR中文版老是弹出一些广告,很头疼,比如:使用OD进行处理,发现了CreateWindowEx这个敏感函数,查找引用,发现有个地址传递了一看就知道是广告的className:RARReminder:这里不能直接把调用CreateWindowEx的代码NOP抹掉,因为后面可能要ShowWindow或者SetWindowPos来设置窗口位置的,如果这时候的代码NOP了, 存这个广告的HANDL...
阅读(994) 评论(0)

HTML5直播技术探究

传统直播技术,大多使用RTMP通过Flash进行传输。随着HTML5的逐渐实现,等媒体标签的浏览器支持, 很多视频逐渐向HTML5靠拢。Youtube等视频网站纷纷开始使用HTML5播放器,然而纵观当前的直播网站,大多 还是依赖Flash。直播为何不采用HTML5呢?目前的HTML5直播思路有以下几种。一是使用js调用WebGL渲染视频,用websocket/XHR传输,比如jsm...
阅读(779) 评论(0)

统治世界的缓存 --- glibc源码拜读 - printf

问题由来有这么一段代码:int main() { printf("aaa\n"); pid_t pid = fork(); if (pid < 0) { printf("an error occur\n"); } else if (pid == 0) { printf("i am child\n"); } else {...
阅读(497) 评论(0)

Go语言中的多核调度

Go语言中的多核调度 浙江大学 14级软件工程 李自乐   近年来,随着工业技术的发展,服务器的CPU数量越来越多,动辄几十核心。为了发挥多核的优势,大多数程序都会采用多线程的方式来利用多核。另外,服务器编程一般都涉及较多的IO,包括网络或者外存,同步阻塞的IO对于大多数应用环境是一种很糟糕的方法: Fd.Read(); 这种语句一般在文件读准备完成之后会返回,但是文件的读取(这里的文件...
阅读(449) 评论(0)

Nginx源码分析 - Nginx启动以及IOCP模型

Nginx 源码分析 - Nginx启动以及IOCP模型版本及平台信息本文档针对Nginx1.11.7版本,分析Windows下的相关代码,虽然服务器可能用linux更多,但是windows平台下的代码也基本相似 ,另外windows的IOCP完成端口,异步IO模型非常优秀,很值得一看。Nginx启动曾经有朋友问我,面对一个大项目的源代码,应该从何读起呢?我给他举了一个例子,我们学校大一大二是在紫...
阅读(3418) 评论(1)

非官方浙江大学校园网认证客户端开发笔记(一)

为什么会有这个项目在浙大是通过VPN认证上网的,在windows下官方的校园网客户端表现非常好,可以自动解决部分问题,而且不需要什么配置,输入 用户名和密码即可实现一键上网。但是很多同学使用Linux系统,尤其是刚开始学习Linux的苦手,有线网的上网便成为了最大的问题。 当然cc98流传着多种版本的bash脚本,可以通过自动配置xl2tpd和pppd实现一键上网。因为脚本普遍依赖xl2tpd和...
阅读(1673) 评论(3)

Sapphire 算法简要分析

序几个月前为了分析goroutine的垃圾回收去看了Sapphire算法的论文,在博客里面也贴了第一部分的译文, 不过太监了,对此表示遗憾。于是将该篇论文重新看了一遍,然后整理了一下大致思路。个人理解,水平有限 ,可能有误还望大家批评指教!概述支持并发的语言(多线程等)的垃圾回收工作尤为复杂,大多语言采用了以标记-回收算法为主的回收机制, 然而在并发的环境下,在进行标记回收的过程中,应用程序新...
阅读(556) 评论(0)

匹配队列问题

匹配队列问题最近在做视频聊天平台,想让他支持随机配对,做一个匹配队列。要求每个客户端到达后加入队列,匹配时随机找到 匹配目标。并且能够实现,广播所有人正在匹配的人数,在客户端离开后,也能及时清除垃圾。最初的设想–无头苍蝇乱撞最初的设计方案,采用每个客户端一个线程,同时每个客户端连接的时候,进入队列,客户端匹配的时候,更改状态 为正在匹配,并在队列中搜寻目标。如果搜寻到了目标,先试图获得自己的锁,...
阅读(623) 评论(0)
59条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:55885次
    • 积分:1103
    • 等级:
    • 排名:千里之外
    • 原创:57篇
    • 转载:1篇
    • 译文:1篇
    • 评论:22条
    最新评论