自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [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 646

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

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

2024-07-11 17:31:36 787

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

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

2024-07-08 12:27:36 344

原创 [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 428

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

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

2024-04-01 14:02:45 828

原创 [ruby on rails] concerns的使用

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

2024-01-26 22:09:47 763

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

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

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

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

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

2023-11-26 23:03:49 968

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

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

2023-11-20 21:37:46 910

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

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

2023-09-28 22:55:12 1071

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

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

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

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

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

2023-07-26 00:54:37 1293

原创 【ruby on rails】rswag使用

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

2023-07-19 16:56:54 803

原创 [ruby on rails] postgresql分词搜索 pg_jieba 和 zhparser 方案

mac 安装 scws。安装 zhparser。测试 zhparser。

2023-07-17 20:22:51 1300

原创 [React]面向组件编程

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

2023-06-26 22:16:22 629

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

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

2023-06-24 00:00:31 732

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

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

2023-06-12 20:22:27 1240

原创 [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 1160

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

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

2023-06-09 23:24:51 989

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

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

2023-02-21 23:57:36 426

原创 [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 641

原创 [ruby on rails] thread_mattr_accessor

【代码】[ruby on rails] thread_mattr_accessor。

2022-11-21 15:49:57 131

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

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

2022-11-20 17:06:49 311

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

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

2022-09-12 12:13:11 242

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

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

2022-09-01 00:26:07 446

原创 [linux] VIM常用操作

VIM常用操作

2022-07-31 12:43:42 62

原创 [webgis]坐标系

坐标系

2022-06-27 14:13:15 287

原创 亚马逊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 1899

转载 [Linux]理解 Unix 进程

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

2022-04-22 14:41:03 402

转载 [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 250

转载 [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 240

转载 [ruby]性能测试

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

2022-04-21 11:30:52 191

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

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

2022-04-15 23:21:51 910

原创 [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 420

原创 [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 621

原创 [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 263

转载 [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 321

原创 [ruby on rails] Asset precompile

Assets Pipeline 主要功能 & 特性1. 合并、压缩、解析 css, js 文件。主要通过 Sprockets 完成合并:将多个 js 或 css 文件压缩打包成单一文件,減少 http request 的大小与数量。压缩:可以去除空格、注释等。解析:你可直接使用 SCSS 和 CoffeeScript, 它们会被解析成 css 和 js.2. 不使用Assets Pipelinerails new appname --skip-sprocketsAssets 路径

2021-12-27 17:45:24 660

转载 [mac]如何删除GIT中的.DS_Store

.DS_Store 是什么使用 Mac 的用户可能会注意到,系统经常会自动在每个目录生成一个隐藏的 .DS_Store 文件。.DS_Store(英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。相当于 Windows 下的 desktop.ini。删除 .DS_Store如果你的项目中还没有自动生成的 .DS_Store 文件,那么直接将 .DS_Store 加入到

2021-11-28 18:32:31 126

原创 【ruby on rails】ab、siege、wrk压力测试

概念1. 吞吐率(Requests per second)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。计算公式:总请求数 / 处理完成这些请求数所花费的时间,即Request per second = Complete requests / Time taken for tests2. 并发连接数(The number of concurrent connections)概念

2021-11-24 09:19:17 128

空空如也

空空如也

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

TA关注的人

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