首页
学习
活动
专区
圈层
工具
发布

冯友兰:读书就是要过河拆桥

照这个办法,一天的报纸,念一天也念不完。大多数的书,其实就像报纸上的新闻一样,有些可能轰动一时,但是昙花一现,不久就过去了。所以,书虽多,真正值得精读的并不多。下面所说的就指值得精读的书而言。...时间照着他们的推荐,对于那些没有永久价值的书都刷下去了,把那些有永久价值的书流传下来。从古以来流传下来的书,都是经过历来群众的推荐,经过时间的选择,流传了下来。...我们看不懂古人用古文写的书,古人也不会看懂我们现在的《人民日报》。这叫语言文字关。攻不破这道关,就看不见这道关里边是什么情况,不知道关里边是些什么东西,只好在关外指手划脚,那是不行的。我所说的解其言。...中国有句老话说是“书不尽言,言不尽意”,意思是说,一部书上所写的总要比写那部书的人的话少,他所说的话总比他的意思少。一部书上所写的总要简单一些,不能像他所要说的话那样罗嗦。这个缺点倒有办法可以克服。...语言文字是帮助了解书的意思的拐棍。既然知道了那个意思以后,最好扔了拐棍。这就是古人所说的“得意忘言”。在人与人的关系中,过河拆桥是不道德的事。但是,在读书中,就是要过河拆桥。

60140
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我为什么说 Vim 比 VSCode 更好用

    它不会扫描你的目录来寻找函数定义,它不会穿越语法树给你提供复杂的自动完成建议,它不会计算你光标的上下文并向文档 API 发出请求,它不会对每一行代码做 git blame,它不会自动下载每个文件的语法。...我想这取决于你觉得你对自己工作水平的感受,你是否有精力使用终端命令来 lint 你的文件,或阅读:help 来找出配置你的.vimrc 文件的方法(我开始使用 Vim 时从未使用:help,一开始互联网资源绝对是你的好朋友...我会思考一些可以在 Vimscript 中写出来的小功能,或整合一个有用的命令行工具,甚至只是阅读一些我从未见过的:help……总之让我有事情可做就行,不是什么我必须完成的任务,但也不完全是浪费时间。...正如我前面所说的,可供选择的动作命令有很多,它们的表现也各不相同,具体取决于你是在三部分组合中使用(如上所述),还是在两部分组合中使用(这时去掉文本对象,让命令从光标位置向后运行)。...有些动作会变成不同的类型,取决于它们是组合使用还是单独使用。例如,在上面的三段式组合中,b 键的意思是块,但当你单独使用它时,它的意思是返回(back),并且每次向后移动光标一个单词。

    63220

    每日问题

    答: 可以 8.坑: page的.json文件引用组件时,需要注意顺序,否则引用相同组件时样式会相互覆盖。...因而,将button封装在自定义组件中,而from在自定义组件外,将会使这个button的form-type失效。 意思就是必须用原生button,不能包装一层,太sb了。...那就是不用原生button,该怎么获取表单的值呢?我是干脆不使用form了,在bindinput事件时,更新组件中维护的数据。...对于非二进制文件的冲突解决,git会给出冲突的位置我们可以手动修改然后再commit。但是对于二进制文件无法手动编辑,我们只能用下面的办法取其中的一个版本。...git checkout --ours采用当前更改 git checkout --theirs采用传入的更改 例如: $ git merge B #试图将B分支合并到A分支上,会提示test.docx

    2K20

    102.精读《Monorepo 的优势》

    Monorepo 可以解决哪些问题,这样在工作遇到问题时,才能想清楚自己要的是什么。...Android 仓库的代码不仅在 UI 上不同,同时解析 PDF 文档的核心代码也不同,这是因为 IOS 平台上使用内置 PDF 渲染引擎同时做了一些业务拓展,但使用的 OC 代码无法在 Android...直到一年后,开始探索 WebAssembly 时,PSPDFKit-web 模块就出现了,因为可以利用 WebAssembly 将 Core 的代码编译并在 Web 平台使用,因此 Core 仓库与 Web...仓库的关系变得非常紧密,最终,我们将 Web、Server 也都迁移到 Monorepo 中了。...虽然 vscode 通过 Workspaces 解决多仓库管理的问题,但在多人协作的场景下,无法保证每个人的环境配置一致。

    85310

    一线互联网大厂面试必问的JVM应该怎么学(面试题含答案)

    JDK1.7中,存储在永久代的部分数据就已经转移到了Java Heap或者是 Native Heap。...但永久代仍存在于JDK1.7中,并没完全移除,譬如符号引用(Symbols)转移到了native heap;字面量(interned strings)转移到了java heap;类的静态变量(class...注意我们这里所说的运行时的常量池并仅仅是指Class文件中的常量池,因为JVM可能会进行即时编译进行优化,在运行时将部分常量载入到常量池中。...堆的大小既可以固定也可以扩展,但主流的虚拟机堆的大小是可扩展的,因此当线程请求分配内存,但堆已满,且内存已满无法再扩展时,就抛出OutOfMemoryError。...开发者可以直接使用系统类加载器双亲委派模型是某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时

    56850

    把你的 VS Code 打造成 C++ 开发利器

    下载安装包 去 VSCode 官网 下载 windows 版本即可,安装时记得勾选将 VSCode 添加至右键菜单选项,最好下面的勾全部勾上。...uploadOnSave参数意思是,你本地编写的代码,在你是用 VSCode 保存时,sftp 会自动帮你同步到远程。...ignore,意思是你同步时,忽略哪些文件,一般可以固定的把.VSCode、.git、sourceinsight 自动生成的文件都忽略掉,这样同步到远程的文件都是你关注的代码。...安装插件后,在每个工程中窗口中,Ctrl+Shift+P,输入 Project Manager Save Project ,意思是将当前工程命名成 1 个 project,它会默认取当前根目录的文件名为...A:VSCode 在 win 上使用时,主要受限于 git 是,操作较慢,且对于 C++的系统库文件跳转无法正常解析,还需另外通过 wsl 或者安装其他工具来设置,但在 linux、mac,则可以使用系统自带的

    14.7K53

    【云原生进阶之数据库技术】第二章-Oracle-原理-4.2.3-数据文件解析

    数据文件是数据库中所有数据的实际存储空间,所有数据文件大小的和构成了数据库的大小。根据数据信息类型不同,数据文件分为永久性数据文件和临时数据文件两种。...vs 临时数据文件 永久表空间(permanent tablespace)包含有持久化的 schema 对象,存储在永久数据文件中。...数据库无法访问离线的数据文件。当要进行离线备份或者发生数据块损坏时,就可以将数据文件离线。如果数据库无法向一个数据文件写入数据,就会自动将该数据文件离线。...从 Oracle 12c 开始,在数据库打开时,可以使用 ALTER DATABASE MOVE DATAFILE 语句将一个在线的数据文件从所在的物理文件迁移到另一个物理文件。...该功能可以在以下场景中使用: 将表空间从一种存储中迁移到另一种存储中; 将很少被访问的数据文件迁移到开销低的存储中; 将表空间设置为只读后,将其中的数据文件迁移到 write-once 存储中,比如 WORM

    37910

    “改造” VS Code 编辑器,一起写个插件吧!

    20年前,他是《设计模式:可复用面向对象软件的基础》的作者之一,这本书在开发社区的地位被视为面向对象软件开发的指路明灯(瞻望大佬)。...让我们来分析一下这几个选项的意思,其实和字面意思一样,从上到下: 新的插件(Typescript) 新的插件(JavaScript) 新的主题颜色 新的语言支持 新的代码片段 新的键值绑定 新的插件包...(扩展的标示?) What's the description of your extension?(扩展的描述是什么?) Initialize a git repository?...在 package.json 里面设置的 command 的值,就是 extension.js 里面 registerCommand 的值。那这几行命令是什么意思呢?...所以不能将自定义的 CSS 应用于 VS Code 或将 HTML 元素添加到 VS Code UI 的扩展中去。

    93120

    协调eslint和prettier,让代码书写更加流畅

    .js > .json > .yml eslint插件 初始化eslint的配置文件之后,eslint就会根据配置规则检查我们的代码,但是检测的错误只会在控制台进行输出 并且无法自动修复,在开发的时候多少会有点不便...git husky配置 配置eslint是为了让我们找出格式的错误,但有时候我们会忘记解决代码中的eslint报错,将有问题的代码提交到远端仓库,所以我们需要在 git husky中,配置eslint的检查规则...> .yml prettier的vscode插件 vscode提供了prettier的插件,让我们可以在本地编写一套prettier的配置并使用 然后我们可以在VScode的setting.json...... // #在对象或数组最后一个元素后面不加逗号  "prettier.trailingComma": "all", //  (x) => {} 箭头函数参数只有一个时是否要有小括号。...> 本地的setting.json prettier和eslint 正如上面所说,prettier和eslint我们都需要用到,但由于它们实际的配置规则并不完全一样,所以使用的时候难免会有一些问题,我们可以利用

    2K20

    版本控制——深入浅出git

    这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。 暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。...我们的日常git工作流 在工作目录中修改文件 暂存文件,将文件的快照放入暂存区域 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录 对应的git生命周期 git基本操作 用户相关 安装完...回顾: git保存的是什么? 文件快照 git提交的是什么?...的分支的本质是什么 git的分支就是指向提交对象的指针: Git 的默认分支名字是 master 在多次提交操作之后,master 分支指向最后那个提交对象 # 新建分支 git branch testing...这个被称作一次合并提交,它的特别之处在于他有不止一个父提交 Git 会自行决定选取哪一个提交作为最优的共同祖先,并以此作为合并的基础 合并冲突 推荐使用vscode或其他IDE操作...

    56610

    GC垃圾回收机制

    很容易理解,编译时就能够确定的内存就是静态内存,即内存是固定的,系统一次性分配,比如int类型变量;动态内存分配就是在程序执行时才知道要分配的存储空间大小,比如java对象的内存空间。...一般我们所说的垃圾回收也是针对的这一部分。...2、复制(Copying) 此算法把内存空间划为两个相等的区域,每次只使用其中一个区域。垃圾回收时,遍历当前使用区域,把正在使用中的对象复制到另外一个区域中。...当无法找到足够大的连续空间分配给新创建的较大对象时也会提前触发一次 MajorGC 进行垃圾回收腾出空间。...1、GC Roots是什么? 垃圾回收时,JVM首先要找到所有的GC Roots,这个过程称作 「枚举根节点」 ,这个过程是需要暂停用户线程的,即触发STW。 那么,到底什么是GC Roots呢?

    36610

    系统c盘如何清理

    系统c盘如何清理 如果你的 windows c: 驱动器空间不足, 电脑会变慢, 更新可能失败, 程序也许无法正常运行....windows 安装(只有在你不需要回滚时)和系统产生的临时文件, 然后清空回收站永久删除文件, 我用磨针工具软件就能快速定位大文件, 很简单, 推荐给朋友也没人说复杂....清理 c: 驱动器能提升性能并避免问题, 先找出大文件 删除安全的临时文件 卸载不用的软件 把个人文件移到别处 并使用系统自带的清理工具, 如果需要你可以告诉我先试哪一步 或 检查 storage 时看到什么工具...删除旧的 windows 更新会有问题吗 删除旧更新文件能释放空间, 但会无法回滚到以前的 windows 版本, 只有在系统稳定且不需要回退时才删除.  ...如果我不小心删了重要文件怎么办 如果文件还在回收站, 从那里恢复, 如果已永久删除, 停止使用该盘并尝试文件恢复软件或恢复服务, 定期备份可防止永久丢失.

    13110

    【剑指offer】JVM经典面试题

    【堆中分配很大的对象】 所谓大对象,是指需要大量连续内存空间的java对象,例如很长的数组,此种对象会直接进入老年代,而老年代虽然有很大的剩余空间,但是无法找到足够大的连续空间来分配给当前对象,此种情况就会触发...它们之间的⽗⼦关系是怎么样的?双亲委派机制是什么意思?有什么好处? 启动Bootstrap类加载、扩展Extension类加载、系统System类加载。...JDK1.7中,存储在永久代的部分数据就已经转移到了Java Heap或者是 Native Heap。...但永久代仍存在于JDK1.7中,并没完全移除,譬如符号引用(Symbols)转移到了native heap;字面量(interned strings)转移到了java heap;类的静态变量(class...6.做GC时,⼀个对象在内存各个Space中被移动的顺序是什么? 标记清除法,复制算法,标记整理、分代算法。 新生代一般采用复制算法 GC,老年代使用标记整理算法。

    1.4K31

    6 个最佳的 Git 仓库管理实践

    尽管我们无法控制其他人如何管理自己的仓库,但我们可以从他们的错误中吸取教训。为此,本文回顾了将文件添加到自己的仓库中的一些最佳实践。...首先,除非你自己检查了所有代码(以及将来的合并),否则你不能为第三方完全担保。其次,当你将第三方库复制到你的 Git 仓库中时,会将焦点从真正的上游源代码中分离出来。...用 IDE 管理项目时,跟踪添加到仓库中的内容会非常困难,因此仅添加你实际编写的内容非常重要,而不是添加项目文件夹中出现的任何新对象。 如果你使用了 git add ....,请在推送之前检查暂存区里的内容。如果在运行 make clean 或等效命令后,执行 git status 时在项目文件夹中看到一个陌生的对象,请找出它的来源,以及为什么仍然在项目的目录中。...质疑那些希望成为版本库永久成员的代码并不是一种社交失误,但如果你不知道你把什么合并到用户使用的代码中,那就是违反了你和用户之间的社交契约。 Git 责任 社区致力于开源软件良好的安全性。

    92920

    VSCode Markdown 图片上传到 GitHub 图床

    VSCode 中有一个插件 Markdown Image 还算好用,可以一键将图片上传然后将链接粘贴到 Markdown 中。...在 Markdown Image 中配置 GitHub 图床主要需要以下几个参数: picture 3 此处不小心将 token 也带上去了,不过该 token 已经删除,大家截图时也要注意此类安全隐患...和 Path 都没什么好说的,重点说下 Repository 和 Token Repository 此处配置的 Repository 地址不同于我们平时使用 git 时的地址,所以一定要自己看好格式是...而我们的 Token 是给插件使用的,无法完全保证其安全性,所以建议使用新 Token。...老 Token 有永久 Token,但是权限设置存在安全隐患,强烈不建议。 至于 Repository access 则建议只选择对应的仓库。

    1K40

    内存篇:JVM内存结构

    要增加堆空间时,往上“拼凑”(可扩展性)即可,但当堆中没有内存完成实例分配,并且堆也无法再扩展时,将会抛出OutOfMemoryError异常。...如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常;如果虚拟机栈动态扩展时无法申请到足够的内存时会抛出OutOfMemoryError异常。...对于习惯了在HotSpot虚拟机上开发、部署的程序员来说,很多都愿意将方法区称作永久代。 本质上来讲两者并不等价,仅因为Hotspot将GC分代扩展至方法区,或者说使用永久代来实现方法区。...永久代的垃圾收集是和老年代捆绑在一起的,因此无论谁满了,都会触发永久代和老年代的垃圾收集。 但在Java7中永久代中存储的部分数据已经开始转移到Java Heap或Native Memory中了。...当使用元空间时,可以加载多少类的元数据就不再由MaxPermSize控制, 而由系统的实际可用空间来控制。

    7.9K33

    Java虚拟机内存结构(JVM)

    同时,永久代和堆是相互隔离的,但它们使用的物理内存是连续的。 永久代的垃圾收集是和老年代捆绑在一起的,因此无论谁满了,都会触发永久代和老年代的垃圾收集。...在Java7中永久代中存储的部分数据已经开始转移到Java Heap或Native Memory中了。...因为通常使用PermSize和MaxPermSize设置永久代的大小就决定了永久代的上限,但是不是总能知道应该设置为多大合适, 如果使用默认值很容易遇到OOM错误。...相对地,能够再细分的数据叫做聚合量,比如对象。 如果逃逸分析证明一个对象不会被外部访问,并且这个对象是可分解为纯标量表示时,程序执行时可能不创建这个对象,而改为直接创建方法使用到的标量来代替。...比如:描述一个方法调用了另外的其他方法时,就是通过常量池中指向方法的符号引用来表示的,那么动态链接的作用就是为了将这些符号引用转换为调用方法的直接引用。

    75610

    运行时常量池与字符串常量池_常量池是什么

    4)元空间是什么? 5)关于为什么移除永久代? 5)补充 我们知道在JDK1.8中取消了永久代,区而代之使用了元空间来实现方法区。...取消永久代后,使用元空间来实现方法区。 在JDK1.8中,把JDK 7中永久代还剩余的内容(主要是类型信息)全部移到元空间中。...因此,可以大致验证 JDK 1.7 和 1.8 将字符串常量由永久代转移到堆中 4)元空间是什么? 元空间的本质和永久代类似,都是对JVM规范中方法区的实现。...不过元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是使用本地内存。...:如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过MaxMetaspaceSize时,适当提高该值。

    72720
    领券