快速排序

快速排序 快速排序是一种分治的递归算法,平均时间复杂度:O(NlogN)。 1.1 基础版 //递归方法 int parition(vector<int> &arry, int left, int right) { int pivotkey; //枢轴值 pivotkey = arry[left]; ...阅读全文

不要让“Clean Code”更难维护,请使用“Rule of Three”

当人们试图将“代码整洁之道(Clean Code)”的原则应用于现有的代码库时,我经常会问这个问题。 我认为这是合情合理的。 当我们开始重构遗留代码时,通常会将内容提取到较小的方法中。然后再将方法提取到类中。很快,我们可能就能感觉到原来 30 行的方法现在已经分散在不同的类中。 我们想知道的是:这在... ...阅读全文

Git的常见命令

Git 一、git环境安装 Windows和 mac直接在官网下载安装包进行安装即可 Linux 系统中安装git: yum install -y git 检验git是否安装成功: git --version 二、Git基础命令 1.初始化本地仓库: git init 2.将本地仓库跟远程仓库建立连 ...阅读全文

日常开发方案设计指北

互联网公司管理研发流程,常常使用TAPD一类的敏捷工具。一个需求从提出到上线要经历至少七个流程。初级工程师往往做不好需求评审工作。要么被产品经理牵着鼻子走,让干什么就干什么;要么预估不到隐藏的工作量,在开发排期阶段给出不合理的排期,导致开发时间紧张,最后加班应付测试。 ...阅读全文

Git的常用操作

用户配置 1.查看用户信息 全部信息:git config --global --list 用户名字:git config user.name 用户邮箱:git config user.email 2.修改用户信息 修改姓名:git config --global user.name "名字" 修改 ...阅读全文

如何验收安卓PCBA主板的质量和性能

. 版本:v0.1 作者:河东西望 日期:2022-7-15 . 对很多安卓智能设备厂商来说,他们的通用开发模式一般是:ODM/OEM设计开发主板PCBA(包括BSP驱动、原生AOSP系统及简单定制),自己做简单的系统二次定制及应用开发。而开发实力和水平较强的公司,则会做整体系统ROM定制和优化、应 ...阅读全文

软件研发的核心问题 -- 效率,质量,成本与产出的关系

软件工程的核心问题-质量,时间,内容与投入之间的关系质量,时间,内容,三者各在一个端点。三者构成一个三角形关系,三者围成的三角形面积就是一个软件投入。 在面积不变即投入不变的情况下,任何一个提高单一端点的行为都会降低剩余的两个端点。质量。指代码的质量。时间。指软件的开发时间。包括开发时间,测试时间。 ...阅读全文

自动化测试框架AutoTestFramework及软硬件环境-Alltesting|泽众云测试

自动化测试框架AutoTestFramework( 简称:ATF)是可以提供自动化测试执行和管理功能的架构的综合自动化测试框架,可以集成基础自动化测试工具,用于组织、管理和执行那些独立的自动化测试用例,测试完成后统计测试结果。目前该框架可以集成的基础自动化测试工具AutoRunner,移动端自动化测 ...阅读全文

接入Harbor私有仓库

项目组现在需要接入CI/CD,其中就包括接入Harbor,本文将记录如何在CentOS7.6机器上完成接入Harbor。 前期工作:首先需要在Harbor上开具账号,创建相应项目(当前项目为imagetest)。 设置Docker 默认开发机已完成Docker安装: # docker version ...阅读全文

软件开发实战经验分享(全过程版)一

一、项目背景 大二下学期王建民主任要求团队开发一款软件,团队规模为三人,软件类型为安卓app,分为多个阶段进行打卡验收。 二、开发体会 一款学习辅助类软件-服务大学生 当拿到这个任务时,第一感觉就是难,虽然寒假也自学了安卓,但是由于基础差,编程不熟练,就感觉做起来无从下手,这要怎么做,要做什么,我们 ...阅读全文

软考高频知识点notes

软考 高频考点 网络 【域名查询记录】 :先HOSTS表,再本地DNS缓存,然后再查找本地DNS服务器,再根据域名服务器、顶级域名服务器、权限域名服务器 HTTPS是基于SSL(Secure Sockets Layer安全套接层)的 【TCP与UDP区别】 TCP TCP面向连接 TCP提供可靠的服 ...阅读全文

Culture: Teams & Knowledge -- Chapter 2-3 of “Software Engineering at Google”

1.概述: 这本书的第二部分主要是 Google 的团队文化的介绍,主要是团队合作以及知识分享方面的方法和观点。下面介绍我作为初学者的一些比较有感触的点。在目前的学习生活以及网上冲浪中,经常会问问题,以及有一些文档方面的做法,不是很符合规范。 2. 团队合作 2.1 Hiding considere ...阅读全文

Webpack的使用

简介 Webpack是一个其那段资源加载/打包工具,它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源 作用 可以将多种静态资源js、css、less转换成一个静态文件,减少了页面的请求 使用方式 全局安装Webpack(尽量在项目目录中执行cmd命令) npm in ...阅读全文

Ubuntu下使用VS Code创建Spring Boot工程

目的 我们将在Ubuntu桌面系统下,使用VS Code(Visual Studio Code)编辑器从零开始创建一个Spring Boot工程,并实现一个简单的RESTful风格接口。使用这套流程的好处是我们不用将精力或金钱花费在各种需要授权的系统或软件上。 这篇文章不是长篇大论的具体教程,只是梳 ...阅读全文

2021年11个我们喜爱的DevOps开源工具

随着2021年的结束,我们在DevOps.com想要选出今年最受欢迎的文章。以下是我们“2021年最佳”系列中的第8篇。 ​ DevOps不仅仅是一种文化转变——它需要伟大的工具来实现。下面,我们整理了一些目前最受欢迎的DevOps工具。但是,如果把大量资金投入到花哨的SaaS解决方案中,很快就会吞 ...阅读全文

23siddhi初识

siddhi-base 事件驱动:消耗、处理、发送的数据都视作一次事件 流处理、复杂事件处理平台 siddhi application是类似于sql的脚本。.siddhi脚本中分号表示一句结束。 包括消费者(sources)、生产者(sinks)、流、查询、表和方法及其他必要的约定 可以接受\发送给 ...阅读全文