码农如何提高自己的品味
软件研发工程师俗称程序员经常对业界外的人自谦作码农,一来给自己不菲的收入找个不错的说辞(像农民伯伯那样辛勤耕耘挣来的血汗钱),二来也是自嘲这个行业确实辛苦,辛苦得没时间捯饬,甚至没有驼背、脱发加持都说不过去。不过时间久了,行外人还真就相信了程序员就是一帮没品味,木讷的low货,大部分的文艺作品中也都是这么表现程序员的。可是我今天要说一下我的感受,编程是个艺术活,程序员是最聪明的一群人,我们的品味也可以像艺术家一样。
LeeFJ LeeFJ
2年前
Foxnic-Web 代码生成 (2) —— 代码生成的配置类
上一节,我们已经讲述了代码生成的基本步骤,但是对细节部分并未展开。利用FoxnicGenerator包进行代码生成的方式是多种多样的,我们这里提到的配置类这是其中一种,例如在FoxnicEAM项目里,有很多的代码生成非使用配置类来完成的。  我们优先选择配置类讲解,显然配置类有其优势。首先,配置类按数据表隔离,一数据表一模块一个配置类。其次,在配置类内部,按配置对象的不同,分别在不同的方法内进行配置代码的编写。例如,配置模型时在configModel方法内编写配置代码,配置字段时在configFields方法内编写配置代码。  那么,代码生成的配置为什么要用Java类,而不是用Json、XML或YML呢?首先,不管是Json、XML或YML、Java,都是在编辑器敲文本。那么哪一种方式敲文本是最方便的呢,自然是Java了,因为有开发工具强大的支持。
LeeFJ LeeFJ
2年前
Foxnic-Web 代码生成 (3) —— 配置模型
FoxnicWeb对模型体系进行了简化,默认创建PO和VO类,且VO继承自PO。其它代码基于PO和VO实现。当然开发者也可以按需自定义模型,但自定义模型并不建议手动创建,而是通过代码生成工具进行创建。  代码生成配置类的configModel方法将全部的模型配置集中于此,方便站在全局的高度理解与分析模型。开发者不必关心新建的模型应该放在哪个包下面,这些在代码生成配置上都已经定义,无需时时关注。  另外,由代码生成的模型有其规范和默认已经实现的方法,方便开发者的同时,也提高模型转换、克隆复制的性能。
云服务器虚拟化超分与虚机性能关系分析
虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机(VM),每个VM都运行自己的操作系统(OS),类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、存储、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让IT对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。
云服务器虚拟化超分与虚机性能关系分析
虚拟化技术是云计算商业模式的基础,它也是推动云计算经济的核心技术。虚拟化是指使用虚拟化软件在计算机硬件上创建抽象层,将单个计算机的硬件元素(包括处理器、内存、存储器等)分成多个虚拟计算机(VM),每个VM都运行自己的操作系统(OS),类似于独立的计算机。这样虚拟化技术能让一台服务器变成几台甚至上百台互相隔离的虚拟服务器,不再受限于物理上的界限,而是让CPU、内存、存储、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合池化,让IT对业务的变化更具适应力。虚拟化能够提高企业资源运营效率,节约能耗,降低经济成本和空间浪费。
API 小达人 API 小达人
1年前
「Eolink Apikit 」如何快速创建有效的API监控任务?
API监控能够确保API的稳定性。如果一个API出现故障或崩溃,它可能会导致整个应用程序无法正常工作。这对用户和业务来说可能是灾难性的。通过监控API,开发团队可以及时发现问题并采取措施来修复它们,从而降低应用程序中断的风险。作为开发人员,了解API生命周期中的每一个步骤可以帮助改善设计流程以及后续的流程,监控工具可以深入了解API的行为,监控API有助于:1.问题识别、2.问题修复、3.功能分析、4.新版本的迭代。在API管理中,查看API异常监控的监控报告,在EolinkApiki中也是常用的功能,通常你可以在流程综合报告页中看到当前流程在选定时间段内的整体监控情况。
LeeFJ LeeFJ
2年前
Foxnic-SQL (14) —— DAO 的 Service 扩展
FoxnicSQL中的Service有点像DDD中的Repository,但Foxnic体系里面又没有将Repository和Service区分开来,所以它更有点像两者的合体。但,他们的合与分本身是弹性的,具体还是要看业务场景的需要。在很多项目中,好多时候,Controller是Service的二传手,或许它也会成为Repository的三传手。所以,到底是单传还是二传或是三传还是要看项目、看场景。<br/FoxnicSQL中的Service就是将数据操作的目标具体化,它初始的样子就是针对单个表、单个实体的数据操作者。Service在使用时需要代码生成工具由数据表生成Po、Vo对象,Service接口以及接口实现。关于如何生成这些代码,我们不在此节展开。在此我们主要是了解如何使用Service已经为开发者提供的诸多功能
浅谈OpenStack(一)
OpenStack刚开始只有nova(计算)和swift(存储)两个核心组件,尤其是nova,几乎负责了云主机生命周期的所有操作,包括cpu、内存、磁盘、网络等,后来随着功能越来越多,项目越来越庞大,社区才把镜像管理(novaimage)服务、存储管理(novavolume)服务、网络管理(novanetwork)服务等独立出来,于是有了glance、cinder、neutron等服务。在OpenStack里有两个概念:组件和服务。我们把每个完成独立功能的项目称为一个组件,比如nova、cinder、glance、neutron。每个组件里会细分很多个服务,用来承担不同的职责,比如nova里会有novaapi服务,负责api请求的处理;novascheduler服务负责宿主机的调度;novacompute服务负责与虚拟化软件进行交互,来操作云主机。
LeeFJ LeeFJ
2年前
Foxnic-Web 代码生成 (1) —— 开始生成代码
使用FoxnicWeb以及FoxnicSQL进行应用开发时,都可以支持代码生成。他们的区别是,基于FoxnicSQL的快速main函数启动的应用,只需要生成Model和Service即可。基于FoxnicWeb开发Web应用时,除了生成Model和Service以外,还要生成Proxy、Controller、UI界面等。  Foxnic的代码生成是基于数据表的,所以当表结构变更,甚至只是注释的调整,我们也是建议重新生成必要的代码。在Foxnic的体系中,我们认为最初的表结构设计、ER图设计,就是这个系统设计的起点。后续的程序设计或数据结构设计都是表结构设计的延续。  Foxnic的代码生成体系希望开发者可以有一个较高的开发起点,可以基于生成的代码直接开发应用,甚至是代码生成后无需修改就可以直接使用了。另一方面,我们又不关闭二次开发的开放性,毕竟自由的修改代码才是软件系统可以按需定制的终极路径。这也是Foxnic体系没有走无代码或低代码平台的原因。
DevOpSec DevOpSec
2年前
tcpdump解决运维生产中遇到问题
作为技术人员tcpdump这个工具还是有必要了解的当你遇到网络协议问题一筹莫展的时候,这时候往往可以通过tcpdump来看网络的通讯过程中发生了什么事。本文只介绍工作用遇到的问题供大家参考,旨在给你工作中遇到类似问题提供解决灵感,具体tcpdump怎么使用google吧。下面通过三个案例进行介绍:案例一:flume写kafka日志报错案例二:LB(负载均衡)增加请求header后,nginx日志获取不到headerkeyclient_ip案例三:mysqlQPS特别高,但mysql并没有慢查询,想知道topKmysql语句最后:场景的http协议抓包场景