开源

QGis2.14.4基于Win10+Qt4.8.6+VS2010环境的编译

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 00:22:27
作为关于QGis的第一篇博文,我还是先简单介绍下QGis(当然,我默认大家至少应该知道GIS是什么),比较官方的描述我就直接摘取了wiki上的内容: QGIS (原称Quantum GIS)是一个 自由软件 的桌面 GIS 软件。它提供数据的显示、编辑和分析功能。 据说在国外QGIs用得比较广泛,在国内的处境很惨,可以说很多从事地理信息工作的人只知道ArcGis而都不知道这个软件,这主要是与国情有关。 由于QGis是开源软件,所以我的兴趣主要是在开发上面,目前国内这方面的资料非常少,等会我会给大家推荐一个对新手有很大帮助的博客,我也是从那里学习到QGis的入门知识。在文章最后我也会把整个编译过程中对我有所帮助的博文地址放上,给大家做参照。 经过断断续续一周的折腾终于将QGis编译好了,过程很曲折,编译完成后也很有成就感。 其实整个编译过程不是很真复杂,因为有很多工具可以简化我们的操作,但是对于之前没接触过的人来说在编译过程中会遇到很多问题,就算你一步一步照着网上的流程做,总是会在中途遇到别人没遇到的问题,开源软件的编译我之前就只编译过gdal,这次编译QGis真的很不容易,因为编译它会涉及大大小小的开源库几十个...想想就....,所以我写这篇博文也不能说完全照着做就能顺利编译,更多的是想将自己在这个过程中遇到的问题与大家分析,对大家有一点点帮助。 好,正式开始了。 (一)准备工作

其他主流开源硬件简介BeagleBone Black快速入门

做~自己de王妃 提交于 2019-12-01 23:44:49
其他主流开源硬件简介BeagleBone Black快速入门 1.3 其他主流开源硬件简介 开源硬件种类繁多,但主要有两款开源硬件常与 BeagleBone 比较。它们就是 Arduino 和 Raspberry Pi (即树莓派)。之所以常拿他们来比较,是因为他们有共同点也有不同点。在笔者看来,他们之间可以互相补充,但是均是不可替代的。下面就来简单介绍一下这两种开源硬件本文选自 BeagleBone Black快速入门教程 。 1.3.1 Arduino Arduino 常被用来称呼 Arduino 的硬件控制器板。严格来说, Arduino 代表着由软件、硬件、社区以及分享精神组成的一个完整体系。鉴于本书的定位,这里笔者暂且以 Arduino 来表示 Arduino 的控制器板。 Arduino 要比 Beaglebone Black 小一些,如图 1.2 所示是一款 Arduino 兼容板 本文选自 BeagleBone Black快速入门教程 。 图 1.2 Arduino 兼容板 Arduino 主要以 Atmel 的微控制器为核心,并且定义了一组标准的接口规范,搭配以丰富的函数库,可以非常容易地驱动各种传感器和致动器。 Arduino 主要有如下特点: q 价格比较低廉; q 有丰富的盾板可以直接使用; q 有配套的 IDE ,免费并且开源; q 硬件开源

开源领袖谈UNIX下的编程语言

允我心安 提交于 2019-12-01 23:11:47
C语言 虽说C语言在内存管理方面存在严重的缺陷,不过它还是在某些应用领域里称王称霸。对于那些要求最高的效率,良好的实时性,或者与操作系统内核紧密关联的程序来说,C仍然是很好的选择。 C良好的可移植性也为它加了分。不过现在很多其他的语言可移植性越来越好,C在这方面的优势可能会逐渐丧失。 现有的很多程序可以产生非常棒的C代码,比如语法分析器、GUI Builder等,这时候C语言也是有吸引力的,因为你所需要编写的代码只是整个程序的一小部分。 再有,我们当然应该认识道,C语言对于程序员来说具有无可替代的价值。就我这里讨论的每一种语言而论,只要你发掘的足够深,到最后你会看到它们的内核都是用纯正的、可移植的C写成的。 到了今天这个时候,我们最好把C看成是UNIX虚拟机上的高级汇编语言。 就算是其他的高级语言完全可以满足你的工作需要,抽出时间来学习C语言也仍然有益,它能帮助你在硬件体系的层次上思考问题。 即使到了今天,最好的C语言教程仍然是1988年出版的K&R第二版The C Programming Language. 总结:C最出色的地方在于其高效和贴近机器,最糟糕的地方在它的内存管理地狱。 C++ C++最初发布于1980年代中期,当时面向对象语言被认为是解决软件复杂性问题的银弹。C++的面向对象特性看相去使其全面超越了C,支持者认为C++将迅速把上一代语言挤到陈列馆里去。

OpenStack简介和相关资料 --- 转

≡放荡痞女 提交于 2019-12-01 23:07:44
最近2个星期在尝试用OpenStack搭建私有云,提供方便的虚拟机部署和管理。写一篇博客记录一下相关资料。 1. OpenStack简介 OpenStack 是一个开源软件,它提供了一个部署云的平台。为虚拟计算或存储服务的公有/私有云,提供可扩展的、灵活的云计算。 OpenStack包含了一组由社区维护的开源项目,主要项目有Compute(Nova), Object Storage(Swift),Image Service(Glance)。 Nova提供虚拟计算服务,Swift提供存储服务,Glance提供虚拟机镜像的注册、分发服务。 他们之间的关系可以用这个简图来表示: 2. OpenStack能够做什么 OpenStack能帮我们建立自己的IaaS,提供类似Amazon Web Service的服务给用户: 普通用户可以通过它注册云服务,查看运行和计费情况 开发和运维人员可以创建和存储他们应用的自定义镜像,并通过这些镜像启动、监控和终止实例 平台的管理人员能够配置和操作网络,存储等基础架构 3. OpenStack Compute(Nova)的软件架构 下图是Nova的软件架构,每个nova-xxx组件是由python代码编写的守护进程,每个进程之间通过队列(Queue)和数据库 (nova database)来交换信息,执行各种请求。而用户通过nova-api暴露的web

分享一个简单易用的RPC开源项目—Tatala

走远了吗. 提交于 2019-12-01 12:16:07
这个项目最早(2008年)是用于一个网络游戏的Cache Server,以及一个电子商务的Web Session服务。后来不断增加新的功能,除了Java还支持C#,到现在已经可以用它来开发网络游戏的服务器。等过些日子我还会开源网络游戏的服务器源码。 关于性能,当时后台相应请求的效率是每秒10W次,现在我在自己的笔记本上测,只有一个客户端与服务器都在一个物理机上(CPU: i7-3610QM; RAM: 8G; OS: Win7-64),每秒相应12000个请求。 tatala-client-csharp已经上传,同样在笔记本上测试,一个c#客户端一个Java服务端都在一台机器上,每秒响应22000个请求。c#客户端除了性能测试的例子还有一个演示Server推送的聊天室例子。 Tatala最大的特点是简单,性能是第二考虑能够满足大部分应用就行。因为性能可以通过增加机器得到提升,而代码简单意味着雇更少的人更快的开发。老板省钱,程序员轻松才是最重要的。 开源地址: https://github.com/zijan/Tatala 下面是简单介绍。 概述 Tatala是一个简单易用的RPC中间件,并且跨语言跨平台。它将调用方法转变成字节数组(包括被调用类名,目标方法名,参数序列和返回值),在socket基础上实现客户端和服务器之间的互相通信。 目前,Tatala支持Java的客户端与服务器端

JEECG第22期架构班开始报名啦,15号开班,速度!

白昼怎懂夜的黑 提交于 2019-12-01 11:09:56
各位同学: JEECG 第22期架构培训班15号开班啦!想报名的同学尽快联系招生导师,名额有限哦! 一、培训内容 主要方向:JAVA架构,深层次java架构基础、主流框架技术等。 作业体系: 二、教学方法 1. 以学生自学为主,辅导为辅,挖掘学生潜力,低价培养高质量人才。 2. 因材施教,针对不同学生,制定授课方法,每一个阶段提供对应的视频和资料。 3. 学生自我练习,实战课题等遇到问题,可以直接找导师解答。 4. 不定期提供实战课题,真实项目供学生练习。 5. 指导周期2个月。 (备注:非线下或者网络授课,通过分享资料,让学生自学,不懂问导师,引导之路) 三、报名方式 1. 有意向者直接联系QQ报名:3102411850 2. 培训费用880,一次性缴纳,无其他收费 来源: oschina 链接: https://my.oschina.net/u/930898/blog/413429

Log Guru 正式开源,快速找到 iOS 应用无法安装的原因

*爱你&永不变心* 提交于 2019-11-30 18:04:00
很开心的宣布 Log Guru 正式开源! Log Guru ,是 fir.im 开发团队创造的小轮子,用在 Mac 电脑上的日志获取,Github 地址: FIRHQ/LogGuru . Log Guru 使用方法 当有测试者反馈应用装不上的时候,将其测试设备连接到 Mac 电脑上,即可通过 Log Guru 查看常见的错误日志,快速定位 iOS 应用无法安装的原因。 使用方法只需要几步: 第一步,点击下载 Log Guru ; 第二步,解压打开 Log Guru ; 第三步,将不能安装应用的设备用数据线连接到电脑上; 第四步,查看不能安装的原因,如下图: ( 查看常见的错误日志 ) 重要提醒:目前 Log Guru 只支持 Mac 10.9 以上版本。 Log Guru 的新功能 由于 iOS 10 的系统问题,获取错误日志时会有很多系统日志覆盖有效信息。为了更方便地定位到错误日志,现在可以使用 Log Guru 的「暂停-继续」的功能。 另外,未来的新功能需要大家一起来创造,让 Log Guru 更好用。 That's it, :) 最后,有需求的开发者们可以直接提 PR 和 Issue. 感谢长久以来支持 fir.im 的用户和开发者们,顺便奉上其他的 fir.im 开源项目,欢迎 Star & Fork : fir-cli FIR_Plugin_Android 来源:

小白必备!Rust 编程语言入门教程

匆匆过客 提交于 2019-11-30 05:34:58
开发者小伙伴们, Rust 您一定要了解一下 最近的一项 Stack Overflow 调查发现, 近 80% 的受访者 都喜欢或希望使用 Rust 语言进行开发。 这个数字真是令人难以置信! 那么 Rust 有什么益处呢? 今天,我们就来了解一下 这种类似 C 的语言的精彩亮点, 并演示为什么它是您一定要学习的语言。 首先,我们来快速了解一下它的发展历史。相对于前辈产品(最重要的是 C,它比 Rust 早了 38 年),Rust 是一种较新的语言,但它的血统造就了它的多模式方法。Rust 被视为一种类似 C 的语言,但它包含的其他特性带来了相较其前辈产品的优势。 Rust 有许多特性,这些特性让它变得很有用。由于开发人员的需求各不相同,今天,我们先来学习 Rust 的 5 个关键概念,并在 Rust 源代码中展示这些概念: 通过模块实现可重用的代码 执行安全检查来获得更干净的代码 更好的错误处理 对并发性和线程的支持 对复杂数据类型(集合)的支持 即刻点击“ 阅读原文 ” 获得完整教程, 快速修炼做全能技术咖! 来源: oschina 链接: https://my.oschina.net/u/129540/blog/1797339

[开源软件]负载均衡通讯分发器(LB dispatch)

耗尽温柔 提交于 2019-11-30 05:33:31
负载均衡通讯分发器(LB dispatch) - G5 1.开发背景 今天和系统运维的老大聊天,谈到一直在用的F5,行里对其评价为价格过高、功能复杂难懂,反正印象不是很好,使用前景不明。因为以前我曾经给行里开发过一个通讯中间件,附带软实现了负载均衡,几年使用下来一直效果不错,突然想自己再软实现一个纯负载均衡通讯分发器,并开源分享给大家。 说干就干,回到家,搜了一下网上同类软件,整理技术需求 软件定义如下:基于规则的通讯分发器,匹配来源网络地址,从哪个端口进入,参照负载均衡算法转发到目标网络地址集合中的其中一个。 实现目标如下: * 支持长/短TCP,后续还会支持UDP * 与应用层协议无关,即支持HTTP,FTP,TELNET,SSH等等所有应用层协议 * 稳定高效,Linux下首选epoll(ET模式),全异步设计,也决定了目前仅支持Linux * 分发规则配置文件;也支持远程在线管理规则,以及查询状态 * 支持多种主流负载均衡算法 * 源码和可执行程序体型轻巧,概念简单,使用快捷 使用场景如下: * 通讯转发、分发 * 与无负载均衡功能的通讯软件配合实现本地连接对端的负载均衡分发,避免改造通讯软件带来的工作量和风险 * 低成本的网站前端负载均衡通讯网关 研发之前,取个好听的名字,相对于硬实现F5,就取名为软实现G5吧 ^_^ 经过5个晚上的奋笔疾书,捣鼓出v1.0.0

分享一个开源的网络游戏服务器架构—HouHai

吃可爱长大的小学妹 提交于 2019-11-30 04:58:37
HouHai是一个开源的网络游戏的服务器端架构,它使用了开源的RPC中间件Tatala。( 介绍 ) HouHai下载地址 https://github.com/zijan/HouHai 现在,源代码只是一个草案,不能编译,为网游后台开发者提供一个参考。它是社交游戏《僵尸星球》客户端与服务器端网络通信的一部分代码。 《僵尸星球》是发布在腾讯QQ空间上的一款社交游戏。 ( http://rc.qzone.qq.com/1101064313 ) 玩家可以在游戏里事实聊天和PK。客户端是基于Unity3D用C#编写。服务器端是Java。 HouHai采用最先进的非分区设计,理论上可承载的用户数是无限的,只要加足够多的机器。 等以后有时间会逐步完善这个架构,建立一个简单完整的例子。 来源: oschina 链接: https://my.oschina.net/u/1584759/blog/220517