自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 收藏
  • 关注

原创 [ruby on rails]redis启动,sidekiq使用、启动、无限循环停止

redis 启动homebrew 安装的redis配置文件在 /usr/local/etc/redis.conf守护进程开启redisredis.conf中 daemonize no改成yesredis-server /usr/local/etc/redis.confsidekiq 启动sidekiq 需要在rails项目根目录下启动开发模式启动sidekiq 或者 b...

2020-02-26 17:08:57 761 1

原创 [ruby on rails]ActiveModel源码阅读(Validations)

Validations类方法validate 自定义验证方法 (不需要属性,也不需要校验器;直接做校验)class Invoice < ApplicationRecord validate :active_customer, on: :create def active_customer errors.add(:customer_id, "is not active") unless customer.active? endendvalidates 和 valida

2025-03-04 18:36:35 537

原创 [ruby on rails] has_one,has_many关系里有order排序,使用includes的坑

【代码】[ruby on rails] has_one,has_many关系里有order排序,使用includes的坑。

2025-02-19 15:32:47 105

原创 【ruby on rails】dup、deep_dup、clone的区别

需要手动实现:deep_dup 不是 Ruby 内置的方法,通常需要手动实现或使用 ActiveSupport 提供的实现。深复制:deep_dup 方法创建对象的深复制,递归复制嵌套的对象。不复制冻结状态:dup 不会复制对象的冻结状态。不复制单例方法:dup 不会复制对象的单例方法。复制冻结状态:clone 会复制对象的冻结状态。复制单例方法:clone 会复制对象的单例方法。浅复制:clone 方法创建对象的浅复制。浅复制:dup 方法创建对象的浅复制。

2024-11-27 18:46:39 839

原创 [ruby on rails] 安装docker

【代码】[ruby on rails] 安装docker。

2024-11-22 12:15:22 739

原创 [ruby on rails]部署时候产生ActiveRecord::PreparedStatementCacheExpired错误的原因及解决方法

rails6 以上可以把 database中 prepared_statements 设为 false来禁用这个功能。rails6以下没测试,如果上面的不行可以试试新建个初始化文件。如下面的例子,添加或删除字段后执行SELECT时,获取到这个错误然后会抛出。

2024-07-11 17:31:36 1388

原创 [mac m1]brew升级后icu4c跟着升级,导致启动不了mysql、postgresql

【代码】[mac m1]brew升级后icu4c跟着升级,导致启动不了mysql、postgresql。

2024-07-08 12:27:36 917 1

原创 [ruby on rails]rails6.0升级6.1

Sprockets现在是一个可选的依赖项。Rails不再依赖sprockets-rails了。如果你的应用程序仍然需要使用Sprockets,你需要明确地添加该依赖关系。如果你想把你的javaScript代码从sprockets迁移到Webpacker,可以看看。如果你的应用程序使用Spring,它需要升级到至少3.0.0版本,否则你会得到。,并遵循你的应用程序所需的任何步骤,这一点很重要。在开始升级过程之前,我们有一些建议的准备工作。

2024-06-28 10:49:32 560

原创 [ruby on rails] ruby使用vscode做开发

ruby插件推荐用这个来实现,但是现在这个在加载文件索引时候,特别慢,时好时坏,所以现在推荐用Solargraph实现。安装ruby插件 0.27.0,高版本的在vscode新版本中启动会报错。安装Ruby Solargraph。vscode setting设置。

2024-04-01 14:02:45 1296

原创 [ruby on rails] concerns的使用

【代码】[ruby on rails] concerns的使用。

2024-01-26 22:09:47 1056

原创 [数据库]阿里云postgres数据库备份恢复

【代码】[数据库]阿里云postgres数据库备份恢复。

2023-12-02 16:38:08 490 1

原创 [ruby on rails] array、jsonb字段添加查询

存储:json是文本,jsonb是二进制代码。jsonb占用空间小,查询效率更高。查询:json需要deserialize,jsonb支持索引直接查询内部字段。将JSON数据二进制化存储,整个字段作为一个值进行更新。更新:json支持部分更新,jsonb只能整体更改。jsonb适用于查询较多,内部字段需要索引的场景。使用文本存储JSON数据,可以进行有选择的更新。支持索引,可以直接对内部字段建立索引快速查询。不支持索引,不能直接对内部字段进行查询。索引:只有jsonb支持索引内部字段。

2023-11-26 23:03:49 1014

原创 [ruby on rails]rack-cors, rack-attack

【代码】[ruby on rails]rack-cors, rack-attack。

2023-11-20 21:37:46 983

原创 [ruby on rails] postgres sql explain 优化

BitmapIndex Scan 与Index Scan 很相似,都是基于索引的扫描,但是BitmapIndex Scan 节点每次执行返回的是一个位图而不是一个元组,其中位图中每位代表了一个扫描到的数据块。Nestloop Join:嵌套循环连接,是在两个表做连接时,内表被外表驱动,外表返回的每一行都要在内表中检索找到与它匹配的行,因此整个查询返回的结果集不能太大,要把返回子集较小的表作为外表,而且在内表的连接字段上要有索引,否则会很慢。节点是从下往上看,上一级节点的成本,是包含了下一级的成本的。

2023-09-28 22:55:12 1153

原创 [linux] ubuntu22.04安装openssl1.1

【代码】[linux] ubuntu22.04安装openssl1.1。

2023-09-13 13:16:18 3736 1

原创 【ruby on rails】M1遇到的一些安装问题

M1电脑安装ruby,装不上的问题。

2023-07-26 00:54:37 1493

原创 【ruby on rails】rswag使用

【代码】【ruby on rails】rswag使用。

2023-07-19 16:56:54 876

原创 [React]面向组件编程

functionhandleClick } > click < / button > // 直接把方法handleClick赋值给onClick) function handleClick() {// 其他组件引用时需要export出去 const root = ReactDOM . createRoot(document . getElementById('root'));

2023-06-26 22:16:22 711

原创 [ruby on rails] rails中使用graphQL

我们按照表名重新设置目录结构,这样schema中的目录会多一层表目录,我们该表相关的api都放在这个目录下,使结构更加清晰,否则所有query都和query_type在同一层目录,代码结构看起来比较混乱,前端看schema也比较混乱,修改结构后定义rb文件要注意module名字符合目录结构。rails g graphql:install 后默认的目录结构如下,

2023-06-24 00:00:31 788

原创 [linux]ubantu系统下平滑升级nginx版本

2.通过上传nginx.tar包,解压之后通过替换nginx二进制文件,make编译之后替换安装,关于第二种方法比较麻烦,因为nginx版本升级可能会导致nginx依赖的依赖库版本也要对应升级。1.直接更新ubantu系统的nginx源文件,再通过apt安装直接获取nginx最新版本,需要获取nginx官网。

2023-06-12 20:22:27 1846

原创 [ruby on rails] passenger+nginx 部署rails

安装的过程中会让你选择安装的模块,和安装路径。默认在/opt/nginx, 可以填/etc/nginx, 这样安装好的 nginx 是包含 passenger 的。Passenger 是一个 app server,支持基于 Rack 框架的 Ruby app(包括 Rails),作为模块变异到Nginx,不需要自己启动。安装 Passenger 最简单的方法是通过 apt 安装,首先导入 Passenger 的密钥(用编译方式安装 passenger,先安装 passenger 的 gem 包。

2023-06-10 00:07:05 1307

原创 [ruby on rails] docker中使用rails

有时候官方仓库注册服务器下载较慢,可以从其他仓库下载。从其它仓库下载时需要指定完整的仓库注册服务器地址。

2023-06-09 23:24:51 1120

原创 [ruby on rails]PostgresSQL分区表、继承表、触发器trigger在rails中的应用

PostgresSQL 分区是把逻辑上的一个大表分割成物理上的几块。就是一个主表,会有很多的子表继承主表,字段和主表一样。一般都是建立一个主表,里面是空,然后每个分区都去继承它。分区不仅能带来性能的提升,还能带来管理和维护上的方便。在 PG 里面无论何时,都应保证主表里面是空的。

2023-02-21 23:57:36 526

原创 [ruby on rails]MD5、SHA1、SHA256、Base64、aes-128-cbc、aes-256-ecb

1、校验值的长度不同,MD5校验位的长度是16个字节(128位);SHA1是20个字节(160位);SHA256是32个字节(256位)。在安全性方面,SHA256的安全性最高,然后是SHA1,最后是MD5。虽然SHA256的安全性比较高,但是耗时要比其他两种多很多。2、运行速度不同,SHA256的运行速度最慢,然后是SHA1,最后是MD5。都可以实现对任何长度对象加密,都不能防止碰撞;都是密码散列函数,加密不可逆;

2023-02-12 12:42:42 730

原创 [ruby on rails] thread_mattr_accessor

【代码】[ruby on rails] thread_mattr_accessor。

2022-11-21 15:49:57 152

原创 [ruby on rails] pg触发器trigger的使用

【代码】[ruby on rails] pg触发器trigger的使用。

2022-11-20 17:06:49 361

原创 [linux] ubuntu 查看系统版本,安装ftp

【代码】[linux] ubuntu安装ftp。

2022-09-12 12:13:11 309

原创 [ruby on rails] Rails 6 使用 AndminLTE

【代码】[ruby on rails] Rails 6 使用 AndminLTE。

2022-09-01 00:26:07 559

原创 [linux] VIM常用操作

VIM常用操作

2022-07-31 12:43:42 85

原创 [webgis]坐标系

坐标系

2022-06-27 14:13:15 368

原创 亚马逊Amazon SPAPI买家姓名、地址等受限数据通过RDT、restrictedDataToken获取

获取 restrictedDataToken# app/services/sp_api/base/tokens_api.rbrequire 'tokens-api-model'module SpApi::Base class TokensApi def initialize(merchant) client = AmzSpApi::SpApiClient.new @api_instance = AmzSpApi::TokensApiModel::TokensApi.

2022-04-28 00:38:38 2111

转载 [Linux]理解 Unix 进程

系统调用要理解系统调用,首先需要了解 Unix 系统的组成,具体来说就是用 户空间 (userland) 和内核。Unix 系统内核位于计算机硬件之上,它是与硬件交互的中介。这些 交互包括通过文件系统进行读/写、在网络上发送数据、分配内存, 以及通过扬声器播放音频。鉴于它这些强大的能力,程序不可以直接 访问内核,所有的通信都是通过系统调用来完成的。系统调用为内核和用户空间搭建了桥梁。它规定了程序与计算机硬件 之间所允许发生的一切交互。所有的程序都运行在用户空间。就算是不借助系统调用,你的用户空 间程

2022-04-22 14:41:03 447

转载 [ruby]curl的使用

1. 介绍按照官方对 curl 的定义是这样的:Curl is a tool and libcurl is a library for transferring data with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TFTP, SCP, SFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad

2022-04-21 12:40:18 303

转载 [ruby]使用多线程和多进程来写爬虫

为了提高处理和运算速度,或者充分利用 cpu 的计算和处理能力,需要使用多线程编程。我们要把 ruby-china.org 上每篇贴子的标题和回复的数量,用爬虫爬下来。1. 用 ruby 代码来实现。require 'open-uri'require 'nokogiri'(1..50).each do |page| begin puts "page - #{page}" doc = Nokogiri::HTML(open("https://ruby-china.org/top

2022-04-21 12:29:09 269

转载 [ruby]性能测试

1. 介绍当开发到一定程序,积累了越来越多的代码,整个网站的运行速度难免会遇到一定的瓶颈。或者说有时候有两个方法实现一个功能时,却不知哪个方法是运行起来比较快的,这个时候就需要进行性能测试了,主要是运行速度的测试。2. 使用benchmarkruby 的标准库就有提供来实现这个性能测试的库,文档地址可见于: http://ruby-doc.org/stdlib-2.2.2/libdoc/benchmark/rdoc/Benchmark.html。要使用起来也是很简单的,只要对照文档给出的例子,

2022-04-21 11:30:52 277

原创 [ruby on rails]乐观锁和悲观锁

锁,分为悲观锁(Pessimistic)和乐观锁(Optimistic).对比的话,可以笼统的理解悲观锁是数据库层面,而乐观锁是应用层面。悲观锁(Pessimistic)特性强烈的独占和排他。它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。实现往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。.

2022-04-15 23:21:51 993

原创 [ruby on rails] preload、includes、eager_load、joins

1.当查询不使用where的时候a.preload和includes查询方式一样都会生成两条sql语句b.eager_load和joins都是一条sql语句,但eager_load为left outer join连接方式,joins则是inner joins连接方式。2.当使用where的时候(注意:查询条件为被关联数据表,例:主表users,被关联表posts)a。where条件三种写法a1.使用hash,where(“posts.title”=>“nihao”)a2.使用替换查询,wh

2022-04-13 23:32:32 482

原创 [ruby on rails] rails的回调

回调方法createcreate!destroydestroy!destroy_alldestroy_bysavesave!save(validate: false)toggle!touchupdate_attributeupdateupdate!valid?跳过回调decrement!decrement_counterdeletedelete_alldelete_byincrement!increment_counterinsertinsert!i

2022-03-15 12:22:08 668

原创 [ruby on rails] scope和class method区别

最主要区别在有条件判断时候,返回值类型不一样,会影响后续跟链式方法scope返回的总是ActiveRecord::Relation,后面可以直接跟链式方法。类方法在有条件判断为false时返回的是nil,后面跟链式方法会报错NoMethodError1. 不传参数scope 返回ActiveRecord::Relationclass Post < ApplicationRecord belongs_to :user scope :active, -> { where(sta

2022-03-04 11:50:22 320

转载 [ruby on rails]Net::HTTP使用

一,二不支持请求头设置(header取ruby默认值),只能用于基本的请求,不支持持久连接,如果您执行许多HTTP请求,则不推荐它们;三,四可以设置请求头;NET::HTTP不能处理重定向和404 ;不支持会话保持一、 基本GET请求require 'net/http'uri = URI('http://httpbin.org/get')res = Net::HTTP.get_response(uri)res.code => '200'res.body => body s..

2022-01-10 10:55:48 383

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除