OPTIONS 请求

问题描述

第一次跟前端H5对接,结果请求不通,交流才知道,他们先发一个 OPTIONS 请求,然后再发送真实请求,而我这边后台只对 GET 请求做了处理

说出来不怕丢人,我还真的不知道有 OPTIONS 请求,复习一下相关知识

Http Post FormData

问题描述

需要上传一张图片到我们的对象存储服务器,对方给了接口协议。

需使用 post 请求,Content-Type 为 multipart/form-data

且 key = filecontent,value 就是文件内容

H5 audio 标签

背景

没错,前端天才终于涉及了真正的前端h5页面!

需求是优化一个两年前别人写的播放器!

可是坑死我了···

audio

  • 几个重要的方法
    • play 加载并播放音频或重新播放暂停的的音频
    • pause 暂停处于播放状态的音频文件
  • 几个重要的回调
    • waiting 无法直接播放,加载
    • canplay 缓冲至目前可播放状态
    • play play()和autoplay播放时
    • timeupdate 播放时间变化
    • ended 播放结束

一个简单的播放器逻辑

  • 一个友好的用户交互

初识 Webpack 遇到的坑

概述

最近在搞 weex 工程,然后想要把我们开发的所有 weex 相关的东西集成到一个工程里面,然后可以实现组件的复用,打 bundle 的时候又需要分开编译

简而言之,就是支持多个工程分别打包,单个 vue 分别编译

虚拟内存 和 mmap

虚拟内存

  • 虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。

久违的更新之链接

一个c文件调用另一个c文件的方法,如何找到?

hello.h

#ifndef HELLO
#define HELLO
int fn_c(int x_local);
#endif

hello.c

/* 这是一个存在于程序别处的某个全局变量的声明 */
extern int z_global;

/* 这是一个函数的定义,函数参数可以认为是局部变量 */
int fn_c(int x_local)
{
    return (z_global + x_local);
}

hello_main.c

#include"hello.h"
#include<stdio.h>
int z_global = 1;
int main(int argc, char *argv[])
{
    printf("%d", fn_c(10));
    return 0;
}

Recyclerview Measure

之前写过一篇 RecyclerView 的 onMeasure 问题,但是只是看看博客,泛泛而谈,至今也没有看源码

最近遇到了一个奇怪的问题,一个 wrap_content 的 RelativeLayout 布局,放到 RecyclerView 中变成了 match_parent

Go Function Types

Function Types

A function type denotes the set of all functions with the same parameter and result types.
function 类型代表了一系列参数和返回值相同的类型

Gradle Plugin 3.0

变化

/img/in-post/gradle.png

注:compile、provided 和 apk 目前仍然可用。 不过,它们将在下一个主要版本的 Android 插件中消失

解释

  • implementation
    lib 改变时,只会编译 lib

Go Template

go 语言 Template 总结

go 语言中的 template 使用{{ }}来作为一个标识符,可以在其中插入相应的 template 支持的代码块。template 是一个模板,他所以来的数据从外部传进来。

形如:

tpl.Execute(buf, jObj.MustMap(make(map[string]interface{})))

tpl 就是我们的一个模板类,其中已经读取了我们存在本地的文件,Execute 方法传入了数据。