如何做好技术总监 一、作为技术管理人员的非技术要求非技术管理:沟通协调,需求传达 1.1 和上级的沟通和管理公司战略传递:如何向团队传达公司的大战略,大方向。如果不能理解公司的战略,那么就无法配合公司领导,完成业务目标,技术目标都是为业务目标服务的 1.2 和平级的沟通和管理如何配合业务部门开展工作,业务部门说,因为我们要做电商数据分析 More
微服务架构(microservices architecture)是服务导向架构(service-oriented architecture,缩写 SOA)的升级。 每一个服务就是一个独立的部署单元(separately deployed unit)。这些单元都是分布式的,互相解耦,通过远程通信协议(比如REST、SOAP)联系。 微服务就是应用的各项核心功能,而且这些服务均可独立运行。 微服务和单体服务 More
微核架构(microkernel architecture)又称为"插件架构"(plug-in architecture),指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现。 内核(core)通常只包含系统运行的最小功能。插件则是互相独立的,插件之间的通信,应该减少到最低,避免出现互相依赖的问题。 优点 良好的功能延伸性(extensibility),需要什么功能,开 More
架构学习难度比较大,原因为互联网上没有什么易懂的资料,大多数是翻译过来的,作者理解了,读者难以理解,月小升用复杂问题简单化,来理解下架构模式 定义:事件驱动架构是由高耦合度、单一目的的事件处理模块构成,这些模块异步接收、处理事件。(概念这玩意有点抽象,什么叫高耦合度,什么叫单一目的,什么叫事件处理模块,什么叫异步,这段定义 More
分层架构模式里的组件被分成几个平行的层次,每一层都代表了应用的一个功能(展示逻辑或者业务逻辑)。尽管分层架构没有规定自身要分成几层几种,大多数的结构都分成四个层次:展示层,业务层,持久层,和数据库层。 常见的图如下 复杂一点的分层架构图如下 分层架构的特点: 1. 分层架构中的每一层都着特定的角色和职能。 比如说展示层并不需 More
你怎么知道你的软件架构好不好? 以下迹象表明您拥有良好的软件架构: 1. 容易理解: 业务利益相关者(当前的程序员,未来改bug的程序,接手项目的新程序员,架构师,项目经理,等)可以很容易地理解它; 架构是否容易理解,你说给不是程序员的人听,如果他懂了,说明容易理解 2. 长期使用: 好的软件架构可以长期使用; 比如要做个一天支撑300 More
git分支切换,查看 查看提交历史 git log 查看分支 git branch -a 切换分支 git checkout dev git clone git@github.com:yuexiaosheng/time-machine.git $ ssh-keygen -t rsa -C "yuexiaosheng##163.com" 备注:##是要变成@,防止网络爬虫,读者见谅 后面的邮箱即为 github 注册邮箱,之后会要求确认路径和输入密码,一路回车就行。 成功的话会在 ~/ 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