晋升系列4:学习方法
每一个成功的人,都是从底层开始打怪,不断的总结经验,一步一步打上来的。在这个过程中需要坚持、总结方法论。
对一件事情长久坚持的人其实比较少,在坚持的人中,不断的总结优化的更少,所以最终达到高级别的人非常少。对于普通人而言,只要肯不断的坚持,已经能够在某个领域(公司、学校)崭露头角了。
特别喜欢王国维《人间词话》提出的治学方法:古今之成大事业、大学问者,必经过三种之境界
- “昨夜西风凋碧树,独上高楼,望尽天涯路” 此第一境也;
- 做学问成大事业者,首先要有执着的追求,登高望远,瞰察路径,明确目标与方向,了解事物的概貌;也要能够忍受的了孤独寂寞
- “ 衣带渐宽终不悔,为伊消得人憔悴” 此第二境也;
- 以此两句来比喻成大事业、大学问者,不是轻而易举,随便可得的,必须坚定不移,经过一番辛勤劳动,废寝忘食,孜孜以求,直至人瘦带宽也不后悔
- “ 众里寻他千百度,蓦然回首,那人却在,灯火阑珊处”此第三境也;
- 做学问、成大事业者,要达到第三境界,必须有专注的精神,反复追寻、研究,下足功夫,自然会豁然贯通,有所发现,有所发明,就能够从必然王国进入自由王国
一、学习方法大纲
- **时间从哪里来?**如果没有足够的时间投入,再好的理论也只是纸上谈兵。
- 尊重10000 小时定律,用海绵学习法找时间
- **学什么?**找到正确的学习方向,明确了学习的目标,才能做到有的放矢。
- 用三段分解法,将 10000 小时逐级分解,最终落实到可以实施的各项学习行动。
- **怎么学?**不同的学习目的应该有不同的学习方法,保证学习的投入产出比。
- 链式学习法:适合提升技术深度,通过自顶向下逐步深入的方式,将关联技术逐一掌握。
- 比较学习法:适合提升技术宽度,通过比较相似的知识或者技能,全面掌握单个领域的技术。
- 环式学习法:适合提升技术广度,通过学习业务闭环流程中相关技术,全面掌握多个领域的技术。
- **怎么保证学习效果?**如何解决“学了用不上,学了就忘”两个常见影响学习效果的问题。
-
Play 学习法:可以用来解决工作中暂时没有实践机会的问题,学以致“玩”,通过“玩耍”的方式来应用。
-
Teach 学习法:可以用来解决学得不深的问题,教学相长,通过“教学”的方式来加深理解。
二、时间从哪里来?
2.1时间的重要性
-
成为某个领域的专家,需要花费 10 年时间。
-
5000 + 5000 不等于 10000。10000 小时定律所说的“成功”或者“成为专家”,是指在某一个领域,而不是所有领域一通百通。所以专业聚焦对于 10000 小时定律的落地非常关键。看看自己所在的领域是哪个?
-
工作时间外也要主动提升。10000 个小时相当于连续 10 年平均每天投入 3 个小时,但重复的工作不算,要算有效提升时间。原因在于,工作中的很多时间都是在做一些重复的事情,只是让已经掌握的技能变得更熟练而已,边际效益是越来越低的。除了上班时间外,尽量保证每天能够有 1 个小时的主动提升时间。
2.2海绵学习法
鲁迅的名言——“时间就像海绵里的水,只要愿意挤,总还是有的。”海绵学习法的关键就是“挤时间”。它既不需要我们放弃所有的休闲娱乐,也不需要在累成狗的时候强行“打鸡血”逼着自己去学,而是让我们通过长期坚持的方式,达到“积少成多、聚沙成塔”的效果。
可以按照自己的情况,早起30分钟、通勤的时候学习、上班的前30分钟、睡前30分钟、周末找2个小时用来学习。
2.3一些感想
感觉很多事情都是相通的。
论语:“达巷党人曰:“大哉孔子!博学而无所成名。”子闻之,谓门弟子曰:“吾何执?执御乎?执射乎?吾执御矣。”
达巷这个地方有人说:“孔子真伟大啊!他学问渊博,因而不能以某一方面的专长来称赞他。”孔子听说了,对他的学生说:“我要专长于哪个方面呢?驾车呢?还是射箭呢?我还是驾车吧。”
孔子为什么这么回答?因为孔子怕弟子「专骛为博学」,好高骛远,不脚踏实地从一门学起,不能专精就不能成就。要学,一定要一门深入,一门学透了,再学第二门,这个是学的方法,否则终无所能,学不成。
对于海绵学习法,其实我一般也是通勤的时候看书、早晨到了公司看会、中午午休前看一下、睡前看一会、周末看一会,这样每年能看七八本书、写几十篇文章。其实30分钟,能看好多页,一本书,很快就能看完。而且我比较喜欢这种学习方法,我发现让我持续长时间看书反而效果不好,记不太住,相反单独拎出来的这些时间我能记忆很深刻。
大家可以根据自己的具体情况设置方案,真的是聚少成多。当然,最重要的还是意志力。
三、学什么?
坚持十年达成目标很难,但坚持一两年达成一个小目标,然后十年达成大目标就要容易一点。
我们可以使用三段分解法,带你把“10 年成为大牛”这个大目标,分解成一个个可以在短期内达成的小目标。
3.1分解等级
先确定目标,然后确定为了达成目标可以分为哪些阶段。如在阿里如果想成为P9,那可以分为P5~P8好几个小目标。如果为了赚1个小目标,可以设置每年赚1000W!!!
3.2分解技能
从当前等级到达下一个等级需要哪些技能?要实现这一点需要两个前提条件
- 知道下一个等级的要求
- 知道具体对应哪些技能
这两个条件需要自己去进行搜索、咨询他人完成。其实在我们学习的过程中,可以维护一个技能树,能够更好的帮助我们了解技能范围。然后对这些技能做分解
- 分解的方法很简单,**哪里不懂补哪里!**比如你感觉自己现在的数据库水平很一般,只会写 CRUD 语句,其他的东西都不懂,那么你就专攻数据库这一部分,通过一段时间的专项提升来拿下这个技能。
- **专项提升某个技能的持续时间既不能太短,也不能太长,一般建议在 6 个月左右。**时间太短,容易陷入为了“完成任务”而去学的误区,没有真正得到有效提升。时间太长的话,其他技能就来不及提升了。
3.3分解“行动”
第二段分解之后,我们得到了 6 个月左右的技能提升目标,接下来要做的,就是通过第三段分解,将技能提升目标分解为具体要做的事情,然后按照计划执行。
那么,怎样才能提升呢?你可以上网搜索(知乎是个好地方),也可以去问有经验的朋友,把二段目标细化为 1~2 个月的三段目标。
如作者确定了“提升 Linux 水平”:
- 1.5 个月:通读《UNIX 环境高级编程》
- 1.5 个月:通读《Linux 系统编程》
- 2 个月:通读《UNIX 网络编程 卷 1》
- 1 个月:Linux 常用命令实战,包括 tcpdump、ps 和 top 等
如你想提升数据库水平
- 1.5个月:通读《MySQL技术内幕:InnoDB存储引擎》
- 1.5个月:精读《MySQL实战45讲》
- 继续提升:《高性能MySQL》、《MySQL运维内参:MySQL、Galera、Inception核心原理与最佳实践》、源码
当然,大家要是想再狠一点,可以再细分到周。
3.4一些感想
有些人不需要了解这些方法,在生活中自然就按照这个方法在做事情了。我感觉我媳妇就是这样的,会给自己立个很大的目标,然后不断拆解为子目标,然后找时间行动。她是搞量化基金的,CFA持证人蛮有含金量,她就想考。这个证需要考三次,一级一级的考。她就买了对应技能的书,每天抽时间看,一两年考一次,已经考过二级了。
我觉得可能对于很多人来说,主要是没有设立十年的目标吧,没有去细细的考虑过这个问题,这应该对应人间词话的第一重境界。
四、怎么学?
一般来说,P5/P6/P7 主要提升技术深度,P7/P8 主要提升技术宽度,P8/P9 主要提升技术广度。我们怎么提升自己的技术深度、技术宽度、技术广度?
技术宽度和技术广度有点容易误解,宽度是相同领域的,如redis和memcache、mysql和mongodb等。技术广度是跨领域的,如前端、后端等。
4.1提升技术深度
最好使用链式学习法。所谓“链式学习法”,顾名思义,就是学习的过程好像从水里拉起一根链条,拉出一环后面又接着一环,最后将整个链条全部拉出来。
其实在面试和晋升的时候都会遇到,从一个问题开始,不断的往下问,看看这个人学到了什么程度。
链式学习法能够促使我们主动提升,还能将知识和体系系统化。
- 明确一项技术的深度可以分为哪些层。
第一种是自顶向下、层层关联,打通一项技术的领域分层。
第二种是由表及里、层层深入,打通一项技术的细节分层。
- 明确你自己要学到哪一层。学得太浅,达不到提升深度的目的;学得太深,又会耗费太多的时间和精力。按照自己的当前情况学习。
- 明确每一层应该怎么学。总的原则是,在上层投入更多时间,更关注细节和熟练使用,在下层投入相对少的时间,更加关注原理和简单应用。
4.2提升技术宽度
最好使用比较学习法。所谓比较学习法,就是横向比较同一个领域中类似的技术,梳理它们异同,分析它们各自的优缺点和适用场景。
可以回答Why的问题,如为什么用redis不用memcache。
比较学习法能够学得快、学的全、学的深。
比较学习法的具体操作步骤如下:
-
先用链式学习法掌握某个领域的一项技术,将这个领域的关键技术点整理成表格。
-
基于整理好的技术点,学习这个领域的另一项技术,将它们在技术点上的差异整理成思维导图。
-
找出差异较大的技术点,将背后的原理和对应用场景的影响整理成表格。
以redis和memcache为例
4.3提升技术广度
最好使用环式学习法。所谓环式学习法,就是构建一个完整的闭环过程,将多个领域的“鱼”一网打尽。
技术上常见的闭环是功能环,代表某个功能的处理过程。环式学习法更加适合业务系统相关的技术人员
- 就是把闭环画出来。具体的画法是将完整的闭环分为几个关键的环节,然后标出每个环节的关键内容。
- 就是由近及远,逐步攻克闭环上的各个节点。根据自己的情况,选择合适的学习顺序。
环式学习法能够培养全局视野、避免盲目的广撒网却捞不到鱼。
4.4一些感想
自己写了好多文章,应该按照链式学习法、比较学习法、环式学习法给系统梳理一下,把点变成线、线变成面。
五、怎么保证学习效果?
大家经常会遇到学了就忘的情况。
5.1Play学习法
从科学学习的角度来看,学以致用的效果是最好的,光学不练学得不深,时间一长可能就忘记了。
所谓 Play 学习法,就是**通过模拟实践中的场景来进行学习和训练。**Play 学习法就是主动创造 Do 的机会来提升自己对新技能的理解和记忆。
它的做法比较简单,主要分为三个步骤:
- 按照链式学习法的方式学习某项技术。
- 列举常见的场景,搭建模拟场景。
- 在模拟场景进行测试、体验和练习。
比如为了验证 ZooKeeper 的集群选举功能,模拟的时候可以采取拔网线、直接杀进程、删除存储文件等各种非常规的手段。
5.2Tech学习法
很多人都有类似的经历:自己学习某项技术的时候感觉学的差不多了,甚至都已经在工作中具体实践了,但是一旦跟别人讨论,或者在晋升的时候面对评委的提问,又会感觉很多东西都没有完全掌握。这种现象背后的原因是,每个人的知识和技能都是有一定局限性的,不同的人理解会不一样,关注点会不一样,所以在讨论或者 PK 的时候自然会遇到各种各样的问题。就算你有实践机会,也不太可能一两次就把一项技术相关的知识全部用到,总会有认知的盲区存在。
所谓 Teach 学习法,就是通过教别人来提升自己。
Teach 学习法包括两种形式,写作和培训。
- 写作能帮我们系统的整理技术体系。确实是这样的,写的时候,得思考整体的结构是怎样的。
- 写作有助于了解细节。确实是这样的,写的时候,经常会发现这个地方好像不太懂或者这个地方有问题,需要查一下。
- 培训需要写培训材料,能够锻炼总结、归纳、提炼的能力;让我们在有限时间内讲清楚一个主题,会强迫我们思考和主题相关的各种信息和可能的问题;和听众交流,能加深理解和临场反映能力。
总结
好的学习方法确实事半功倍,感觉自己以前花了很多时间,虽然有进步,但方法掌握的不好,进步的速度还是太慢了。好在确实是有积累的,现在需要把积累的这些内容,按照学习方法重新梳理一下。今后的学习内容,都向新的学习方法贴合。
上面这些学习方法是相辅相成的,你可以根据你当前的级别和实际工作内容,把它们组合起来使用,具体的方式如下:
第一步,无论你当前是什么级别,先用“三段分解法”来规划你的学习目标和计划。
第二步,使用“海绵学习法”来找到你可以用于学习的时间。
第三步,根据学习目标采取相应的学习方法。
- 如果你是 Java 后端 P5/P6/P7 级别,你的技术提升以技术深度为主,你可以采取“链式学习法”来学习 MySQL 以提升技术深度;
- 如果你是 P7/P8 级别,除了技术深度外,还需要提升技术宽度,你可以采取“比较学习法”来学PostgreSQL、MongoDB 和 Elasticsearch 等存储系统;
- 如果你是 P8/P9 级别,你可以采用“环式学习法”来学习跨领域的技能,比如学习 vue、小程序和人工智能等业务闭环流程涉及的技术领域;
相关文章:
晋升系列4:学习方法
每一个成功的人,都是从底层开始打怪,不断的总结经验,一步一步打上来的。在这个过程中需要坚持、总结方法论。 对一件事情长久坚持的人其实比较少,在坚持的人中,不断的总结优化的更少,所以最终达到高级别的…...
单链表-代码精简版
单链表核心知识详解 单链表是一种动态存储的线性数据结构,其特点是逻辑上连续,物理上非连续,每个节点包含数据域和指向下一个节点的指针域。以下是核心知识点与完整实现代码: 一、单链表的结构定义 单链表节点通过结构体自引用…...
关于前后端整合和打包成exe文件的个人的总结和思考
前言 感觉有很多东西,不知道写什么,随便写点吧。 正文 前后端合并 就不说怎么开发的,就说点个人感觉重要的东西。 前端用ReactViteaxios随便写一个demo,用于CRUD。 后端用Django REST Framework。 设置前端打包 import { …...
基于muduo+mysql+jsoncpp的简易HTTPWebServer
一、项目介绍 本项目基于C语言、陈硕老师的muduo网络库、mysql数据库以及jsoncpp,服务器监听两个端口,一个端口用于处理http请求,另一个端口用于处理发送来的json数据。 此项目在实现时,识别出车牌后打包为json数据发送给后端服务…...
Java/Kotlin逆向基础与Smali语法精解
1. 法律警示与道德边界 1.1 司法判例深度剖析 案例一:2021年某游戏外挂团伙刑事案 犯罪手法:逆向《王者荣耀》通信协议,修改战斗数据包 技术细节:Hook libil2cpp.so的SendPacket函数 量刑依据:非法经营罪ÿ…...
C++:入门详解(关于C与C++基本差别)
目录 一.C的第一个程序 二.命名空间(namespace) 1.命名空间的定义与使用: (1)命名空间里可以定义变量,函数,结构体等多种类型 (2)命名空间调用(…...
CI/CD—GitLab钩子触发Jenkins自动构建项目
GitLab钩子简介: 项目钩子 项目钩子是针对单个项目的钩子,会在项目级别的特定事件发生时触发。这些事件包括代码推送、合并请求创建、问题创建等。项目钩子由项目管理员或具有相应权限的用户进行配置,仅对特定项目生效。 使用场景:…...
RPA 职业前景:个人职场发展的 “新机遇”
1. RPA职业定义与范畴 1.1 RPA核心概念 机器人流程自动化(RPA)是一种通过软件机器人模拟人类操作,自动执行重复性、规则性任务的技术。RPA的核心在于其能够高效、准确地处理大量数据和流程,减少人工干预,从而提高工作…...
【CSS3】金丹篇
目录 标准流概念元素类型及排列规则块级元素行内元素行内块元素 标准流的特点打破标准流 浮动基本使用清除浮动额外标签法单伪元素法双伪元素法(推荐)overflow 法 Flex 布局Flex 组成主轴对齐方式侧轴对齐方式修改主轴方向弹性盒子伸缩比弹性盒子换行行对…...
Git(一)
一、介绍 二、Git代码托管服务 三、Git常用命令 全局设置: 获取Git仓库: 工作区、暂存区、版本库概念: Git工作区文件的状态: 本地仓库操作: 远程仓库操作: 分支操作: 标签操作: 四…...
Python大数据可视化:基于spark的短视频推荐系统的设计与实现_django+spider
开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 热门视频界面 用户界面 用户反馈界面 论坛交流界面 系统…...
面试题之react useMemo和uesCallback
在面试中,关于 React 中的 useMemo 和 useCallback 的区别 是一个常见的问题。 useMemo 和 useCallback 的区别 1. 功能定义 useMemo: 用于缓存计算结果,避免在每次组件渲染时重新计算复杂的值。它接受一个计算函数和一个依赖数组࿰…...
K8S学习之基础十九:k8s的四层代理Service
K8S四层代理Service 四层负载均衡Service 在k8s中,访问pod可以通过ip端口的方式,但是pod是由生命 周期的,pod在重启的时候ip地址往往会发生变化,访问pod就需要新的ip地址,这样就会很麻烦,每次pod地址改变就…...
C++:string容器(下篇)
1.string浅拷贝的问题 // 为了和标准库区分,此处使用String class String { public :/*String():_str(new char[1]){*_str \0;}*///String(const char* str "\0") // 错误示范//String(const char* str nullptr) // 错误示范String(const char* str …...
sudo systemctl restart docker 重启docker失败
一般会使用如下命令,进行docker重启。 sudo systemctl daemon-reload sudo systemctl restart docker 重启失败时,会提示:Job for docker.service failed because the control process exited with error code. See "systemctl status…...
Linux基本操作指令3
1、wget: 这是一个用于从网络上下载文件的命令行工具。它支持 HTTP、HTTPS 和 FTP 协议。 wget http://download.qt.io/archive/qt/5.12/5.12.9/qt-opensource-linux-x64-5.12.9.run 2、下载完成后,你可以通过以下命令使文件可执行并运行安装程序: ch…...
React:类组件(上)
kerwin老师我来了 类组件的创建 class组件,js里的类命名首字符大写,类里面包括构造函数,方法 组件类要继承React.Component才有效 必须包含render方法 import React from react class App extends React.Component{render() {return <…...
sqli-lab靶场学习(七)——Less23-25(关键字被过滤、二次注入)
前言 之前的每一关,我们都是在末尾加上注释符,屏蔽后面的语句,这样我们只要闭合了区间之后,差不多就是为所欲为的状态。但如果注释符不生效的情况下,又该如何呢? Less23(注释符被过滤ÿ…...
虚函数和虚表的原理是什么?
虚函数是一个使用virtual关键字声明的成员函数,在基类中声明虚函数,在子类中可以使用override重写该函数。虚函数根据指针或引用指向的实际对象调用,实现运行时的多态。 虚函数表(虚表)是一个用于存储虚函数地址的数组…...
RReadWriteLock读写锁应用场景
背景 操作涉及一批数据,如订单,可能存在多个场景下操作,先使用读锁,从redis缓存中获取操作中数据 比如 关闭账单, 发起调账, 线下结算, 合并支付 先判断当前操作的数据,是否在…...
【面试】MySQL
MySQL 1、数据库三范式2、什么是关系型数据库,什么是非关系型数据库3、什么是数据库存储引擎4、MySQL5.x和8.0有什么区别5、char 和 varchar 的区别6、in 和 exists 的区别7、MySQL 时间类型数据存储建议8、drop、delete 与 truncate 区别9、一条 Sql 的执行顺序10、…...
Trae AI 开发工具使用手册
这篇手册将介绍 Trae 的基本功能、安装步骤以及使用方法,帮助开发者快速上手这款工具。 Trae AI 开发工具使用手册 Trae 是字节跳动于 2025 年推出的一款 AI 原生集成开发环境(IDE),旨在通过智能代码生成、上下文理解和自动化任务…...
表格columns拼接两个后端返回的字段(以umi框架为例)
在用组件对前端项目进行开发时,我们会遇到以下情况:项目原型中有取值范围这个表字段,需要存放最小取值到最大取值。 而后端返回给我们的数据是返回了一个最小值和一个最大值, 在columns中我们需要对这两个字段进行拼接࿰…...
常见的算法题python
字符串倒序 def func1(str):return str[::-1] def func2(str):new_str ""for i in str:new_str inew_strreturn new_str if __name____main__:str"linda"print(func2(str))合并两个有序的列表 def func3(list1,list2):for i in list1:list2.append(i)li…...
linux学习(十)(磁盘和文件系统(索引节点,文件系统,添加磁盘,交换,LVM公司,挂载))
Linux 磁盘文件系统 Linux 使用各种文件系统来允许我们从计算机系统的硬件(例如磁盘)存储和检索数据。文件系统定义了如何在这些存储设备上组织、存储和检索数据。流行的 Linux 文件系统示例包括 EXT4、FAT32、NTFS 和 Btrfs。 每个文件系统都有自己的…...
k8s v1.28.15部署(kubeadm方式)
k8s部署(kubeadm方式) 部署环境及版本 系统版本:CentOS Linux release 7.9.2009 k8s版本:v1.28.15 docker版本:26.1.4 containerd版本:1.6.33 calico版本:v3.25.0准备 主机ip主机名角色配置1…...
Python开发Scikit-learn面试题及参考答案
目录 如何用 SimpleImputer 处理数据集中的缺失值? 使用 StandardScaler 对数据进行标准化的原理是什么?与 MinMaxScaler 有何区别? 如何用 OneHotEncoder 对类别型特征进行编码? 解释特征选择中 SelectKBest 与 VarianceThreshold 的应用场景。 如何通过 PolynomialFe…...
Java在小米SU7 Ultra汽车中的技术赋能
目录 一、智能驾驶“大脑”与实时数据 场景一:海量数据的分布式计算 场景二:实时决策的毫秒级响应 场景三:弹性扩展与容错机制 技术隐喻: 二、车载信息系统(IVI)的交互 场景一:Android Automo…...
蓝队第三次
1.了解什么是盲注 盲注(Blind SQL Injection)是SQL注入的一种形式,攻击者无法直接通过页面回显或错误信息获取数据,而是通过观察页面的布尔状态(真/假)或时间延迟来间接推断数据库信息。例如,通…...
Element Plus中的树组件的具体用法(持续更新!)
const defaultProps {//子树为节点对象的childrenchildren: children,//节点标签为节点对象的name属性label: name, } 属性 以下是树组件中的常用属性以及作用: data:展示的数据(数据源) show-checkbox:节点是否可…...
nodejs使用WebSocket实现聊天效果
在nodejs中使用WebSocket实现聊天效果(简易实现) 安装 npm i ws 实现 创建 server.js /*** 创建一个 WebSocket 服务器,监听指定端口,并处理客户端连接和消息。** param {Object} WebSocket - 引入的 WebSocket 模块,…...
通领科技冲刺北交所
高质量增长奔赴产业新征程 日前,通领科技已正式启动在北交所的 IPO 进程,期望借助资本市场的力量,加速技术升级,推动全球化战略布局。这一举措不仅展现了中国汽车零部件企业的强大实力,也预示着行业转型升级的新突破。…...
利用LLMs准确预测旋转机械(如轴承)的剩余使用寿命(RUL)
研究背景 研究问题:如何准确预测旋转机械(如轴承)的剩余使用寿命(RUL),这对于设备可靠性和减少工业系统中的意外故障至关重要。研究难点:该问题的研究难点包括:训练和测试阶段数据分布不一致、长期RUL预测的泛化能力有限。相关工作:现有工作主要包括基于模型的方法、数…...
comctl32!ListView_OnSetItem函数分析LISTSUBITEM结构中的image表示图标位置
第一部分: BOOL ListView_SetSubItem(LV* plv, const LV_ITEM* plvi) { LISTSUBITEM lsi; BOOL fChanged FALSE; int i; int idpa; HDPA hdpa; if (plvi->mask & ~(LVIF_DI_SETITEM | LVIF_TEXT | LVIF_IMAGE | LVIF_STATE)) { …...
Django工程获取请求参数的几种方式
在 Django 中获取请求参数的完整方法如下: 一、GET 请求参数获取 def view_func(request):# 获取单个参数(推荐方式)name request.GET.get(name, default) # 带默认值age request.GET.get(age, 0)# 获取多个同名参数(如复选框…...
使用Qt调用HslCommunication(C++调用C#库)
使用C/CLI 来调用C#的dll 任务分解: 1、实现C#封装一个调用hsl的dll; 2、实现C控制台调用C#的dll库; 3、把调用C#的dll用C再封装为一个dll; 4、最后再用Qt调用c的dll; 填坑: 1、开发时VS需要安装CLI项目库…...
C++中的构造函数
目录 一、什么是构造函数: 二、构造函数的特性和使用: 1、构造函数的特性: 2、构造函数的重载: 三、默认生成的构造函数: 一、什么是构造函数: 在C中,当创建一个对象之后,就会自…...
MySQL知识点(第一部分)
MySQL 基础: 1、SQL语句的分类: DDL:用于控制数据库的操作DML:用于控制表结构的字段,增、删、修DQL:用于查询语句DCL:用于管理数据库,用户,数据库的访问 权限。 2、M…...
Lua怎么学?Lua编程实战:从基础语法到高级特性
朋友们,大家好,我是袁庭新。我的《Lua编程实战:从基础语法到高级特性》教程上线了!这是一套从零掌握Lua编程,涵盖基础到高级,以实战驱动,快速上手Lua开发的精品教程! 我为什么要研发…...
Qt常用控件之 纵向列表QListWidget
纵向列表QListWidget QListWidget 是一个纵向列表控件。 QListWidget属性 属性说明currentRow当前被选中的是第几行。count一共有多少行。sortingEnabled是否允许排序。isWrapping是否允许换行。itemAlignment元素的对齐方式。selectRectVisible被选中的元素矩形是否可见。s…...
Manus无需邀请码即可使用的平替方案-OpenManus实测
文章目录 Manus 简介核心定位技术架构核心特点应用场景性能表现用户体验发展计划OpenManus技术架构与设计理念核心功能特性应用场景案例与闭源Manus的差异对比安装使用与实战演示执行过程记录简单案例-快速写一个helloworld的java程序复杂案例-分析特斯拉汽车近三年财务数据并生…...
git如何解除远程仓库 改变远程仓库地址
这三个命令通常一起使用来更改项目的远程仓库地址: 查看当前远程仓库配置:git remote -v移除旧的远程仓库配置:git remote remove origin添加新的远程仓库配置:git remote add origin 新的远程仓库地址 要解除当前项目的远程仓库…...
VSCode 配置优化指南:打造高效的 uni-app、Vue2/3、JS/TS 开发环境
VSCode 配置优化指南,适用于 uni-app、Vue2、Vue3、JavaScript、TypeScript 开发,包括插件推荐、设置优化、代码片段、调试配置等,确保你的开发体验更加流畅高效。 1. 安装 VSCode 如果你还未安装 VSCode,可前往 VSCode 官网 下载最新版并安装。 2. 安装推荐插件 (1) Vue…...
云计算:虚拟化、容器化与云存储技术详解
在上一篇中,我们深入探讨了网络安全的核心技术,包括加密、认证和防火墙,并通过实际案例和细节帮助读者全面理解这些技术的应用和重要性。今天,我们将转向一个近年来迅速发展的领域——云计算。云计算通过提供按需访问的计算资源,彻底改变了IT基础设施的构建和管理方式。本…...
oracle 数据导出方案
工作中有遇到需要将oracle 数据库表全部导出,还需要去除表数据中的换行符。 方案 shell 设计 封装函数 1 function con_oracle() 用于连接oracle 2 function send_file() 用于发送文件 3 主程序 使用循环将所有表导出并发送到数据服务器 主程序 程序代码 #!…...
电商项目-秒杀系统(四)秒杀异步下单防止重复秒杀
一、 防止恶意刷单解决 在生产场景下,可能会有一些人会恶意访问当前网站,来进行恶意的刷单。这样会造成当前系统出现一些业务上的业务混乱,出现脏数据,或者造成后端访问压力大等问题。 一般要解决这个问题的话,前端可…...
Express 中 get 参数获取
1. 使用 req.query 获取 URL 查询字符串参数 在 GET 请求中,参数通常以查询字符串的形式附加在 URL 后面,格式为 ?参数名1值1&参数名2值2 。Express 里可通过 req.query 对象获取这些参数。 const express require("express"); const …...
《Python实战进阶》No17: 数据库连接与 ORM(SQLAlchemy 实战)
No17: 数据库连接与 ORM(SQLAlchemy 实战) 摘要 本文深入探讨SQLAlchemy在复杂场景下的高级应用,涵盖四大核心主题: 会话生命周期管理:通过事件钩子实现事务监控与审计追踪混合继承映射:结合单表/连接表继…...
运行OpenManus项目(使用Conda)
部署本项目需要具备一定的基础:Linux基础、需要安装好Anaconda/Miniforge(Python可以不装好,直接新建虚拟环境的时候装好即可),如果不装Anaconda或者Miniforge,只装过Python,需要确保Python是3.…...
Linux一键美化命令行,一键安装zsh终端插件
zsh应该是很多人第一个用的Linux终端美化软件 但是其安装略微复杂,让人有些困扰 所以我花了两天写了一键安装脚本,实测运行后直接安装好 适用于Ubuntu、Debian、Red Hat、macOS等系统 直接安装好zsh 以及常用插件 autojump 跳转插件 zsh-syntax-highlig…...