[XChat-Server开发笔记]2019.02.15

http://blog.ihuxu.com/xchat-server-development-notes-list在👆上面,可以找到[XChat-Server开发笔记]主题相关的所有文章1. Log4增加Log4j插件扩展2. 数据包报文头协议设计参考QQ的协议:https://www.pediy.com/kssd/pediy10/83047.htm0000: 02 ->表示QQ数据包的起点。0001 - 0002: 为QQ客户端版本号对于QQ2008为:1221。0003 - 0004: 就是我们所说的QQ命令。根据试验发现命令为0016表示该包包含发出聊天记录的信息。0005 - 0006: 2B的序列号。0007 - 000A: 4B的发送消息的QQ号码。000B - 倒数第二字节: 用改进的TEA算法加密的包含聊天内容的数据包。(里面有很多丰富的信息如接收信息的QQ号码IP地... Read More

[XChat-Server开发笔记]2019.01.28 – 30

http://blog.ihuxu.com/xchat-server-development-notes-list在👆上面,可以找到[XChat-Server开发笔记]主题相关的所有文章1. 未登录的客户端线程池采用单例模式(Singleton Parttern)设计未登录的客户端线程池,采用静态内部类的形式保证其线程安全。之所以静态内部类能够保证单例模式的线程安全,是因为Java在底层针对类的加载已经做了同步处理,已经是线程安全的了。这种方式的优点懒加载,只有在需要的时候进行加载,节省资源在多线程共享使用一个单例时,确保线程安全关于线程安全下的单例模式的使用,参考文章:http://blog.ihuxu.com/java-singleton-pattern-usages-for-thread-safe1.1 客户端线程池的主要数据结构1.1.1 基于链表的阻塞队列(Linked B... Read More

[LeetCode]4Sum

原题Given an array nums of n integers and an integer target, are there elements a, b, c, and d in nums such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.NoteThe solution set must not contain duplicate quadruplets.ExampleGiven array nums = [1, 0, -1, 0, -2, 2], and target = 0.A solution set is[-1, 0, 0, 1][-2, -1, 1, 2][-2, 0, 0, 2题解本题的... Read More

Mac(Linux)下解压(Unzip)文件时出现乱码解决方案

由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。Python方案这个方案很简单,因为如果你是*nix系统,那么python环境很有可能已经装好了。如果没有安装的话,可以到下面地址下载对应的安装包https://wiki.python.org/moin/BeginnersGuide/Downloa然后,创建python脚本文件myunzip.py,并写入如下内容[code lang="python"#作者:Latm Ak#链接:https://www.zhihu.com/question/20523036/answer/3522592#来源:知乎#著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。#!/usr/bin/env pytho... Read More

跟我一起写Makefile

概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的集成开发环境(integrated development environment, IDE)都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,并且按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为ma... Read More

普通程序员如何正确学习人工智能方向的知识?

“互联网+”已经发展的差不多了,应有尽有,空间不大,下个浪潮会不会是“AI+”?那么作为一个普通程序员,如何提前向人工智能(AI)靠拢?本文的目的是给出一个简单的,平滑的,易于实现的学习方法,帮助“普通”程序员踏入AI领域这个门。这里,我对普通程序员的定义是:拥有大学本科知识;平时工作较忙;自己能获取的数据有限。因此,本文更像是一篇 “from the scratch” 的AI入门教程。 Read More

深度学习 & 机器学习之学习资源

内容来自互联网博客深度学习框架的一年如果我不得不一句话总结2017年,那将是框架的一年。Facebook使用PyTorch做了一个大飞溅。由于类似于其动态图构建Chainer提供,PyTorch得到很多的爱从研究人员在自然语言处理,谁经常要处理动态和周期性的结构是很难在诸如Tensorflow静态图形框架申报。Tensorflow在2017年已经相当成功.Tensorflow 1.0在二月份发布了一个稳定且向后兼容的API。目前,Tensorflow的版本是1.4.1。除主框架之外,还发布了几个Tensorflow伴随库,包括用于动态计算图的Tensorflow折叠,用于数据输入流水线的Tensorflow变换以及DeepMind的更高级别的Sonnet库。Tensorflow团队还宣布了一个新的热切执行模式,其工作方式类似于PyTorch的动态计算图。除Google和Facebook之外... Read More