摘要:
HTTP网络编程,主要学习记录HTTP(s)协议的网络编程,包括使用TCP Socket进行三次握手的HTTP网页下载,和使用SSL Socket的安全传输的HTTPs网页下载,通过案例实践自行完成编程,认识http(s)的实际工作机制! 阅读全文
摘要:
这一篇为QQ邮件发送客户端程序设计的下篇,将实现更加完善的功能,不用命令发送方式,类似日常发送邮件,直接编写邮件标题、内容,然后直接发送即可,基本实现了QQ邮件发送客户端的功能,操作更加简便,实现自己的QQ邮件发送端,根据本篇的知识内容,后面可以实现更加完善的QQ邮件发送小程序,增加一系列小功能! 阅读全文
摘要:
这篇博文记录学习使用Java实现类似QQ发送邮件的客户端,打算分为上下两篇完成,上篇从零开始学习,认识计算机网络邮件传输协议(SMTP、POP3),并开通QQ邮箱的smtp/pop3服务,为之后程序设计做准备,自行实现简单的Java GUI,通过命令方式发送邮件;下篇基于前面的基础,实现基本完整功能的,类似我们平时QQ邮件发送的客户端,图形化界面简便了发送操作,另外增加了接收服务器反馈信息的功能,以后就可以使用自己写的邮件发送程序给其他人发邮件啦,更快更方便๑乛◡乛๑ 阅读全文
摘要:
系列文章从入门开始,不断完善C/S架构的Socket通信,回忆一下,首先是实现了Server和Client的互相通信,在这个过程发现问题,接着就使用多线程技术解决客户端实时接收信息的问题,后来到了服务器端,发现多用户连接服务器的“先到先得”问题,“后到者”无法正常通信,所以再使用线程池技术解决了多用户服务器的问题。本篇基本实现了一个简单的客户端-服务器应用,使用客户端-服务器(C/S架构),结合多线程技术,模拟类似QQ、微信聊天功能,实现一个网络实时聊天室。学习到的知识有:多线程、线程池、Socket通信、TCP协议、HashMap、JavaFX等,所有知识的结合运用,并通过实战练习,一步步理解知识! 阅读全文
摘要:
孤陋寡闻,前几个月在知道LeetCode这个平台,跟牛客网可以并称“程序员的左膀右臂”๑乛◡乛๑。开始记录在LeetCode答题情况,学习练习,开启另一个神奇的世界。字符串中的单词数?最富有客户的资产总量?找出最具竞争力的子序列?三角形的最大周长?详见请戳! 阅读全文
摘要:
NLP基本技术之一:句法分析。本篇实现了基于概率上下文无关文法(PCFG)的统计句法分析,使用的算法是CYK算法。合适的数据结构、正确的回溯过程、语法树的构建,遇到的各种bug以及解决方法,这里都有循序渐进的记录过程。本篇记录详细步骤python实现使用CYK算法对上下无关文法(PCFG)的句法分析,通过核心算法讲解深入理解统计句法分析的思想并掌握具体算法代码实现,得到一个句子的语法树。 阅读全文
摘要:
本篇是详细记录在TCP通信原理之上,使用Java实现TCP的Socket网络通信,包含C/S软件架构的程序设计,偏向实践,更加有趣!TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。仔细阅读的朋友可以发现,在服务器端核心部分,有一行注释说明了该程序只支持单用户,也就是单线程通信,可以尝试一下,如果再开一个客户端连接该服务,是否因为单线程阻塞程序卡住了。 阅读全文
摘要:
除了用jieba等分词词性标注工具,不如自行写一个算法实现同样的功能,下面将详细介绍Java实现的HMM+维特比算法实现词性标注。在给定的单词发射矩阵和词性状态转移矩阵,完成特定句子的词性标注。这个任务可以在刚接触HMM和维特比算法进行词性标注作为实践,为之后实现特定语料库的词性标注铺垫。 阅读全文
摘要:
本篇详细记录运用java进行网络编程,基于UDP套接字(Socket)实现服务器与客户端间的通信,在实战案例中更深刻理解UDP的实现原理,掌握UDP实践应用步骤。 阅读全文
摘要:
本篇记录学习计算机网络重点知识:生成树协议(STP),详细步骤将从认识到实践,使用Cisco Packet Tracer 完成,STP综合练习的PT练习 5.6.1。 阅读全文
摘要:
这篇将使用Java实现基于规则的中文分词算法,一个中文词典将实现准确率高达85%的分词结果。经典算法:正向最大匹配和反向最大匹配算法,然后双剑合璧,双向最大匹配。 阅读全文
摘要:
口罩预约管理系统(系统网站)基本功能实现,结合前端基础、后端PHP和MySQL数据库实现。基于上一篇设计地数据库,开始搭建口罩预约管理系统,实现基本需求功能! 阅读全文
摘要:
口罩预约管理系统(数据库设计)基本功能实现,如何结合前端基础、后端PHP和MySQL数据库实现呢?手把手教你设计数据库,搭建口罩预约管理系统,实现基本需求功能! 阅读全文
摘要:
购书+阅读静态网页设计与实现,纯HTML+CSS+Javascript,基本实现网站经典功能:图片轮播切换、点击切换、表单登录验证、用户浏览网站时长计算、鼠标点击提示、加载提示,体验前端开发的过程,小白入门前端开发案例详细步骤。 阅读全文
摘要:
隐马尔可夫模型(HMM),熟悉又陌生的名字,给人一种很神秘高深的感觉,而其原理来源于概率论统计学知识,包括了条件概率、贝叶斯公式、概率分布函数。这一篇将探索HMM三个基本问题的解决方案:估计问题、序列问题、参数估计。 阅读全文
摘要:
玩转Linux编程,这篇记录总结学习,理解进程间通信机制,进程的执行顺序和关系,同步互斥问题。Linux系统调用函数的认识和使用更进一步掌握相关Linux知识。 阅读全文
摘要:
Linux 是一个分时、多用户、多任务的操作系统。它具有精简的核心。linux 提供两种用户界面:一种是交互命令,即用户在终端上通过使用命令交互调用核外程序;另一种是系统调用,即用户编写程序时通过使用 C 语言的函数调用来调用系统核心功能。 阅读全文
摘要:
隐马尔可夫模型HMM学习记录,这一章从概率图模型开始,学习常见的图模型具体的原理以及实现算法,包括了有向图模型:贝叶斯网络(BN)、(隐)马尔可夫模型(MM/HMM),无向图模型:马尔可夫网络(MN)、条件随机场(CRF)。学习前提条件需要一定的概率论与数理统计知识,里面许多方法都是概率统计知识。 阅读全文
摘要:
基于sklearn的线性判别分析(LDA)代码实现 一、前言及回顾 本文记录使用sklearn库实现有监督的数据降维技术——线性判别分析(LDA)。在上一篇LDA线性判别分析原理及python应用(葡萄酒案例分析),我们通过详细的步骤理解LDA内部逻辑实现原理,能够更好地掌握线性判别分析的内部机制。 阅读全文
摘要:
目录 线性判别分析(LDA)数据降维及案例实战 一、LDA是什么 二、计算散布矩阵 三、线性判别式及特征选择 四、样本数据降维投影 五、完整代码 结语 一、LDA是什么 LDA概念及与PCA区别 LDA线性判别分析(Linear Discriminant Analysis)也是一种特征提取、数据压缩 阅读全文
摘要:
多用户访问服务器资源,服务器应该与各个客户端建立连接,并进行通信对话,就像我们日常使用QQ、微信、视频等客户端,就是多用户与服务器通信的例子。而上一篇中服务端只实现了单用户的功能,本篇将解决这个问题,详细记录服务端多线程的实现,目标是多用户(客户端)能够同时与服务器建立连接并通信,避免阻塞,进一步完善TCP的Socket网络通信,运用Java多线程技术,实现多用户与服务端Socket通信! 阅读全文
摘要:
本篇详细记录实现java多线程通信,目标达到客户端可以一次接收服务器发送的多条信息,避免阻塞。将客户端接收信息功能独立为一个线程来完成,进一步完善TCP的Socket网络通信,解决单线程存在的问题,也是上一篇博客留下来的一个问题。如果服务器端在建立连接后发送多条信息给客户端,客户端是无法全部接收的,原因在于客户端为单线程,只接受了第一条信息,剩余信息阻塞等待下一次发送。所以,这造成了客户端无法处理消息队列,每次只接收并输出一条服务器信息,出现信息不同步问题。 阅读全文