centos7安装真的Redmine-5.1.2+ruby-3.0.0

news2024/11/24 11:09:41

下载redmine-5.1.2.tar.gz,上传到/usr/local/目录下

 
  1. cd /usr/local/

  2. tar -zxf redmine-5.1.2.tar.gz

  3. cd redmine-5.1.2

  4. cp config/database.yml.example config/database.yml

  5. 配置数据连接

#编辑配置文件
vi config/database.yml
#修改后的内容如下
 
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: root
  password: test1234
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  encoding: utf8mb4
  variables:
    # Recommended `transaction_isolation` for MySQL to avoid concurrency issues is
    # `READ-COMMITTED`.
    # In case of MySQL lower than 8, the variable name is `tx_isolation`.
    # See https://www.redmine.org/projects/redmine/wiki/MySQL_configuration
    transaction_isolation: "READ-COMMITTED"
 其它全部注释

        6.安装依赖

yum install -y gcc gcc-c++ make automake cmake autoconf curl-devel openssl-devel zlib-devel httpd-devel apr-devel apr-util-devel mysql-devel ruby ruby-devel rubygems

        7.安装rvm

curl -L get.rvm.io | bash -s stable

        结果:

Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found.
Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).
 
GPG signature verification failed for '/usr/local/rvm/archives/rvm-1.26.11.tgz' - 'https://github.com/rvm/rvm/releases/download/1.26.11/1.26.11.tar.gz.asc'!
try downloading the signatures:
 
    gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
 
or if it fails:
 
    command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
 
the key can be compared with:
 
    https://rvm.io/mpapis.asc
    https://keybase.io/mpapis

 那么复制

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

再次执行

curl -L get.rvm.io | bash -s stable

安装成功信息:

# curl -L get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   194  100   194    0     0    356      0 --:--:-- --:--:-- --:--:--   356
100 24532  100 24532    0     0  15272      0  0:00:01  0:00:01 --:--:-- 33977
Downloading https://github.com/rvm/rvm/archive/1.29.12.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc
gpg: Signature made Sat 16 Jan 2021 02:46:22 AM CST using RSA key ID 39499BDB
gpg: Good signature from "Piotr Kuczynski <piotr.kuczynski@gmail.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 7D2B AF1C F37B 13E2 069D  6956 105B D0E7 3949 9BDB
GPG verified '/usr/local/rvm/archives/rvm-1.29.12.tgz'
Creating group 'rvm'
Installing RVM to /usr/local/rvm/
Installation of RVM in /usr/local/rvm/ is almost complete:

  * First you need to add all users that will be using rvm to 'rvm' group,
    and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

  * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
  * Please do NOT forget to add your users to the rvm group.
     The installer no longer auto-adds root or users to the rvm group. Admins must do this.
     Also, please note that group memberships are ONLY evaluated at login time.
     This means that users must log out then back in before group membership takes effect!
Thanks for installing RVM [0m
Please consider donating to our open collective to help us maintain RVM.

  Donate: https://opencollective.com/rvm/donate

执行

echo "source /etc/profile.d/rvm.sh" >> ~/.bashrc && source /etc/profile.d/rvm.sh

RVM used your Gemfile for selecting Ruby, it is all fine - Heroku does that too,
you can ignore these warnings with 'rvm rvmrc warning ignore /usr/local/redmine-5.1.2/Gemfile'.
To ignore the warning for all files run 'rvm rvmrc warning ignore allGemfiles'.

Unknown ruby interpreter version (do not know how to handle): >=2.7.0,<3.3.0.

执行

rvm use ruby --install --default --create

依次执行

ruby -v

ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]

gem -v

3.2.3

gem install rails -v 6.1.7.6

Fetching i18n-1.14.4.gem
Fetching activesupport-6.1.7.6.gem
Fetching rack-2.2.9.gem
Fetching concurrent-ruby-1.2.3.gem
Fetching sprockets-4.2.1.gem
Fetching zeitwerk-2.6.13.gem
Fetching tzinfo-2.0.6.gem
Fetching minitest-5.22.3.gem
Fetching nokogiri-1.16.4-x86_64-linux.gem
Fetching crass-1.0.6.gem
Fetching loofah-2.22.0.gem
Fetching rails-html-sanitizer-1.6.0.gem
Fetching rails-dom-testing-2.2.0.gem
Fetching rack-test-2.1.0.gem
Fetching erubi-1.12.0.gem
Fetching builder-3.2.4.gem
Fetching actionview-6.1.7.6.gem
Fetching actionpack-6.1.7.6.gem
Fetching sprockets-rails-3.4.2.gem
Fetching thor-1.3.1.gem
Fetching method_source-1.1.0.gem
Fetching railties-6.1.7.6.gem
Fetching mini_mime-1.1.5.gem
Fetching marcel-1.0.4.gem
Fetching activemodel-6.1.7.6.gem
Fetching activerecord-6.1.7.6.gem
Fetching globalid-1.2.1.gem
Fetching activejob-6.1.7.6.gem
Fetching activestorage-6.1.7.6.gem
Fetching actiontext-6.1.7.6.gem
Fetching mail-2.8.1.gem
Fetching actionmailer-6.1.7.6.gem
Fetching rails-6.1.7.6.gem
Fetching actionmailbox-6.1.7.6.gem
Fetching websocket-extensions-0.1.5.gem
Fetching websocket-driver-0.7.6.gem
Fetching nio4r-2.7.1.gem
Fetching actioncable-6.1.7.6.gem
Successfully installed rack-2.2.9
Successfully installed concurrent-ruby-1.2.3
Successfully installed sprockets-4.2.1
Successfully installed zeitwerk-2.6.13
Successfully installed tzinfo-2.0.6
Successfully installed minitest-5.22.3
Successfully installed i18n-1.14.4
Successfully installed activesupport-6.1.7.6
Successfully installed nokogiri-1.16.4-x86_64-linux
Successfully installed crass-1.0.6
Successfully installed loofah-2.22.0
Successfully installed rails-html-sanitizer-1.6.0
Successfully installed rails-dom-testing-2.2.0
Successfully installed rack-test-2.1.0
Successfully installed erubi-1.12.0
Successfully installed builder-3.2.4
Successfully installed actionview-6.1.7.6
Successfully installed actionpack-6.1.7.6
Successfully installed sprockets-rails-3.4.2
Successfully installed thor-1.3.1
Successfully installed method_source-1.1.0
Successfully installed railties-6.1.7.6
Successfully installed mini_mime-1.1.5
Successfully installed marcel-1.0.4
Successfully installed activemodel-6.1.7.6
Successfully installed activerecord-6.1.7.6
Successfully installed globalid-1.2.1
Successfully installed activejob-6.1.7.6
Successfully installed activestorage-6.1.7.6
Successfully installed actiontext-6.1.7.6
Successfully installed mail-2.8.1
Successfully installed actionmailer-6.1.7.6
Successfully installed actionmailbox-6.1.7.6
Successfully installed websocket-extensions-0.1.5
Building native extensions. This could take a while...
Successfully installed websocket-driver-0.7.6
Building native extensions. This could take a while...
Successfully installed nio4r-2.7.1
Successfully installed actioncable-6.1.7.6
Successfully installed rails-6.1.7.6
Parsing documentation for rack-2.2.9
Installing ri documentation for rack-2.2.9
Parsing documentation for concurrent-ruby-1.2.3
Installing ri documentation for concurrent-ruby-1.2.3
Parsing documentation for sprockets-4.2.1
Installing ri documentation for sprockets-4.2.1
Parsing documentation for zeitwerk-2.6.13
Installing ri documentation for zeitwerk-2.6.13
Parsing documentation for tzinfo-2.0.6
Installing ri documentation for tzinfo-2.0.6
Parsing documentation for minitest-5.22.3
Installing ri documentation for minitest-5.22.3
Parsing documentation for i18n-1.14.4
Installing ri documentation for i18n-1.14.4
Parsing documentation for activesupport-6.1.7.6
Installing ri documentation for activesupport-6.1.7.6
Parsing documentation for nokogiri-1.16.4-x86_64-linux
Installing ri documentation for nokogiri-1.16.4-x86_64-linux
Parsing documentation for crass-1.0.6
Installing ri documentation for crass-1.0.6
Parsing documentation for loofah-2.22.0
Installing ri documentation for loofah-2.22.0
Parsing documentation for rails-html-sanitizer-1.6.0
Installing ri documentation for rails-html-sanitizer-1.6.0
Parsing documentation for rails-dom-testing-2.2.0
Installing ri documentation for rails-dom-testing-2.2.0
Parsing documentation for rack-test-2.1.0
Installing ri documentation for rack-test-2.1.0
Parsing documentation for erubi-1.12.0
Installing ri documentation for erubi-1.12.0
Parsing documentation for builder-3.2.4
Installing ri documentation for builder-3.2.4
Parsing documentation for actionview-6.1.7.6
Installing ri documentation for actionview-6.1.7.6
Parsing documentation for actionpack-6.1.7.6
Installing ri documentation for actionpack-6.1.7.6
Parsing documentation for sprockets-rails-3.4.2
Installing ri documentation for sprockets-rails-3.4.2
Parsing documentation for thor-1.3.1
Installing ri documentation for thor-1.3.1
Parsing documentation for method_source-1.1.0
Installing ri documentation for method_source-1.1.0
Parsing documentation for railties-6.1.7.6
Installing ri documentation for railties-6.1.7.6
Parsing documentation for mini_mime-1.1.5
Installing ri documentation for mini_mime-1.1.5
Parsing documentation for marcel-1.0.4
Installing ri documentation for marcel-1.0.4
Parsing documentation for activemodel-6.1.7.6
Installing ri documentation for activemodel-6.1.7.6
Parsing documentation for activerecord-6.1.7.6
Installing ri documentation for activerecord-6.1.7.6
Parsing documentation for globalid-1.2.1
Installing ri documentation for globalid-1.2.1
Parsing documentation for activejob-6.1.7.6
Installing ri documentation for activejob-6.1.7.6
Parsing documentation for activestorage-6.1.7.6
Installing ri documentation for activestorage-6.1.7.6
Parsing documentation for actiontext-6.1.7.6
Installing ri documentation for actiontext-6.1.7.6
Parsing documentation for mail-2.8.1
Installing ri documentation for mail-2.8.1
Parsing documentation for actionmailer-6.1.7.6
Installing ri documentation for actionmailer-6.1.7.6
Parsing documentation for actionmailbox-6.1.7.6
Installing ri documentation for actionmailbox-6.1.7.6
Parsing documentation for websocket-extensions-0.1.5
Installing ri documentation for websocket-extensions-0.1.5
Parsing documentation for websocket-driver-0.7.6
Installing ri documentation for websocket-driver-0.7.6
Parsing documentation for nio4r-2.7.1
Installing ri documentation for nio4r-2.7.1
Parsing documentation for actioncable-6.1.7.6
Installing ri documentation for actioncable-6.1.7.6
Parsing documentation for rails-6.1.7.6
Installing ri documentation for rails-6.1.7.6
Done installing documentation for rack, concurrent-ruby, sprockets, zeitwerk, tzinfo, minitest, i18n, activesupport, nokogiri, crass, loofah, rails-html-sanitizer, rails-dom-testing, rack-test, erubi, builder, actionview, actionpack, sprockets-rails, thor, method_source, railties, mini_mime, marcel, activemodel, activerecord, globalid, activejob, activestorage, actiontext, mail, actionmailer, actionmailbox, websocket-extensions, websocket-driver, nio4r, actioncable, rails after 53 seconds
38 gems installed

依次执行:

bundle config mirror.https://rubygems.org https://gems.ruby-china.com

再执行:

bundle install

Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on
this machine.
Fetching gem metadata from https://gems.ruby-china.com/.........
Fetching gem metadata from https://gems.ruby-china.com/.
Resolving dependencies.......
Fetching rake 13.2.1
Installing rake 13.2.1
Using concurrent-ruby 1.2.3
Using zeitwerk 2.6.13
Using minitest 5.22.3
Using builder 3.2.4
Using erubi 1.12.0
Fetching racc 1.7.3
Using crass 1.0.6
Using rack 2.2.9
Using nio4r 2.7.1
Using websocket-extensions 0.1.5
Using marcel 1.0.4
Using mini_mime 1.1.5
Fetching date 3.3.4
Installing racc 1.7.3 with native extensions
Installing date 3.3.4 with native extensions
Fetching timeout 0.4.1
Installing timeout 0.4.1
Using method_source 1.1.0
Using thor 1.3.1
Fetching public_suffix 5.0.5
Installing public_suffix 5.0.5
Fetching ast 2.4.2
Installing ast 2.4.2
Fetching base64 0.2.0
Installing base64 0.2.0
Using bundler 2.2.3
Fetching matrix 0.4.2
Installing matrix 0.4.2
Fetching regexp_parser 2.9.0
Installing regexp_parser 2.9.0
Fetching chunky_png 1.4.0
Installing chunky_png 1.4.0
Fetching commonmarker 0.23.10
Installing commonmarker 0.23.10 with native extensions
Fetching csv 3.2.9
Installing csv 3.2.9
Fetching docile 1.4.0
Installing docile 1.4.0
Fetching ffi 1.16.3
Installing ffi 1.16.3 with native extensions
Fetching htmlentities 4.3.4
Installing htmlentities 4.3.4
Fetching json 2.7.2
Installing json 2.7.2 with native extensions
Fetching language_server-protocol 3.17.0.3
Installing language_server-protocol 3.17.0.3
Fetching rb-fsevent 0.11.2
Installing rb-fsevent 0.11.2
Fetching mini_magick 4.12.0
Fetching ruby2_keywords 0.0.5
Installing mini_magick 4.12.0
Fetching mysql2 0.5.6
Installing ruby2_keywords 0.0.5
Fetching net-ldap 0.17.1
Installing mysql2 0.5.6 with native extensions
Installing net-ldap 0.17.1
Fetching parallel 1.24.0
Installing parallel 1.24.0
Fetching rainbow 3.1.1
Installing rainbow 3.1.1
Fetching rbpdf-font 1.19.1
Installing rbpdf-font 1.19.1
Fetching redcarpet 3.6.0
Installing redcarpet 3.6.0 with native extensions
Fetching rexml 3.2.6
Installing rexml 3.2.6
Fetching rotp 6.3.0
Installing rotp 6.3.0
Fetching rouge 4.2.1
Installing rouge 4.2.1
Fetching rqrcode_core 1.2.0
Installing rqrcode_core 1.2.0
Fetching ruby-progressbar 1.13.0
Installing ruby-progressbar 1.13.0
Fetching unicode-display_width 2.5.0
Installing unicode-display_width 2.5.0
Fetching rubyzip 2.3.2
Installing rubyzip 2.3.2
Fetching websocket 1.2.10
Installing websocket 1.2.10
Fetching simplecov-html 0.12.3
Fetching simplecov_json_formatter 0.1.4
Installing simplecov-html 0.12.3
Installing simplecov_json_formatter 0.1.4
Fetching yard 0.9.36
Using i18n 1.14.4
Using tzinfo 2.0.6
Using rack-test 2.1.0
Using sprockets 4.2.1
Fetching request_store 1.5.1
Installing request_store 1.5.1
Fetching puma 6.4.2
Installing yard 0.9.36
Installing puma 6.4.2 with native extensions
Using websocket-driver 0.7.6
Fetching nokogiri 1.15.6 (x86_64-linux)
Installing nokogiri 1.15.6 (x86_64-linux)
Fetching net-protocol 0.2.2
Installing net-protocol 0.2.2
Fetching addressable 2.8.6
Installing addressable 2.8.6
Fetching parser 3.3.1.0
Installing parser 3.3.1.0
Fetching rb-inotify 0.10.1
Installing rb-inotify 0.10.1
Fetching mocha 2.2.0
Installing mocha 2.2.0
Fetching rbpdf 1.21.3
Installing rbpdf 1.21.3
Fetching rqrcode 2.2.0
Installing rqrcode 2.2.0
Fetching selenium-webdriver 4.20.1
Fetching simplecov 0.22.0
Installing simplecov 0.22.0
Fetching activesupport 6.1.7.7
Installing selenium-webdriver 4.20.1
Installing activesupport 6.1.7.7
Using loofah 2.22.0
Fetching xpath 3.2.0
Installing xpath 3.2.0
Fetching sanitize 6.1.0
Installing sanitize 6.1.0
Fetching net-imap 0.3.7
Fetching net-pop 0.1.2
Installing net-imap 0.3.7
Installing net-pop 0.1.2
Fetching net-smtp 0.3.4
Fetching css_parser 1.17.1
Installing net-smtp 0.3.4
Installing css_parser 1.17.1
Fetching listen 3.9.0
Fetching rubocop-ast 1.31.3
Installing listen 3.9.0
Installing rubocop-ast 1.31.3
Using rails-dom-testing 2.2.0
Using rails-html-sanitizer 1.6.0
Using globalid 1.2.1
Fetching activemodel 6.1.7.7
Fetching html-pipeline 2.13.2
Installing activemodel 6.1.7.7
Installing html-pipeline 2.13.2
Fetching capybara 3.40.0
Using mail 2.8.1
Fetching roadie 5.2.1
Installing capybara 3.40.0
Installing roadie 5.2.1
Fetching actionview 6.1.7.7
Fetching activejob 6.1.7.7
Installing actionview 6.1.7.7
Installing activejob 6.1.7.7
Fetching rubocop 1.57.2
Fetching activerecord 6.1.7.7
Installing rubocop 1.57.2
Installing activerecord 6.1.7.7
Fetching deckar01-task_list 2.3.2
Installing deckar01-task_list 2.3.2
Fetching actionpack 6.1.7.7
Fetching with_advisory_lock 5.1.0
Installing with_advisory_lock 5.1.0
Installing actionpack 6.1.7.7
Fetching rubocop-performance 1.19.1
Fetching rubocop-rails 2.22.2
Installing rubocop-performance 1.19.1
Fetching actioncable 6.1.7.7
Installing rubocop-rails 2.22.2
Fetching activestorage 6.1.7.7
Installing actioncable 6.1.7.7
Fetching actionmailer 6.1.7.7
Installing activestorage 6.1.7.7
Installing actionmailer 6.1.7.7
Fetching railties 6.1.7.7
Using sprockets-rails 3.4.2
Fetching actionmailbox 6.1.7.7
Installing actionmailbox 6.1.7.7
Installing railties 6.1.7.7
Fetching actiontext 6.1.7.7
Installing actiontext 6.1.7.7
Fetching actionpack-xml_parser 2.0.1
Fetching roadie-rails 3.1.0
Installing actionpack-xml_parser 2.0.1
Installing roadie-rails 3.1.0
Fetching rails 6.1.7.7
Installing rails 6.1.7.7
Bundle complete! 42 Gemfile dependencies, 105 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from html-pipeline:
-------------------------------------------------
Thank you for installing html-pipeline!
You must bundle Filter gem dependencies.
See html-pipeline README.md for more details.
https://github.com/jch/html-pipeline#dependencies
-------------------------------------------------
Post-install message from rubyzip:
RubyZip 3.0 is coming!
**********************

The public API of some Rubyzip classes has been modernized to use named
parameters for optional arguments. Please check your usage of the
following classes:
  * `Zip::File`
  * `Zip::Entry`
  * `Zip::InputStream`
  * `Zip::OutputStream`

Please ensure that your Gemfiles and .gemspecs are suitably restrictive
to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
See https://github.com/rubyzip/rubyzip for details. The Changelog also
lists other enhancements and bugfixes that have been implemented since
version 2.3.0.

添加会话缓存

bundle exec rake generate_secret_token

生成库表结构

RAILS_ENV=production bundle exec rake db:migrate

加载默认数据

RAILS_ENV=production bundle exec rake redmine:load_default_data

选择zh即中文

文件系统权限设置

#1.创建目录
mkdir -p tmp tmp/pdf public/plugin_assets
#2.目录所属用户配置
#如果创建了redmine用户执行
chown -R redmine:redmine files log tmp public/plugin_assets
#如果直接用root用户执行
chown -R root:root files log tmp public/plugin_assets
#3.目录权限配置
chmod -R 755 files log tmp public/plugin_assets

mysql2 0.5.5安装失败,需要执行下面命令安装依赖

yum install mysql-devel --nogpgcheck

#开放3000端口,以便局域网可以访问
firewall-cmd --permanent --add-port=3000/tcp
#重启防火墙生效
firewall-cmd --reload

默认账号admin,默认密码admin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1640712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何基于nginx组建多个子目录网站

华子目录 实验要求实验步骤 实验要求 组建多个子目录网站www.openlab.com&#xff0c;该网站有2个子目录www.openlab.com/sxhkt和www.openlab.com/zywww.openlab.com/sxhkt使用http读取www.openlab.com/zy使用https读取 实验步骤 准备工作 [rootserver ~]# setenforce 0[ro…

深度学习之基于YOLOv5的山羊行为识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习之基于YOLOv5的山羊行为识别系统是一个创新的项目&#xff0c;旨在通过深度学习和目标检测技术&#xff0c…

Nginx三大功能详解

文章目录 Nginx&#xff08;动静分离&#xff09;1.基本介绍2.需求分析3.思路分析4.先使用传统的方式1.配置win的tomcat1.webapps\search\cal.jsp2.webapps\search\image\cal.jpg3.启动tomcat&#xff0c;访问 http://192.168.200.1:8080/search/cal.jsp 2.配置linux的tomcat1.…

计算机毕业设计PHP+vue体检预约管理系统d1yu38

防止在使用不同数据库时&#xff0c;由于底层数据库技术不同造成接口程序紊乱的问题。通过本次系统设计可以提高自己的编程能力&#xff0c;强化对所学知识的理解和运用 本系统是一个服务于医院先关内容的网站&#xff0c;在用户打开网站的第一眼就要明白网站开发的目的&#x…

通义灵码:智能编码的革命性助手

通义灵码是由阿里云推出的一款基于通义大模型的智能编码辅助工具&#xff0c;它通过先进的人工智能技术&#xff0c;为开发者提供了一系列的智能编码功能&#xff0c;极大地提升了编码效率和质量。以下是通义灵码的一些核心功能和应用案例。 核心功能 代码智能生成 通义灵码…

轻量级分布式任务调度平台:XXL-JOB

目录 1 介绍1.1 特性1.2 整体架构 2 快速导入2.1 测试工程导入2.1 初始化数据库2.3 Docker安装任务管理中心 3 XXL-JOB任务注册测试3.1 引入xxl-job依赖3.2 配置xxljob相关信息3.3 定义定时任务执行方法3.3 配置任务执行器 4 CRON表达式4.1 cron表达式语法介绍4.2 cron练习 1 介…

Redis 源码学习记录:字符串

redisObject Redis 中的数据对象 server/redisObject.h 是 Redis 对内部存储的数据定义的抽象类型其定义如下&#xff1a; typedef struct redisObject {unsigned type:4; // 数据类型&#xff0c;字符串&#xff0c;哈希表&#xff0c;列表等等unsigned encoding:4; …

分布式与一致性协议之Raft算法(四)

Raft算法 Raft是如何解决成员变更问题的 在日常工作中&#xff0c;你可能会遇到服务器故障的情况&#xff0c;这时你需要替换集群中的服务器。如果遇到需要改变数据副本数的情况&#xff0c;则需要增加或移除集群中的服务器。总的来说&#xff0c;在日常工作中&#xff0c;集…

【HAL库 STM32】输入捕获并实现超声波测距

文章目录 HC-SR04 超声波模块简介HC-SR04 工作原理如何使用HC-SR04模块程序效果 一、工程配置代码如果您发现文章有错误请与我留言&#xff0c;感谢 HC-SR04 超声波模块简介 HC-SR04 工作原理 模块有2个超声波换能器&#xff08;如图所示&#xff09;&#xff0c;一个发出声波…

Echarts关系图的配置项,一文全解,一目了然。

一、什么是关系图 ECharts 是一个由百度开发的开源可视化库&#xff0c;用于创建丰富的交互式数据可视化图表。关系图&#xff08;Relationship Graph&#xff09;是 ECharts 中的一种图表类型&#xff0c;用于展示节点之间的关系和连接。 关系图通常用于展示复杂的网络结构&a…

408数据结构-树的基本概念与性质 自学知识点整理

树的定义 树是 n n n&#xff08; n ≥ 0 n≥0 n≥0&#xff09;个结点的有限集。当 n 0 n0 n0时&#xff0c;称为空树。 任意一棵非空树应具有以下特性&#xff1a; 有且仅有一个特定的被称为根的结点&#xff08;根结点&#xff09;。当 n &#xff1e; 1 n&#xff1e;1 …

管理能力学习笔记八:Will-Skill矩阵“盘“团队

如何把握带教中的“度”&#xff0c;才能在把事情做好的基础上&#xff0c;又能使员工获得成长呢&#xff1f; 需要做到 合理授权 & 适当辅导 如何做到&#xff1f; 通过使用 意愿-技能矩阵(Will-Skill Matrix) 辨别不同带教方法的适用情形&#xff0c;"盘"…

设计模式之业务代表模式

在编程江湖的风雨中漂泊多年&#xff0c;每当我遇到那些错综复杂的业务逻辑和系统交互&#xff0c;总有一个模式像一位忠诚的骑士&#xff0c;默默守护着我的代码城堡&#xff0c;那就是——业务代表模式&#xff08;Business Delegate Pattern&#xff09;。它不是最耀眼的明星…

Springboot+MybatisPlus入门案例(postman测试)

一、项目框架 pom.xml依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apac…

基于SkyEye运行Android——应用最为广泛的移动设备操作系统

01.Android简介 Android&#xff08;安卓&#xff09;是一种基于Linux内核&#xff08;不包含GNU组件&#xff09;的开源操作系统&#xff0c;最初由安迪鲁宾开发&#xff0c;主要支持手机。2005年8月由Google收购注资&#xff1b;2007年11月&#xff0c;Google与84家硬件制造…

【区块链】共识算法简介

共识算法简介 区块链三要素&#xff1a; 去中心化共识算法智能合约 共识算法作为区块链三大核心技术之一&#xff0c;其重要性不言而喻。今天就来简单介绍共识算法的基本知识。 最简单的解释&#xff0c;共识算法就是要让所有节点达成共识&#xff0c;保证少数服从多数&#x…

链表(基于C语言单向链表)

链表的实现的思想 链表表示一种是基于链接结构的线性表&#xff0c;链表实现的思想如下&#xff1a; 1、将表中的元素分别储存在一批独立的储存块里面。 2、表结构中的结点都能找到与之相关的下一个结点。 3、在前一个结点里用链表的方式显示的记录与下个结点之间的关联。 链…

原创字幕雨技术,二次剪辑混剪搬运短视频必备,轻松过原创

原创字幕雨素材教程&#xff0c;教你如何制作自己专属的字幕雨&#xff0c; 把素材运营到自己的二次剪辑&#xff0c;提升二创短视频的原创度&#xff0c; 帮助你做搬运或者短视频运营&#xff0c;轻松过原创。 课程目录&#xff1a; 1&#xff1a;什么是字幕雨 2&#xf…

Vue Vant 移动端如何禁止手机调起自带的输入键盘

前言 前不久在公司用Vue2开发了一个手机充值项目&#xff0c;键盘组件用的vant2的NumberKeyboard 数字键盘组件&#xff1b;上线后在IOS端只有一个vant数字键盘组件&#xff0c;但到了Android端&#xff0c;输入框一获取焦点不仅vant数字键盘弹出&#xff0c;连手机自带的键盘…

低空经济+飞行汽车:eVTOL技术详解

低空经济是以各种有人驾驶和无人驾驶航空器的各类低空飞行活动为牵引&#xff0c;辐射带动相关领域融合发展的综合性经济形态。它广泛体现于第一、第二、第三产业之中&#xff0c;在促进经济发展、加强社会保障、服务国防事业等方面发挥着日益重要的作用。 飞行汽车&#xff0c…