webkit

Any reason to prefer CefSharp over CefGlue (or vice-versa)?

我与影子孤独终老i 提交于 2020-11-30 04:34:25
问题 In the realm of providing a decent implementation of the Chromium Embedded Framework (CEF) for .Net, the two leading options appear to be CefSharp and CefGlue. They differ in approach (CefGlue uses P/Invoke to call into the CEF unmanaged code, CefSharp uses a mixed-mode C++/CLI wrapper around the CEF libraries). Is there some reason that a mixed-mode assembly is better than P/Invoke calls? All other things being equal, it seems like CefGlue (the P/Invoke lib) provides a "thinner" wrapper

AkShare-股票数据-复权后数据

橙三吉。 提交于 2020-11-29 10:52:19
作者寄语 本策略主要基于 BackTrader 来进行运行,需要了解的小伙伴可以查询相关的文档,该开源项目的文档写的很好,示例和说明丰富。 AkShare 策略示例 股票策略 BackTrader 代码 下载和安装 BackTrader from datetime import datetime import backtrader as bt import matplotlib.pyplot as plt import akshare as ak plt.rcParams[ "font.sans-serif" ] = [ "SimHei" ] plt.rcParams[ "axes.unicode_minus" ] = False stock_hfq_df = ak.stock_zh_a_daily(symbol= "sh600000" , adjust= "hfq" ) # 利用 AkShare 一行获取复权数据 class MyStrategy (bt.Strategy) : """ 主策略程序 """ params = (( "maperiod" , 20 ),) # 全局设定交易策略的参数 def __init__ (self) : """ 初始化函数 """ self.data_close = self.datas[ 0 ].close # 指定价格序列 #

Kotlin 中文博客上线!

北城余情 提交于 2020-11-27 09:59:00
Kotliner :http://www.kotliner.cn Kotlin 在国内目前引起了不少人的关注,不过整体上 Kotlin 的国内技术氛围还是要稍微差一些的。目前国内有一个 Kotlin 论坛,不过不太活跃,毕竟论坛的时代已经过去了,现在除了房地产水一下水木,找 IT 工作的水一下北邮人,技术论坛感觉已经过气了。我看到有些朋友在 Github 上面发起翻译 Kotlin 官网的项目,这个想法挺不错,不过应该知道的人不多,可能需要一些宣传;在总结了前人的经验之后,我觉得我们可以依托公众号和 QQ 群搭建一个博客,这个博客主要承担下面的功能: 同步更新官方博客中文版 同步更新 Kotlin 公众号 收录整理国内优秀的 Kotlin 资源 发现并宣传国内优秀的 Kotlin 开发者和分享者 总体上讲,做到 Kotlin 开发者的一本重要的参考手册,在目前国内资源匮乏的条件下满足 Kotlin 开发者的日常开发需求,同时也要为热衷于分享的 Kotlin 开发者提供一个展示自己的机会。 截止现在,Kotliner 已经同步完所有 Kotlin 公众号的文章,我们的下一步计划是同步 Kotlin 1.0 发布以来官方博客的部分有价值的文章,这些文章发布于正式版之后,基本上到现在还是比较有参考价值的。 如果你有兴趣加入我们,请直接回复公众号,或者加 QQ 群:162452394

uni-app 使用 iconfont 图标 自定义图标

走远了吗. 提交于 2020-11-26 08:05:02
uni-app 的uni-ui 的 Icon 图标组件,裡面的图标只是移动端常见的图标,对于一些其他需求所要显示的图标,这个是完全不够用。那么怎么办?模仿它的组件,用阿里巴巴图标矢量库的图标,自己定义一个图标组件呀。 一、uni-app 图标组件 1、组件文件m-icon里面有两个文件,一个是m-icon.css文件一个是m-icon.vue文件 2、m-icon.css 3、m-icon.vue 4、使用 上面就是uni-app 官网的例子。接下来我们就参考这个自己写一个组件。 二、新建组件 1、uni-icon ,里面有uni-icon.css 和uni-icon.vue 两个文件 uni-icon.css @font-face { font-family : uniicons ; font-weight : normal ; font-style : normal ; /* 暂时先用官网的url */ src : url('https://at.alicdn.com/t/font_1328537_gk9yl0aa13q.ttf') format('truetype') ; } .icon { font-family : uniicons ; font-size : 48upx ; font-weight : normal ; font-style : normal ;

浏览器渲染网页的流程

醉酒当歌 提交于 2020-11-23 22:47:16
浏览器渲染网页的流程(HTML CSS JS): 1.使用 HTML 创建文档对象模型(DOM) 2.使用 CSS 创建 CSS 对象模型(CSSOM) 3.基于 DOM 和 CSSOM 执行脚本(Scripts) 4.合并 DOM 和 CSSOM 形成渲染树(Render Tree) 5.使用渲染树布局(Layut)所有元素 6.渲染(Paint)所有元素 示意图: 浏览器渲染网页的流程(HTML CSS): 第一步,用HTML分析器,分析HTML元素, 构建一颗DOM树 (标记化和树构建)。 第二步,用CSS分析器,分析CSS文件和元素上的inline样式,生成页面的样式表。 第三步,将DOM树和样式表,关联起来,构建一颗Render树(这一过程又称为Attachment)。每个DOM节点都有 attach方法,接受样式信息 ,返回一个render对象(又名renderer)。这些render对象最终会被构建成一颗Render树。 第四步,有了Render树,浏览器开始布局,为每个Render树上的节点确定一个在显示屏上出现的精确坐标。 第五步,Render树和节点显示坐标都有了,就调用每个节点 paint方法,把它们绘制 出来。 webkit渲染引擎工作流程 问: 资源阻塞问题:CSS加载会不会阻塞DOM树的解析和渲染?会阻塞脚本执行吗? css加载不会阻塞DOM树的解析

安卓APP载入HTML5页面解决方式总结

送分小仙女□ 提交于 2020-11-20 08:07:12
因为H5页面在移动端的兼容性及扩展性方面体现出来的优势,又兼得APP中植入H5页面相应用的灵活性有大大的提升(如活动、游戏的更新等)。APP开发不可避免的须要载入一些H5页面。但安卓client对网页内容的排版、整理、交互等可能会出现一些不可预料的问题。本文将对安卓端载入网页写一些比較通用,可能避免问题的统一的解决方法总结。 背景 一般对前端知识有所了解的都清楚,解析网页主要是靠页面渲染引擎和JS解析引擎,前者负责取得网页的内容(HTML、XML、图象等等)、整理信息(比如加入CSS等),以及计算网页的显示方式然后会输出至显示器或打印机,后者负责网页的一些动态交互等。 安卓操作系统在前端页面载入方面针对开发人员提供了webView组件。并给予响应的API去使用。但其底层的内核在4.4曾经是webKit内核(对H5的支持还远远不够),4.4以后是chromium内核(JS解析引擎採用的便是现在最经常使用的V8引擎,对H5的支持也逐渐加大),随着安卓操作系统的不断迭代,5.0已解决通过网页打开本地文件选择器的问题。总之技术在不断的成熟,有兴趣了解细节的可參考 http://blog.csdn.net/typename/article/details/40425275 疑难杂症 近期做了个项目,里面须要在APP中载入一个叫大转盘的活动。活动页面当然是用H5写的啦

要什么 Photoshop,会这些 CSS 就够了

拟墨画扇 提交于 2020-11-19 07:23:04
标题党一时爽,一直标题党一直爽 还在上大学那会儿,我就喜欢玩 Photoshop。后来写网页的时候,由于自己太菜,好多花里胡哨的效果都得借助 Photoshop 实现,当时就特别希望 CSS 能像 Photoshop 一样处理图片。 随着对 CSS 的了解越多,我发现 CSS 有很多平时用得少(或者不会用),但非常厉害的属性。这些属性实现了很多 Photoshop 的功能,比如滤镜、混合模式。 我简单整理了一下,由于这些属性的功能十分强大,每一个属性都能单独成文,所以这里只是做一个目录。 一、渐变 Gradient 渐变在 PS 里面是一个很常用的功能,在工作中用到 CSS 渐变的场景也不少 但除了简单的线性渐变、径向渐变之外,还可以用渐变做出这样的效果: 甚至是用渐变做一个进度条: 相关文章: 《使用 CSS 渐变》 《CSS3 Gradient 渐变还能这么玩》 二、倒影 box-reflect 这个属性可以使某个 DOM 元素产生一个倒影,并且可以规定倒影的方向和距离 另外还可以给这个倒影添加一个遮罩,比如一个透明渐变: -webkit-box-reflect: below -7px linear-gradient(to bottom,transparent,rgba( 0 , 0 , 0 , 0.4 )); 相关文章: 《-webkit-box-reflect》 《CSS

css3实现背景色渐变linear-gradient()

ぐ巨炮叔叔 提交于 2020-11-18 23:54:54
用线性渐变创建图像。 如果想创建以对角线方式渐变的图像,可以使用 to top left 这样的多关键字方式来实现。 示例代码: linear-gradient(#fff, #333); linear-gradient(to bottom, #fff, #333); linear-gradient(to top, #333, #fff); linear-gradient(180deg, #fff, #333); linear-gradient(to bottom, #fff 0%, #333 100%); demo代码: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>linear-gradient()_CSS参考手册_web前端开发参考手册系列</title> <meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" /> <style> div { width: 200px; height: 100px; margin-top: 10px; border: 1px solid #ddd; } .test { background: linear-gradient(#fff,

弹性布局总结

本小妞迷上赌 提交于 2020-11-15 17:48:28
弹性布局对于移动端页面开发其实还是蛮重要的,今天来一些总结吧 Flexbox 为 display 属性赋予了一个新的值(即 box 值), flexbox的属性有很多,记录一些比较常用的属性: 用于父元素的样式: display : box ; 该属性会 将此元素及其直系子代加入弹性框模型中。(Flexbox 模型只适用于直系子代) box-orient: horizontal | vertical | inherit; 该属性定义父元素 的子元素是如何排列的。 box-pack: start | end | center | justify; 设置沿 box-orient 轴的父元素中子元素的排列方式。因此,如果 box-orient 是水平方向,则父元素的子元素是水平的排列方式,反之亦然。(表示父容器里面子容器的 水平 对齐方式--垂直排列时--定宽) box-align: start | end | center | baseline | stretch; 基本上而言是 box-pack 的同级属性。设置框的子代在框中的排列方式。如果方向是水平的,该属性就会决定垂直排列,反之亦然。(表示父容器里面子容器的 垂直 对齐方式--水平排列时--定高) 用于子元素的样式: box-flex: 0 | 任意数字; 该属性让子容器针对父容器的宽度按一定规则进行划分。 其中 box

golang | Go语言入门教程——结构体初始化与继承

ぐ巨炮叔叔 提交于 2020-11-11 21:48:37
点 击 上 方 蓝 字 ,关注并星标, 和 我 一 起 学 技 术 。 今天是 golang专题 第10篇文章,我们继续来看golang当中的面向对象部分。 在上一篇文章当中我们一起学习了怎么创建一个结构体,以及怎么给结构体定义函数,还有函数接收者的使用。今天我们来学习一下结构体本身的一些使用方法。 初始化 在golang当中 结构体初始化的方法有四种 。 new关键字 我们可以通过new关键字来创建一个结构体的实例,这种方法和其他语言比较类似,这样会得到一个 空结构体指针 ,当中 所有的字段全部填充它类型对应的零值 。比如int就对应0,float对应0.0,如果是其他结构体则对应nil。 type Point struct { x int y int } func main () { var p *Point = new (Point) fmt.Print(p) } 从这段代码当中我们可以看到,new函数 返回的是一个结构体指针 ,而不是结构体的值。一般我们很少用new关键字,而是直接通过结构体加花括号的方式来初始化。 结构体名称 相比于使用new关键字,我们更常用的是 通过结构体名称加上花括号 的方式来进行初始化。 如果我们不再花括号当中填写参数的话,那么同样会得到一个填充了零值的结构体。结构体当中的所有属性都会被赋予这个类型对应的零值。 type Point struct