许久没有更新遥感类软件开发了,都有点生疏了,这一次我带来了一个老的算法,新的东西, 为什么这么说呢,我们知道Landat8.Landsat5等影像,单个影像去做温度反演,并没有什么太大的难度, 但是呢,如果遇到大批量.多源的数据怎么办呢,如果一景景去调参.去设计模型,那就是在太浪费时间了,我看过市面上面所有的同类温度反演软件,几乎没有人做到全自动Landat系列的温度反演, 但是规划类的业务应用需求,往往需要大尺度范围的高精度温度反演结果,这就有点尴尬了,源于这个需求,我开发了市面上第一个全自动…
国内研究landsat8温度反演的人员很多,但是现有算法一般都是一景为例子,进行开展. 这有一个局限性,当研究的尺度很大时,就需要比较大的运算量了,例如全省温度,全国温度,全球温度,当然大家可能会说,可以用modis数据进行,我们当然不用modis,我用Landsat做中高尺度温度反演,我目前基于单通道算法,做出了全国中高分辨率的温度产品,目前来说,效果还是不错的,跟大气传输方法进行了对比,精度控制在1摄氏度以内. 我选择2017年进行实验,GEE总共运算了4759景Landsat影像,耗时大概…
The pragmatic programmers 一直在工作之余读些书,之前主要是纯英文版的计算机相关的算法,编译器,数学等,想通过读这些书来提高自己每日工作效能,结果收效甚微.一是,因为纯英文的书,阅读的慢,第二,也是最重要的一点,发现掌握的很慢,思前想后感觉可能是和工作的内容距离较远,两者不能互相辅助,第三,不能直接的回馈工作本身. 索性就换一换类型,最先入手的,是<agile software development-principles, patterns, and practices…
如果原来从事Windows软件开发,想跨足或转换至Mac OS X环境,需要知道那些东西?有什么知识技能可以快速运用在Mac OS X环境上的?这两个问题应该是Windows开发者进入Mac OS X环境最关心的问题.本文假设读者以往采用微软的开发工具,并以C/C++/C#的任一种组合作为开发语言. 大体说来,Windows和Mac OS X都是为桌面应用环境.图形用户接口(GUI)而设计的操作系统.虽然不同平台细节各有特色,但两者相近的抽象概念,其实远远多于相左之处.本文试图指出方向上明显的异…
一. Java 基础部分......................................................................................................21.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.....22.Java 有没有 goto?......................................................................…
第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Windows程序员的事实). 操作系统 API.操作系统发展到今日,几乎桌面应用的所有功能,都是基于系统API构建的.调用API和语言及技术无关,哪怕是使用汇编.例如(代码来源于网络,本地重新编译): ;我的第一个win32汇编程序 ;一个经典的hello world !程序 ;>>>>&…
敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同,相对于"非敏捷",更强调程序员团队与业务专家之间的紧密协作.面对面的沟通(认为比书面的文档更有效).频繁交付新的软件版本.紧凑而自我组织型的团队.能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中"人"的作用. 本文将介绍敏捷软件开发的历史背景与发展,…
Atitit.软件开发的三层结构isv金字塔模型 第一层,Implements 层,着重与功能的实现.. 第二次,spec层,理论层,设计规范,接口,等.流程.方法论 顶层,val层,价值观层,原则,法则,定律等. 这一建构应从界定内涵出发,从器物.制度和意识形式三个层面厘定其表征:并结合发展轨迹,通过比较,探索.建构有利于“本土”文化,必须着力追寻能推动这一文化特质生成的进路,并以发挥其实践功效为归宿点和落脚点. 作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名:…
1221: [HNOI2001] 软件开发 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1428  Solved: 791[Submit][Status][Discuss] Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员每天提供一块消毒毛巾,这种消毒毛巾使用一天后必须再做消毒处理后才能使用.消…
在这章里面,提到的隐喻,类同于比喻(建模)的方法的去理解软件开发. 隐喻的优点在于其可预期的效果能被所有人所理解.不必要的沟通和误解也因此大为减低,学习与教授更为快速,实际上,隐喻是对概念进行内在化和抽象的一种途径,它让人们更高的层面上思考问题,从而避免低层次的错误. -- Femando J.Corbato 如何使用软件终端饿隐喻? 用来提高对编程问题和编程过程的洞察力 用来帮助思考编程过程中的活动,想象出更好地做事情的方法 要点: 隐喻是启示而不是算法,因此它们往往有一点随意(sloppy)…
原文作者:kkun 原文地址:http://www.cnblogs.com/kkun/archive/2011/07/06/agile_software_development.html 敏捷是什么 敏捷开发是一种软件开发方法,基于迭代和增量开发,通过自组织,跨团队,沟通协作完成开发工作. 敏捷宣言的诞生 2001年2月11日到13日,17位软件开发领域的领军人物聚集在美国犹他州的滑雪胜地雪鸟(SnowBird)雪场.经过两天的讨论,“敏捷”(Agile)这个词为全体聚会者所接受,用以概括一套全…
偶然间翻出了几年前写的一个小程序,把当时的资料整理整理分享一下. 当时为了给自己的软件实现多国语言功能,而开发的辅助工具:SE String Resource. 这是当时基于自己另一款 IDE 软件抽取的框架而开发的,并不是很复杂. 以下资料根据当时的记录整理,难免错漏,请见谅. SE String Resource 是一款辅助多国语言软件开发的实用工具,根本目的在于通过生成接口来约束不同语言资源的实现,使开发人员可以基于接口调用资源,多语言开发时不但对语言资源的可控性好,并且省时省力.除此之外…
Atitit.软件开发的几大规则,法则,与原则Principle  v31.1. 修改历史22. 设计模式六大原则22.1. 设计模式六大原则(1):单一职责原则22.2. 设计模式六大原则(2):里氏替换原则22.3. 设计模式六大原则(3):依赖倒置原则22.4. 设计模式六大原则(4):接口隔离原则22.5. 设计模式六大原则(5):迪米特法则22.6. 设计模式六大原则(6):开闭原则23. S.O.L.I.D原则(oo fp)33.1. Single Responsibility Pr…
Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义 首先我们指明,任何一种行动以及教派修行方法都有他的多元化,只看到某一方面,就不能很好的评估利弊,适不适合自己使用,犹如盲人摸象,虽然都对,但是并不完整 1. 瓦哈比教派的核心思想1 1.1. 归一化,反对多神..反对邪教与不良的 修炼方式1 1.2. 规范化,标准化最佳实践 圣训立国,依法治国1 1.3. 主张整肃社会风尚,净化人们的"心灵1 1.4. 倡导团结,团队建设1 1.5. 回归传统,轻量化1 2…
生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了. 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种方…
软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以及编写.提交程序.1需求调研分析 ●相关系统分析员和用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面. ●系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出…
最近建了一个.NET软件开发资源的360网盘共享群,把收集的一些.NET软件开发资源分享给大家,也欢迎大家把好的东东分享一下. 资源主要有:开发工具.控件资源.书籍教程.网页设计.源码资源几大类,也希望大家上传的时候按照分类上传到指定文件夹. 感谢大家一起分享爱!!! 欢迎大家加入360共享群:.NET软件开发资源 邀请链接:http://qun.yunpan.360.cn/12183107 邀请码:0247 我们的口号就是:“人人为我,我为人人!!!” 友情提示:每天签到可以增加群共享空间哦!…
软件开发过程(process) 是一个将用户需求转化为软件系统所需要的活动的集合. 软件生命周期(SDLC,Software Devlopment Life Cycle) 软件从孕育.诞生.成长.成熟.衰亡等阶段称为软件生命周期. 早期系统开发的生命周期以结构化的方法具体分成了六个阶段:问题的定义及规划.需求分析.软件设计.程序编码.软件测试.运行维护. 而随着面向对象方法和统一软件开发过程(RUP)方法论的提出,出现统一过程的生命周期,在统一过程中以迭代的方式重复一些列组成系统生命周期的循环,…
UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准,它是一种图形化.可视化的语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置. UML是一种建模语言,而不是一个开发过程. UML统一了各种方法对不同类型的系统.不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异.它实际上是一种通用…
本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 1.列表生成式,迭代器&生成器 列表生成 >>> a = [i+1 for i in range(10)] >>> a [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访…
Psp个人软件开发软件需求分析和用例分析 一.需求分析 1.业务需求 1.1 应用背景 开发项目进度计划总是那么不明确,延期经常出现,甚至无法给出一个相对比较明确的延迟时间.这样给市场的推广会带来很大的影响,不确定因素使得应对十分困难. 1.2 业务机遇 PSP是个人软件开发过程,通过PSP的贯彻,可以提高软件开发人员的时间安排.时间估算的能力. 1.3 业务目标 业务目标的例子如下: BO-1:在第一版应用之后1个月之内,个人的开发效率提高. BO-2:在第一版应用之后3个月之内,整个开发团队…
Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android等系统平台的软件,windows桌面工具软件.管理软件.游戏界面;  linux系统桌面工具软件.管理软件.游戏界面; Mac OSX系统上桌面工具软件.管理软件.游戏界面:安卓系统的APP软件.2D游戏:iOS系统上的APP软件.2D游戏. 感兴趣的朋友请搜索知乎上的Lae软件开发平台介绍,或加入…
敏捷软件开发 VS. 传统软件工程 软件工程这一术语1968年被提出,之后美国软件工程专家巴利·玻姆对十多年间研究软件工程的专家学者们提出的一些准则与信条,于1983年对提出软件工程的七条基本定理,将软件工程这一学科具体化,软件工程中开发与管理软件的方法也不断完备.而敏捷软件开发于2001年由Kent Beck和其他16位知名软件开发者提出,敏捷开发是人们对于传统软件开发方式的一种提出的新的挑战.本文将具体介绍软件传统工程与敏捷软件开发两种方法,并对两者进行对比分析. 一.传统软件工程 软件工程…
摘要 本文介绍了传统软件开发(着重介绍了传统软件开发中常用的瀑布模型)和敏捷软件开发,以及敏捷开发和传统开发的对比. 一.传统软件开发 比较常用的几种传统软件开发方法:瀑布式开发.迭代式开发.螺旋开发作了对比分析. 瀑布式开发:1970年Winston Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模式,瀑布模型将软件生命周期划分为制定计划.需求分析.软件设计.程序编写.软件测试和运行维护等六个基本活动,并且规定了它们自上而下.相互链接的固定次序…
1.TEMPLATE METHOD 泛型,也就是这个模式,是可以基于泛型的. 我们往往会有一些算法,比如排序算法.它的算法部分,我可以把它放在一个基类里面,这样具体类型的比较可以放在子类里面. 看如下冒泡排序算法: package com.joyfulmath.agileexample.template.method; /** * @author deman.lu * @version on 2016-06-09 10:04 */ public abstract class BubbleSort…
今天,我们上<统一建模语言UML>.课上老师给我们讲解了软件开发与UML之间的关系:UML常用于建立软件系统的模型,适用于系统开发的不同阶段.UML的应用贯穿于系统开发的不同阶段.1.需求分析.可以使用用例来捕获用户的需求.用例图从用户的角度来描述系统的功能.通过用例建模,描述对系统感兴趣的外部角色及其对系统的功能需求.2.系统分析.分析阶段主要关心问题域中的主要概念,如对象,类等.需要识别这些类以及它们之间的关系,并用类图来描述系统的静态结构.为了实现用例,对象之间需要协作,可以用动态模型的…
简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技.TCL通讯科技.通力电子等四家上市公司.形成多媒体.通讯.家电和部品四大产业集团,以及房地产及投资业务群,物流及服务业务群. 笔试 笔试主要由两部分组成 性格测试,网申完后就会发邮件到你的邮箱要求你进行性格测试 专业测试,性格测试后的一两天就会要求你上完进行专业方面的测试,考得相对比较基础,主要考…
软件开发中的完成测试环境所包括的环节包括:UT.IT.ST.UAT UT = Unit Test 单元测试 IT = System Integration Test 集成测试ST = System Test 系统测试 UAT = User Acceptance Test 用户接受测试(俗称:验收测试) UT(单元测试,Unit Test):    单元测试任务包括:        1.模块接口测试:        2.模块局部数据结构测试:        3.模块边界条件测试:        4…
近些年,互联网创业火得不得了!一时间,满世界都在招做App软件开发的专业人员.从大众角度来看,学编程,写代码,是一件非常困难的事情.但是,App开发人员的工资那么诱人,让很多小白也跃跃欲试想学一下.那么,一个编程小白如何入门App软件开发领域呢?如何快速掌握App开发技术呢? 如今的程序员世界,已经博大精深,就像小说中的功夫派别一样,各种门派如百家争鸣,新入门其中,感觉就是一个,这么多我选择什么呢?各种程序类型,各种开发环境,各种框架.结构,绝对让人眼花缭乱.这个时候对于很多新手来说,如何选择是…
App软件开发其实并不复杂,完整的在线App开发不过9个步骤,一看就明白到底是怎么回事. 第一步:需求评估 在App项目正式启动前,客户应该对自己的需求进行评估,确认项目的开发周期和成本.登录APICloud定制平台,3分钟提交App需求,由专业客服一对一梳理并形成评估报告.前期需要专业客服和项目监理与客户充分沟通,了解客户要开发APP的类型.平台.功能.产品设计的需求.时长.预算等等,只有了解客户的详细需求才能做出开发方案. 第二步:官方签约   确认App软件项目的开发需求后,与APIClo…