分类 未分类 GIS基础科普1-坐标系与地图投影 文章作者 gaoy 发布日期 2020年5月22日 北京54坐标系 是参心坐标系 因为原点离国内太远,所以国内使用实际误差较大 西安80坐标系 是参心坐标系 换了一个大地基准面,大地原点设在陕西省泾阳县永乐镇 基准面采用的是青岛验潮站1952年到1979年确定的黄海平均海水面 也叫85高程 国家CGCS2000的坐标系原点 是整个地球的质量中心 也叫地心坐标系 参考椭球参数基本与WGS84椭球体差不多 两个坐标系的坐标精度要求不高的情况下可以直接使用 两个不同的三维空间直角坐标系之间转换时,通常使用七参数模型,需要知道7个未知参数 3个坐标的平移量 3个坐标轴的旋转角度 加上一个尺度因子K 一共七个参数 标签 BJ54, CGCS2000, GIS, WGS84, 地图, 坐标系, 墨卡托, 投影, 高斯
分类 未分类 deno的初体验-环境安装与第一个程序 文章作者 gaoy 发布日期 2020年5月12日 denoDeno 的目标是为现代程序员提供一个高效、安全的脚本环境。 它始终以单个可执行文件形态,作为分发文件,并且该可执行文件,足够运行任何 deno 程序。 给定一个 deno 程序的 URL,您应该能够用不超过 50MB 的 Deno 可执行文件,来执行它。 Deno 明确承担运行时,和包管理器的角色。它用标准的浏览器兼容协议,来加载模块:URLs。 Deno 为提供了程序访问系统的安全保证,默认情况下,它是最严格的安全沙盒。Deno 提供一套经过评审(审核)的标准模块这保证了与 Deno 的合作。windows 下安装Deno 在 OSX、Linux 和 Windows 上工作。deno 是单个二进制可执行文件。它没有外部依赖关系。deno_install提供方便的脚本,来下载和安装二进制文件。 使用 Shell: $ curl -fsSL https://deno.land/x/install/install.sh | sh 使用 PowerShell: > iwr https://deno.land/x/install/install.ps1 | iex 使用Scoop(Windows): scoop install deno 也可以通过github.com/denoland/deno/releases下载 tarball 或 zip 文件,手动安装 deno。这些包只包含一个可执行文件。您必须在 Mac 和 Linux 上,设置可执行的环境变量(PATH)。 安装完成之后初体验新建一个 helloworld.ts在里面写下 console.log("hello world"); 终端中运行 deno run .\helloworld.ts 新建一个 a.ts export const a = { name: "i am a",}; 在helloworld.ts中引入 import { a } from "./a.ts"; console.log("hello world",a.name); 注意a.ts 的后缀目前版本并不能省略,需要明确写出 先体验到这里,后续在更新 标签 deno, helloworld, javaScript, node, typeScript
分类 未分类 学习网站记录 文章作者 gaoy 发布日期 2020年4月26日 项目模板:https://github.com/gothinkster/realworld 博客:V8: https://v8.dev/ Chromium:https://blog.chromium.org/ Google:https://web.dev/blog/ React Dan:https://overreacted.io/ Chrome Manager:https://medium.com/@addyosmani Google Chrome Developer: https://jakearchibald.com/Vue: https://zhuanlan.zhihu.com/evanyou 设计模式:https://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 司徒正美:https://www.cnblogs.com/rubylouvre/Egg:https://www.yuque.com/egg Taobao: https://fed.taobao.org/blogs/?spm=taofed.homepage.header.3.7eab5ac8VeGZCx 腾讯:http://www.alloyteam.com/page/0/ 网易:https://zhuanlan.zhihu.com/musicfe 编码规范 https://github.com/ecomfe/specJavaScript权威指南pdf版 http://rjxz7.gds.name/2015/JavaScriptqwzn6.pdfgit 简易指南 http://rogerdudler.github.io/git-guide/index.zh.htmlsvn 手册 http://svnbook.red-bean.com/nightly/zh/index.html史上最全设计模式导学目录 https://blog.csdn.net/lovelion/article/details/17517213koa实战项目教程 https://github.com/ikcamp/koa2-tutorial博客工具git book http://www.chengweiyang.cn/gitbook/index.htmlvuepress https://www.vuepress.cn/ 《CSS选择器》作者 张鑫旭:https://www.zhangxinxu.com/ 木易杨前端进阶 https://muyiy.cn/blog/ 冴羽 https://github.com/mqyqingfeng/Blog cesium介绍 http://cesium.marsgis.cn/go.html?id=cesium-started Vue 相关源码地址: vue2.0 https://github.com/vuejs/vue Vue3.0 https://github.com/vuejs/vue-next Vuex https://github.com/vuejs/vuex Vue-Router https://github.com/vuejs/vue-router Nuxt https://github.com/nuxt LRU缓存机制: 介绍:https://baike.baidu.com/item/LRU LeetCode: https://leetcode-cn.com/problems/lru-cache/solution/lru-huan-cun-ji-zhi-by-leetcode/ 最佳实践: https://github.com/isaacs/node-lru-cache Canvas学习 https://827652549.github.io/CanvasStudy/ 标签 VUE, 前端, 博客, 学习, 学习资料, 开发, 记录
分类 未分类 JS 排序方法总结 文章作者 gaoy 发布日期 2020年3月22日 正序排序: function campare(value1,value2){ if(value1>value2){ return 1; }else if(value1 == value2){ return 0;}else{ return -1; }} 降序排序: function campare(value1,value2){ if(value1<value2){ return 1;}else if(value1 == value2){ return 0; }else{ return -1; }} 冒泡排序: function sort(arr) { for (let i = 0; i < arr.length – 1; i++) { for (let j = 0; j < arr.length – 1; j++) { if (arr[j] > arr[j + 1]) { let temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; }
分类 未分类 教浏览器说话 文章作者 gaoy 发布日期 2020年2月17日 function say(text, lang) { var synth = speechSynthesis; var utter = new SpeechSynthesisUtterance(text); utter.voice = synth.getVoices().find(v => v.lang === lang); synth.speak(utter) } 用法示例 say(‘你好’,’zh-CN’);
分类 未分类 angular 编译 文章作者 gaoy 发布日期 2020年1月10日 当我们开发完一个Angular应用的时候,如果有vue开发经验的,vue-cli有 npm run build 命令,一键式将资源打包成生产模式。同样,在angular的应用中,如果是angular-cli构建的项目,也有 ng build 命令,但是如果不加参数,默认是dev环境打包,所以我们在线上环境的时候,需要用 ng build –prod 命令。同样是构建,你知道 ng build –dev 与 ng build –prod 的打包区别吗? 总结下来应该有以下5点: 1、source map[map 文件] dev模式在打包的时候会生成map文件,而生产模式则不会打包。不熟悉map文件作用的这里做简单的介绍,map文件的作用就是为了在应用资源在压缩后,如果出现错误,因为是压缩的资源,变量及方法名称都经过最简化处理,所以我们很难定位,这时map文件就将发挥作用,它可以帮我们在资源文件快速定位到错误的具体行号。 source map文件帮我们快速定位线上bug。但是你不想生成source map文件的话,我们可以使用 ng build –dev -sm false。同样,如果你想在prod环境生成source map文件,则也可以将其设置为true即可。 2、extract css [css样式单独抽取] 在开发环境构建的时候,css文件是不会单独抽出来打包成css文件,而是融合在js文件中,而在生产环境则相反。 当然在开发环境build的时候,我们也可以通过 ng build –dev -ec true 来将样式文件单独抽离出来打包成css文件,只不过在prod环境默认设置成了true而已。 3、Minification and Uglification[资源压缩] 在生产环境打包的时候代码是经过压缩及beatufiy的。这里简单说下,代码压缩包括对代码的空格、换行及注释的处理,beautify处理就是将我们的代码变量及方法名、参数名经过最简化处理。这两个过程都是为了减少及压缩线上代码体积的大小。 4、Tree Shaking[去除不必要的资源] 生产环境打包模式的时候,代码是经过tree shaking处理的,而开发环境打包模式是没有的。这里讲一个概念,什么是tree shaking?打过比方,tree shaking就是相当于去除我们实际在线上没有用过到的代码。举一例子:比如我们在写代码的过程中,写了一个组件,但是我们在实际过程中没有用到这个组件,那么在实际打包过程,是不会将这个组件打包到最终的bundle里面的。tree shaking形象化来理解就是通过摇曳去除那些枯叶【没用的代码】。 5、AOT(Ahead-Of-Time) Compilation[预编译资源] 开发环境模式的编译模式是JIT编译模式,而生产环境的编译模式是AOT编译模式。这里说明下什么是AOT、JIT编译模式。AOT编译模式是指angular的模块及组件都是提前编译好的,所以当浏览器在懒加载到某个模块或组件的时候,它的响应相对来说会快些;而JIT编译模式则不会,它会相应的编译后才会出现来。当然AOT编译模式还具有其他的优势,比如减少实际的打包体积,同时如果应用本身在打包的过程如果出错的话,是会编译报错,不会打包成功。 标签 angular, build, cli, ng, npm
分类 未分类 git 自动认证失败 文章作者 gaoy 发布日期 2019年12月5日 git config –system –unset credential.helper 清楚保存的密码和用户名 然后重新尝试就会提示你输入用户名和密码了
分类 未分类 修改ionic4的目标安卓版本 文章作者 gaoy 发布日期 2019年11月12日 ionic4 有个叫 config.xml的文件 在这里加入几行就可以指定版本 <preference name="android-minSdkVersion" value="19" /> <preference name="android-targetSdkVersion" value="26" /> <preference name="android-maxSdkVersion" value="27" /> 有什么作用的话,就是可以暂时规避android的安全设置。 最新的android版本对webview的http请求要求是https,但是https有时候设置起来不太方便。 这时候除了反代之外,其实可以将android的目标版本降低,这样就可以暂时规避,但为了数据安全考虑,建议尽早上https。 参考文档: https://cordova.apache.org/docs/en/latest/config_ref/ 标签 android, cordova, http, https, ionic4, sdk, webview
分类 未分类 html 内嵌到ios的环境下的缩放异常 文章作者 gaoy 发布日期 2019年10月31日 尝试<head> 中加入 <meta name=”viewport” content=”viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no”> 标签 html, ios, 内嵌
分类 未分类 valueof() toString() 的区别与共同点 文章作者 gaoy 发布日期 2019年8月6日 共同点:在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用。 不同点:二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。 前提是:返回的是基本形式,否则调用另一个来转换! 标签 es6, javaScript, toString(), valueof()