---恢复内容开始--- 转:https://www.jianshu.com/p/38f4d1a4763b [心路历程] 最近刚好在思考工作中统计数据所用的标识码产生的数据误差到底有多大,借此机会几番搜索资料+请教大神,整理出此文. 因为自己是产品经理,所以出发点是整理知识点.理解个大概.知道什么不能用.什么标识是靠谱的,并不研究太深入.毕竟非专业开发,有时候若了解知识点太深入,反倒会更困惑(关联知识点太多).即使研究清楚了,工作中碰到和自己研究相悖的情况,也不好丢个文档告诉开发应该怎么做(除非…
在公司做数据分析的时候,发现NA端有很多ID,所有来系统的理解一下,有问题大家多指出   [心路历程] 最近刚好在思考工作中统计数据所用的标识码产生的数据误差到底有多大,借此机会几番搜索资料+请教大神,整理出此文. 因为自己是产品经理,所以出发点是整理知识点.理解个大概.知道什么不能用.什么标识是靠谱的,并不研究太深入.毕竟非专业开发,有时候若了解知识点太深入,反倒会更困惑(关联知识点太多).即使研究清楚了,工作中碰到和自己研究相悖的情况,也不好丢个文档告诉开发应该怎么做(除非很熟,但次数多了也…
我们在 浅谈Linux PCI设备驱动(一)中(以下简称 浅谈(一) )介绍了PCI的配置寄存器组,而Linux PCI初始化就是使用了这些寄存器来进行的.后面我们会举个例子来说明Linux PCI设备驱动的主要工作内容(不是全部内容),这里只做文字性的介绍而不会涉及具体代码的分析,因为要分析代码的话,基本就是对 Linux内核源代码情景分析(下册)第八章的解读,读者若想分析代码,可以参考该书的内容,我们这里就不去深入分析这些代码了. Linux PCI设备驱动代码必须扫描系统中所有的PCI总线…
IMEI: 1- 意义: 参考http://zh.wikipedia.org/zh-cn/IMEI  国际移动设备辨识码 ,共15位,和厂商,产地等有关. 2- 获取: 直接查看设备信息,设置-关于手机-状态信息-IMEI 可以通过代码  TelephoneManager getDeviceId() 方法,需要指定权限 android.permission.READ_PHONE_STATE 权限:<uses-permission android:name="android.permissi…
一 什么是rem? “font size of the root element 这是w3c的定义 也就是说是相对于根节点(html节点)的字体大小的单位. 目前主流的浏览器基本都支持rem这个单位,大部份的默认字体单位是16px. 图片摘自 http://caniuse.mojijs.com/Home/Html/item/key/rem/index.html  二 简单应用. 既然确定在各个主流浏览器都能食用的话,我们就放心大胆在移动端进行开发了. 举个例子说明 html{ font-size…
对于移动端开发来说,无可避免的就是直面各种设备不同分辨率和不同DPR(设备像素比)的问题,在此忽略其他兼容性问题的探讨. 一. 移动端开发有关于像素的概念: 1.设备像素(dp),也叫物理像素.指设备能控制显示的最小物理单位,意指显示器上一个个的点.从屏幕在工厂生产出的那天起,它上面设备像素点就固定不变了. 2.分辨率,屏幕上物理像素的数量. 3.设备独立像素(dip),又称密度无关像素.可以认为是计算机坐标系统中的一个点,这个点代表一个可以由程序使用并控制的虚拟像素.由相关系统转化为物理像素在…
作者:个推安卓开发工程师 一七 随着科技的发展,各种移动端早已成为人们日常生活中不可或缺的部分,人们使用移动端产品工作.社交.娱乐……移动端界面的流畅性已经成为影响用户体验的重要因素之一.那么你是否思考过移动端所展现的流畅画面是如何实现的呢? 本文通过对移动端View显示过程的简略分析,帮助开发者了解View渲染的逻辑,更好地优化自己的APP. 上图展示的是一个完整的页面渲染过程.通过上图,我们可以初步了解每一帧页面从代码布局的编写到展示给使用者,其背后的逻辑是如何一步一步执行的. 屏幕如何呈像…
在 PC 端,视口指的是浏览器的可视区域,其宽度和浏览器窗口的宽度保持一致.在 CSS 标准文档中,视口也被称为初始包含块,它是所有 CSS 百分比宽度推算的根源,给 CSS 布局限制了一个最大宽度. 而移动端则较为复杂,它涉及到三个视口:布局视口(Layout Viewport).视觉视口(Visual Viewport)和理想视口(Ideal Viewport). 本文主要讨论移动端中的视口. 1. 基本概念 1.1 两种像素 像素是计算机屏幕中显示特定颜色的最小区域.屏幕中的像素越多,同一…
我们通常在写移动端页面时,往往都会在html页面中加入这样一段话 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"> 可能我们只知道这三个字段的含义(视口宽度等于设备宽度,屏幕缩放为1,禁止用户缩放),但是为什么要这么写,其原理又是什么呢? 我们先看一个简单的demo吧. <!doctype html> <html la…
要弄清楚Linux PCI设备驱动,首先要明白,所谓的Linux PCI设备驱动实际包括Linux PCI设备驱动和设备本身驱动两部分.不知道读者理不理解这句话,本人觉得这句话很重要,对于PCI.USB这样的驱动来说,必须要理解这个概念,才能明白该如何看待Linux下的PCI和USB以及类似的总线型的驱动.理由也很简单,就是Linux PCI驱动是内核自带的,或者说内核帮你写好了!而我们需要完成的就是设备本身的驱动,比如网卡驱动等.当然,并不是说内核帮咱们写好了Linux PCI驱动我们什么就不…
写事件分发源码分析的时候很纠结,网上的许多博文都是先分析的View,后分析ViewGroup.因为我一开始理解的时候是按我的流程图往下走的,感觉方向很对,单是具体分析的时候总是磕磕绊绊的,老要跳到View中去分析,很多方法理解不了,但毕竟流程清楚了许多,算是有得有失吧,不多说,开始分析. 继续根据流程,先分析View的dispatchTouchEvent()方法,看源码. public boolean dispatchTouchEvent(MotionEvent event) { // If t…
上节我们大致了解了事件分发机制的内容,大概流程,这一节来分析下事件分发的源代码. 我们先来分析ViewGroup中dispatchTouchEvent()中的源码 public boolean dispatchTouchEvent(MotionEvent ev){ if (actionMasked == MotionEvent.ACTION_DOWN) { // Throw away all previous state when starting a new touch gesture. //…
今天台风‘海马’袭击深圳,全市停工.现分享一篇关于touch的文章,望指教! 原理: 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY: 当触发touchmove事件时,在获取此时手指的横坐标moveEndX和纵坐标moveEndY;最后,通过这两次获取的坐标差值来判断手指在手机屏幕上的滑动方向. 具体代码如下: $("body").on("touchstart", function(e) { e.preventDefa…
一.前言 一直以来都梦想着写几篇博客,忙于工作一直也没有抽出时间来写一下.看看大熊君.小v君等都在努力写博客,我这个不太善于言表的少年,也是在忍不住了.否则会被人家拉下更远.先简单介绍一下自己,目前我是一个前端工程师,就职于某化妆品电商,其实大家一猜就知道是哪个公司啦.就是股票跌得比较严重的公司,所以领导的火气多比较大.公司一直以来也比较忙,各种活动接踵而至,可就苦了我们这帮程序猿.废话不说,先聊聊打算写博客的内容.也希望大家关注.给我提多多意见,一起成长.一起学习. 二.关注的博客 目前比较关…
我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. 近期由于校园招聘笔试和面试等诸多忙碌时间,博客较少更新.刚刚同学带来了谷歌adsense发来的一封信件,是谷歌adsense小组寄过来的账户验证的PIN码.第一次收到越洋的平信,写篇文章来顺带分享一下自己使用谷歌adsense的体验. 谷歌adsense的优势 谷歌adsense服务,我最开始接触是在自己的域名没有备案之前,当时知道的广告联盟…
Normalize.css是一种CSS reset的替代方案.经过@necolas和@jon_neal花了几百个小时来努力研究不同浏览器的默认样式的差异,这个项目终于变成了现在这样. 我们创造normalize.css有下面这几个目的: 保护有用的浏览器默认样式而不是完全去掉它们 一般化的样式:为大部分HTML元素提供 修复浏览器自身的bug并保证各浏览器的一致性 优化CSS可用性:用一些小技巧 解释代码:用注释和详细的文档来 Normalize.css支持包括手机浏览器在内的超多浏览器,同时对…
最近一直有小伙伴私信我,问一些关于Zookeeper的知识,下边关于的Zookeeper的知识整理了一下,一起学习一下. 看完本文对于Zookeeper想深入全面了解的读者朋友们,小编这里整理了一份更加全面的zookeeper源码分析.pdf文档,需要获取的朋友们可以加入进我的Q裙来获取到! 907831724  点击群号即可立刻加入群聊! 一.ZooKeeper 基本概念 1.ZooKeeper 是什么? Zookeeper官网地址: http://zookeeper.apache.org/…
短视频SDK主要包含"视频录制"和"视频编辑"这两个核心功能. 视频录制包括:视频采集.美颜.滤镜.摄像头切换.视音频采集参数设置等功能: 视频编辑包括:视频导入.合成.特效.滤镜.字幕.贴纸.音乐.播放.导出等功能. 一.短视频SDK框架 如上图所示,短视频SDK的技术框架分为三个层级,分别为核心处理层.业务逻辑层和业务接口层: 核心处理层:负责短视频底层的技术实现,包括媒体组合.GPU数据输入.视频过渡.视频特效.视频像素.添加字幕/贴纸.图像转视频.GPU数据…
前言     相信使用过Asp.Net Core开发框架的人对自带的DI框架已经相当熟悉了,很多刚开始接触.Net Core的时候觉得不适应,主要就是因为Core默认集成它的原因.它是Asp.Net Core基础核心框架之一,对于Asp.Net Core来说DI就灵魂,已经深入到这框架的骨髓里了.对于IOC和DI,可能每个人都能说出自己的理解.IOC全称是Inversion of Control翻译成中文叫控制反转,简单的说就是把对象的控制权反转到IOC容器中,由IOC管理其生命周期.DI全称是…
本文整理自漫画:什么是ConcurrentHashMap? - 小灰的文章 - 知乎 .已获得作者授权. HashMap 在高并发下会出现链表环,从而导致程序出现死循环.高并发下避免HashMap 出问题的方法有两种.一是使用HashTable,二是使用Collections.syncronizedMap 但是这两种方法的性能都能差.因为这两个在执行读写操作时都是将整个集合加锁,导致多个线程无法同时读写集合.高并发下的HashMap出现的问题就需要ConcurrentHashMap 来解决了.…
前言 本来只是一个自己学习jQuery笔记的简单分享,没想到获得这么多人赏识.我自己也是傻呵呵的一脸迷茫,感觉到受宠若惊. 不过还是有人向批判我的文章说,这是基本知识点,完全跟jQuery源码沾不上边.说jQuery博大精深,还要我静下心来研究, 别净整些没用的.弄的我一脸懵逼,WTF?我从头到尾都没有说我讲的多高端,我连标题都写的"浅谈".就完全不能让我等菜鸟慢慢先从的简单的入手吗? 但是有位名为"萌新"三好童鞋,就做的非常好."啪"!,反手就…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一性并不理想.而通过其他硬件信息标识也因为系统版本.手机硬件等限制存在不同程度的问题. 下面收集了一些“有能力”或“有一定能力”作为设备标识的串码. DEVICE_ID Sim Serial Number ANDROID_ID Instal…
概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一性并不理想.而通过其他硬件信息标识也因为系统版本.手机硬件等限制存在不同程度的问题. 下面收集了一些“有能力”或“有一定能力”作为设备标识的串码. DEVICE_ID 这是Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且…
[转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceManager解析二进制资源文件 小看RESX资源文件的Designer.cs文件 返回目录 程序集清单资源 在程序集中嵌入资源的最简单方法是什么?那就是使用Visual Studio中的“嵌入式资源(Embedded Resource)”创建选项,相当于使用csc的”/resource”参数.具体步…
概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一性并不理想.而通过其他硬件信息标识也因为系统版本.手机硬件等限制存在不同程度的问题. 下面收集了一些“有能力”或“有一定能力”作为设备标识的串码. DEVICE_ID 这是Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且…
更新时间:2018年07月26日 09:51:36   作者:Dear.   我要评论   这篇文章主要介绍了浅谈flask源码之请求过程,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧   Flask Flask是什么? Flask是一个使用 Python 编写的轻量级 Web 应用框架, 让我们可以使用Python语言快速搭建Web服务, Flask也被称为 "microframework" ,因为它使用简单的核心, 用 extension 增加其他功能…
谁还没遇上过NoClassDefFoundError咋地--浅谈字节码生成与热部署 前言 在Java程序员的世界里,NoClassDefFoundError是一类相当令人厌恶的错误,因为这类错误通常非常隐蔽,难以调试. 通常,NoClassDefFoundError被认为是运行时类加载器无法在classpath下找不到需要的类,而该类在编译时是存在的,这就通常预示着一些很麻烦的情况,例如: 不同版本的包冲突.这是最最最常见的情况,尤其常见于用户代码需要运行于容器中,而本地容器和线上容器版本不同时…
这篇文章主要介绍了浅谈html5 video 移动端填坑记,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了html5 video 移动端填坑记,分享给大家,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <video id="video"   style="object-fit:fill"   autop…
Spring5.0源码学习系列之浅谈BeanFactory创建过程 系列文章目录 提示:Spring源码学习专栏链接 @ 目录 系列文章目录 博客前言介绍 一.获取BeanFactory主流程 二.refreshBeanFactory创建过程 知识点归纳 博客前言介绍 提示:在上一章的学习中,我们简单了解了Spring IoC容器启动初始化的主流程,不过并没有详细解释,因为代码比较复杂,没有做长篇大论,所以本文接着学习BenFactory的创建过程,学习源码建议带着疑问去学,一点点跟,时间积累之…
前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文浅谈Spring循环依赖问题,这是一个面试比较常见的问题 1.什么是循环依赖? 所谓的循环依赖就是两个以及两个以上的类互相调用依赖,形成闭环 // 类A依赖于B class A{ public B b; } // 类B依赖了C class B{ public C c; } // 类C依赖了A class C{ public A a; } 然后?看起来是很正常的,我们随便new一个类,循环依…