产品的定位 做产品的都知道,是否支持多语言直接影响到产品的定位问题. 如果一个产品周期是一年的话,要完美支持多语言最少也得在加3个月!所需时间和页面数量.数据库表的数量和表的数据量成正比. 可以看出代价有多大,我们程序员就得和老板唠叨,做不得,成本太高. 如果前期不做,等到了后期项目表结构等都要重构,如果使用了大量的视图对于多语言来说就是恶梦. 非数据库方面的解决方案 请看我上一篇贴子 http://www.cnblogs.com/sunkaixuan/p/5699744.html 数据库表的设…
Performance Tunning for Tile-Based Architecture Tile-Based架构下的性能调校 by Bruce Merry GameKnife译 译序 在大概1个月之前,花了两个小时的时间阅读了OpenGL Insights上的两篇关于移动平台GPU的优化文章.当时正巧在公司作移动渲染器的优化和整理,顿觉醍醐灌顶.同时搜索国内关于这方面的经验文正或者翻译文章,感觉少之又少.所以,萌发了翻译这两篇文章的想法.其实也是第一次做翻译工作,本觉读两篇文章就用两个小…
ASP.NET Web API和WCF都体现了REST软件架构风格.在REST中,把一切数据视为资源,所以也是一种面向资源的架构风格.所有的资源都可以通过URI来唯一标识,通过对资源的HTTP操作(GET/HEAD.POST.PUT和DELETE),使资源的表征状态发生了改变,即Representational State Transfer,缩写为REST. WCF从3.5以来,也体现了REST的架构风格,但对于一般的消息通信来说,显得"过重",所以,微软推出ASP.NET Web A…
首先还是要连接一下什么是Rest, REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想, 什么是restful? 符合rest 规范和设计风格的程序 就是restful 按照rest 规范 设计一个针对 id 是 2 的银行账户做一个设计 /accou…
原文地址:http://mp.weixin.qq.com/s/eXvoJew3bjFKzLLJpS0Otg 随着微服务架构的推广,越来越多的公司采用微服务架构来构建自己的业务平台.就像前边的文章说的,微服务架构为业务开发带来了诸多好处的同时,例如单一职责.独立开发部署.功能复用和系统容错等等,也带来一些问题. 例如上手难度变大,运维变得更复杂,模块之间的依赖关系更复杂,数据一致性难以保证,等等.但是办法总是比问题多,本篇文章就来介绍一下我们是如何保障微服务架构的数据一致性的. 微服务架构的数据一…
一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目.该项目在github上star占有2.4k.便决定分析Equinox项目来学习下CQRS架构.再讲CQRS架构时,先简述下DDD风格,在DDD分层架构中,一般包含表现层.应用程序层(应用服务层).领域层(领域服务层).基础设施层.在DDD中讲到服务这个术语时,比如领域服务,应用层服务等,这个服务是指业务逻辑,而不是指任何技术如wcf,web服务. 下图是从经典三层构架演变为DDD下的分层架构图: 1.表现层 表现层前端往后端…
原文链接:https://blog.fanscore.cn/p/27/ 一. 函数调用相关指令 关于栈可以看下我之前的这篇文章x86 CPU与IA-32架构 在开始函数调用约定之前我们需要先了解一下几个相关的指令 1.1 push pushq 立即数 # q/l是后缀,表示操作对象的大小 pushl 寄存器 push指令将数据压栈.具体就是将esp(stack pointer)寄存器减去压栈数据的大小,再将数据存储到esp寄存器所指向的地址. 1.2 pop popq 寄存器 popl 寄存器…
这段时间,我一直忙于将 Rainbond 源码构建模块移植到 Arm64/aarch64 架构中.这一源码构建模块可以将指定代码仓库中包含的源码,拉取构建成为容器镜像,在各种容器平台中运行.目前支持的源码类型包括:Java(Maven.Gradle.jar.war).Nodejs(前端Vue.后端项目).Golang.Python.PHP..NetCore.静态Html. Rainbond源码构建简介 Rainbond 源码构建模块由 builder 和 runner 两个子模块组成. buil…
这段时间,我一直忙于将 Rainbond 源码构建模块移植到 Arm64/aarch64 架构中.对于 Python 项目而言,可以直接通过源代码编译成为可运行在各种容器平台之上的容器镜像.这个过程不需要使用者掌握任何容器化知识.在 Rainbond 源码构建适配 Arm64 架构之后,用户可以直接利用编译完成的容器镜像交付到 Arm64 环境下,比如华为的鲲鹏系列服务器中. Python源码编译简介 在当前场景下,我要探索如何在 Arm64 架构下,通过 builder 这一 Rainbond…
1. 摘要 本文将基于RISC-V架构和qemu仿真器实现一个简单的多线程调度和管理框架, 旨在通过简单的代码阐明如何实现线程的上下文保存和切换, 线程的调度并非本文的重点, 故线程调度模块只是简单地采用了轮询的方式. 2. 上下文是什么 对于一个运行中的程序, 我们可以把它看作一个状态机, CPU每次执行一条指令会导致这个状态机从一个状态转换到另一个状态, 而这里的状态就是CPU的寄存器值和当前时刻内存的状态, 即state = (Regs, Mem). 一个程序的执行过程就是状态机状态迁移的…