科技新闻

微信素材管理接口

南笙酒味 提交于 2020-03-07 21:38:01
##素材管理接口 回复图片消息 回复语音消息 回复视频消息 回复音乐消息 在回复这些是需要媒体需要这个选项 <MediaId><![CDATA[media_id]]></MediaId> 此选项通过素材管理接口上传多媒体文件,得到 上传多媒体文件 公众号可调用本接口来上传图片、语音、视频等文件到微信服务器,上传后服务器会返回对应的media_id,公众号此后可根据该media_id来获取多媒体。请注意,media_id是可复用的,调用该接口需http协议。 通常,文件上传是通过html表单进行的,但通过CURL可以不经过浏览器,直接在服务器端进行表单的POST提交,完成文件上传功能。 需要注意的是:文件名必须是完整绝对路径,另外需要绝对路径前加上“@”以示区分。 在Windows服务器上,格式示例为:”@F:\israel\upload\winter.jpg”, 而在Linux服务器上,格式示例为:”@home/israel/upload/winter.jpg”。 上传接口 http请求方式: POST/FORM http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE 参数说明 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图

Rabbitmq之Memory

自作多情 提交于 2020-03-07 19:56:30
默认内存阈值设置为 已安装RAM的40% ;默认情况下,当RabbitMQ服务器使用超过40%的已安装RAM时, 它会引发内存警报并阻止所有正在发布消息的连接 。一旦内存警报清除(例如,由于 服务器将消息分页到磁盘或将其传递给仅消耗的客户端 ),正常服务将恢复。 1.临时修改占用内存比例 示例: #rabbitmqctl set_vm_memory_high_watermark 0.6 2.永久修改占用内存 示例: 在rabbitmq配置文件中修改vm_memory_high_watermark配置项;但是rabbitmq不提供主配置文件,需要自己编写; 编写文件如下: #vi rabbitmq.config 来源: https://www.cnblogs.com/llwxhn/p/12436238.html

基于Chrome的扩展开发(一)

。_饼干妹妹 提交于 2020-03-07 19:22:58
Google终于放出了Chrome的第一个扩展示例,虽然还十分简陋,但对喜欢扩展的firefox粉丝来说可说是个大好消息。 准备工作:你需要使用a recent developer build 或者Google Chrome 2.0 beta. 1)首先创建一个文件夹,例如c:"myextension,在这个目录下创建一个文本文件,命名为manifest.json,在其中放入下面几句: { "format_version": 1, "id": "00123456789ABCDEF0123456789ABCDEF0123456", "version": "1.0", "name": "My First Extension", "description": "The first extension that I made." } 其中各个参数含义如下: format_version(必需的):向Chrome指明扩展所使用的清单格式版本。目前只有一个格式版本,因此设为1. id(必需的):扩展的ID号(唯一的)。目前可以设为任何40个十进制数字,将来会改为扩展的公钥的SHA-1的哈希值。 version(必需的):扩展的版本号。可以使用任意点分格式的数字串 name(必需的):扩展的名称。 description(可选的):扩展的描述信息 2)在目录下加入一个hello_world

浏览器执行js原理

和自甴很熟 提交于 2020-03-07 18:45:00
在js任务循环机制中,为什么会有宏任务与微任务之分? 是不是大都数前端开发者都会有这样的疑惑,确实,我自己在开发的过程中每次碰到promise,setTimeout,requestAnimationFrame都会去想,在这个执行的过程中到底发生了什么? 解析: 在前端执行一系列任务的时候,渲染进程会创建一个消息队列,在这个消息队列里存放着待执行的任务函数,按照先进先出的原则,依次执行任务函数。因此只要消息队列里有任务,JS执行主线程就会不断的执行消息队列里的任务。这便是js单线程执行js代码的简单原理,当然涉及的深的话,应该还要有IO线程,专门处理新加进来的任务,以及其它进程过来的任务。 但是js执行过程作为一个单线程的执行过程,其实是有缺点的。上面说过了,消息队列是“先进先出”的属性,也就是说放入队列中的任务,需要等待前面的任务被执行完,才会被执行。鉴于这个属性,那js是如何处理高优先级的任务? js是如何处理高优先级的任务? 比如一个典型的场景,DOM节点的变化,增、删,改,如果页面上的一个输入框状态需要实时的映射到页面上。一个通用的设计的是,利用 JavaScript 设计一套监听接口,当变化发生时,渲染引擎同步调用这些接口,这是一个典型的观察者模式,即给这个输入框添加一个变化事件的监听。 但是这个模式有一个问题,就是如果当前的DOM变化非常的频繁,都去执行js任务的话

Autorelease Pool

百般思念 提交于 2020-03-07 18:38:17
前言 之前有写过一篇关于AutoreleasePool的理解的总结,总觉的不够深入,所以重起一篇。本篇从阅读官方文档和autorelasepool的源码入手来记录。 Autorelease Pool 什么是autorelease pool 从官方文档中的解释,autorelease pool存储着一些对象,当向pool发送drain消息时会向池中全部对象发送release消息。 autorelease pool的创建和池内对象的释放时机 应用程序在每次事件循环(event loop)的开始,自动在主线程上创建一个自动释放池,并在每次事件循环(event loop)结束时向池内对象发送release消息进行释放。手动创建的autorelease pool中的对象在block外被释放掉。 autorelease pool 与 thread 当你通过NSThread另外开辟的子线程时,你需要自己创建一个autorelease pool。子线程默认是没有自动释放池的。但是使用GCD开辟的线程会自动创建pool。 autorelease pool的结构 我们都知道在iOS开发中,main函数作为程序的入口,包含了一个@autoreleasepool,我们通过clang重新编译一下会发现main函数的实现变成了下图的样子 @autoreleasepool被转成了一个_

一篇文章,让你看懂 Spring Cloud

戏子无情 提交于 2020-03-07 17:46:58
Spring Cloud Spring Boot 让我们从繁琐的配置文件中解脱了出来,而 Spring Cloud,它我们提供了一整套的微服务解决方案,大大的降低了微服务开发的门槛,同时也减少了开发成本。 Spring Cloud 的组成 Spring Cloud 并不是特指某个框架,它其实是一系列成熟框架的组合,通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。 我们知道,在微服务开发中,以下的基础设施是很有必要的: 服务治理 配置管理中心 网关 服务容错 服务消费者 消息中间件 分布式服务追踪 安全 微服务测试 以下是 Spring Cloud 体系所包含的框架示意图: 基础组件介绍 服务注册与发现 服务注册与发现是 Spring Cloud 中最核心的组件之一,整个系统中所有的服务都可以注册到注册中心,然后由注册中心进行统一调度,方便后续的水平扩展以及故障转移等。Spring Cloud 体系中的注册中心有很多的实现方式(参考上图),后续教程会一一介绍。 配置中心 随着服务的不断增多,同时每个服务也会有多个环境(开发环境、测试环境、生产环境等),每个环境的配置文件又会有所不同,但是其中又有许多配置是可以共用的,如果每个服务自己去管理这些配置,会给维护带来很大的麻烦,这时候

30分钟学会Objective-C

流过昼夜 提交于 2020-03-07 17:36:28
什么是Objective-C Objective-C,简称OC,是一种通用、高级、面向对象的编程语言。它扩展了标准的ANSI C编程语言, 将Smalltalk式的消息传递机制加入到ANSI C中。当前主要支持的编译器有GCC和Clang(采用LLVM作为后端)。 Objective-C的商标权属于苹果公司,苹果公司也是这个编程语言的主要开发者。 苹果在开发NeXTSTEP操作系统时使用了Objective-C,之后被OS X和iOS继承下来。 现在Objective-C与Swift是OS X和iOS操作系统、及与其相关的API、Cocoa和Cocoa Touch的主要编程语言。 Objective-C是C语言的严格超集。这意味着任何C语言程序不经修改就可以直接通过Objective-C编译器, 在Objective-C中使用C语言代码也是完全合法的。Objective-C被描述为盖在C语言上的薄薄一层, 因为Objective-C的原意就是在C语言主体上加入面向对象的特性。OC项目中常用的拓展名如下: 扩展名 内容类型 .h 头文件。头文件包含类,类型,函数和常数的声明。 .m 源代码文件。这是典型的源代码文件扩展名,可以包含 Objective-C 和 C 代码。 .mm 源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码

全新的Windows Phone 8开发资源汇总

孤街浪徒 提交于 2020-03-07 11:55:12
MS Bulid 2012大会已经拉开帷幕了!早上起来刷微博,都是关于Windows Phone 8发布的消息。 我想把目前找到的关于Windows Phone 8最新的开发资源汇总一下分享给大家。 Windows Phone SDK 8.0 下载地址: http://www.microsoft.com/zh-cn/download/details.aspx?id=35471 ; 注意:推荐大家下载ISO文件,大家可以将下面这个链接直接拷贝到下载工具直接下载,ISO文件大约1.6G; http://download.microsoft.com/download/F/5/6/F56AD199-EF12-43C7-8551-C095394D3B32/fulltril30/iso/wpsdkv80_chs1.iso 操作系统要求: 1.Windows 8 64位(x64); PS:因此想开发Windows Phone 8的只能在本机或虚拟机中安装Windows 8了。 硬件要求: 1.最少4G的可用硬盘空间; 2.最少4G RAM; 3.64位 CPU; PS:内存要求4G,有点狠啊!对于大多数的2G笔记本,最好加内存了。。。。。 Windows Phone 8 模拟器: 1.Windows 8 Pro版本或更高版本; 2.要求支持二级地址转换(SLAT)的处理器;

程序猿“一键续命”秘笈

耗尽温柔 提交于 2020-03-07 11:07:44
“程序员小哥哥,可以麻烦您个事吗(满怀期待的眼神)?” 3分钟没有回复的话,那么程序员小哥哥一定是在编程; 1小时之后,还没有回复,那么程序员哥哥一定还在编程; 1天之后消息依然没有提醒,那么程序员哥哥一定还在写代码…… 假设生活欺骗了你, 就去问问程序员为什么编程 假设工作让你心情宕机, 就去问问程序员BUG改完了吗 程序员大概是被我们调侃最多的职业了,但其实程序员对工作的要求正如他们对生活品质的要求:枸杞红枣保温杯,捏脚捶背样样全,一周一次大保健,20岁还是壮小伙,25岁已成油腻男。抵不住写代码的辛苦。收入是越高,可是头发越少,想来他们一定是因为压力山大,才发际线渐渐消失的吧~ 来讲述一个在深圳的程序老鸟的故事。 大城市普遍的现象就是较高的物价,高消费、高房租,谈了个女朋友连商场都不敢去逛(穷),几个月不出门宅在家里找工作。现在工作难找啊,大公司看资历竞争也大,一不小心就给淘汰了,小公司工作压力大啊,对程序猿更是早秃的直升机。 好不容易进了一家各方面都满意的公司,想着我应该是稳定下来了,现在就是努力工作提高业绩,一步步的往上爬。一段时间后,对公司的任务也算是得心应手,公司也器重我不断的加大工作难度,可工资是迟迟不上涨,我决定跟老板理论,可他给我来了个“帽子戏法”,之后我便跳槽到另一家公司。 第一次跳槽就让我尝到了甜头——我的工资翻倍了,之后又因为种种原因我陷入不断跳槽的深渊中

MFC的消息机制

橙三吉。 提交于 2020-03-07 08:56:29
  众所周知,windows是基于消息驱动的,作好消息处理是WINDOWS编程的关键任务之一,用VC制作WINDOWS程式同样离不开消息的处理。这就要求我们对 VC中消息的处理有一个比较清淅的认识。只有这样才可能在必要的时候亲自动手完成一些复杂的消息映射处理。   在MFC中消息是通过一种的消息映射机制来处理的。其实质是一张消息及其处理函数的一一对应表以及分析处理这张表的应用框架内部的一些程序代码.这样的好处是可以避免像早期的SDK编程一样需要罗列一大堆的CASE语句来处理各种消息。由于不同种类的消息其处理方法是不同的,所以我们有必要先弄清楚 WINDOWS消息的种类。    WINDOWS 消息的种类:   1、标准WINDOWS消息:这类消息是以WM_为前缀,不过WM_COMMAND例外。 例如: WM_MOVE、WM_QUIT等。   2、命令消息:命令消息以WM_COMMAND为消息名。在消息中含有命令的标志符ID,以区分具体的命令。由菜单,工具栏等命令接口对象产生。   3、控件通知消息:控件通知消息也是以WM_COMMAND为消息名。由编辑框、列表框和子窗口发送给父窗口的通知消息。在消息中包含控件通知码,以区分具体控件的通知消息。   其中从CWnd派生的类可以接受上面的三种消息,从CCmdTarget派生的类能够接收命令消息