Shadow

微信“拍一拍”功能是产品经理拍脑子想出来的吗?

喜欢而已 提交于 2020-08-11 16:36:46
这两天,你被“拍一拍”了吗? 近日,微信上线了一个新功能“拍一拍”,只要在聊天界面双击别人的头像,对方头像就会抖动,并在聊天界面出现“×××拍了×××”的灰色小字。 甚至还可以拍一拍自己。 刚一出现,就被广大网友玩坏了。 甚至各个沉寂已久的微信群都开始了“拍一拍” 打开微信,仿佛大家在搞什么“仪式”。 虽然欢乐多多,但还是有网友指出这种功能只是图个一时新鲜才会去玩一玩,实际上并没有什么作用。还不如推出删除聊天框不删除消息记录这样实用的功能更令人喜大普奔。 上述这些问题是大家“积怨已久”的,如果实现双向删除好友、可发一分钟以上视频对某些用户来讲肯定会提高使用满意度。 话说回来,微信团队毕竟在做运营,用户的需求与反馈是落实项目的重中之重。但众口难调,一个功能的推出肯定不会让所有人都满意。 “拍一拍”或许真的不只是一时新鲜。首先在刚推出大家就对“拍一拍”十分感兴趣;并且在使用过程中仿佛就是面对面拍了拍对方的肩膀,亲昵度upupup! 没准“拍一拍”也会是一个不错的找话题神器呢!(可能这才是最实用的一点,不是) 不要再死鸭子嘴硬了,亲爱的胖友们,“拍一拍”确实满足了我们某些方面的需求。 其实,每推出一个功能的投入也是很大的,尤其对微信这种体量如此之大的应用。 难道微信团队只是为了博大家一乐才推出“拍一拍”这个功能吗? 显然不是的。 广大网友或许没有注意

一文理清Oracle数据库管理系统体系结构

大城市里の小女人 提交于 2020-08-11 15:55:44
本文主要介绍Oracle数据库管理系统的基本轮廓和程序模块结构、实例概念和组织、进程结构和功能、内存结构和用途,数据字典结构和使用、进程配置和管理、运行模式、程序接口、事务管理。 一、基本轮廓和程序模块结构 Oracle基本轮廓 Oracle数据库管理系统体系结构 Oracle 数据库系统体系结构 启动实例(分配SGA、启动ORACLE进程)。 实例装配数据库(装配时实例查询控制文件:mount)。 数据库准备打开(打开前,数据库为关闭状态,只有DBA可存取)。 数据库打开(打开后,授权的用户可以存取数据库)。 关闭数据库(先卸载数据库,后关闭实例:unmount)。 2)权限: DBA可以启动实例和打开数据库。 3)多实例: 多个实例可同时在一台计算机上运行,每个实例存取自己的物理数据库;大规模并行处理系统(MPP)中,ORACLE并行服务器(OPS)允许多个实例装配单个数据库。 三、进程结构 进程: 具有一定独立功能的程序对某个数据集合的一次运行活动。又称作业或任务,每个进程有其专用内存区。 关系: 进程是程序的执行实例,线程是进程内部的一个执行单元—函数或类对象,每个进程至少有一个线程—主执行线程,线程间通信比进程间通信容易得多,UNIX无线程概念。 ORACLE进程: 负责执行客户端和服务器端代码。 ORACLE实例: 单进程实例和多进程实例。 1、单进程ORACLE实例

突破大小“屏”壁,互联体验升级,全面解读华为Cast+Kit

天大地大妈咪最大 提交于 2020-08-11 15:08:45
  伴随移动终端与通信技术的迅猛发展,手机拥有广阔多元的应用生态,成为我们身边最重要的智能设备。而大屏电视则以大视野和震撼影音,弥补了手里方寸带来的视觉局限。   在手机拥有延伸刚需的大环境下,无线投屏正在逐渐成为观看移动终端内容的主流观看方式,并在影音娱乐、远程教育、在线办公等方面扮演不可或缺的角色。    作为华为EMUI分布式技术的核心能力之一——华为Cast+Kit揉合了大小屏两种设备的强项,实力担当起双系统间的连接纽带,使流媒体在各终端完成无缝流转。   能力上线后,便陆续与国内外各大品牌展开合作,目前长虹D5P/Q7、康佳R3/A5、极米Z8X/Z6X等系列电视和投影仪上都已搭载华为Cast+Kit陆续启动发货。   华为Cast+Kit 合作整体流程 自研超简通信机制 解决流畅与清晰的“跷跷板”难题   在使用投屏的过程中,我们常常遇到由于同网络里的使用的设备多,WiFi环境容易受干扰不稳定,从而导致丢包引起卡顿与花屏的情况发生。而业界在解决这些问题时也会遇到需要牺牲流畅度或清晰度其中一方的困扰,“鱼和熊掌不兼得,流畅清晰难两全”。   华为Cast+Kit基于华为自研流媒体通讯与传输协议,经过3年打磨与迭代,在流媒体的传输层面重新做了算法设计,从而拥有强力抗干扰实力,在面对25%丢包率依然可以最大限度减少卡顿,保障了数据的稳定传输。  

别让算法和数据结构拖你职业生涯的后腿

拈花ヽ惹草 提交于 2020-08-11 14:51:37
  IT行业一直流传着一句名言,“程序设计=算法+数据结构”,这是瑞士计算机科学家Niklaus Wirth于1976年出版的一本书的书名,那么数据结构与算法在程序开发中的重要性也就不言而喻了。还记得刚上大学开始学习数据结构的时候,偶然听到一位编程大佬说数据结构其实是计算机专业基础课里最难的一门,我内心是不认可的,然而后来接触更深入时我才发现是我太年轻,并且也没有意识到它的重要性。   如果说你要修一座房子,那么数据结构就是你的地基,地基不稳,如何建造高楼大厦?数据结构的一般定义是指相互之间存在着一种或多种关系的数据元素的集合,以及该集合中数据元素之间的关系组成。人可以随心所欲的交换这些数据元素,或者查找某个元素,机器可不会,机器需要你明确的指令,那么你所使用的数据结构类型以及算法的设计,就是最为关键的部分。   提到算法,算法是程序的抽象逻辑,是解决某类客观问题的数学过程,数据结构与算法是不可分割的一家人,数据结构解决了数据存储问题,而算法对数据进行处理与分析,听起来虽然是不同的学科,但它们可谓是相辅相成、互利共赢吧。在任何开发过程你都无法避免数据结构与算法,可能你想说现在开发不都是利用已封装好的类库、接口来翻译业务逻辑就好了,这的确是一个非常便捷高效的方法,然而很多第三方框架内部都用到了大量的数据结构与算法的知识,你如何高效的去利用好第三方框架

面试必问之jvm

与世无争的帅哥 提交于 2020-08-11 14:36:50
问题1 说一下jvm内存模型 问题1.1 jvm内存模型 栈区: 栈分为java虚拟机栈和本地方法栈 重点是Java虚拟机栈,它是线程私有的,生命周期与线程相同。 每个方法执行都会创建一个栈帧,用于存放局部变量表,操作栈,动态链接,方法出口等。每个方法从被调用,直到被执行完。对应着一个栈帧在虚拟机中从入栈到出栈的过程。 通常说的栈就是指局部变量表部分,存放编译期间可知的8种基本数据类型,及对象引用和指令地址。局部变量表是在编译期间完成分配,当进入一个方法时,这个栈中的局部变量分配内存大小是确定的。 会有两种异常StackOverFlowError和 OutOfMemoneyError。当线程请求栈深度大于虚拟机所允许的深度就会抛出StackOverFlowError错误;虚拟机栈动态扩展,当扩展无法申请到足够的内存空间时候,抛出OutOfMemoneyError。 本地方法栈为虚拟机使用到本地方法服务(native) 堆区: 堆被所有线程共享区域,在虚拟机启动时创建,唯一目的存放对象实例。 方法区: 被所有线程共享区域,用于存放已被虚拟机加载的类信息,常量,静态变量等数据。被Java虚拟机描述为堆的一个逻辑部分。习惯是也叫它永久代(permanment generation) 垃圾回收很少光顾这个区域,不过也是需要回收的,主要针对常量池回收,类型卸载。

升级Node版本RN项目运行报错cb.apply is not a function

丶灬走出姿态 提交于 2020-08-11 12:31:37
今日打算安装一下ReactNative官方推荐的脚手架工具Ignite。 Ignite 是一套整合了 Redux 以及一些常见 UI 组件的脚手架。它带有一个命令行可以生成 app、组件或是容器。 在安装的过程中,提示当前系统安装的node版本过低,无法安装,于是就想升级一下node的版本。 因为系统中早就安装了node的管理器nvm,所以使用了nvm来升级node的版本 @[toc] node版本升级 1.查看可以安装的node版本 nvm ls-remote 2.选择一个版本进行安装 nvm install v12.18.3 3.查看已安装的版本 nvm ls 遇到报错 担心会影响原有项目,所以编译启动了当前项目,编译build success,完美,but,APP启动直接就把报错了。 package服务直接提示了如下错误: Loading dependency graph, done. DELTA [android, dev] ../../index.js ░░░░░░░░░░░░░░░░ 0.0% (0/1)/Users/fantuan/ares/node_modules/graceful-fs/polyfills.js:285 if (cb) cb.apply(this, arguments) ^ TypeError: cb.apply is not a function

php7.2安装redis扩展

不打扰是莪最后的温柔 提交于 2020-08-11 12:24:49
centos7 以上版本php7.2安装redis扩展,使php能和redis进行通信。 一、使用oneinstack安装php7.2 二、下载php7的phpredis扩展库 php官网下载redis扩展页面:http://pecl.php.net/package/redis wget http://pecl.php.net/get/redis-4.0.2.tgz 三、解压phpredis扩展库 tar -xzvf redis-4.0.2.tgz cd redis-4.0.2 四、通过phpize生成编译configure配置文件 [root@zixuephp redis-4.0.2]# /mnt/php7/bin/phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718 五、进行编译前的配置 ./configure --with-php-config=/mnt/php7/bin/php-config 六、编译和安装 make && make install 七、修改配置文件 在php.ini增加扩展extension=redis.so vim php.ini #文件尾增加下面代码 extension=redis

Mqtt开发笔记:Mqtt服务器搭建

℡╲_俬逩灬. 提交于 2020-08-11 10:38:26
若该文为原创文章,未经允许不得转载 原博主博客地址: https://blog.csdn.net/qq21497936 原博主博客导航: https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址: https://blog.csdn.net/qq21497936/article/details/106539703 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门) Qt开发专栏:开发技术(点击传送门) 《 Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建 》 《 Mqtt开发笔记:Mqtt服务器搭建 》 <br> 前话   使用到mqtt服务器(中间件)。 <br> MQTT协议 简介   MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽

CSS背景与边框

末鹿安然 提交于 2020-08-11 08:22:51
边框与三角形 border : border-width 、 border-style 、 border-color border:style :dotted(点)、dashed(虚线)、solid(实线)、double(双线轮廓)、其它3D 来看个border绘制三角形的原理: 图1为border最普遍的用法, border: solid 10px #ffb6b9; 。用多了你会不会就觉得border是由四个矩形边框拼接而成,但其实是错的。实际上,元素的border是由三角形组合而成,为了说明这个问题,我们继续看: 图2,我们为边框四个方向设置不同颜色, border-color: #ffb6b9 #fae3d9 #bbded6 #8ac6d1; ,并加大边框宽度。 图3,我们进一步将元素的宽高设为0。我们发现,此时元素由上下左右4个三角形组成。 为了实现一个三角形,那就很简单了,我们只需将其它border边的颜色设置为白色或者透明色即可 图4, border-color: transparent transparent #bbded6; ,设置上三角,左右三角为透明,那么我们就能看到一个图4的三角形了。 边框半径:圆角 通过以下属性设置四个角的半径: border-radius border-top-left-radius 、 border-top-right-radius 、

linux系统用户管理

感情迁移 提交于 2020-08-11 08:19:21
linux系统用户管理 用户的作用 1,保护用户隐私 2,区别使用计算机的各个用户 用户和组的信息储存文件 (文件以:为分隔符) 1,用户基本信息文件:/etc/passwd root: x:0:0:root:/root:/bin/bash 用户名:密码占位符:uid:gid:描述:用户家目录:shell 2,用户密码信息文件:/etc/shadow root : $ 1 $ MYG2N : 15636 : 0 : 99999 :7 : : : 用户名:$之间为加密方式-加密密码:修改密码距元年时间(天):最小修改密码间隔(天):最大修改密码间隔(天):剩余几天提示修改密码:密码到期后几天后不可用:密码绝对天数到期即不可用:保留 3,组信息文件:/etc/group root : x : 0 : 组名:密码占位:gid:组成员 用户管理 1,创建用户,未指定 创建新用户,uid默认从1000往后排,同时会创建一个同名组,这个组为这个用户的基本组,gid和uid相同,同名组内默认只有同名用户 2,指定uid创建用户 3,指定家目录创建用户 4,指定不允许登陆创建用户 5,删除用户 删除用户需要加 -r 递归选项,不然删除用户后,再创建同名用户会创建失败 6,用户密码设置 root 可以改任何用户的密码,普通用户只可以改自己的密码 7,其他选项管理 这里可以用 usermod