分层架构模式里的组件被分成几个平行的层次,每一层都代表了应用的一个功能(展示逻辑或者业务逻辑)。尽管分层架构没有规定自身要分成几层几种,大多数的结构都分成四个层次:展示层,业务层,持久层,和数据库层。 常见的图如下 复杂一点的分层架构图如下 分层架构的特点: 1. 分层架构中的每一层都着特定的角色和职能。 比如说展示层并不需 More
你怎么知道你的软件架构好不好? 以下迹象表明您拥有良好的软件架构: 1. 容易理解: 业务利益相关者(当前的程序员,未来改bug的程序,接手项目的新程序员,架构师,项目经理,等)可以很容易地理解它; 架构是否容易理解,你说给不是程序员的人听,如果他懂了,说明容易理解 2. 长期使用: 好的软件架构可以长期使用; 比如要做个一天支撑300 More
git clone git@github.com:yuexiaosheng/time-machine.git $ ssh-keygen -t rsa -C "yuexiaosheng##163.com" 备注:##是要变成@,防止网络爬虫,读者见谅 后面的邮箱即为 github 注册邮箱,之后会要求确认路径和输入密码,一路回车就行。 成功的话会在 ~/ 下生成 .ssh文件夹,进去,打开 id_rsa.pub,复制里面的key。 那么问题来了,如何进 More
自从各种软件的密码 1.禁止使用123456, 2.禁止使用低于8位 3.要求有大小写 4.要求有特殊字符 默认安装的软件也就乱套了,过了几天就忘记了设置什么密码了。 gitlab-rails console user = User.where(id:1).first user.password=密码 user.password='dowhere.com' user.save! irb(main):005:0> user.save! Enqueued ActionMailer::M More
月小升最近把安静的工作时间,调整为45分钟,苦于一时没有找到mac电脑上合适的闹钟,就用java整了一个 姑且用着,打包成time.jar 算法说明: 过了45分钟,响起音乐 使用办法: java -jar time.jar 源代码: package com.javaer.time; import java.io.InputStream; import java.net.URL; import sun.audio.AudioPlayer; import sun.audio.AudioStr More
定义: 软件架构: 软件架构(software architecture)是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构会包括软件组件、组件之间的关系,组件特性以及组件间关系的特性[1]。软件架构可以和建筑物的架构相比拟[2]。 软件框架: 软件框架(software framework),通常指的是为了实现某个业界标准或完 More
Spring Boot框架对工程结构并没有什么特殊的限制,只是良好的工程结构划分可以使项目更清晰,明确,减少不必要的冲突,提高代码的统一性. 推荐工程结构示例: 代码层的结构 根目录:com.springboot 1.工程启动类(ApplicationServer.java)置于com.springboot.build包下 2.实体类(domain)置于com.springboot.domain 3.数据访问层(Dao)置于c More
安装后本机的nginx就没办法启动了 Nginx 无法启动原因 nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:8081 failed (98: Address already in use) 两个Nginx 冲突了,遇到了很多难题。端口绑定问题 一、修改gitlab配置,禁止自带nginx 路径 vi /etc/gitlab/gitlab.rb nginx More
安装背景: 一、Gitlab服务器构成 Nginx:静态web服务器。 gitlab-shell:用于处理Git命令和修改authorized keys列表。 gitlab-workhorse: 轻量级的反向代理服务器。 logrotate:日志文件管理工具。 postgresql:数据库。 redis:缓存数据库。 sidekiq:用于在后台执行队列任务(异步执行)。 unicorn:An HTTP server for Rack appli More