willkan个人页面-阿里云开发者社区

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:
  • Java
    初级

    能力说明:

    了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。

    获取记录:

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
  • 高分内容
  • 最新动态
  • 文章
  • 问答
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2019-07-17

    是否可以通过内网方式获取STS 授权的token?

    踩0 评论0
  • 回答了问题 2019-07-17

    应用配置管理ACM异常

    感觉像是网络问题,如果服务部署在ecs上可以考虑更换为内网endpoint

    image

    相关文档:https://help.aliyun.com/document_detail/64129.html?spm=a2c4g.11186623.6.572.22a82f42Qaj1z0

    踩0 评论0
  • 回答了问题 2019-07-17

    OSS的防盗链能够设置为微信一样吗?当有人外链时显示指定的图片!

    可以先用搜索引擎搜索下
    image

    官方文档里也有

    https://help.aliyun.com/document_detail/31937.html

    踩0 评论0
  • 回答了问题 2019-07-17

    blink支持维表与流表join吗?

    踩0 评论0
  • 回答了问题 2019-07-17

    前端上传图片至阿里云服务器一直不成功。

    这个报错是cors设置不正确,参考 https://help.aliyun.com/document_detail/44199.html

    踩0 评论0
  • 回答了问题 2019-07-17

    WIFI定位怎么用?

    一般是wifi定位都是基于三角定位
    三角定位示意图

    这意味者至少需要三个设备获取终端到设备的信号强度,获取到这些数据后可以经过一些转换方法大概推测出终端的位置,但是有精度限制

    参考资料:

    http://www.elecfans.com/baike/wuxian/20171120582427.html

    踩0 评论0
  • 回答了问题 2019-07-17

    阿里云RAM问题

    可以自定义权限策略,使用的是Policy结构和语法 参考 https://help.aliyun.com/document_detail/93739.html?spm=a2c4g.11186623.6.590.18b22610974VoK

    一般在各个云产品的帮助文档里有权限样例,也可以通过默认的系统权限策略结构进行微调出自己想要的权限

    踩0 评论0
  • 回答了问题 2019-07-17

    ECS使用外网地址访问同区OSS和RDS,会自动识别成内网吗?

    可以在阿里云的RDS/OSS控制台找到对应的公网/内网访问地址

    踩0 评论0
  • 回答了问题 2019-07-17

    oss 后端构造授权url,前端直接通过授权url上传文件

    踩1 评论0
  • 回答了问题 2019-07-17

    rtmp的数据源格式到底是什么协议?

    协议上面的回答已经回答过了,我说下怎么播放

    • 可以通过vlc播放器播放
    • 如果是要在浏览器播放的话可以选择两种方式:

      1. 嵌入到flash中(可以通过video.js这个库设置)
      2. 将rtmp转换为浏览器原声支持的的格式(例如HLS),再将转换后的源在浏览器中国呢播放
    踩0 评论0
  • 回答了问题 2019-07-17

    slb下的集群之间可以在内网互相访问吗

    只要在同一region内是可以通过私网slb访问的

    踩0 评论0
  • 回答了问题 2019-07-17

    PHP或者Nodejs函数运算怎么接收form上传的文件?

    可以先把文件传到oss,将上传后的文件url传给函数运算

    踩0 评论0
  • 回答了问题 2019-07-17

    OSM数据路网拓扑结构提取

    要看路网数据什么格式,例如扩展名是.shp的就应该是shapefile,对应shapefile我们可以在搜索引擎中搜索java shapefile查找相关库,例如GeoTools http://geotools.org/

    如果觉得官方文档比较难定位到相关用法,stackoverflow上也有shapefile解析的回答 https://stackoverflow.com/questions/2044876/does-anyone-know-of-a-library-in-java-that-can-parse-esri-shapefiles

    File file = new File("mayshapefile.shp");
    
    try {
      Map<String, String> connect = new HashMap();
      connect.put("url", file.toURI().toString());
    
      DataStore dataStore = DataStoreFinder.getDataStore(connect);
      String[] typeNames = dataStore.getTypeNames();
      String typeName = typeNames[0];
    
      System.out.println("Reading content " + typeName);
    
      FeatureSource featureSource = dataStore.getFeatureSource(typeName);
      FeatureCollection collection = featureSource.getFeatures();
      FeatureIterator iterator = collection.features();
    
    
      try {
        while (iterator.hasNext()) {
          Feature feature = iterator.next();
          GeometryAttribute sourceGeometry = feature.getDefaultGeometryProperty();
        }
      } finally {
        iterator.close();
      }
    
    } catch (Throwable e) {}
    踩0 评论0
  • 回答了问题 2019-07-17

    用node.js接受http请求,把数据缓存在node的栈里,可替代nosql数据库吗?

    nosql数据库也是区分使用方式,例如

    • memcache/redis是用于缓存,大部分情况下只落到内存,数据不会在磁盘上存储,所有查询都在内存完成(当然redis也有将数据落到磁盘的模式)
    • mongodb是所有数据都会落盘,内存部分只是为了加快查询速度,起缓存作用

    至于为什么使用nosql数据库,这得分很多场景,我这边只说下问题中说的数据缓存场景

    使用内存做缓存适用于比较简单的工程项目,例如 单机单进程、访问量不大、不考虑分布式、缓存策略不复杂 等等,这种情况下不引入外部依赖反而能减少运维上的负担

    但是一旦工程项目需要更健壮或者需要分布式部署之类,redis这类nosql缓存服务就发挥作用了,能提供以下几点便利:

    • 应用进程(例如nodejs)重启缓存数据不丢
    • 可以很方便设置缓存的生效时间(当然在node里用定时器实现也可以,只是要重新造轮子)
    • 轻松实现多机多进程之间共享缓存数据(例如:请求A发送到进程a中触发了缓存,当后面同样的请求A再发送到进程b时进程可以直接利用进程a写入的缓存)
    踩0 评论0
  • 回答了问题 2019-07-17

    node.js用mysql实现嵌套回复,如何做?

    多利用搜索引擎,关键字可以用node 异步处理, 可以参考 https://www.jianshu.com/p/161f1c49ab34

    对于本问题的例子关键点在于想用同步的方式(代码顺序执行)等待异步的响应,对于callback形式的异步响应,要想精确知道异步请求结束只能在外部调用传入callback,例如

    //定义函数
    function test(cb) {
       const map = {} //暂存异步响应
       for (let i = 0; i < 4; i++) { //注意这里声明是let不是var
          query("select * from t1 where id = " + i, (err, data) => {
             if (err) return cb(err)
             map[i] = data
             //判断是不是4个异步请求都结束了
             if (Object.keys(map).length === 4) {
                 return cb(null, map)
             }
          })
       }
    }
    
    //调用函数
    test((err, data) => {
       //当所有异步请求结束或者某个请求出错会进入到这个函数里
       if (err) return console.error("test failed:", err)
       console.info("test data = ", data)
    })
    踩0 评论0
  • 回答了问题 2019-07-17

    不用node.js的Buffer,如果在浏览器方式中上传字符串到OSS中?

    可以参考官方文档 https://help.aliyun.com/document_detail/64047.html?spm=a2c4g.11174283.6.965.19ed7da2tJQIQp

    let OSS = require('ali-oss');
    
    let client = new OSS({
      region: '<Your region>',
      accessKeyId: '<Your AccessKeyId>',
      accessKeySecret: '<Your AccessKeySecret>',
      bucket: 'Your bucket name'
    });
    
    async function putBlob () {
      try {
        let result = await client.put('object-key', new Blob(['content'],{ type: 'text/plain' }));
        console.log(result);
      } catch (e) {
        conosle.log(e);
      }
    }
    putBlob();
    踩1 评论0
  • 回答了问题 2019-07-17

    node.js 如何完美的从命令行接收参数所传递进来的值

    有不少优秀的命令行解析工具,可以多利用搜索引擎(优先google,次bing,最后百度),关键词可以用node.js cli module

    此外推荐个轻量级的命令行解析工具 https://github.com/substack/minimist

    踩0 评论0
  • 回答了问题 2019-07-17

    为什么使用yum安装node和npm还是低版本

    yum install安装的版本取决于yum源

    可以通过 yum --showduplicates list nodejs | expand确认有哪些版本

    如果未发现有新版本,可以更新yum源再安装

    curl --silent --location https://rpm.nodesource.com/setup_10.x | bash - #以10.x 版本为例,要9.x的话只要把该命令中10.x改为9.x就好
    yum install nodejs
    踩0 评论0
  • 回答了问题 2019-07-17

    mybatis中如果希望sql语句根据传入的参数取值变化,应该怎么处理?

    可以通过#{xxxx}或者${xxxx}设置变量

    #{xxx} 会自动做escape
    ${xxx} 只是字符串替换,有sql注入风险

    可以参考官方文档 http://www.mybatis.org/mybatis-3/dynamic-sql.html

    例子(mybatis的xml方式)

    <select id="selectOneById" resultType="Object">
      select id from test_table where id = #{id}
    </select>

    例子(mybatis的标注方式):

       @Select({
                "select id " 
                "from test_table where id = #{id}"
        })
        Object selectOneById(@Param("id") long id);
    踩0 评论0
正在加载, 请稍后...
滑动查看更多