Rails

软件工程

吃可爱长大的小学妹 提交于 2020-11-06 07:11:39
项目 内容 本作业属于北航软件工程课程 博客园班级链接 作业要求请点击链接查看 作业要求 我在这门课程的目标是 成为一个具有一定经验的软件开发人员 这个作业在哪个具体方面帮助我实现目标 让我对自己目前的状况有一个更加清醒的认识 一、之前的提问博客 请点此 链接 查看 二、对博客中问题的解答 1. 类型继承是被提倡使用的吗? 对于这个问题,我认为针对不同的项目有不同的做法。有些项目从一诞生起就注定了将成为一个中大型项目,仅靠个人的力量无法独立完成,必须经过多名程序员的共同配合才有可能编写出来。而另一些项目则是典型的小型项目,两三个人甚至一个有经验的程序员就可以轻松完成,不需要有太多的人员配合。对于前者而言,有必要在需要对开发人员进行约束的地方使用类型继承,这样可以将模块的功能限制在一个确定的范围之内,有利于程序整体结构的一致性;而对于后者,可以仅在必要的地方使用类型继承,例如把一系列相似的对象视为同一种对象在不同切面上的投影。以上是我在实践中确定的思想,我们组的项目后端框架选择了Ruby on Rails,一种非常纯粹的面向对象语言,而中间件则是选择了Python。Rails项目相对来说要庞大一些,且这个框架本身就包含了非常多的类型继承,因此我们也顺水推舟地使用了很多类型继承;Python写的中间件则是几个小品模块的杂糅,为了求快并没有使用过多的面向对象技术,反而短平快的解决了问题。

puma(5300✨) Rails的一个多线程,高并发处理的web server

僤鯓⒐⒋嵵緔 提交于 2020-10-28 10:36:36
https://github.com/puma/puma 在开发和产品环境下,Puma是一个简单,快速,多线程,并高并发highly concurrent HTTP1.1server for Ruby/Rack程序。 什么是多线程? multithreading 指从软件或者硬件上实现多个线程并发执行的技术。从而整体提升处理效能。 软件多线程:即使处理器只能运行一个线程,但操作系统可以通过快速在不同线程之间进行切换,由于间隔时间很小,给用户造成一种多个线程同时运行的假象。这样的程序运行机制被称为软件多线程。 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 进程是由若干线程组成的,一个进程至少有一个线程。 单进程单线程:一个人在一个桌子上吃菜; 单进程多线程:多个人在一个桌子上吃菜;容易发生争抢,即资源共享就会发生冲突争抢。 多进程单线程:多个人在各自的桌子上吃菜; gem 'puma', '~> 3.11' gem 'mina-puma', '~> 1.1.0', require: false ⚠️require: false的选项是什么用途? 答案: 具体见:stackoverflow 把这个gem安装了,但不加载load。 你bundler时,不会调用require 'mina-puma'命令。什么时候需要用到这个library,手动加载这个命令。

Rails + Webpacker + Puma + Nginx 部署

别来无恙 提交于 2020-10-28 09:46:39
准备 ssh 登录 首先 ssh 登录服务器,免密码登录可以参考 ssh 免密码登录服务器 创建部署用户 $ sudo adduser deploy 安装依赖 Ruby 这里使用 RVM 安装和管理 Ruby $ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB $ curl -sSL https://get.rvm.io | bash 等待安装完成 # 显示可用的 Ruby 版本 $ rvm list known # 安装 $ rvm install 2.5.3 更换 Gem 源(使用 ruby-china 源) $ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ $ gem sources -l $ bundle config mirror.https://rubygems.org https://gems.ruby-china.com Node $ curl -sL https://deb.nodesource.com/setup_9.x |

gitlab 安装、配置、清空、卸载、重装

拥有回忆 提交于 2020-10-09 11:46:45
20200702 自行搭建 git 服务器后,如何管理总是一个麻烦事,所以,还是要安装一个 gitlab 按照 gitlab 官网安装 ce 版,其实应该是很简单的事情,步骤也很少。 正常情况下,安装、配置、运行,再学习 gitlab 使用 没有想到我折腾了一大圈!来回卸载、重装、重新配置!几乎所有该出现的问题,全都遇见了一轮! 我的环境: virtualBox 虚拟机 ubuntu Server 1804 gitlab 官网 https://about.gitlab.com/install/#ubuntu gitlab ce 版本安装步骤 https://about.gitlab.com/install/#ubuntu?version=ce 清华大学开源软件镜像站 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ Gitlab Community Edition 镜像使用帮助 https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ 1、 安装 安装必要的依赖 sudo apt-get install -y curl openssh-server ca-certificates 非必须 ( 如果开始学习或者后续需要使用邮箱开放注册的话,请安装 ) sudo apt-get install

十年后可能消失的五种编程语言

人盡茶涼 提交于 2020-10-05 14:22:46
本文作者从自己的观点出发,介绍了未来 20 年内可能消失的五种编程语言,并给出了具体的原因。最后对想要学习编程的初学者给出了学习建议。 >>>> 随着时间的流逝,程序员们发现了更新、更简单的工作方式,新的编程语言如雨后春笋般出现,但只有少数编程语言能成为社区的新宠。这种进步的一个副作用是一些古老的编程语言必然会跟历史一样被人们遗忘。如果一个编程语言无法随着时间的推移提升其价值,那么它的用户群终将会流失,并逐渐淡出人们的视线,或者成为更新一代编程语言的基础。 最近,古老的 COBOL 编程语言上了热搜 。在 1960 年代和 1970 年代,它曾经是许多美国银行和政府机构的首选的编程语言,但最终被更加简单有效的编程语言所取代。但是,使用 COBOL 构建的系统仍然存在,当一些政府机构发现他们需要通过更新代码来全面改革失业系统时,才发现业内没有几个开发人员可以熟练使用该编程语言。 沧海桑田,COBOL 早已物是人非。我们当前的许多编程语言也注定会有相似的下场。本文中,我们将分析未来 20 内最终会消失的 5 种编程语言。我知道这可能会伤害到那些正在使用这几个编程语言的程序员的内心,所以在开始介绍之前首先声明下这只是我个人的看法和预测。 1 Ruby Ruby 在 1999 年发布后立即受到程序员们的热捧,它能够快速构建应用程序的特性给程序员留下了非常深刻的印象。紧随其后,备受欢迎的