草庐IT

架构师日记-如何写的一手好代码

作者:京东零售刘慧卿一前言在日常工作中,我经常听到部分同学抱怨代码质量问题,潜台词是:“除了自己的代码,其他人写的都是垃圾,得送到绞刑架上,重构!”。今天就来聊一聊,如何写的一手好代码。要回答这个问题之前,得先弄清楚一个问题,好代码的标准是什么?易阅读,可扩展,高内聚,低耦合,编程范式,设计原则......,要求不少,却很难度量。实则代码和文章一样,正所谓文无第一,武无第二。这里不打算从规则宝典,最佳实践等方面入手,因为那将陷入到无数的规则细节中去,容易不得要领。这也是很多同学,学了很多当下最新技术,掌握了N门编程语言,却始终没有明显提升的原因。对于技术而言,底层的原理和运行规律是根本,它和编

在微信小程序中使用WebSocket的踩坑日记

WebSocket协议存在的意义WebSocket是现在很主流的协议,大范围使用在即时通讯,协同协作等功能中,它很好的弥补了HTTP协议的不足,可以很容易的实现长连接。如果你使用的是HTTP协议,假设一个场景:我是张三,准备和李四聊天,我发给李四一个“你好”,程序中经历的过程是我的客户端将“你好”发送给服务端,服务端经过简易包装,准备发给李四的客户端。那么,如果是HTTP协议,服务端如何将“你好”发送给李四的客户端?HTTP的特点是,只可以客户端请求,服务端响应,也就是基本的requestresponse,服务端理论上是不可以主动给客户端推送消息的。就好像一个渣男,只有我可以给你发消息,你才能

在微信小程序中使用WebSocket的踩坑日记

WebSocket协议存在的意义WebSocket是现在很主流的协议,大范围使用在即时通讯,协同协作等功能中,它很好的弥补了HTTP协议的不足,可以很容易的实现长连接。如果你使用的是HTTP协议,假设一个场景:我是张三,准备和李四聊天,我发给李四一个“你好”,程序中经历的过程是我的客户端将“你好”发送给服务端,服务端经过简易包装,准备发给李四的客户端。那么,如果是HTTP协议,服务端如何将“你好”发送给李四的客户端?HTTP的特点是,只可以客户端请求,服务端响应,也就是基本的requestresponse,服务端理论上是不可以主动给客户端推送消息的。就好像一个渣男,只有我可以给你发消息,你才能

Github美化日记 - 又菜又爱玩

Github美化日记-又菜又爱玩一.咱就说无论是技术大牛,或者是技术小菜,都希望有一个好看的Github首页吧!(快说你想要!![iShot_2023-04-05_18.58.32.min](https://pic.imgdb.cn/files/60499/202304051859337.png)  二.那就开始吧!1.所有的神秘皆来自一个特殊的仓库上图的仓库名(Repositoryname)和自己的用户名(我的是codeacg)一致,这时候出现了一只黑色的喵咪!然后仓库要是public的(所有人皆可访问),勾选AddaREADMEfile,勾选创建仓库的时候会增加一个README.md文件,

Github美化日记 - 又菜又爱玩

Github美化日记-又菜又爱玩一.咱就说无论是技术大牛,或者是技术小菜,都希望有一个好看的Github首页吧!(快说你想要!![iShot_2023-04-05_18.58.32.min](https://pic.imgdb.cn/files/60499/202304051859337.png)  二.那就开始吧!1.所有的神秘皆来自一个特殊的仓库上图的仓库名(Repositoryname)和自己的用户名(我的是codeacg)一致,这时候出现了一只黑色的喵咪!然后仓库要是public的(所有人皆可访问),勾选AddaREADMEfile,勾选创建仓库的时候会增加一个README.md文件,

HTB打靶日记:Cerberus

//靶场看起来简单,实际上打了六七个小时,很多地方有坑。。。信息收集:TCP协议:TARGET=10.129.91.88&&nmap-p$(nmap-p---min-rate=1000-T4$TARGET-Pn|grep^[0-9]|cut-d'/'-f1|tr'\n'','|seds/,$//)-sC-sV-Pn-vvv$TARGET-oNnmap_tcp_all.nmap UDP协议nmap-sU--open-T5--top-ports200-Pn10.129.91.88 发现域名cerberus.local,子域名icinga.cerberus.local,加入hosts文件中,在808

HTB打靶日记:Cerberus

//靶场看起来简单,实际上打了六七个小时,很多地方有坑。。。信息收集:TCP协议:TARGET=10.129.91.88&&nmap-p$(nmap-p---min-rate=1000-T4$TARGET-Pn|grep^[0-9]|cut-d'/'-f1|tr'\n'','|seds/,$//)-sC-sV-Pn-vvv$TARGET-oNnmap_tcp_all.nmap UDP协议nmap-sU--open-T5--top-ports200-Pn10.129.91.88 发现域名cerberus.local,子域名icinga.cerberus.local,加入hosts文件中,在808

安卓期末大作业——日记APP

通达学院2022/2023学年第一学期课程设计实验报告模块名称Android课程设计专业通信工程(嵌入式培养)学生班级学生学号学生姓名指导教师设计题目熟悉adt-bundle-windows-x86或android-studio-ide应用开发环境:安装建立adt-bundle-windows-x86或android-studio-ide的应用开发环境实验。能编写基于移动端的android应用程序基本的界面及部分应用框架的程序设计综合应用任务要求1.熟悉adt-bundle-windows-x86开发环境安装与配置,能编写基于移动端的android应用程序掌握最基本的项目创建方法。掌握项目中的

安卓期末大作业——日记APP

通达学院2022/2023学年第一学期课程设计实验报告模块名称Android课程设计专业通信工程(嵌入式培养)学生班级学生学号学生姓名指导教师设计题目熟悉adt-bundle-windows-x86或android-studio-ide应用开发环境:安装建立adt-bundle-windows-x86或android-studio-ide的应用开发环境实验。能编写基于移动端的android应用程序基本的界面及部分应用框架的程序设计综合应用任务要求1.熟悉adt-bundle-windows-x86开发环境安装与配置,能编写基于移动端的android应用程序掌握最基本的项目创建方法。掌握项目中的

Unity游戏开发日记(一):独自开发2d横板游戏:Small man(MainMenu主界面)基本构建

目录一、独自开发想法 前言;开发构想;二、主要内容:MainMenu主界面基本构建(一)预想功能(二)功能实现1、主界面UI设计2、Option功能设计3、TypeOption功能设计4、面板之间切换(1)设计问题;(2)思路;(3)实现;5、进入主界面渐变动画及主界面面板延迟出现(1)思路;(2)实现; 6、按钮点击音效设计(1)思路;(2)实现;7、最终效果 一、独自开发想法前言:开始学习unity是在最近的几个月,说长不长说短不短。unity学习几乎自学,独自开发游戏,一是为了练习所学的知识,运用到实践中,而是为了朝更深入的方向学习,有了问题就会有学习的方向,像我这样几乎自学的程序猿,这