- 博客(64)
- 收藏
- 关注

原创 浅谈作为程序员如何写好文档:结构化写作
文档的框架是一篇文档的主心骨,所有的内容都要围绕着这个主心骨所展开,包括标题。运用结构化写作,可以帮助文档搭建一个有逻辑、有条理的框架。这个框架是文档各个部分之间的相互搭配方式,它所反映的是作者写作时的思考路径。任何事物都有其结构,文档也不例外。结构是指事物各个组成要素之间的排列,文档中的结构便是指文档中各个信息块的排列。有意识地理清信息之间的逻辑关系把无序的信息排列为有序的信息创造有逻辑且顺畅的信息流有逻辑,有条理地提炼和组织信息先框架,后细节。先整体,再局部。
2023-05-15 15:29:51
2106

原创 浅谈作为程序员如何写好文档:了解读者
在日常写文档过程中,大部分技术同学不会花太多时间去了解“读者”。然而由于缺乏对读者对了解,大部分的技术文档的“可用性”是很差的。“可用性良好”的文档:主要是指读者能看懂文档内容,并且读者能借助文档顺利达到他的目的。比如完成一个任务或者了解一个概念。反之,“可用性不好”的文档,即使读者能看懂文档,可能也没有办法帮助他解决问题。举个栗子:明确读者身份: 文档最终的读者是小白用户or资深用户?或者是运维人员or开发人员? 确立文档的受众是第一步。明确读者阅读目的:该文档是为了让读者了解一个概念、完成一个步骤,还
2023-05-12 15:06:54
1041

原创 各大主流招聘平台的优缺点和适合人群【总结】
此文为我个人三个月以来在各大招聘平台投简历的心得体会,仅供参考~目录BOSS直聘智联招聘 / 前程无忧(51JOB)牛客网拉勾BOSS直聘优点回复率高。直接和hr或者boss谈的机制,能让你投递岗位后很快就能直接得到回应。招聘周期短,功能性岗位多。例如推销,营销,人力,行政,后勤等岗位,boss直聘的招聘效率都不错。缺点薪资虚假,很多公司标的薪资和实际薪姿不符。审核把关不严,岗位质量良不齐。推荐人群(应届生,工作1-3年的求职者)刚开始找工作或者是刚离职的求职者,往.
2022-02-21 10:41:08
39829
1

原创 在ubuntu 20.10 、18.04、16.04上升级phpmyadmin以批量解决问题
无论您的存储库速度太慢而无法提供最新版本的 phpMyAdmin,还是您的当前版本存在兼容性问题,在本文中,我们都将手动下载并安装最新版本的 phpMyAdmin。本文已与2021年11月更新和测试本文已经过从 Ubuntu 20.10 到 16.04 的测试。它也应该适用于其他基于 Debian 的发行版。在使用旧版本phpmyadmin时,可能遇到这些问题:The phpMyAdmin configuration storage is not completely configured, so
2021-11-13 15:37:58
1514
原创 【备忘】npm yarn pnpm 命令对比
作用npmyarnpnpm安装npm installyarn installpnpm install安装的简写npm iyarn addpnpm add强制安装pnpm install --force卸载npm unintallyarn removepnpm remove卸载简写npm rmyarn rmpnpm rm全局安装npm i xxx --global/-gyarn global add xxxpnpm ad
2024-04-12 10:30:30
774
原创 【备忘】git常用命令
如果有多个人向同一个remote repo push代码, Git会首先在你试图push的分支上运行git log,检查它的历史中是否能看到server上的branch现在的tip,如果本地历史中不能看到server的tip,说明本地的代码不是最新的,Git会拒绝你的push,让你先fetch,merge,之后再push,这样就保证了所有人的改动都会被考虑进来.使用git reset —hard HEAD进行reset,即上次提交之后,所有staged的改动和工作目录的改动都会消失,还原到上次提交的状态.
2024-03-13 17:45:23
762
原创 如何让自己辛苦开发的开源项目快速涨星
Github拥有超过900万开发者用户。Gitee 是开源中国社区2013年推出的基于Git 的代码托管服务,目前已经成为国内知名的代码托管平台,致力于为国内开发者提供优质稳定的托管服务。EachStar是一个可以让你的 GitHub/Gitee 开源项目快速涨星的免费平台, 帮助您的项目积累初始影响力!就是衡量一个开源项目知名度的因素之一,开发者群体们也乐于为自己的项目积累Star量。此平台意在帮助大家互相star,为大家的项目积累更多的star。总所周知,一个好的开源项目自然拥有广泛的市场认可,其中,
2022-10-18 17:01:23
335
原创 如何让GitHub/Gitee项目快速涨星
随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。Gitee 是开源中国社区2013年推出的基于Git 的代码托管服务,目前已经成为国内知名的代码托管平台,致力于为国内开发者提供优质稳定的托管服务。EachStar是一个可以让你的 GitHub/Gitee 开源项目快速涨星的免费平台,平台的所有用户都奔着一个目的——就是衡量一个开源项目知名度的因素之一,开发者群体们也乐于为自己的项目积累Star量。总所周知,一个好的开源项目自然拥有广泛的市场认可,其中,
2022-10-17 13:46:58
1803
4
原创 RPC是什么?为什么不用HTTPS?
四、RPC与服务注册和服务发现注意到,RPC中有关键的第一步就是要调用connect去建立TCP连接。既然要连接,那么要拿到对方的IP:port才行吧。如果对方是单机部署就很容易,直接用这个IP:PORT就行了。然而,又是可恶的分布式再作怪,对端的服务通常是多机部署的。这时候怎么办,随便找一台机器?那肯定不行,要是这台机器故障了不就完了。再说你只指定一台机器,对方多机部署的意义何在?那么这个时候有个第三者就出来了。有个叫服务中心的家伙,手下管理着大量服务的IP列表:{OrderServer : {
2022-05-27 10:54:05
419
原创 架构初探-谁动了我的蛋糕
目录什么是架构企业级后端架构剖析企业级后端架构的挑战后端架构实战思考题什么是架构架构定义单机架构单体架构垂直应用架构SOA (面向服务架构)微服务小结企业级后端架构剖析云计算云原生弹性资源微服务架构服务网格企业级后端架构的挑战挑战离在线资源并池微服务亲合性部署流量治理屏蔽异构环境的算力差异后端架构实战问题课后作业-兰师傅蛋糕房要支持线上售卖了!请帮忙做整套系统的架构设计尾声本文包含以下四个方面:什么是架构围绕架构的定义和演进两部分内容展开企业级后端架构剖析详细介绍企业级后端架构的形态
2022-05-22 16:46:46
894
原创 Redis单线程设计的原因 / Redis的设计思路概要
一、Redis的高并发和快速原因1.redis是基于内存的,内存的读写速度非常快(纯内存); 数据存在内存中,数据结构用HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)。2.redis是单线程的,省去了很多上下文切换线程的时间(避免线程切换和竞态消耗)。3.redis使用IO多路复用技术(IO multiplexing, 解决对多个I/O监听时,一个I/O阻塞影响其他I/O的问题),可以处理并发的连接(非阻塞IO)。下面重点介绍单线程设计和IO多路复用核心设计快的原因。二
2022-04-22 21:00:57
266
原创 解决VScode中使用remote-container时无法连接远程容器的问题
问题描述:在使用remote-ssh插件连接服务器后,在上方下拉框选择container后还是会出现以下报错,要求在本地安装docker,安装后还是有这个报错问题分析:其实这个问题和本地是否安装docker桌面版无关,主要是ssh连接后,其插件是通过当前用户权限来执行docker命令,而docker默认是需要加上sudo来执行命令。那么只需要在对应服务器上解决docker命令每次需要加sudo的问题即可。解决方案:第一步,添加docker用户组sudo groupadd doc
2022-04-22 14:46:43
9417
原创 从浏览器输入URL到页面展现的过程
这里主要分为三个步骤:第一步:ip地址的寻址首先在浏览器的缓存里查找有没有这个ip地址然后到hosts文件里查找有没有配置这个域名的ip地址然后到路由器的缓存里查找是否有这个域名的ip地址最后到dns服务器去查找,如果没有,就到更高一级的dns服务器去查找,直到找到为止第二步:请求数据向ip地址发起连接的请求,进行tcp的三次握手,连接建立成功后,服务器会返回相应的数据。然后就进行tcp断开连接的四次挥手。第三步:页面展现解析html文件,创建dom树解析css文件,形成cs
2022-03-30 23:29:28
1425
原创 一句话讲明白cookie,session,token的区别
最近在面试时遇到这个问题,按理来说这三个东西不是同一个维度的,其实不应该放在一起来说,出这个问题的面试官可能是不懂或者故意误导我吧。。。cookiecookie是存储在浏览器端的一小段文本数据,cookie里的内容会随着http请求一起发送到服务器端。sessionsession是存储在服务器端的一组数据,有些网站是采用session机制来验证用户身份的,通常会把session id 存储在cookie里面。tokentoken只是一个同用的名词,在很多地方都会用到,通常代表一小段加密的字符.
2022-03-30 23:19:48
314
原创 windows/MacOS/Linux下搭建Okteto+vscode远程开发环境
目录一. 前言二. 前置环境三. 部署指南1. 安装Okteto CLI对于 MacOS / Linux 系统对于 Windows 系统2. 安装kubectl对于 MacOS / Linux 系统对于 Windows 系统扩展小工具:安装kubectx和kubens3. 配置kubectl对于 Linux 系统对于 MacOS/Windows 系统4. 配置Okteto5. 安装vscode远程开发环境四. 常见问题答疑kubectl如何设置连接多个集群一. 前言Okteto 是一个通过在 K8s
2022-03-19 12:01:09
2132
原创 windows下配置ssh免密钥访问服务器
Windows下配置私钥在系统默认状态,或安装某些更新之后,可能ssh-agent服务没有开启,这会影响通过密钥证书方式访问ssh服务器的这部分用户,导致无法连接,远端提示:Permission Deny。通常的解决办法是将本地的私钥加入到ssh代理中。命令为:ssh-add <私钥文件路径>但是运行后会提示:Error connecting to agent: No such file or directory此时只需要在“运行”(Win + R)中执行services.msc,
2022-03-19 11:50:53
1585
原创 windows/MacOS/Linux下安装,配置,使用Helm进行项目打包
一. 前言Helm我们可以将Helm看作K8s下的apt-get/yum。Helm是一个用于kubernetes的包管理器。,对于应用发布者而言,可以通过Helm打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库。Helm 是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。Chartchart是helm的应用打包格式。chart是描述相关的一组Kuberne
2022-03-12 12:46:07
8773
原创 windows/MacOS/Linux下安装,配置,使用kubectl连接远程kubernetes集群
用户指南:使用kubectl连接远程集群一. 安装kubectl对于 MacOS / Linux 系统下载安装Kubectlcurl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl使kubectl生成二进制可执行文件。chmod +x ./kubectl将二进制文件移到您的**PATH**中sudo mv ./kubectl /usr
2022-03-12 12:38:49
6169
3
原创 MySQL单表最大记录数超过多少时性能会严重下降?
曾经在中国互联网技术圈广为流传着这么一个说法:MySQL单表数据量大于2000万行,性能会明显下降。事实上,这个传闻据说最早起源于百度。具体情况大概是这样的,当年的DBA测试MySQL性能时发现,当单表的量在2000万行量级的时候,SQL操作的性能急剧下降,因此,结论由此而来。然后又据说百度的工程师流动到业界的其它公司,也带去了这个信息,所以,就在业界流传开这么一个说法。再后来,阿里巴巴《Java开发手册》提出:单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。对此,有阿里的黄金铁律支撑,
2022-03-03 23:34:03
6079
原创 K8s,docker,Okteto 的概念理解与联系
本文仅作为小白理解Okteto,K8s,docker 技术栈的简要概念,及其之前的相互联系。不作深入的展开。概念理解1. docker是什么?Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。特点:使应用的打包与部署自动化创建轻量、私密的PAAS环境(PaaS是Platform as a Service的缩写,是指平台即服务)实现自动化测试和持续的集成/部署部署与扩展webapp、数据库和后台服务.
2022-02-28 10:16:28
954
原创 【阿里巴巴】数据开发暑期实习生面试面经 技术面 已凉凉
目录总结技术面提问自我介绍讲一下之前实习的工作内容讲一下之前做的项目讲一下排序算法python的数据结构python的listpython的有没有内置的栈,怎么实现python怎么实现文件读写python的文件读写,有一个特别大的文件怎么读写sql leftjoin 和 right joinsql怎么排序,并且在新列中显示排名名次sql的分页查询sql的范式bi工具,有一个特别大的数据表怎么使用HTTP协议,三次握手有几百万的数据,怎么插入到mysql中的redis怎么实现的分布式讲一下爬虫中怎么使用的us
2022-02-22 14:43:29
841
原创 【志愿帮】后台开发工程师面试面经 笔试+技术面+感情面 已拿offer
目录总结技术面提问自我介绍讲一下之前做的项目讲一下做过的印象深刻的爬虫项目讲一下经常使用的技术栈多进程和多线程装饰器生成器和迭代器用过GIL吗讲一下python的协程讲一下简历上使用过BI工具,是对前端有了解吗讲一下后端使用的技术栈反问工作内容薪资待遇总结牛客yyds,投的简历最少,面试机会最多。。。。以后主攻牛客了。 感觉这次面试官可能不是专门搞技术的,问的问题没有上次丁香园多。但是居然有三个面试官,应该是一个主面试官,两个旁听的工程师。两个旁听的工程师在反问时回答了一下,全流程大概25分钟。技
2022-02-20 22:01:45
732
原创 【丁香园】高级爬虫工程师面试面经 技术面+HR面 已拿offer
丁香园一面(技术面)提问:自我介绍之前做的项目python多进程多线程的区别python生成器迭代器python装饰器python浅复制深复制python的数据结构python的sort排序,哪个函数说一下常用的python库mysql leftjoin rightjoin unionjoin的区别xpath取第一个和最后一个元素redis的数据结构git工具的使用,git add是啥,常用的命令有几百个中英文的新闻网站,
2022-02-11 15:02:42
2332
1
原创 【java】学习笔记【核心篇】- OOP 基础知识:重载、多态、抽象、接口
你可以对一个变量调用的方法集实际上取决于该变量的类型。但是具体哪种方法/实现会被调用,则又取决于该变量所引用的对象的类型/类。判断AB对象是否属于同一个类:if(A instanceof B)方法重写抽象类:主要用于继承和重写。抽象方法可不写主体代码接口(此接口非彼接口)接口的意义:核心:在对象组中,通过 if (对象名 instanceof 接口名)判断对象是否具有某种能力...
2022-02-08 15:54:11
233
原创 【java】学习笔记【核心篇】- OOP 基础知识:基本原理、继承、封装
面向对象原理详解:https://codegym.cc/groups/posts/oop-principles面向对象代码例子:https://codegym.cc/groups/posts/159-principles-of-oop(下面可不看)面向对象的编程 (OOP) 四大支柱:抽象:把庞大的东西拆分成多个细小的部分。就程序员而言,抽象就是把一个程序妥善地分成多个对象。一个大程序通常是多个对象通过各种各样的方法进行交互。通过抽象,你可以选出一个对象的主要特性,忽视其他不重要的信息。封装:*
2022-02-08 15:52:26
251
原创 【java】codegym学习笔记【语法篇】
String 属于class类,int double char才属于基础变量判断相等:int double char等可以直接使用 ==String只能使用this_str.equals(other_str);一维数组:Arrays.equals(nums1, nums2)多维数组:Arrays.deepEquals(nums1, nums2)数组排序:Arrays.sort(nums);要在方法中访问 带有 static 关键字的 成员变量 需要类名来引导 --> 类名.成
2022-02-05 00:11:01
1192
原创 2021牛客暑期多校训练营2
Stack题意:存在一段程序,是构造一个非降子序列长度为 ai 的 bi 数组, 现在给定数组长度和部分 bi 数组,要求构造完整的 ai 数组。解析:https://blog.csdn.net/Spy_Savior/article/details/118913171#include <bits/stdc++.h>using namespace std;typedef long long ll;#define IOS \ ios::sy
2021-07-22 10:35:17
134
原创 2021牛客暑期多校训练营1
Alice and Bob题意:Alice和Bob有两堆石子,每次可以从某一堆中取出k颗石子,在另一堆取出s*k(s>=0)颗石子,拿走场上最后一颗石子的人胜利解析:用x表示第一堆石子数,y表示第二堆石子数,加入(x,y)是一个必败状态,那么可以取走石子一次直接形成(x,y)的状态(x1,y1)必然不是必败状态,如果(x,y)不是必败点,那么可以取走石子一次直接形成(x,y)的状态(x1,y1)不能确定其胜败情况,综上,我们只需要关注一个点能不能由必败点得到,即是否有x=x1+k,y=y1+
2021-07-22 09:42:54
99
原创 linux 基础磁盘管理命令详细实例演示 df du fdisk命令
linux基础磁盘管理命令目录linux基础磁盘管理命令1. df命令。示例一:显示磁盘使用情况。示例二:以inode模式来显示磁盘使用情况。示例三:显示系统内的所有特殊文件格式、名称及磁盘使用情况。示例四:以GBytes、MBytes、KBytes等格式显示各文件系统容量。2.du命令。示例一:列出当前目录下的所有文件夹的容量。示例二:列出当前目录下的所有文件夹和文件的容量。示例三:列出当前目录下的所有文件夹和文件的容量,并以G、M、K格式显示容量。示例四:列出根目录底下每个目录所占用的容量,并以MBy
2021-07-10 09:05:55
169
原创 2020牛客暑期多校训练营(第七场) 题解
牛客多校,第七场。 若有公式图片无法正常显示,请使用梯子访问!B - Mask Allocation 题意:给定n*m个物品,要求构造出k堆物品,并使这些堆可以任意组合为n堆m个物品与m堆n个物品,求最小的k以及对应方案。 样例1解释:输入5 4输出84 4 4 4 1 1 1 1n堆m个物品:(4),(4),(4),(4)...
2020-08-02 00:48:42
189
原创 2020牛客暑期多校训练营(第六场) 题解
牛客多校,第六场。 若有公式图片无法正常显示,请使用梯子访问!C - Combination of Physics and Maths 题意:一个矩阵的底面积定义为最后一行的数之和,重量为矩阵中所有数之和。给一个正整数矩阵,找一个“压强” (即为重量/底面积)最大的可非连续子矩阵。 思路:这题卡输入TLE了。。真恶心 ...
2020-07-29 02:59:20
151
原创 2020牛客暑期多校训练营(第五场) 题解
牛客多校,第五场。(打破队形 若有公式图片无法正常显示,请使用梯子访问!## 题意: 思路: F - DPS 题意:给定n个数,根据公式,构造答案。即为用当前数除以n个数中的最小数即为构造长度。 思路: 这...
2020-07-26 02:28:12
141
原创 2020牛客暑期多校训练营(第四场) 题解
牛客多校,第四场。 若有公式图片无法正常显示,请使用梯子访问!B - Basic Gcd Problem 题意:定义函数如下:给出,求. 思路:这个题虽然过了 但是源代码写的很垃圾,结束后发现能优化不少呢(本题题解思路源自我同学的bl...
2020-07-24 16:34:27
245
原创 2020牛客暑期多校训练营(第三场) 题解
牛客多校,第三场。 若有公式图片无法正常显示,请使用梯子访问!B - Classical String Problem 题意:给定一个字符串,在执行n此操作,操作 ‘A’ 表示将前x位字符移动到字符串末尾,若x位正数则表示将末尾x位字符移动到字符串头部。操作 ‘M’ 表示查询第x位字符。 思路: 如果这个...
2020-07-19 23:55:38
127
原创 2020牛客暑期多校训练营(第二场) 题解
牛客多校,第二场。 若有公式图片无法正常显示,请使用梯子访问!A - All with Pairs 题意:给定n个字符串,每一个串前缀和其他串的后缀进行匹配,计算匹配的最大长度的平方和。 思路:把每个字符串的后缀都hash了存到map里,然后从每个字符串遍历,从前到后,第i个字符串的第j个点字符,我们得到前缀的hash值是x...
2020-07-16 20:44:15
383
原创 Codeforces Round #643 (Div. 2) 题解
我TM肝爆A - Sequence with Digits 题意:a(n+1)=an+an(每一位的最大)*an(每一位的最小),已知a1, k,求ak。 思路:当an的位数拆出来0的时候,后面an的值会陷入循环,即不用再进行计算,那么判断当前位数是否拆出来0即可int main(){ IOS; int T; cin...
2020-05-17 08:05:43
114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人