最新文章
Rails学习-使用turbo-rails时的一些问题
Rails7 开始默认使用 importmap 作为 javascript 依赖的管理工具(类似于npm) 1. 生成的项目工程目录下的bin目录中没有importmap命令 2. turbo-rails貌似没有被引入项目中(直接创建项目工程后没有进行相关配置) 安装turbo-rails 1. 安装importmap…
Rails学习-迁移方法
change方法 Rails用于匹配迁移名称的两个模式分别是: add_xxx_to_xxxTable 和 remove_xxx_from_xxxTable , 其中 xxx 的值会被忽略掉,迁移名称之后的字段名和类型列表才是Rails获取字段信息的地方 1. 添加字段 生成的迁移文件如下: 2. 移除字段(和添加字段…
Rails学习-cache缓存
启用或禁用cache 在模版中使用cache方法 1. 将原先的代码逻辑包裹在cache方法的代码块中。 2. 当数据发生变化的时候,Rails会自动进行处理(包括缓存的存储、失效等问题)。 3. 当Rails使用缓存数据的时候,服务器的输出信息中会看到 Read fragment 字样。 4. 如果数据发生了变化,服…
Ruby元编程(四)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 类定义的本质 在ruby中类不过是增强的模块,因此对类的相关内容也适用于模块 当前类 不管处在ruby程序的那个位置,总存在一个当前对象:self。同样,也总是存在一个当前类(或模块)存在。 - 在程序的顶层,当前类是Obj…
nest.js学习 - 全局模块和生命周期
全局模块 nest.js项目一般由各个模块组成,如果一个模块A需要使用到模块B中的provider,那么需要在模块B中导出对应的provider, 同时还需要在模块A中导入模块B,这样才能使用模块B的provider 但是如果一个模块被多个其他模块所依赖,这样一个一个导入会显得很麻烦, 因此需要使用@Global装饰器…
Rails学习 - 固件
参考书籍: Ruby on Rails教程(第四版) 固件(fixture)是Rails中组织测试数据的一种方式,这些数据会载入测试数据库 简单的使用示例 例如,我们有一个 User 模型,它有 name , email , password_digest 三个字段,那么我们可以通过如下操作来进行测试 1. 在模型对应…
Railway部署Rails应用
基本步骤 1. 在Railway上新建一个项目,选择 Deploy from github repo ,然后选择自己需要部署的项目仓库(如果是第一次使用需要进行授权) 2. 接下来的选项卡,选择 Deploy now 或 Add variables 都可以,之后Railway会创建项目并自动进行构建部署,记得在 Dep…
Linux学习 - 快速上手几个Linux命令
参考教程:趣谈 Linux 操作系统 用户名和密码 1. passwd 命令 用来修改用户的登录密码 在 New password 后面输入需要新设置的密码就好了,注意输入的密码不会显示在屏幕上,回车确认后会出现 Retype new password 需要你再次输入新设置的密码 2. useradd 命令 用来新建一…
微信个人订阅号连接ChatGPT
需要使用到的GitHub仓库: 1. clash-for-linux 2. bot-on-anything --- 应用运行在 腾讯云服务器 上,使用的操作系统是OpenCloudOS(兼容CentOS 8) 在Linux服务器上启动代理 1. 基本安装步骤参考clash-for-linux项目的使用说明 2. 编辑 …
通过Github Action跨仓库部署Hexo
前言 一直想给 Hexo 博客找个在线管理面板,能够满足在线修改和发布文章的功能,这样就可以在多台不同电脑上进行写作。 刚好在B站上看到有人用 Qexo 对 Hexo 博客进行管理,想试试好不好用。 前置条件 1. 完成Qexo的相关安装和部署,具体安装和部署可以看部署程序 2. 一个已经通过Github Pages部…
Rust学习-归并排序
分而治之(Divide and Conquer):将一个复杂的问题,分解成若干个规模相同或类似的子问题,然后再对这些子问题再进一步细分,直到最后的子问题变得很简单,很容易就能被求解出来,这样这个复杂的问题就求解出来了。 归并排序中就运用到了分而治之的思想。 实现步骤 1. 对数组进行拆分,后面具体实现中是对数组进行左右…
WebGL学习(附录)
参考书籍中使用到的辅助库代码
WebGL学习(一)
参考书籍:《WebGL编程指南》 canvas canvas是HTML5新增标签,用于定义网页上的绘图区域,可以通过JavaScript代码在上面绘制图形 关于Canvas更多信息请参考MDN相关文档 Canvas简单使用示例 上述代码在HTML中定义了一个400x400的canvas,并通过js代码获取到了canva…
MySQL8 安装
OS:OpenCloudOS 8.6(兼容CentOS 8) 安装方式:使用yum安装MySQL8 安装MySQL Yum仓库 去MySQL Yum Repository下载需要的yum仓库 然后安装下载好的yum仓库 安装MySQL Server 启动MySQL 1. 在Linux机器启动MySQL服务端,并以后台的…
Ruby元编程(三)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 动态调用方法 使用[Object send]可以进行动态调用方法。send方法的第一个参数是要调用的方法名字(可以是字符串或符号),剩下的参数和代码块会直接传递给调用的方法,这样可以在代码运行的最后一刻决定调用那个方法,这个…
Ruby元编程(二)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 关于self和私有方法调用之间的问题 Ruby2.7之前版本 在Ruby 2.7之前,可以使用self调用一个私有写入/赋值方法,但是使用self调用任何其他私有方法将抛出NoMethodError。 示例如下: 上面的示例…
多个Github Pages设置
参考单个GitHub帐号下添加多个GitHub Pages的相关问题 参考Github Pages Docs 概述 - GitHub Pages分为: 用户/组织主页以及项目主页 - 用户主页或组织主页分别都只能存在一个repo,而项目主页则没有repo数量限制 - 若要发布用户主页,必须创建名为<username .…
Ruby元编程(一)
参考书籍《Ruby元编程(第二版)》 Ruby版本: 书上使用的是2.x,自己使用的3.1.2 打开类 Ruby中的class关键字只有在第一次使用时是作为类型声明语句使用,用于定义一个目前不存在的类。 对于已经存在的类,class关键字的作用更像是一个作用域操作符,把你带到类的上下文中,让你可以在里面定义方法。 这种…
Ruby学习-异常处理
异常处理语句 Ruby使用begin~rescue~end语句描述异常处理,类似于Java中的try~catch块 rescue后面可以指定一个变量名,用于获取异常对象 即使在rescue后不指定变量名,Ruby也会把异常对象赋值给变量$! 异常发生时被自动赋值的变量 变量 作用 :-: :-: $! 最后发生的异常(…
Ruby学习-基础知识
变量 Ruby中有四种类型的变量,变量的命名方式决定了变量的类型 1. 局部变量 以英文字母或者_开头 2. 全局变量 以 $ 符号开头 3. 实例变量 以 @ 符号开头 4. 类变量 以 @@ 开头 除了上述四种类型以外,还有伪变量、预定义变量这两种特殊变量。它们是Ruby预先定义好的 代表某特定值的特殊变量。伪变量…
Rails - 编写测试
参考书籍: Ruby on Rails教程(第四版) 一个简单测试 编写测试文件 找到test目录下对应的测试文件 例如:test/controllers/static_pages_controller_test.rb 启动测试 测试组件通过会以绿色显示,不通过的会以红色显示(颜色区分效果需要添加MiniTest依赖)…
Rails - 快速创建项目
参考书籍: Ruby on Rails教程(第四版) 安装ruby - MacOS系统自带Ruby,不过其版本较旧 - 需要安装不同版本的Ruby时,推荐使用Ruby版本管理工具进行安装 - 常用的Ruby版本管理工具有:rvm 和 rbenv 安装 rvm/rbenv 安装 rvm/rbenv 可以参考Ruby Ch…
Rust学习-处理整形溢出
Rust 显示处理整形溢出 - 1、使用 wrapping_xxx 方法进行处理 使用wrapping_xxx方法处理后,超过上边界的值会从下边界开始,然后以此类推;超过下边界的值会从上边界开始,然后以此类推 - 2、使用 checked_xxx 方法进行处理 如果溢出则返回None - 3、使用 overflowin…
Rust学习-所有权
所有权(ownership)—— Rust的核心功能之一 通常编程语言管理内存的方式主要有两种:1、依赖GC进行自动回收,如Java语言等;2、依赖代码编写者手动在合适的地方进行内存分配和回收,如C、C++语言等。 Rust则选择使用所有权机制来进行内存管理,这样避免GC带来的更多系统开销,以及需要手动进行内存管理的麻…
WebAssembly - 初探
WebAssembly 是什么? 简单来说,WebAsembly(wasm)为C/C、Rust等其他编程语言参与到Web开发提供了一种可行的方式。关于WebAssembly的详细介绍请参考MDN的WebAssembly文档 一个简单示例 使用纯JavaScript代码 --- 使用wasm的方式 使用WasmExplo…
Rust学习-基本语法
搭建Rust环境 1、安装Rust 使用rustup.rs中给出的方法,根据自身操作系统进行安装即可 2、 选择开发工具 选择一:Clion+插件形式 推荐插件: Rust: 提供Rust语言相支持 选择二:vscode+插件形式 推荐插件: rust-analyzer: 实时编译和分析Rust代码,提示代码中的错误,…