摘要: 工作已经很多年了, 总结了一下标准的产品开发流程, 供大家参考理解. 2021.6.27 by Felix 一切的前提: 要有独立思想, 要充分理解公司战略和目标, 熟悉业务, 贴近业务, 密切合作 前言: 不要相信需求方, 不要相信运营, 不要相信产品, 不要相信技术, 不要相信设计师, 不要相信 阅读全文
posted @ 2021-07-16 17:57 飞云~风之谷 阅读(260) 评论(0) 推荐(0)
摘要: 对于初级管理者来说, 经常会出现时间碎片化, 关键事项抓不住的情况, 此时我们可以试着推行"标准管理模版". 举个模版的例子如下: 名称 描述 对象 上线通知 已经上线的项目要通知相关需求方/部门, 并安排相关培训. (已经做的事情要让别人知晓) 组员, 需求方, 产品 项目进度 项目进度是否正常, 阅读全文
posted @ 2021-07-16 17:54 飞云~风之谷 阅读(131) 评论(0) 推荐(0)
摘要: Dubbo 可以实现的扩展很多, 官方文档在这: https://dubbo.apache.org/zh/docs/v2.7/dev/impls/ (太简单了....) 下面我们实现一个Route Factory, 它会根据参数中的workzone来选择合适的Invoker实例, 可以实现一定程度上 阅读全文
posted @ 2021-07-16 17:51 飞云~风之谷 阅读(664) 评论(1) 推荐(0)
摘要: Dubbo 可以实现的扩展很多, 官方文档在这: https://dubbo.apache.org/zh/docs/v2.7/dev/impls/ (太简单了....) 下面我们实现一个Load Balance, 它会根据参数中的workzone来选择合适的Invoker实例, 可以实现一定程度上的 阅读全文
posted @ 2021-07-16 17:47 飞云~风之谷 阅读(375) 评论(0) 推荐(0)
摘要: 此文是一个完整的例子, 包含可运行起来的源码. 此例子包含以下部分: 网关层实现自定义LoadBalancer, 根据Header选取实例 服务中的Feign使用拦截器, 读取Header Feign的LoadBalancer也是用网关一样的实现 使用Web Filter来统一设置header变量, 阅读全文
posted @ 2021-07-16 17:45 飞云~风之谷 阅读(293) 评论(0) 推荐(0)
摘要: 现在我们简单地来定制二个 ServiceInstanceListSupplier, 都是zone-preference的变种. 为了方便, 我重新调整了一下项目的结构, 把一些公用的类移动到hello-pubtool 模块, 这样网关项目和Feign项目就能复用一样的类了. A. main和beta 阅读全文
posted @ 2021-07-16 17:42 飞云~风之谷 阅读(1962) 评论(0) 推荐(0)
摘要: 上面看到直接通过网关访问微服务是可以实现按区域调用的, 那么微服务之间调用是否也能按区域划分哪? 下面我们使用FeignClient来调用微服务, 就可以配合LoadBalancer实现按区域调用. 首先我们新建一个微服务模块 hello-nameservice, 用来调用 hello-remote 阅读全文
posted @ 2021-07-16 17:39 飞云~风之谷 阅读(183) 评论(0) 推荐(0)
摘要: 注意: 因为涉及到配置测试切换, 中间环节需按此文章操作体验, 代码仓库里面的只有最后一步的代码 准备好了微服务, 那我们就来看看网关+负载均衡如何一起工作 新建一个模块hello-gateway, 开启gateway和loadbalancer, pom部分如下: <?xml version="1. 阅读全文
posted @ 2021-07-16 17:37 飞云~风之谷 阅读(336) 评论(0) 推荐(0)
摘要: 我们准备一下用于查询姓名的微服务. 首先定义一下服务的接口, 新建一个空的Maven模块hello-remotename-core, 里面新建一个类: public interface RemoteNameService { String readName(int id) ; } 接下来的微服务都实 阅读全文
posted @ 2021-07-16 17:32 飞云~风之谷 阅读(82) 评论(0) 推荐(0)
摘要: 最近研究了一下Spring Cloud里面的灰度发布, 看到各种各样的使用方式, 真是纷繁复杂, 眼花缭乱, 不同的场景需要不同的解决思路. 那我们也来实践一下最简单的场景: 区域划分: 服务分为beta(线上预发布环境)和main主生产环境 区域隔离情况 试情况可能有三种选择: main和beta 阅读全文
posted @ 2021-07-16 17:29 飞云~风之谷 阅读(120) 评论(0) 推荐(0)
摘要: 最近研究了一下Spring Cloud的灰度发布, 发现方法真是多. 这里先提供一个修改Eureka注册中心里的instance实例的metadata的脚本, 可以方便地用来测试效果. 使用举例: sh eureka.sh BETAZONE-HELLO-REMOTENAME 172.18.0.145 阅读全文
posted @ 2021-07-16 16:50 飞云~风之谷 阅读(262) 评论(0) 推荐(0)
摘要: 去年边学边写了搞了很久, 已经好久没继续开发了, 先放出来供大家参考吧. 发现自己的学习能力还是不错的. 技术点: 使用QT, QML技术 代码参考: https://github.com/cnscud/simpletodo 开发时记录的一些开发步骤, 供参考. OK 保存窗口位置 任务维护: OK 阅读全文
posted @ 2021-07-16 16:43 飞云~风之谷 阅读(593) 评论(0) 推荐(0)
摘要: 需求: Nginx根据参数来输出不同的header 我们想用Nginx来判断一些通用的参数, 根据参数情况在输出中不同的header, 或者cookie, 那么根据正常思路, 有如下配置: location ^~ /test1/ { root /home/app/services/test_html 阅读全文
posted @ 2021-07-16 16:40 飞云~风之谷 阅读(1587) 评论(0) 推荐(0)
摘要: 需要自动升级版本的AAA项目发布 (有内部依赖时) 步骤比较复杂, 有一些需要根据实际情况调整. 考虑了以下几种可能性: 依赖模块的版本有更新 依赖模块版本没更新 依赖模块的版本号: 直接定义, 用属性定义的 依赖项目已经升级过多次版本, 本项目没有跟进 依赖项目跳过了几个版本(没有发布直接跳过), 阅读全文
posted @ 2021-07-16 16:39 飞云~风之谷 阅读(882) 评论(0) 推荐(0)
摘要: 参考了网络上很多文章, 特此感谢. Maven项目规范 同一项目中所有模块版本保持一致 子模块统一继承父模块的版本 统一在顶层模块Pom的节中定义所有子模块的依赖版本号,子模块中添加依赖时不要添加版本号 开发测试阶段使用SNAPSHOT 生产发布使用RELEASE或(无后缀)正式版 新版本迭代只修改 阅读全文
posted @ 2021-07-16 16:33 飞云~风之谷 阅读(95) 评论(0) 推荐(0)
摘要: 参考 http://www.sail.name/2018/12/16/ssh-config-of-mac/ 有一点注意 Host 的名字和 HostName改为一致. 因为从git仓库复制的地址是全程. Host code.aliyun.com HostName code.aliyun.com Us 阅读全文
posted @ 2021-07-16 16:30 飞云~风之谷 阅读(39) 评论(0) 推荐(0)
摘要: 一个QT窗口如下可以做到无边框: Window { id: window //Designer 竟然不支持..., 设计模式时要注意 flags: Qt.FramelessWindowHint width: 500 height: 300 title: "Window Title" } 不过要注意, 阅读全文
posted @ 2021-07-16 16:16 飞云~风之谷 阅读(740) 评论(0) 推荐(0)
摘要: 最近看看磁盘觉得有点小, 就整理了一下, 经过一番折腾, 发现MacOS卸载软件可真是不省心啊. 从应用里移到垃圾桶仅仅是第一步, 当然对于不读写任何文件的应用也许就可以了. 咱们看看赶紧卸载一个软件, 需要影响那些目录. 以下仅为示例, 是我测试安装一个软件时候的, 结果留下一大堆垃圾, 要是处女 阅读全文
posted @ 2021-07-16 16:03 飞云~风之谷 阅读(114) 评论(0) 推荐(0)
摘要: 关键点 使用Model驱动Instantiator QML里面的hashmap: QQmlPropertyMap 上一次说到用 QQmlApplicationEngine 多次load的方式创建多个一级窗口 详见这里, 但是窗口数据需要自己设置, 不如Model设置方式方便, 窗口如果比较复杂, 数 阅读全文
posted @ 2021-07-16 16:01 飞云~风之谷 阅读(606) 评论(0) 推荐(0)
摘要: 如何动态地创建多个长的一样的主窗口哪(数据当然不一样), 用QML也是可以实现的. 简单的地说, 就是调用多次load即可. QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, 阅读全文
posted @ 2021-07-16 15:55 飞云~风之谷 阅读(816) 评论(0) 推荐(0)
摘要: 最近在学习QT, 遇到一些crash, 也没看过QT源码啊, 就想类似Java一样, 在出错时进入源码跟踪一下, 但是QT和Java太不一样了, 死活进不去. 研究了几天, 发现本来是很简单的事情, 但是网上的文章让人容易钻进死胡同 说起来简单 用 Online Installer, 选中 "Qt 阅读全文
posted @ 2021-07-16 15:48 飞云~风之谷 阅读(587) 评论(0) 推荐(1)
摘要: 目标 结合前面的2篇文章, 继续升级QML版本的ListView: 又要拖拽, 又要可编辑, 还得支持多个控件. 循序渐进 本文基于前一篇的基础: Qt-可编辑的ListView 要循序渐进的学习. 几个关键点 要用拖拽, 就不能用Layout了 (大部分情况应该是) 条条大路通罗马, 但是没有找到 阅读全文
posted @ 2021-07-16 15:37 飞云~风之谷 阅读(1265) 评论(0) 推荐(0)
摘要: 以下是使用Python解析crontab时间格式的一个类, 同时minute和hour支持了 + 的操作. 记录一下备忘. 其中的line参数是字符串分拆后的格式, 包含了 "week", "month", "day", "hour", "minute". #!/usr/bin/env python 阅读全文
posted @ 2021-07-16 15:33 飞云~风之谷 阅读(436) 评论(0) 推荐(0)
摘要: 新建一个QML项目, main.cpp不动如下: #include <QGuiApplication> #include <QQmlApplicationEngine> int main(int argc, char *argv[]) { QCoreApplication::setAttribute 阅读全文
posted @ 2021-07-16 15:30 飞云~风之谷 阅读(743) 评论(0) 推荐(0)
摘要: 最近在学习Qt 里面的QML, 使用DropArea和MouseArea实现了ListView的拖拽. 想起了当年用Delphi, 差不多一样的东西, 不过那是2000了. Delphi也是不争气啊, 多好的IDE, 硬生生发展不起来..... 代码可以在 https://github.com/cn 阅读全文
posted @ 2021-07-16 15:20 飞云~风之谷 阅读(642) 评论(0) 推荐(0)