- 博客(18)
- 收藏
- 关注
原创 如何使用Qt调用基于SpringCloud的Rest服务
我遇到一个应用需要做微服务化改造。这个应用包括分离度很高的前端和后端两部分。在我看来微服务是一个后端的概念,与前端没什么关系。对旧的应用进行微服务化改造主要集中在后端。并且原有系统分离程度很高的时候,要尽量沿用原有界面,一方面是节约时间,一方面顺从用户习惯。所以我遇到了这样一个问题,一个Qt应用,后端微服务化,前后端如何交互的问题:比如我现在开发了基于SpringCloud的REST服...
2018-08-27 23:59:38 2101
原创 springcloud-eureka界面自定义修改的一种方法
因为工作的原因,需要对eureka注册中心的界面进行自定义。虽然整个过程挺简单的,但是如果不注意的话,还是会有一些不大不小的坑。自定义的关键在于下图红框范围的目录结构和文件:只要在自已的eureka项目/resources下建立templates/eureka目录,然后把4个自己写的同名的ftl放进去。再启动就实现了。但是需要注意的地方,这4个同名文件的来源非常重要。我直接在GitHub上找的sp...
2018-07-08 23:38:38 3893
原创 使用intellij idea对springcloud项目打jar包
最近因为工作的需要,学习了一下idea对springcloud项目打包。 看上去很简单的东西竟然搞了一个晚上。 看过很多博客,照着做差不多都出了错。 为了尽量规避同样的错误,我把打包过程记一下。目录结构如下: 1.点击File->project Structure选项 2.在弹出页...
2018-07-08 23:18:31 11305 6
原创 VS2015下C++调用Python脚本
C++调用Python在一些特殊的场景下有一定的价值。比如,要调用一个REST服务,c++本身做HTTP Client会很烦,如果使用Python脚本去调用服务,返回结果给c++端就可以绕开这个问题。因为最近在一个原型开发中遇到了这个问题,所以为了快速拿出东西来,我决定使用这种方法。使用效果一般,主要是太慢用来做demo还行,可能是我还没用好。官方文档https://docs.py
2018-01-12 13:08:26 7989 1
原创 VisualStudio下使用libcurl
最近在学习中因为 #include <curl/curl.h> 出现错误 “无法打开源文件curl/curl.h”。顺着这条线索,一点儿一点儿的学习,发现远远不是用一个curl库这么简单。其实后来发现VS的NuGet程序包管理工具,确实非常好用,一键安装一堆依赖库。强烈建议要快速跑起来的使用。具体过程就是在项目解决方案右键选择NuGet 搜索curl安装即可。不使用NuGet工具的话就用
2018-01-02 22:29:38 7290 2
原创 Vector容器操作与内存分配
Vector差不多是我用得最多的容器,原因嘛当然办为他好用了,动态数组的感觉用起来很方便。但这种方便是有代价的,不然为什么还需要定长数组呢。Vector的动态增长需要重新分配内存,然后将原有数据move过去,这其中有对象的构造、析构等等,这是vector主要的效率损耗。(迭代器失效的锅,内存重新分配也要背,内存变了,所有指针相关的全部失效)所以vector和数组扩张、容易减少相关的所有
2017-12-05 00:58:53 1485
原创 centos下安装maven和nexus
首先下载maven和nexus maven下载地址: http://maven.apache.org/download.cgi nexus下载地址:http://www.sonatype.org/nexus/archived/ 注意不同版本的nexus的配置是不同的,这一点我在安装了几个nexus后终于发现了。我还以为是我无意删掉了什么东西,真是坑。其实不是,不同不同版本的nexus的配置文件
2017-11-30 18:03:19 203
原创 JDBC,Mybatis,Hibernate区别
本科期间在老师手底下第一次拿钱写商业项目的时候使用到了NHibernate,那时候知道了ORM框架,所谓ORM,就是Object-Relation Mapping,即”对象-关系映射“。对象是指存在于内存中的业务对象,数据是持久保存到数据库中的数据实体。ORM框架我的理解就是将对象与关系数据库中的表映射的一种中间层框架。为什么需要ORM框架呢?
2017-11-19 21:13:59 511
原创 centos7下mysql中The server quit without updating PID file等问题
最近在centos上安装mysql遇到了几个问题,搞得头都大了。一个下午时间才解决,特别的把其中两个关键的地方记下来。问题一:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)首先,查看这个/var/lib/mysql/文件夹是否存在,然后查看my
2017-11-15 17:13:19 2721 1
原创 设计模式(6)-桥接(Bridge)模式
将抽象与实现分离,使其双方独立变化是桥接模式的意图。当一个抽象类可能有多个实现时,通常用继承协调他们。抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。但抽象和实现在这种设计下是绑定的,不能灵活的改变,利用和扩展。桥接模式的出现就是要解耦这种关系。场景桥接模式的重点在于抽象与实现的解耦合,所以设想这样一个场景。一个抽象接口的实例需要动态的根据需求具有不同的实现。这一点通过继承显然不能真正的
2017-11-13 23:44:41 176
原创 CentOS7 下java开发环境小结
最近由于学习的需要,开始使用centos7,弄了个1T固态用起来美滋滋。安装完centos7后发现他**自带**1.7和1.8的openjdk。所以本来我就没打算自己装jdk的。然后就发现了好多的坑觉得有必要记一下。由于我之前没用过intellij,所以我就干脆装一个eclipse-oxygen心想稍熟练一点儿学习会快一些。但遇到点儿麻烦,eclipse-oxygen在安装的时候需要联网下载,然后我
2017-11-12 10:55:36 3389
原创 设计模式(5)-代理(Proxy)模式和装饰(Decorator)模式
代理模式和装饰模式总是让人混淆,他们形式上确实非常像。代理模式结构: 实现: 有这样一种场景,一种特别庞大的组件需要在特定的时候被绘制出来,这种庞大的组件绘制了之后会造成系统的负担。 此时可以使用代理模式,在确定这个组件必须被绘制的时候,才通过代理,将这个组件绘制出来。class Component//普通组件{public: virtual void Draw();};c
2017-11-09 21:33:56 648
原创 设计模式(4)-适配器(Adapter)模式
理解适配器就明白什么是适配器模式,适配器模式本就来源于生活中适配器的启发。那么什么是适配器呢?。场景适配器的作用就是使用户能够通过统一的接口,复用已有的但接口不统一的功能。好吧,我承认这一句话比较抽象。有一个古老的问题,一只动物,看上去是羊,听上去是羊,那他就是羊。是真的吗?有一只狼,他想混进羊群,但是有放牧人看着他发现很难直接混进去。他找来了一张羊皮,披上这张羊皮之后,他成功的骗过了牧羊人的眼睛。
2017-11-08 22:16:27 227
原创 设计模式(3)-原型(Prototype)模式
原型模式的特点就是用一个实例去创建新的其他实例。场景比如游戏里的商店卖装备,我去买装备,在设计这个装备商品的时候,当然是希望这件装备可以无限出售,不然的话我库存设置为多少好呢(当然可以有其他解决办法,但这里我们用原型模式)? 使用原型模式,这件装备出售的时候就clone一件给玩家,这样商店就不用担心库存不够了,无论多少玩家买都应付得过来。 我个人使用原型模式就是这么做的,当然还因为一些其他动机,
2017-11-07 21:03:50 318 1
原创 设计模式(2)-抽象工厂模式(Abstract Factory)与生成器模式(Builder)模式
抽象工厂和生成器模式常常被混淆,因为他们之间实在有很多的相似点,比如都是创建型模式,都隐藏产品具体细节,都向用户提供一个包含一系列接口的对象。 这个说法比较抽象。我们通过实现来看看为什么容易混淆。抽象工厂我们使用一个汽车生产来做例子。抽象工厂模式如下: 有一个抽象工厂类名为Factory,工厂的作用是生产车的不同部件。 有一个奔驰工厂BenzFactory继承了这个Factory,专门用来生产
2017-11-06 22:42:24 2838
原创 设计模式(1)-单例模式
设计模式是一种经验的总结,有经验的面向对象设计者在不断的开发试错、总结中得到了一些面向不同场景不同需求的设计经验,经过不断的验证,基于这些经验的某种面向对象的设计风格被认为是某种意义上的最佳实践。 当然是不是真的有最佳实践这种东西呢,我个人觉得,在大部分时候,我们可以照搬某个基本的设计模式,应用到我们自己的项目中去,但是实际项目中,也会有很多问题,必须要根据实际的情况对这些模式进行一些变形。 所
2017-11-05 23:58:50 200
原创 Python安装和卸载Module
最近因为一个小项目使用到了python,和一些moudle,同时也使用了C++和python混编的一些技术。 有一次代码出现了bug,但是我不知道是哪里引起的,最后实在没有办法我把一些moudle卸载安装这样搞了几次。 这篇博客其实完全是基础向的内容,有价值可能不是很多,看了一些博文和自己的总结,就当是一个笔记吧。Python第三方模块安装方法:Module安装完成后,存放在python安装目录
2017-11-04 18:07:18 8866
原创 为什么构造函数和析构函数中不应该调用虚函数
在语法上,构造函数调用虚函数当然是没有问题的。但是这种用法不一定能得到想要的结果,还会引发一些小问题。class Base {public: Base() { this->func1(); this->func2(); }; virtual void func1() { cout << "base::func1" << endl; }; virtual void func2
2017-11-03 18:40:54 1070
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人