自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 同步数据库脚本,以及上传到7牛

备份数据库文件并且上传7牛脚本

2024-01-15 18:43:58 340

原创 搜索docker镜像

注意:Docker镜像库是公开的,因此任何人都可以上传和分享镜像。在查找和使用镜像时,请务必查看镜像的描述和细节,以确保安全性和可靠性。相关的Docker镜像。每个镜像都会显示名称、描述、星级评分等信息。参数对搜索结果进行过滤。例如,如果你只想查找官方的。要查看Docker镜像库,可以使用。命令执行后,将会列出所有与关键词。例如,如果你想要查找名为。

2024-01-08 17:46:56 442

原创 如何创建docker镜像

编写 Dockerfile:Dockerfile 是一个文本文件,用于定义如何构建镜像。以上是创建 Docker 镜像的基本步骤,你可以根据实际需要对 Dockerfile 进行配置和优化,同时可以通过 Docker Hub 或私有仓库分享和管理镜像。构建镜像:使用 docker build 命令构建镜像。该命令需要指定 Dockerfile 的路径,并可以使用 -t 参数给镜像指定一个名称和标签。其中,-d 参数表示以后台模式运行容器,-p 参数指定容器的端口映射,--name 参数指定容器的名称。

2024-01-08 17:44:54 428

原创 Docker的基本概念和优势

容器是独立、可移植和可执行的,它们隔离应用程序及其依赖项,使得应用程序可以在任何环境中一致且可靠地运行。开发环境的一致性:开发团队可以使用Docker容器来创建一致的开发环境,确保每个开发人员都使用相同的配置和依赖项。Docker是一种轻量级的容器化平台,它可以将应用程序及其依赖项打包为一个独立的容器,并在任何环境中快速部署和运行。总之,Docker提供了一种轻量级、可移植和可扩展的容器化平台,能够简化应用程序的开发、部署和交付过程,提高开发团队的效率和应用程序的可靠性。

2024-01-08 17:43:27 717

原创 CesiumJS 下载太慢了

CesiumJS 下载慢, 开着梯子也不行

2023-10-11 14:28:00 174

原创 注释那些事

总之,写注释就像和代码进行一场甜蜜的恋爱,有时候需要点调味料,有时候则不那么需要。重要的是要保持代码的可读性和可维护性,无论你是选择写注释还是不写。你知道吗,我发现程序员写注释就像在恋爱中的短信一样,有时候真的是甜蜜无比,有时候却有点冷淡。:当代码中包含复杂的算法或逻辑时,良好的注释可以帮助理解其背后的思想和原理。:有些程序员可能自信满满,觉得他们写的代码已经很清晰了,不需要太多注释。有时候,我们可能会觉得写代码比写注释更重要,所以注释就被搁置了。如果你的代码发生了改变,记得也要更新相应的注释。

2023-10-10 20:28:31 79

原创 encoding/json vs json-iterator

encoding/json vs json-iterator 性能比较

2023-10-10 20:18:34 162

原创 自动监控网站可用性并发送通知的 Bash 脚本

在现代的互联网世界中,网站的可用性对于业务的成功至关重要。如果您是一个网站管理员或负责监控网站运行状况的工程师,那么您知道及时发现并解决问题对于确保用户满意度至关重要。本文将介绍如何使用 Bash 脚本来监控多个网站的可用性,并在网站出现问题时自动发送通知。

2023-10-10 18:48:13 780

原创 宏任务队列和微任务队列

任务执行顺序

2023-10-08 19:15:01 76

原创 Context

golang中content 4个with 2个其他方法

2023-10-08 18:01:48 322

原创 automic

代码中的加锁操作因为涉及内核态的上下文切换会比较耗时、代价比较高。针对基本数据类型我们还可以使用原子操作来保证并发安全,因为原子操作是 Go 语言提供的方法它在用户态就可以完成,因此性能比加锁操作更好。Go 语言中原子操作由内置的标准库 sync/atomic 提供。

2023-10-08 17:57:55 94

原创 rails常用小技巧合集(一)

good 页面上使用的是统一的[:admin,@good],这样@good的model_name 才会访问路由/admin/goods/ceate。使用 scope 创建路由作用域,可以设置一些路由选项,但不会自动创建命名空间前缀,通常用于分组和管理路由,而不需要引入额外的命名空间前缀。使用 namespace 创建嵌套路由,自动创建命名空间前缀,通常用于管理一组相关的路由,并且通常会影响路由名称和控制器查找。允许父模型接受来自关联子模型的属性,并在父模型的表单中创建或更新关联子模型的记录。

2023-10-08 17:43:02 101

原创 rails 常量自动加载和重新加载机制

Rails的常量自动加载和重新加载机制基于一套命名约定和默认加载路径,它会根据需要自动加载和重新加载类和模块的定义。这使得在Rails应用程序中,无需手动管理类的加载,使开发更加方便,并在生产环境中提高性能

2023-10-08 15:37:49 175

原创 隐藏敏感参数值的方法及实现原理

在应用程序的日志中,通常会记录请求的参数,以便开发人员进行调试和排查问题。然而,在某些情况下,这些参数中可能包含了敏感信息,如用户密码等,我们不希望这些敏感信息被明文记录在日志中。幸运的是,Rails 提供了一种简单的方法来隐藏这些敏感参数值,使其显示为[FILTERED]方法,将参数的名称和值传递给它,然后将隐藏后的值记录在日志中,以增加应用程序的安全性。方法,将参数的名称和值传递给它,然后将隐藏后的值记录在日志中。方法,该方法接收参数的名称和值,然后返回隐藏后的值。在上面的示例中,我们在。

2023-09-18 19:14:34 147

原创 深入理解全局变量和实例变量在 Ruby 和 Rails 中的作用

全局变量和实例变量

2023-09-18 18:50:28 389

原创 ActiveRecord::Migration.maintain_test_schema!

这篇文章讨论了在使用 rspec-rails 进行测试时出现的一个常见问题,即涉及数据库架构的错误。作者首先描述了遇到的错误信息,然后提供了解决问题的具体步骤。解决方法包括在测试环境的配置文件中更改数据库架构格式为 SQL,以避免错误。文章还深入分析了出现问题的原因,并解释了如何调试和修复这类问题。这篇文章旨在帮助读者解决类似的测试问题,同时提供了清晰的解决方案和背后的原理。

2023-09-12 19:16:51 412

原创 使用 Capsitrano 部署 Sinatra 项目

第一次发帖,请各位多多指教,新人在此谢过了,格式不太好,以后会多多注意的1: 首先在Gemfile中加入```ruby group :development do gem 'capistrano' gem 'capistrano-chruby' gem 'capistrano-rvm' gem 'capistrano-bundler' end...

2018-06-14 11:47:37 286

转载 Ruby 风格指导

使用空格来围绕操作符,逗号 , 、冒号 : 及分号 ; 之后,围绕在 { 和 } 之前。空格可能对(大部分)Ruby 直译器来说是无关紧要的,但正确的使用是写出可读性高的代码的关键。sum = 1 + 2a, b = 1, 21 > 2 ? true : false; puts 'Hi'[1, 2, 3].each { |e| puts e }唯一的例外是当使用指数操作符时:# 差...

2018-06-14 11:39:27 286

转载 MySQL 性能优化,优化设计及设计原则解读

MySQL性能优化目的如何合理的设计数据库?什么样的数据库设计才能给后期DBA优化提供基石?数据库设计与程序设计的差异?数据库设计早期优化1. 关系明确(理清表之间的关系,可以通过冗余的方式提高效率)2. 节省空间(根据业务经验,设置字段长短)3. 提高效率数据库表开发流程原型=>逐步完善(表的设计也是如此)数据库种类1. 层级数据库(注册表) 如:Windows操作系统的核心就是一个注册表...

2018-06-14 11:36:44 214

转载 不得不告诉大家的 MySQL 优化“套路”

作者:CHEN川编辑:陶家龙、孙淑娟出处:https://www.jianshu.com/p/d7665192aaaf说起 MySQL 的查询优化,相信大家收藏了一堆奇技淫巧:不能使用 SELECT *、不使用 NULL 字段、合理创建索引、为字段选择合适的数据类型.....你是否真的理解这些优化技巧?是否理解它背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就...

2018-06-14 11:33:10 358

转载 Git 12 岁了,为你送上 12 个 Git 的使用技巧!

原文:12 Git tips for Git's 12th birthday链接:https://opensource.com/article/18/4/12-git-tips-gits-12th-birthday译者:Tocy, 琪花亿草, 开源中国首席屌炸天, 无若, Tot_ziens, kevinlinkai使用这12个Git的诀窍与技巧来令你的版本控制经验更加有用。Git,一个分布式版本...

2018-06-14 11:29:27 219

转载 程序员准则

1: 永远不要忘了TDDTDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。2 : 尽可能的自动化这...

2018-06-14 11:10:55 299

原创 免费外网访问内网的工具------公众号开发必备

一款免费的,攘外网可以直接访问内网的小公举,可以将本地开发环境暂时放在外网。作为程序员,基本上迟早会遇到的问题,比如在开发公众号,调试微信接口就需要这样的工具----Sunny-Ngrokngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放重点来了: 免费、操作简单开发背景(这里不得不提的是...

2018-06-14 10:29:14 15660

原创 Rails-----ActiveSuppor::Concern

ActiveSupport::Concern作用ActiveSupport::Concern源码分析ruby是单继承,Mixin的出现实现多重继承,在使用include module时,他会立即被插入到集成体系中包含他的类的上方,以LIFO方式。所以这要求我们在开发过程中要清楚的知道include的依赖从属关系。在没有引入ActiveSuppoer::Concern之前,我们是这样实现拓展的。 ...

2018-06-13 21:00:31 306 1

原创 开发架构----敏捷开发Scrum

敏捷开发敏捷开发宣言敏捷开发路线敏捷开发(Agile development)  敏捷开发是以认为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都将经过验收测试,具备可运行的特征。简而言之,就是把一个大项目分为多个项目联系,但是可独立运行的小项目,并分别完成。在此过程中软件一直处于可使用状态。瀑布开发模型是以文档为驱动,在瀑布的整个开发过程中,要写...

2018-06-13 15:41:16 518

原创 开发架构-------瀑布模型

什么是瀑布模型瀑布模型的优缺点什么是瀑布模型   瀑布模型是按工作顺序将问题化简,将功能实现和设计分开,便与分工协作,采用结构化的方式分开。  其生命周期划分为: 软件设计、需求分析和定义、软件实现、软件测试、软件运行、软件维护,规定了他们自上而下、相互衔接的固定顺序。开发过程如下图:   从本质上说,他是一个软件开发架构,开发郭恒是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,...

2018-06-13 13:20:59 1949

原创 如果開始一個新項目

1: 搞清楚問題2:構思解決思路3:當問題清楚後解決方案4:分析問題本身5:將大問題拆分問題若干小問題6:將所有問題農策劃嗯問題列表7:一個一個的解決.

2018-04-02 17:01:05 116

原创 Rails 指南TIPS

rails指南重要内容: 1:自动加载和重新加载常量中主要内容: Kernel#require 加载一次 #所以在生产环境下 如果不重新启动服务,修改内容不生效 kernel#load 加载多次 #所以在开发环境下 更改后无需重新启动服务即可生效,开发环境下更为友好 autoload_paths 默认包含: A: app 目录中的全部子目录都自动纳入 a...

2018-04-02 11:40:06 158

原创 Gem aasm

gem aasm TODO # 状态机 默认使用的是aasm_state 想要制定状态列名,使用aasm :state # State Machine aasm column: "state", requires_new_transaction: false,whiny_transitions: true, whiny_persistence: true, ...

2018-04-02 11:39:13 220

原创 Rails 平时的一些小技巧

1:helper_method :current_user #这样可以在页面上调用current_user方法2:include UserHelper 这样可以在controller中调用helper内的方法3:Rails.application.routes.url_helpers.urlhelper方法名 这样在model中可以调用routes中定义的路由 或者使用includ...

2018-04-02 11:37:47 503

原创 gem devise

gem devise # for devise omniauth on user scope 访问的是admin/sign_in ,根据path 来确定前面的路由值 devise_for :users, path: "admin", controllers: { omniauth_callbacks: "omniauth_callbacks" } ...

2018-04-02 11:32:01 182

原创 gem Enumerize

Gem Enumerize:枚举 # without_#{name}和with_#{name}俩个方法不是rais自带的是gem enumerize提供的 # 具体源码位置:lib/enumeriza/scope/active_record.rb # 具体实现方法使用define_singleton_method 定义单例方法 # # def _define_activer...

2018-04-02 11:31:02 274

原创 rails常用技巧

1:Rails.application.routes.recognize_path     解析路由对应的Controller和Action     eg:Rails.application.routes.recognize_path  "http://localhost:3000/admin/goods/list_new"             => {:controller=>"...

2018-03-06 18:15:18 174

原创 Render template if exists in Rails

业务场景:不同的商品类型render不同的页面(根据数据库里面type的不同render相应的页面)维护和同步它们是非常困难的 if lookup_context.exists?(@good.type_name, "_good","admin/goods/form", true) %> render "admin/goods/form/#{@good.type_name}", f:

2018-02-01 11:37:41 148

转载 Fastest Way To Load Data In MySQL

Rails快速批量插入数据的几种方式:    1:Use transactions(减少 Commit 次数,从而微微的提速,但还是有 N 次数据库的调用)    2:Get down and dirty with the raw SQL    3:A single mass insert    4:Use INSERT statements with multiple VAL

2018-01-25 18:20:21 135

原创 The difference between namespace and scope in rails

new_my_store GET    /my/stores/new(.:format)       my/stores#new    namespace "my" do        resources :stores,only: :new  end new_store GET    /mytest/stores/new(.:format)   stores#new  s

2018-01-25 15:08:01 144

原创 rails gem devise

1:在Gemfile中添加     gem 'devise'        2:  执行bundle install  之后  将devise添加到项目中去  rails g devise:instal       会创建以下文件:        config/initializers/devise.rb          config/locales/devi

2018-01-25 14:19:24 238

原创 Turbolinks 的工作原理

为了理解 Turbolinks 的工作原理, 我们先来看一下在 chrome 浏览器中, 网页是如何被加载的.下载 index.html解析 head 标签中的 link 与 script 标签, 如果是带有 src属性, 阻塞其他逻辑执行, 继续去下载对应的资源并执行. 如果没带, 则直接执行其中的代码逻辑.渲染 body 标签的内容, 并解析执行 body 中的 scr

2018-01-23 15:49:37 1244

原创 ActiveRecord::StatementInvalid: Mysql2::Error: Specified key was too long; max key length is 767

我的项目是为了支持emoj表情包,数据库需要设计成utf8m64,这样添加索引的大小最多为191执行以下任务修改index的长度即可,如果之前使用的是255,会造成数据的截断,慎重哦。。。。。desc "Database related tasks"namespace :database do  desc "Convert to utf8mb4"  task convert

2018-01-22 17:50:18 375

原创 RubyMine7注册码

ZE6J9XARY8-eyJsaWNlbnNlSWQiOiJaRTZKOVhBUlk4IiwibGljZW5zZWVOYW1lIjoiQkkgQU4iLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIHVzZSBvbmx5IiwiY2hlY2tDb

2018-01-15 10:18:18 1483

ubuntu 数据源配置信息

使用apt-get update 失败时更换数据源,亲测可用,更新后apt-get install 成功

2018-02-01

空空如也

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

TA关注的人

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