自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何临时发布部署Cocos小游戏到Linux服务器,让别人能在微信打开

哈喽~ 大家好哇,终于到周末了,能腾出时间填坑了......两个星期前,我们发布了第一个小游戏教程:教程:制作一个小游戏送给喜欢的TA(不会编程也能学会哦)上周有好几位小伙伴在b站催更,呃,作为小透明,收到催更信息后还是很激动的!竟然有同学在看我们的小教程!而且还动了手......动了手把游戏实现了出来。游戏做出来后,一周之前也和大家分享了,如何把游戏中的波波和阿菌替换成自己的图片:波波阿菌的小游戏1——填坑贴1接下来就和大家分享:如何临时发布并部署我们的小游戏到服务器上,让自己喜欢的人能直接在微信上打开游

2021-08-01 17:58:23 2476 3

原创 表白小游戏教程:制作一个小游戏送给喜欢的TA(不会编程也能学会哦)

大家好哇~ 欢迎翻开波波和阿菌的长篇故事~不过捏,今天我们不讲故事,今天将由阿菌和大家分享一个小教程:教大家制作一个小游戏,可以用来送给喜欢的人。无须任何计算机专业基础,只要能操作电脑,并在初一的数学课上没有睡觉(其实也没事),就能学会哦~本教程除了图文外,还配套有更详细的免费视频教程,阿菌从零开始动手做一次给大家看,大家跟着做一次就能学会啦。(本门教程面向不会编程的纯小白开设,有编程基础的同学可以考虑学个创意哦)视频地址如下(也可以通过文末阅读原文按钮跳转):https://www.bilibi

2021-07-14 17:59:49 1801 20

原创 git原理深度剖析,用个故事带你写个git

大家好哇~ 欢迎来到波波和阿菌神奇的“科普”频道!今天,我们为大家介绍程序员是如何怎么存档并管理文件版本的。大家要做好心理准备,今天的“科普”稍有点点硬核,阿菌想从需求分析,产品设计,代码实现等全方位角度为大家“科普”,综合的东西较多,可能不太好看懂…但内容应该还是有点点意思的,毕竟阿菌总是写一些乱七八糟的东西,如果暂时感觉难以消化可以考虑先收藏吖~在开始之前,我们先为大家介绍一个概念,叫:版本管理。我们先从日常生活讲起。阿菌这坏小子有时会想回到自己的过去,比如说回到小学时候的自己,回到初中时

2021-07-06 23:34:19 325

原创 python编程与计算机的关系,如何执行python文件

上一节预告了这一章想讲如何不停地和世界打招呼,这涉及到编程中一个重要的概念:循环。但经过了两周断更后细想了一下,不行,我们得对上一章进行补充。我们觉得学编程的时候不能太固化,得多学一些扩展性的东西,这样有助于触类旁通。所以就尽可能多讲当初阿菌自己学习编程的时候想了解的东西,比如这章会介绍一下我们写代码和计算机运行代码之间的关系。上一集我们讲了如何下载python和编辑工具vscode。安装python很好理解,毕竟安装了python,才能使用python;而编辑工具,大家可以随意选用。当时阿菌

2021-08-09 07:58:36 623

原创 no such file or directory go test测试报错

错误代码:func TestConf_GetConf(t *testing.T) { var c Conf c.GetConf() if c.Network == "" || c.RpcServerAddress == "" { t.Error("fail to get config") }}GetConf会在根目录下获取配置文件,提示找不到文件,保守估计是工作目录的问题,因为非测试环境下没有问题(在写单元测试)于是通过系统函数更改工作目录(解决思路是变更目录,可能要灵活处理)fun

2021-08-02 22:50:16 857

原创 panic: runtime error: invalid memory address or nil pointer dereference

出错代码:type MongoConn struct { clientOptions *options.ClientOptions client *mongo.Client collections *mongo.Collection}var mongoConn *MongoConn// InitMongoConn 初始化mongoDB连接func InitMongoConn() error{ ctx, cancelFunc := context.WithTimeou

2021-08-02 14:44:21 640

原创 当互联网公司遇上东京奥运会——程序员行为指南

一直在公司忙于搬砖,都不知道运动会开始了,和csdn的朋友们简单介绍一下:第32届夏季奥林匹克运动会(Games of the XXXII Olympiad),简称2020年东京奥运会(Tokyo 2020 Olympic Games),是由日本奥林匹克委员会举办的国际性运动会,于2021年7月23日开幕、8月8日闭幕 [120] 。2020年东京奥运会参赛国家或地区总数达204个,另有俄罗斯奥运队(ROC)和奥林匹克难民代表团2个参赛队伍,共1166...

2021-07-28 19:01:50 108

原创 灵魂画手的零基础python教程1:关于Python学习的误区、python的优缺点、前景

滴~ 近段时间,因为工作项目的原因,阿菌要重拾起python这门语言了,所以顺势写一门python教程,精心的编排,配上漫画和视频,希望能帮助更多想接触编程的同学入门,课程将从基础语法开始讲起,和大家分享规范实用的编程技巧,一点点建立起编程的思维。最后希望大家能通过python这门技能,更好地提升自己的工作和学习效率。郑重声明:阿菌往后的所有教程,不管是实用的还是不实用的,都是免费滴~如果哪天哪门教程恰好对各位同学有帮助,通过文末那排按钮给阿菌一点点鼓励就好啦,当然来评论区对线就更欢迎啦。阿菌只是一坏

2021-07-18 09:41:47 126

原创 《大厂程序员春招实习面试漫画》第一集:基础面试

第一集到这里就结束啦,感谢大家的支持,如果觉得有帮助,不妨点个赞吖!未来,阿菌将为大家奉献上两期精彩的面试回顾漫画,第一期为《大厂程序员春招实习面试》,第二期为《大厂程序员正式秋招面试》。每一期分为三集,分别为:1.基础面试2.项目面试3.BOSS面试 & HR面试(这两场是分开的,但是合起来讲)我们会力求还原真实的面试对话与场景,方便同学们提早熟悉面试。同时还会在漫画中通过小字,及时分享面试当中的注意事项,帮助同学们掌握...

2021-06-19 07:04:20 220

原创 笔记:学习go语言的网络基础库,并尝试搭一个简易Web框架

在日常的 web 开发中,后端人员常基于现有的 web 框架进行开发。但单纯会用框架总感觉不太踏实,所以有空的时候还是看看这些框架是怎么实现的会比较好,万一要排查问题也快一些。最近在学习 go 语言,也尝试学习一下 go 语言当前最流行的 web 框架 gin,于是有了这篇学习笔记。看完这篇文章应该能理解 gin 最基础的操作了,但由于 gin 是基于 go 原生的 http 服务器搭建的,所以会先从 go 网络基础库中的 http 服务器开始说起。文章目录1. 认识请求处理器2. 服务器启动概览3..

2021-01-13 18:30:15 205

原创 git原理学习记录:从基本指令到背后原理,实现一个简单的git

一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录。本文的叙述思路参照了官方文档Book的原理介绍部分,在一些节点上探讨代码实现,官方文档链接。看完本文你能:1. 了解 git 的设计思想。2. 收获一点快乐?编程语言选择了 go,因为刚学不太熟悉想多使用一下。这是我的仓库地址,但如果你和我一样是初学,直接看代码可能不能快速上手,推荐顺着文章看。迷你git实现–链接如果文章看得吃力可以跟着官方.

2020-12-28 10:37:58 361

原创 The system cannot find the path specified.

今天写代码的时候,创建文件夹报错:The system cannot find the path specified.我使用的是 go 语言,排查了一会,发现原因是使用了只能创建一个文件夹的 api,我想要在当前文件夹下创建a/b/c这样的目录,而我使用的 api 是:os.Mkdir()想要递归创建目录,应该使用:os.MkdirAll()其他语言也是一样,如果想要递归创建,会有相应的api的,希望有所帮助。...

2020-12-24 14:12:47 18731

原创 手写Json解析器学习心得

一. 介绍一周前,老同学阿立给我转了一篇知乎回答,答主说检验一门语言是否掌握的标准是实现一个Json解析器,网易游戏过去的Python入门培训作业之一就是五天时间实现一个Json解析器。知乎回答—链接该回答对应的问题提及了一个开源的“从零开始的JSON库教程”,恰好我刚开始学习go语言,对Json的理解也仅停留在一种端到端之间交互的数据格式,于是便跟着教程写了一遍,受益良多,至少对我这种编程经验少的人来说十分有帮助,以下是我的学习心得。从零开始的JSON库教程地址—链接自己的实现—链接二. 总.

2020-12-08 08:42:00 164

原创 总结最常见的12道计算机网络面试题

1. 请详细介绍一下 TCP 的三次握手机制,为什么要三次握手?在讲三次握手之前首先要介绍 TCP 报文中两个重要的字段:一个是序号字段,另一个是确认号字段,这两个字段将在握手阶段以及整个信息传输过程起到重要作用。第一步:客户端 TCP 向服务端的TCP发送一个不带额外数据的特殊 TCP 报文段,该报文段的 SYN 标志位会被置1,所以把它称为 SYN 报文段。这时客户端会选取一个初始序列号...

2019-11-11 16:17:26 419

原创 详解Tomcat系列(一)-从源码分析Tomcat的启动

在整个Tomcat系列文章讲解之前, 我想说的是虽然整个Tomcat体系比较复杂, 但是Tomcat中的代码并不难读, 只要认真花点功夫, 一定能啃下来.由于篇幅的原因, 很难把Tomcat所有的知识点都放到同一篇文章中, 我将把Tomcat系列文章分为Tomcat的启动, Tomcat中各模块的介绍和Tomcat中的设计模式三部分, 欢迎阅读与关注.一:通过idea搭建Tomcat源码阅...

2019-05-27 19:45:38 214

原创 从语言设计的角度探究Java中hashCode()和equals()的关系

文章目录一. 基础: hashCode()和equals()简介二. 漫谈: 引入hashCode()与equals()之间的关系三. 解密: 深入理解hashCode()和equals()之间的关系.四. 验证: 结合HashMap的源码和官方文档, 验证两者的关系.一. 基础: hashCode()和equals()简介在学习hashCode()和equals()之间的关系之前, 我们有...

2019-05-24 22:26:45 109

原创 深入探究final在java中的作用

文章目录一. final修饰变量1. 基础: final修饰基本数据类型变量和引用数据类型变量.2. 进阶: 被final修饰的常量在编译阶段会被放入常量池中3. 探索: 为什么局部/匿名内部类在使用外部局部变量时, 只能使用被final修饰的变量?二. final修饰方法三. final修饰类final关键字的字面意思是最终的, 不可修改的. 这似乎是一个看见名字就大概能知道怎么用的语法, ...

2019-05-22 22:03:54 141

原创 深入探究Java中equals()和"=="的区别是什么?

文章目录相等判断符"=="介绍"=="判断基本类型是否相等."=="判断引用类型数据是否相等判断是否相等-equals()方法介绍.深入探究equals(), 为什么会有equals()方法?相等判断符"=="介绍 "=="相等判断符用于比较基本数据类型和引用类型数据. 当比较基本数据类型的时候比较的是数值, 当比较引用类型数据时比较的是引用(指针). "=="判...

2019-05-20 21:13:03 123

原创 Java电商项目-8.实现SSO单点登陆

创建ashop-sso-web单点登陆系统先创建好模块, 然后配置pom.xml文件加入spring的配置文件然后配置web.xml文件, 并把静态资源放到webapp目录下. 打包部署模块测试, 能看到如下效果则项目搭建成功. 用户名唯一性验证请求方法GETURLhttp://sso.ashop.com/user/check/{par...

2019-05-18 20:41:32 690

原创 Java电商项目-6.实现门户首页数据展示_Redis数据缓存(缓存同步)

文章目录[项目的Github地址](https://github.com/liuyj24/Awesome-Shop)需求介绍搭建Redis集群环境下面先描述单机版redis的安装下面将进行Redis3主3从集群环境搭建基于SOA架构, 创建门户ashop-portal-web门户项目实现门户首页商品类目显示实现门户首页大广告轮播实现商品类目缓存实现大广告缓存, 缓存同步缓存同步项目的Github...

2019-05-18 09:01:53 946

原创 Java电商项目-5.内容管理cms系统

文章目录实现加载内容分类树功能实现内容分类动态添加删除内容分类节点实现内容分类节点的分页显示实现广告内容的添加实现广告内容删除实现广告内容编辑[到Github获取源码请点击此处](https://github.com/liuyj24/Awesome-Shop)实现加载内容分类树功能注: 往后将不在说编写远程服务方法和编写web模块等重复语句, 直接用"远程服务: " 和 "web模块: "...

2019-05-16 20:15:47 568

原创 Java电商项目: 4.基于json参数完成商品规格参数管理

文章目录[到Github获取源码请点击此处](https://github.com/liuyj24/Awesome-Shop)实现商品规格参数模板分页显示判断类目是否已经添加模板新增规格参数模板信息删除规格参数模板信息新增商品, 指定规格参数修改商品规格参数到Github获取源码请点击此处实现商品规格参数模板分页显示首先完成远程服务的编写, 按照惯例首先写Service接口编写对应...

2019-05-15 20:00:51 1240

原创 Java电商项目-3.使用VSFTPD_Nginx完成商品新增

文章目录[到Github获取源码请点击此处](https://github.com/liuyj24/Awesome-Shop)一. 商品类目查询二. FTP图片服务器的搭建图片上传思路介绍Linux中安装vsftpd接着配置ftp服务, 让外网可以访问Http服务器搭建Nginx安装配置NginxFtpClient实现文件上传实现商品新增实现商品的回显商品信息修改到Github获取源码请点击此处...

2019-05-10 19:59:06 193

原创 Java电商项目-2.实现后台商品查询,上下架及删除

文章目录[到Github获取源码请点击此处](https://github.com/liuyj24/Awesome-Shop)一. 使用Mybatis分页插件完成商品的分页查询二. 商品的上下架实现三. 实现商品删除操作到Github获取源码请点击此处一. 使用Mybatis分页插件完成商品的分页查询在第一章中我们已经搭建好了环境, 并且在配置Mybatis的时候已经配置好了分页插件....

2019-05-08 20:19:15 9184 1

原创 Java电商项目-1.构建数据库,搭建项目环境

到Github获取源码请点击此处一. 数据库结构分析内容分类表:tb_content_category列名类型含义idbigint(20)内容分类parent_idbigint(20)父类目 ID=0 时,代表的是一级的类目namevarchar(50)分类名称statusint(1)状态:可选值:1(正常),2(删除)sor...

2019-05-07 23:03:39 867

原创 动手实现一致性哈希算法,并搭建环境测试其负载均衡特性.

文章目录一. 简述一致性哈希算法二. 实现一致性哈希算法.三. 结合zookeeper搭建环境环境介绍具体操作:I. 搭建`zookeeper`集群环境:II. 创建服务器集群, 提供RPC远程调用服务III. 编写客户端程序(运用一致性哈希算法实现负载均衡IV. 对服务器调用数据进行统计分析V. 结果四. 扩展思考一. 简述一致性哈希算法这里不详细介绍一致性哈希算法的起源了, 网上能方便地...

2019-05-05 21:40:50 576

原创 记一次博客页面美化过程,分享代码.

注册博客园账号有一个多月了, 一切都很好, 但就一直觉得自己的博客页面比较老土. 在首页浏览时候发现一位博主的页面挺干净整洁的, 而且他分享了制作的思路, 于是下定决心美化一番. 本文将介绍美化的思路, 并贴上所有代码, 俗话说授之以鱼也要授之以渔.文章目录一. 感谢热心博主分享的攻略二. 进行了哪些美化?1. Markdown美化2. 给博客页面加上鼠标停留响应Ⅰ. `div`容器的宽高发...

2019-05-02 09:26:27 273

原创 Ajax跨域问题及解决方案

复现Ajax跨域问题做两个简单的小项目复现Ajax跨域问题. 后端语言使用Java首先是一个简单的订单系统, 通过访问/loadOrderList, 最终以json串形式返回订单集合. 该项目使用Tomcat发布在7070端口.@RequestMapping("/loadOrderList")@ResponseBodypublic List<Order> loadOrde...

2019-04-30 20:54:37 149

原创 Java实现远程服务生产与消费(RPC)的4种方法-RMI,WebService,HttpClient,RestTemplate

文章目录一. 通过rmi实现远程服务的生产与消费远程服务提供者实现.创建rmi-provider项目(Maven)远程服务消费者实现创建rmi-consumer项目二. 通过WebService实现远程服务的生产与消费远程服务提供者实现.查看远程服务文档wdsl远程服务消费者实现.三. 通过HttpClient实现远程服务的生产与消费远程服务提供者实现远程服务消费者实现四. 通过spring提供的...

2019-04-30 15:36:54 214

原创 记一次idea-Maven-Tomcat插件启动失败,Starting ProtocolHandler [“http-bio-8080“]卡住

bug出现的过程是这样的: 我在创建一个普通的Maven工程后打算把它以war包的形式发布到网上, 于是使用idea直接生成web.xml文件.在运行Tomcat的时候没有报任何错误, 但是就卡在Starting ProtocolHandler ["http-bio-8080"]不动了.在网上搜索了一番也没有找到好的解决办法, 最后到项目导出的target文件夹中找到了tomca...

2019-04-30 15:03:40 28501 11

原创 工厂模式讲解, 引入Spring IOC

文章目录引入简单工厂抽象工厂Spring的bean工厂模拟Spring工厂实现模拟IOC引入假设有一个司机, 需要到某个城市, 于是我们给他一辆汽车public class Demo { public static void main(String[] args) { Car car = new Car(); car.run(); }}...

2019-04-25 20:15:34 260

原创 通过模拟JDK中的动态代理,由浅入深讲解动态代理思想.

文章目录场景引入动态代理引入动态代理进阶总结个人认为动态代理在设计模式中算是比较难的, 本篇文章将从无到有, 从一个简单代码示例开始迭代, 逐步深入讲解动态代理思想.场景引入假设现在有一个坦克类, 它实现了Moveable接口, 里面有一个move()移动的方法. 代码如下:class Tank implements Moveable{ @Override publ...

2019-04-24 22:21:46 91

原创 为什么会有Comparable与Comparator接口? 引入策略模式

文章目录引入Comparable接口的来龙去脉引入Comparator接口什么是策略模式?使用了策略模式有什么好处?引入大家先考虑一个场景, 有一个整形数组, 我们希望通过调用一个工具类的排序方法就能对该数组进行排序. 请看下面的代码:public class Strategy { public static void main(String[] args) { ...

2019-04-22 21:12:02 128

原创 由浅入深讲解责任链模式,理解Tomcat的Filter过滤器

本文将从简单的场景引入, 逐步优化, 最后给出具体的责任链设计模式实现.场景引入首先我们考虑这样一个场景: 论坛上用户要发帖子, 但是用户的想法是丰富多变的, 他们可能正常地发帖, 可能会在网页中浅入html代码, 可能会使用错误的表情格式, 也可能发送一些敏感信息.作为论坛的管理员必须对用户的帖子进行过滤才能显示出来, 否则论坛就经营不下去了. 现在我们考虑一种最简单处理方式.p...

2019-04-20 15:54:30 665 1

原创 正则表达式在Java中的使用

文章目录介绍从简单例子认识正则表达式匹配Java中对正则表达式的支持(各种语言有相应的实现)初步认识 . + * ?范围认识\s \w \d \关于`\`边界处理练习:匹配空白行合email地址Matcher类的`matches()`,`find()`和`lookingAt()`Matcher类中的`start()`和`end()`替换字符串升级: 不区分大小写查找并替换字符串再升级: 不区分大小...

2019-04-19 19:20:54 279

原创 Observer观察者模式与OCP开放-封闭原则

文章目录场景引入在联网坦克项目中使用观察者模式总结在学习Observer观察者模式时发现它符合敏捷开发中的OCP开放-封闭原则, 本文通过一个场景从差的设计开始, 逐步向Observer模式迈进, 最后的代码能体现出OCP原则带来的好处, 最后分享Observer模式在自己的项目中的实现.场景引入在一户人家中, 小孩在睡觉, 小孩睡醒后需要吃东西.分析上述场景, 小孩在睡觉, 小孩醒...

2019-04-19 19:18:42 170

原创 终极版:从开机联网到输入一个网址期间都发生了什么?

这一个问题能检验一个人的计算机网络基础知识.1.获得IP地址想要连接网络需要获得一个IP地址, 所以首先要运行DHCP协议, 从本地DHCP服务器获得一个IP地址以及其他信息.通过操作系统生成一个DHCP请求报文, 并将这个报文放入具有目的端口67(DHCP服务器)和源端口68(本机)的UDP报文段中, 该UDP报文段会被放置在一个具有广播地址(255.255.255.255)和源...

2019-04-18 08:28:32 186

原创 计算机网络自顶向下方法:第六章: 链路层和局域网 课后复习题

如有错误, 欢迎指出~第一章 计算机网络和因特网 课后复习题第二章 应用层 课后复习题第三章 运输层 课后复习题第四章 网络层:数据平面 课后复习题第五章 网络层:控制平面 课后复习题第六章 链路层和局域网 课后复习题第六章: 链路层和局域网6.1~6.2节R1. 考虑在6.1.1节中的运输类比. 如果一个乘客类比为一个数据报, 什么类比于链路层帧?书中的原文是: 一...

2019-04-18 08:27:07 7232 1

原创 计算机网络自顶向下方法:第五章 网络层:控制平面 课后复习题

如有错误, 欢迎指出~第一章 计算机网络和因特网 课后复习题第二章 应用层 课后复习题第三章 运输层 课后复习题第四章 网络层:数据平面 课后复习题第五章 网络层:控制平面 课后复习题第五章: 网络层:控制平面5.1节R1. 基于每路由器控制的控制平面意味着什么? 在这种情况下, 当我们说网络控制平面和数据平面是"整体地"实现时, 是什么意思?基于每路由器控制的控制平面...

2019-04-18 08:24:29 4283

原创 JDK1.8-Java虚拟机运行时数据区域和HotSpot虚拟机的内存模型

文章目录介绍官方文档规定的运行时数据区域程序计数器Java虚拟机栈本地方法栈虚拟机栈和本地方法栈溢出Java堆演示堆内存溢出方法区运行时常量池演示方法区溢出HotSpot虚拟机的内存模型JVM实现的堆内存和方法区新生代和老年代.新生代中的内存划分由JDK1.7及以前的永久代到JDK1.8的元数据区参考资料介绍初学Java虚拟机几天, 被方法区, 永久代这些混杂的概念搞混了. 我觉得学习这部分...

2019-04-17 08:11:23 239

空空如也

空空如也

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

TA关注的人

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