系统中隐藏了6位怎么隐藏自己手机号码码。中间的六位都看不到。点击右键查看源代码怎么样才能看到呢?

更多频道内容在这里查看
爱奇艺用户将能永久保存播放记录
过滤短视频
暂无长视频(电视剧、纪录片、动漫、综艺、电影)播放记录,
按住视频可进行拖动
&正在加载...
举报视频:
举报原因(必填):
请说明举报原因(300字以内):
请输入您的反馈
举报理由需要输入300字以内
感谢您的反馈~
请勿重复举报~
请刷新重试~
收藏成功,可进入查看所有收藏列表
把视频贴到Blog或BBS
当前浏览器仅支持手动复制代码
视频地址:
flash地址:
html代码:
通用代码:
通用代码可同时支持电脑和移动设备的分享播放
方式1:用手机看
用爱奇艺APP或微信扫一扫,在手机上继续观看
当前播放时间:
方式2:一键下载至手机
限爱奇艺安卓6.0以上版本
使用微信扫一扫,扫描左侧二维码,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接//71.am/udn
下载安装包到本机:&&
设备搜寻中...
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
连接失败!
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
部安卓(Android)设备,请点击进行选择
请您在手机端下载爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:&&
爱奇艺云推送
请您在手机端登录爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
180秒后更新
打开爱奇艺移动APP,点击“我的-扫一扫”,扫描左侧二维码进行登录
没有安装爱奇艺视频最新客户端?
正在检测客户端...
您尚未安装客户端,正在为您下载...安装完成后点击按钮即可下载
30秒后自动关闭
穿过黎明大桥看到达三沙源 这一次企鹅真的来银川了
请选择打赏金额:
播放量12.7万
播放量数据:快去看看谁在和你一起看视频吧~
更多数据:
热门短视频推荐
Copyright (C) 2018
All Rights Reserved
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
正在为您下载爱奇艺客户端安装后即可快速下载海量视频
正在为您下载爱奇艺客户端安装后即可免费观看1080P视频
&li data-elem="tabtitle" data-seq="{{seq}}"&
&a href="javascript:void(0);"&
&span>{{start}}-{{end}}&/span&
&li data-downloadSelect-elem="item" data-downloadSelect-selected="false" data-downloadSelect-tvid="{{tvid}}"&
&a href="javascript:void(0);"&{{pd}}&/a&
选择您要下载的《》剧集:
后才可以领取积分哦~
{{if data.viewCount && data.viewCount != "0" && data.viewCount != "1" && data.viewCount != "2"
访问泡泡首页
+{{data.rewardScore}}分
{{if data.rewardCount && data.rewardCount != 0 && data.getRewardDayCount != 0}}1{{else}}0{{/if}}/1
{{if data.rewardCount && data.rewardCount != 0 && data.getRewardDayCount != 0}}
+{{data.signScore}}分
{{data.signCount}}/1
{{if data.signCount && data.signCount != 0}}
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制豆丁微信公众号
君,已阅读到文档的结尾了呢~~
禁止查看网页源代码及破解的方法详解
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
禁止查看网页源代码及破解的方法详解
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口右键看不了网页源代码时要怎么样看网页源代码_百度知道
右键看不了网页源代码时要怎么样看网页源代码
我有更好的答案
打开一个网页之后,右键---》查看源文件(IE10 为查看源),然后就会弹出网页的源文件。第二种方法就是根据浏览器状态栏或工具栏中的点击 “查看”然后就用一项“查看源代码”,点击查看源代码即可查看此网页的源代码源文件。
采纳率:81%
为您推荐:
其他类似问题
源代码的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。后使用快捷导航没有帐号?
请完成以下验证码
查看: 1505|回复: 2
请问如何在PB5.0中查看源代码(用右键的方式)
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
我在PB5.0下要修改代码,但是有的函数在其他文件里(例如在根目录下),我想看一下某个函数的实现体,我在函数上点击右键选择Go To Definition of &函数名&, 但是出现对话框说要去project中的setting中设置, 我弄了半天发现好像只能一个一个project的设置成yes(Generate Browse Information中), 重新编译了好像也没效果,还是看不了其他函数实现体,我应该怎么设置呢,才能对任意一个函数用右键的方式(Go To Definition of &函数名&)去查看?????
举个例子吧 例如我想修改OEMInitDebugSerial函数,我现在是知道这个函数在哪个文件中,但是其他的我就不知道了,文件搜索这种方式太麻烦了,还容易找不全文件
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
C:\WINCE500\下就是可以漫漫看,自己编译的工程里也有
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
使用工具:Source& &Insight
EEWORLD 官方微信
Powered by# 面试 ## Intro 简单介绍下面试的前置情况。 面试的公司是鲸鱼游戏,职位是后端开发工程师,开发语言C++。 这篇博文主要是为了记录面试中发现的自身不足。 这次面试里,因为面试约得比较匆忙,所以基...
## 文件 1.文件结构 文件结构类似`VUE`文件 扩展名为 ```.wpy``` ``` ``` 2.文件类型 文件类型声明与` ``` * 声明为page 页面 页面为 无组件页面或者 组件页面 声明类继承 ==wepy.page== ``` ``` * 声明为组件 页面 页面为 无组件页面或者 组件页面 声明类继承 ==wepy.page== ``` ``` &总结: **编译后上述三种类型对应生成各自的原生类型 `json、 wxss、 js、 wxml` 生成文件的文件名与`wpy`文件类名无关。类名仅对引用有关 例如类型为 `Page`的文件 `index.wpy`编译后会生成`index.json、 index.wxss、 index.js、 index.wxml` 类名可自行定义 约定 ==不要以$ _== 开头 类型声明与声明类的继承类型有关 app类 每个应用只能有一个 其他细节可阅读官方文档** ## 组件 一个组件可以引用零到多个组件被引用的组件需要在宿主组件注册 组件的引用是静态类型的 也就是一个组件如果对另一个组件多次引用 如果需要隔离必须对每次的引用进行唯一标识 组件 mo.wpy ``` {{text}} {{domain.title}} ``` 页面 test.wpy ``` {{valueText}} ``` & 总结 其实非常类似于VUE 生命周期函数 类似于vue 的钩子函数 如果熟悉VUE的方式 这个应该很容易上手 当然与VUE还有一些不同 可对官方文档进行...
# 使用Airtest进行Android与iOS的微信小程序自动化测试 ## 1\. 简介 随着微信小程序的逐渐普及,针对微信小程序的测试需求也逐渐丰富起来了。现在针对小程序的自动化测试手段比较不完善,针对的平台比较具现化。 本文介绍一下使用Airtest测试框架进行微信小程序自动化测试的方法,并分别介绍在Android和iOS下对详细的使用步骤。 ## 2\. 需求 这里我们以星巴克的小程序为例 ![image](http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/_images/5_1.png) 我们需要 ``` 1.打开关闭小程序 2.查看咖啡信息并试图购买 ``` 针对这几个需求,我们使用Airtest对小程序进行测试 ## 3.Airtest简介 Airtest的简要介绍可以看这里 https://www.oschina.net/p/airtest http://airtest.netease.com/ 这次我们使用Airtest-Ide,poco,iOS-Tagent,这几个组件完成我们的任务,这些内容均可以在下面找到 https://github.com/AirtestProject ## 4.开始Android测试 这里使用系统WebView内核: 使用微信聊天框输入此网址打开 http://debugtbs.qq.com/ 或者扫描二维码 ![](https://oscimg.oschina.net/oscnet/66a08a54f941b35c4fab85aec3fd3c19970.jpg) 选择强制使用系统内核,然后重启微信即可...
时长在看一些database paper的时候看到steal和no-force的字样,深入了解了一下,发现我们平时关注的redo log个undo log都是有渊源的,什么时候需要redo log,什么时候需要undo log,什么时候两者都需要。英文好的可以直接去看上面的wiki,不好的可以看我总结的大白话吧。 steal/no-steal:
是否允许一个uncommitted的事务将修改更新到磁盘,如果是steal策略,那么此时磁盘上就可能包含uncommitted的数据,因此系统需要记录undo log,以防事务abort时进行回滚(roll-back)。如果是no steal策略,就表示磁盘上不会存在uncommitted数据,因此无需回滚操作,也就无需记录undo log。 force/no-force:
force策略表示事务在committed之后必须将所有更新立刻持久化到磁盘,这样会导致磁盘发生很多小的写操作(更可能是随机写)。no-force表示事务在committed之后可以不立即持久化到磁盘, 这样可以缓存很多的更新批量持久化到磁盘,这样可以降低磁盘操作次数(提升顺序写),但是如果committed之后发生crash,那么此时已经committed的事务数据将会丢失(因为还没有持久化到磁盘),因此系统需要记录redo log,在系统重启时候进行前滚(roll-forward)操...
超级好用的华为云热门产品、业界领先的Devcloud、 精华凝结的应用服务 、最新最前沿的开发课程,快来免费领取!还有开发者中心众多的资源,将助您获取8万+华为研发员工使用、历经30年磨练的软件开发精华。
建立一个简单的游戏引擎和人工智能NPC后,我们需要对他们进行优化,如何建立,可以参考我在评论里的链接 语义结点的抽象 不过我们在这篇博客的讨论中是不能仅停留在能解决需求的层面上。目前的方案至少还存在一个比较严重的问题,那就是逻辑复用性太差。组合状态需要 coding 的逻辑太多了,具体的状态内部逻辑需要人肉维护,更可怕的是需要程序员来人肉维护,再多几个组合状态简直不敢想象。程序员真的没这么多时间维护这些东西好么。所以我们应该尝试抽象一下组合状态是否有一些通用的设计 pattern。 为了解决这个问题,我们再对这几个状态的分析一下,可以对结点类型进行一下归纳。 结点基本上是分为两个类型:组合结点、原子结点。 如果把这个状态迁移逻辑体看做一个树结构,那其中组合结点就是非叶子结点,原子结点就是叶子结点。 对于组合结点来说,其行为是可以归纳的。 巡逻结点,不考虑触发进入战斗的逻辑,可以归纳为一种具有这样的行为的组合结点:依次执行每个子结点(移动到某个点、休息一会儿),某个子结点返回 Success 则执行下一个,返回 Failure 则直接向上返回,返回 Continue 就把 Continuation 抛出去。命名具有这样语义的结点为 Sequence。 设想攻击状...
今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大家,让大家爱上Apache开源社区,也能和我一样成长为自己喜爱项目的Committer。 根据个人贡献获得价值(Government By Merit)
回忆我刚参与ServiceComb项目,面对上万行的存量代码,总觉得无从下手,甚至认为开源社区高手如云,如果没有深厚且对口的技术功底,还是不要来掺和了。
在这个困难而关键的时候,社区导师给了我明确的指导——不要怕,从小事做起,不要“善小而不为”。于是我静下心来,在Jira上寻找最简单的任务,主动请缨的第一个任务是支持配置兼容,具体需求是cse.xxx配置项和servicecomb.xxx配置项要具备等同效果,经过一番努力,成功Merge PR ;之后我又接下另一个简单任务,增加一个Annotation用于支持Json String作为请求参数……
Apache Way非常看重个人贡献,没有贡献,一切无从谈起,与开源软件同行,不仅看你获得了多少,更要坚持长期贡献,这是它与商业软件最大的不同...
最纯粹的世界杯,最神奇的大冷门。 德国0比1被墨西哥摩擦了。 日本历史性的赢了哥伦比亚。 C罗也挑平了西班牙。 梅西被冰岛狮吼吼愣神了。 就连11次进世界杯4强的巴西也被瑞士逼平了。 天台已经挤满了输红眼的人们。空气中充满了悲伤的气氛。这时候人群中突然传来一声嘶哑声:“快看,楼下又来了一大股民朋友!“ 众人揉揉眼,对的。那些是6月19日从股市中劳作归来的人们。大家目不斜视的直接上了天台,乌央乌央变的异常拥挤,颇有西二旗,高米店这类地铁绞肉机味道。 也许是惺惺相惜,此刻的球迷和股民互诉衷肠,互相安慰。一丝温暖阳光渐渐从众人眼里浮现。那是对面大厦的全屏广告版。硕大的标语像是符文一样催动着大家内心那最柔软的部分!没错!钱没了可以再赚。赚钱的动力就来源于花钱。人们凑了过来看着标牌上的字迹。那上面都写的什么呢? 如果看不清请走近点。点击我
### 前言 很久之前就想要搭建个人博客,在各种模板引擎之间无限徘徊,WordPress、Hexo、Jekyll都多多少少接触过,但是由于各种原因吧,一直都没有落地。很多人都推荐通过github部署博客,但是由于伟大的长城访问速度实在堪忧,因此便有了在私有服务器上部署的念头。因个人原因,现在偏向于golang,就顺水推舟选择了[Hugo](http://gohugo.io),也有[中文文档](http://www.gohugo.org),使用起来还是挺方便的。同时因为做过DevOps的缘故,非常喜欢自动化部署,经过长时间的摸索,最终确定了[Caddy](https://caddyserver.com)+Hugo的模式。 ### Caddy的安装与配置 #### 二进制安装 & 在Caddy[官方下载](https://caddyserver.com/download)页面下载可执行文件,记的勾选git与Hugo两个插件,会自编译生成压缩包,里面包含二进制包、安装指导还有自启动脚本等。 * 将二进制包拷贝到系统路径,并付给相应的权限 ``` bash sudo cp /path/to/caddy /usr/local/bin sudo chown root:root /usr/local/bin/caddy sudo chmod 755 /usr/local/bin/caddy ``` * 设置caddy允许绑定80,443等端口 ```bash sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy ``` * 为Caddy设置专有...
&文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:`好好学java`,获取优质学习资源。 ### 一、概述 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素。由于不需要按顺序存储,链表在插入、删除数据元素时比顺序存储要快,但是在查找一个节点时则要比顺序存储要慢 使用链式存储可以克服顺序线性表需要预先知道数据大小的缺点,链表结构可以充分利用内存空间,实现灵活的内存动态管理。但是链式存储失去了数组随机存取的特点,同时增加了节点的指针域,空间开销较大。 ### 二、图解 下图就是最简单最一般的单向链表: ![这里写图片描述](https://user-gold-cdn.xitu.io//345c?w=668&h=87&f=png&s=8183) ##### 新增节点: 将值为element的新节点插入到第index的位置上。 首先要先找到索引为index-1的节点,然后生成一个数据为element的新节点newNode,并令index-1处节点的next指向新节点,新节点的next指向原来index处的节点。 ![这里写图片描述](https://user-gold-cdn.xitu.io//164...
系列文章 1. 开源一款强大的文件服务组件(QJ_FileCenter)(系列一) 2. 开源一款强大的文件服务组件(QJ_FileCenter)(系列二 安装说明) 3. 开源一款强大的文件服务组件(QJ_FileCenter)(系列三 访问接口与项目集成) 4. 开源一款强大的文件服务组件(QJ_FileCenter)(系列四 文件结构)计划中... 5. 开源一款强大的文件服务组件(QJ_FileCenter)(系列五 数据结构)计划中... 6. 开源一款强大的文件服务组件(QJ_FileCenter)(系列六 图片处理说明)计划中... 7. 开源一款强大的文件服务组件(QJ_FileCenter)(系列七 与阿里云和七牛云等云存储搭配使用)计划中...
前两篇文章介绍了,开发思路和安装说明,下面进入详细介绍。 一:访问接口,接口采用RESTFul模式,在安装好服务默认页面有API的简单介绍
qycode,在使用接口之前,需要先申请qycode,后台会根据qycode分开集中存储文件,方便管理,比如申请了qycode为tx,重点介绍几个接口: 1.上传文件(http://localhost:9000/v2/tx/document/fileupload)
2.下载文件(http://localhost:9000/v2/tx/document/{md5})
在浏览器打开直接下载文件,如果是图片,需要在页面上展示,可以使用src属性展示图...
如何使用内网穿透呢? 1、去 http://ip4.club/ 官网下载 自己对应的客户端 2、解压得到以下目录 我这里下载的是windows版的 点击skynet-64.exe 即可启动 或者点击万能启动器 点击后有个小黑框--自己会消失、等会自己也可以关掉
可以看到管理地址: http://127.0.0.1:7878 第一次启动会要求填入 设备码 购买一个复制进去即可 成功后进入以下界面 默认账号:admin 默认密码:admin 如果提示正常就可以开始映射了、如果不正常可以点击启动客户端或重启电脑重新启动即可
## 技术要求 1.对微信小程序原生开发文档熟悉 2.对前端mvvm有一定的了解 3.会nodejs npm 进行前端组件化开发 ## 框架特点 框架的产生必然是解决开发中的痛点,wepy解决了什么问题? 主要是对原生的开发进行了简化。原生开发中每一个页面要对应四种文件, 而且交互、 数据绑定都十分繁琐 。`wepy`借鉴了`vue`的思想 , 实现了组件化,以组件代替模板和模块, 结构更清晰。同时数据的绑定,api都进行了优化。特别是参数的绑定和监视 都有很大的改观。极大提高了开发效率。 ## 快速入门 环境要求:`nodejs` 环境。 命令行 `node -v` 查看有没有nodejs 环境. `wepy`的安装或更新都通过 `NPM` 进行。 `wepy`版本:最新的`1.7.2`版本 安装wepy 命令行在指定目下执行 `npm install wepy-cli -g` 进行全局配置wepy环境。 安装完毕后 执行` wepy -h` 查看帮助 有位数不多的几个命令: * init \[options\] \[project-name\] generate a new project from a template * build \[options\] build your project list \[options\] list available official templates * upgrade \[options\] upgrade to the latest version * ~~new~~ 其中 `new` 在`1.7.0+` 版本已经废弃 用`init` 代替。...
The best elasticsearch highlevel java rest api-----bboss 基于bboss持久层和bboss elasticsearch客户端实现数据库数据导入es案例分享(支持各种数据库和各种es版本) 1.案例对应的源码 https://gitee.com/bbos...
1.基础介绍 ①ULua 集成开发环境叫做:SimpleFramework,SimpleFramework 分为NGUI 和UGUI两个版本,区别是NGUI 版本的框架资源中含有NGUI 这个插件。SimpleFramework 本身不是Unitypackage 格式,而是一个Unity3D的项目工程,可以用Unity 直接打开。 ②SimpleFramework 和ULua SimpleFramework & ULua & Lua ULua 是对原生Lua 环境进行了一次“包装”,用于满足Unity 环境下的热更新需求。为了更方便的使用,于是又对ULua 进行“二次包装”,包装成了一个框架:SimpleFramework。 2. SimpleFramework框架资源结构 (1)六个根文件夹
①Examples:SimpleFramework 热更新案例;
②Lua:SimpleFramework 框架自带的Lua 源码文件(我们自己写的Lua 脚本也是存放在Lua 文件夹中);
③NGUI:当你需用更高版本的NGUI 时,替换即可,否则不需要碰;
④Plugins:uLua 运行所依赖的底层库文件,不需要碰;
⑤Scripts:SimpleFramework 自带的C#脚本文件;
⑥uLua:uLua 全部代码。 备注:uLua:④ ⑥
SimpleFramework:① ② ⑤
ngui:③ (2)框架自带菜单命令
Lua 菜单:uLua 环境相关处理命令;
Game 菜单:...
在Glide3.0的时候,我们可以通过GifDecoder获取每一帧的播放时长然后相加得到gif的播放时长,即:
GifDrawable drawable = (GifDrawable) glideD
GifDecoder decoder = drawable.getDecoder();
long duration = 0;
for (int i = 0; i & drawable.getFrameCount(); i++) {
duration += decoder.getDelay(i); } 然后使用handle 发送一个延时消息,或者其它方法,等gif播放完成以后再做相应操作。 或者,通过重写GifDrawable,重写onStop()方法来处理:
class MyGifDrawable extends GifDrawable {
public MyGifDrawable (GifDrawable other) {
this(other, other.getFirstFrame(), other.getFrameTransformation());
public void stop() {
super.stop();
//GIF播放完成,可以做一些操作
} 但是到Glide4.0, GifDecoder 被声明为private,去掉了getDecoder()方法,第一种方法如果不使用反射,是无法做到的。 这时我们可以去重写GifDrawable,MyGifDr...
![](https://wilhelmguo.tk/api/file/getImage?fileId=5b24c7aeaddbac) 随着微服务架构的火爆,Etcd作为服务发现或者分部式存储的基础平台也越来越频繁的出现在我们的视野里。因此对于快速部署一套高可用的Etcd集群的需求也越来越强烈,本次就带领大家一起使用Kubernetes的Statefulset特性快速部署一套Etcd集群。 ## 什么是Kubernetes? Kubernetes 是一个用于容器集群的自动化部署、扩容以及运维的开源平台。 使用Kubernetes,你可以快速高效地响应客户需求: - 快速并且无意外的部署你的应用。 - 动态地对应用进行扩容。 - 无缝地发布新特性。 - 仅使用需要的资源以优化硬件使用。 ## 什么是Etcd? Etcd的目的是提供一个分布式键值动态数据库,维护一个"Configuration Registry"。 这个Registry的基础之一是Kubernetes集群发现和集中的配置管理。 它在某些方面类似于Redis,经典的LDAP配置后端以及Windows注册表。 Etcd的目标是: - 简单:定义良好,面向用户的API(JSON and gRPC) - 安全:自动TLS和可选的客户端证书身份验证 - 快速:benchmarked 写 10,000 次/秒 - 可靠:使用Raft协议作为分布式基础 ## 官方已经有了Etcd-Operator,我为什么还要使用这种方式...
![](http://pic.w-blog.cn/kubernetes/7.png) Kubernetes解决的另外一个痛点就是服务发现,服务发现机制和容器开放访问都是通过Service来实现的,把Deployment和Service关联起来只需要Label标签相同就可以关联起来形成负载均衡,基于kuberneres的DNS服务我们只需要访问Service的名字就能以负载的方式访问到各个容器 Kubernetes官方文档:[https://kubernetes.io/docs/reference/](https://kubernetes.io/docs/reference/) Kubernetes官方Git地址:[https://github.com/kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) & PS:本系列中使用 KubernetesV1.8 RancherV1.6.14 ## 1. Service的三种类型 Service有三种类型: - ClusterIP:默认类型,自动分配一个仅cluster内部可以访问的虚拟IP 常用于内部程序互相的访问,比如Gitlab需要访问Redis的postgresql,但是是内部使用的不需要外部访问,这个时候用ClusterIP就比较合适 - NodePort:在ClusterIP基础上为Service在每台机器上绑定一个端口,这样就可以通过:NodePort来访问改服务 当我们的Gitlab需要提供访问,可以使用NodePort指定一个端口释放服务,然后外层负载均衡映射就可以在外部访问,或者直接访问对应的端口...
## 前言 **背景情况** - vue - 2.5.11 - vue-cli 使用模板 `webpack-simple` - http请求:axios Vue 官方对于 ie 浏览器版本兼容情况的描述是 ie9+,即是 ie9 及更高的版本。经过测试,Vue 的核心框架 `vuejs` 本身,以及生态的官方核心插件(VueRouter、Vuex等)均可以在 ie9 上正常使用。 Vue 的作者尤雨溪对于 [Vue 的学习建议](https://github.com/TerryZ/js-develop-skill-summary/blob/master/vue-base.md#vue2x-%E5%AD%A6%E4%B9%A0%E9%A1%BA%E5%BA%8F%E5%BB%BA%E8%AE%AE) 中有提及为了将项目更好的生态化/工程化,要尽可能学习及使用新的 ECMAScript 规范。目前 ES6/ES2015 是可用度和稳定度较高的规范,文档齐全,国内还有 [阮一峰 《ECMAScript 6 入门》](http://es6.ruanyifeng.com/) 做了大量的文档翻译,开发环境可谓完善。然而版本较旧的浏览器并不支持 es6 规范,尤其是 ie 浏览器,即使是最高的 ie11 版本,对于 es6 规范也支持得并不全。如此则需要对所有原生不支持 ES6 特性的浏览器做兼容性处理。 本文将针对使用 Vue 生态开发完成的网站,以 ie9 版本为基础兼容目标,实现全功能正常使用的全面兼容解决方案。 ## ES6兼容 在 ie9 的环境上,es6 的部分新...
以太坊 web3.py 签名转账 本文节选自电子书《Netkiller Blockchain 手札》 Netkiller Blockchain 手札 Mr. Neo Chan, 陈景峯(BG7NYT) 中国广东省深圳市龙华新区民治街道溪山美地
&& 文档始创于 版权 (C) 2018 Netkiller(Neo Chan). All rights reserved. 版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 内容摘要 这一部关于区块链开发及运维的电子书。 为什么会写区块链电子书?因为2018年是区块链年,区块链是一个风口,前几个风口我都错过了。例如web2.0, 云, 大数据等等,都从身旁擦肩而过。所以我要抓住这次。 这本电子书是否会出版(纸质图书)? 不会,因为互联网技术更迭太快,纸质书籍的内容无法实时更新,一本书动辄百元,很快就成为垃圾,你会发现目前市面的上区块链书籍至少是一年前写的,内容已经过时,很多例子无法正确运行。所以我不会出版,电子书的内容会追逐技术发展,及时跟进软件版本的升级,做到内容最新,至少是主流。 这本电子书与其他区块链书籍有什么不同?市面上大部分区块链书籍都是用2/3去讲区块链原理,只要不到 1/3 的干货,干货不够理论来凑,通篇将...
![心静只需一杯茗](http://upload-images.jianshu.io/upload_images/a25.jpg) --- ## 概述 在我的[《Docker Swarm集群初探》](https://www.jianshu.com/p/3f3c9e0e3db5)一文中,我们实际体验了Docker Swarm容器集群技术的魅力,与[《Kubernetes实践录》](https://www.jianshu.com/p/9bc87b5380e8)一文中提到的Kubernetes集群技术相比,Docker Swarm没有Kubernetes显得那么厚重,因此可以认为是更加轻量级的容器集群技术,这也就意味着上手更加方便快捷,使用起来也要省事很多。作为Docker集群技术三(或“四”)架马车之一的Docker Swarm,它从一开始便是Docker官方的“亲儿子”,发展到现在也经历了很多阶段和迭代。作者在学习的过程中也了解了一点其发展历史,发现有几个概念还是挺容易混淆的,因此撰写成文,是梳理,也是总结。 --- --- ## 初出茅庐之:经典Swarm 早在2014年底,Docker公司就设计了容器集群的方案组合:**Machine + Swarm + Compose**。其中Machine主要用于快速创建Docker运行环境,其支持在创建出来的节点上自动部署Swarm,此时的Swarm我们称为 **“经典Swarm”**,它是一款整合跨节点网络的集群式容器服务,其利用Docker守护进程...
1. Results 1.1 JSON 1.2 Single Query 1.3 Multiple Queries 1.4 Fortunes 1.5 Updates 1.6 Plaintext 2. Issues 2.1 Single Query eclipselink-mysql 2.2 Multiple Queries eclipselink-mysql all ebean 2.4 Up...
18.1 集群介绍 o Linux集群根据功能划分为两大类:高可用和负载均衡 o 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 o 实现高可用的开源软件有:h...
Numpy是Python科学计算的基础包。 # 1. ndarray——戴着“面具”的矩阵 ndarray是一个通用的同构(所有元素类型相同)数据多维容器,也有地方说是一个N维数组对象。尽管所有的教程都称其为数组,但是实际上就是代...
常规问题以下都说到位了: https://www.cnblogs.com/codeAB/p/6391022.html 补充:阿里云服务器的安全组,出方向需要配置端口,配置好后服务器重启才生效!!!
以前我是采用discuz门户程序建站的,因为个人觉得,这套程序确实不错,而门户discuz门户也可以生成纯静态HTML文件,这对于我们有特殊要求的站长来说,非常重要,因为纯静态不仅可以提升网页的访问速度,还可以节省...
有些人可能认为 macOS 和 Linux 内核是类似的系统, 因为它们看起来可以处理类似的命令和软件。有些人甚至认为苹果的 macOS 是基于 Linux 的。事实上, 这两个内核各有特色,也都有不同寻常的历史。 命令行 |操作|...
旧版本写法 @Configuration @EnableScheduling public class Application{ public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); }...
Binarytree: Python Library for Studying Binary Trees Introduction Are you studying binary trees for your next exam, assignment or technical interview? Binarytree is a Python library which provides ...
主要讲解getObjectForInstance方法,对FactoryBean验证,并获取需要的Bean实例。
使用C++11 STL线程库实现一个线程池。处理机制是抢占式的,即所有线程从一个队列(std::queue)中获取任务执行(计算字符串简单HASH值),使用std::mutex和std::conditional_variable实现队列访问并发协调。 C++ ...
实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。 命令: top [opeartion] top - 11:09:33 up 20:47, 1 user, load average: 0.18, 0.13, 0.03 Tasks: 186 to...
在很多业务场景中,我们都会遇到表单校验,条件搜索,数据替换等问题,如何更好的解决问题呢? 正则表达式提供了一条途径,很多人不理解为何一段符号的片段就可以匹配到想要的数据,大多数时候,开发人员都是直接在网上去搜索正则表达式,而不是自己根据业务需求去编写它,... 正则表达式不一定就是完美的方案,因为它也有很多弊端,可能匹配的速度还不如直接字符串搜索来得快。 以下介绍正则表达式如何使用,匹配过程,执行优先级等
以前我是采用discuz程序的门户来建设网站的,因为我一开始创建地方论坛的时候就采用了这套程序,不得不说的是,discuz论坛程序是国内最好的论坛系统,也得到了广泛的使用,而比较令我们开心的是,这套程序是免费的...
awt.toolkit sun.awt.X11.XToolkit file.encoding.pkg sun.io java.specification.version 1.8 sun.cpu.isalist sun.jnu.encoding ANSI_X3.4-1968 com.sun.jndi.ldap.connect.pool.maxsize 0 java.class.path /op...
异常如题,可能是多线程的类标注为原型模式,而不是springboot框架默认的单例模式 然而并没有什么卵用,还是会报以上的错误
数字化生态,以创新客户体验为核心,所有我们身边能感知到的变化都来自于渐近的创新。这些创新需要试错,需要不断的升级,并且创新往往与我们熟知的功能分离开来分别呈现。微服务对于传统单体架构的优势之一就在于...
一、队列 1.队列的定义 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表; 与栈相反,队列是一种先进先出(First In First Out,FIFO)的线性表; 与栈相同的是,队列也是一种中药的线性结...
为当前用户创建cron服务 1. 键入 crontab -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 保存文件并并退出 */2 * * * * /bin/sh /home/admin/jiaoben/...
实验环境:RHEL 7.5 ip:192.168.10.205 LAMP: Linux+Apache+Maridb(Mysql)+PHP,常用来搭建动态网站或者服务器的开源软件。习惯上,apache一般是指httpd,当然Apache还有很多的其他软件。 apache(httpd)、maria...
导读 虽然组织对数据中心提出了更高的要求,但IT管理人员确实有办法在严格的预算内展开工作。如今,组织认为即使性能预期不断提高,其数据中心预算也在缩减。 尽管2018年IT支出总体预计增长4.5%,但数据中心支出预...
超级好用的华为云热门产品、业界领先的Devcloud、 精华凝结的应用服务 、最新最前沿的开发课程,快来免费领取!还有开发者中心众多的资源,将助您获取8万+华为研发员工使用、历经30年磨练的软件开发精华。
前几日做支付对接时,被对方文档中的加密方式搞晕乎了一会。意识到证书加密方面的理解不够深入,事后查阅参考资料补习一波。本文是根据期间的学习,以及长期以来的实践做出的总结。 加密方式 密码学是涉及数学、电...
关于pig: 基于Spring Cloud、oAuth2.0开发基于Vue前后分离的开发平台,支持账号、短信、SSO等多种登录,提供配套视频开发教程。 码云地址:https://gitee.com/log4j/pig 关于 Spring Cloud Gateway SpringCloud...
一支穿云箭,百万师弟来相见。 这个星期,广东高考放榜了。近日很多地方的高考成绩都将会陆续放榜,众多师弟师妹们都在研究哪里的大学学习终极代码技能。无可厚非互联网行业还是国家的国之重器。风口行业! 顺势造...
这是【NIO系列】第二篇,欢迎持续关注: 【NIO系列】——之TCP探秘 上一篇我们讲到了关于TCP/IP协议的一些内容,这些是网络编程的必备知识。在了解NIO之前我们必须要了解一下对应的系统层IO模型,比如java的NIO对应...
Jenkins构建并部署SpringBoot 大致流程 开发人员:编写代码,提交代码至git Jenkins:通过git下载最新代码,利用maven构建打包最新jar,在再执行sh文件,变相启动jar 一、下载并安装Jenkins 下载https://jenkins...
6.19号,spring团队发布了期待已久的 Spring Cloud Finchley.RELEASE 版本。 期间Spring Boot Admin 也发布了 2.0.1 兼容它,我在升级pig 到Finchley.RELEASE的同时 发现很多有意思的变化整理发出来 关于pig: 基...
引言 流媒体文件是目前非常流行的网络媒体格式之一,这种文件允许用户一边下载一边播放,从而大大减少了用户等待播放的时间。另外通过网络播放流媒体文件时,文件本身不会在本地磁盘中存储,这样就节省了大量的磁...
在看此篇内容时需要浏览下面内容 从零开始学netty——如何面对粘包和拆包 从零开始学netty——自定义协议 rpc简介 rpc大家大概都听说过,远程过程调用。简单来说,就是我的一个操作是远程操作的给的结果,举个例子...
在前面两篇介绍Sring核心与设计模式的文章中,分别介绍了Ioc容器和Bean的依赖关系。如果阅读过前2文就会知道,Spring的整个运转机制就是围绕着IoC容器以及Bean展开的。IoC就是一个篮子,所有的Bean都向里面扔。除...
RabbitMQ数据丢失分析 简要系统流程场景图 数据丢失场景 以下场景分析前提是队列持久化,交换器持久化,消息持久化,非持久化场景没有尝试。 消息发送 序号 Producer MQ 数据丢失说明 1 发送数据失败 MQ服务宕机 ...
引言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服...
1、引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一。很多读者都知道“三次”和“四次”,但是如果问深入一点,他们往往都无法作出准确回答。 本篇文章尝试使用动画图片的方式...
上一篇我根据框架中OAuth2.0的使用总结,画了SSO单点登录之OAuth2.0 登出流程,今天我们看一下根据用户token获取yoghurt信息的流程:
* 根据token获取用户信息
* @param accessToken
# 本文介绍 本文仅按照业务系统开发角度描述异常的一些处理看法.不涉及java的异常基础知识,可以自行查阅 **《Java核心技术 卷I》** 和 **《java编程思想》** 可以得到更多的基础信息. ## 写在前面的话 笔者文笔功力尚浅,言语多有不妥,请慷慨指正,必定感激不尽. 本文提出了几个概念: **处理反馈** **业务异常** **代码错误** ,请认真思考一下各中区别. 在开发业务系统中,我们目前绝大多数采用MVC模式,但是往往有人把service跟controller紧紧的耦合在一起,甚至直接使用Threadlocal来隐式传值,并且复杂的逻辑几乎只能使用service中存储的全局对象来传递处理结果,包括异常. 这样一来首先有违MVC模式,二来逻辑十分不清晰,难以维护.本文结合工作经验,给出一些异常使用建议,使用spring来实战异常为我们带来的好处. 常常,我们读罢了各种java的书,异常的各种机制,特性都很清楚,但是始终还是不知道如何使用,甚至背下了概念,却不知道如何致用. 我们开发的业务系统,或者是产品,常常面临着这样的问题: * 系统运行出错,但是完全不知道错误发生的位置. * 我们找到了错误的位置,但是完全不知道是因为什么. * 系统明明出了错误,但是就是看不到错误堆栈信息. ## 什么情况需要自定义异常 经常看...
前言 在之前的 SpringBoot 整合长连接心跳机制 一文中认识了 Netty。 但其实只是能用,为什么要用 Netty?它有哪些优势?这些其实都不清楚。 本文就来从历史源头说道说道。 传统 IO 在 Netty 以及 NIO 出现之前,...
前面几篇我们已经介绍了Spring Cloud和oauth2的知识点,今天我们要利用Spring Cloud和oauth2进行commonservice-sso服务搭建,本节我们只是搭建commonservice-sso的基础平台,闲话少说,直接将步骤记录下来: 1. 创...
t-io内置提供了接近最强级别的流量监控,获取这些数据也是非常简单的,话不多说,show your the code 1. 获取TCP会话监控数据 一个TCP会话对应一个ChannelContext对象,每个ChannelContext对象都有一个ChannelSt...
前言(废话) 公司产品新版本刚刚上线,所以也终于得空休息一下了,有了一点时间。由于之前看到过爬虫,可以把网页上的数据通过代码自动提取出来,觉得挺有意思的,所以也想接触一下,但是网上很多爬虫很多都是基...
最近发布的 Elasticsearch 6.3 包含了大家期待已久的 SQL 特性,今天给大家介绍一下具体的使用方法。 首先看看接口的支持情况 目前支持的 SQL 只能进行数据的查询只读操作,不能进行数据的修改,所以我们的数据插...
很开心,上半年发布的spring boot 2中,默认的web 容器是netty ,这说明“反应式” 容器已经是大势所趋,无论是go 语言的协从线程,还是java 基于reactor 线程模型,都是基于事件编程实现高并发的实例。这周开始我...
实际上Ioc容器中的大量功能都是通过后置处理器实现的,这里介绍几个主要的处理器。 RequiredAnnotationBeanPostProcessor RequiredAnnotationBeanPostProcessor它用于处理@Required注解。当我们一个Setter方法加入...
解决方法:1.修改工程的setting配置 2.修改pom.xml文件 添加 org.apache.maven.plugins maven-compiler-plugin
什么是异常 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误给用户?或者用C语言风格:用函数返回值作为执行状...
git之 分支切换时相互影响的问题 日 16:32:15 阅读数:9086 接触git有一小段时间,期间有过不少疑问,幸得看了很多大神博客,收获颇丰。自己也写点东西,算是省得以后自己忘啦,如果同样有人从零开始...
SAMIR BEHARA 本文将解释Service Mesh相关概念,为什么云原生应用需要它,以及这项技术被社区热烈拥抱、积极采用的原因。 毫不夸张地说,微服务已经席卷了整个软件行业。从Monolith过渡到微服务架构,可以让我们频...
1.1 es5方法 [].slice.call() let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; let arr1 = [].slice.call(arrayLike); arr1 //['a','b','c'] 分析: [].slice是一个函数,函数可以...
在centos中我们安装软件的方式往往是使用yum进行在线安装,但是在某些情况下(公司服务器使用的是内网)我们就需要使用yum将安装包下载到本地,并进行离线安装。以下是离线安装docker步骤: 首先创建一个目录用于...
JEPLUS平台导入数据的配置使用 JEPLUS平台的配置在很多地方都会用到列表数据或者报表数据的导入导出,导出按钮在很多地方都有,打印配置在很多地方也可以进行配置,但是很多人不清楚在平台如何配置数据的批量导入...
MySQL 8.0 Reference Manual How to Reset the Root Password but windows 当我按照文档说明在 shell 下执行完命令,然后重启服务,都没有效果。 然后我将 --init-file 配置参数直接添加到了 my.ini 中,然后,重...
随着网络建设的不断深入发展,除了单纯的追求高带宽、高速率外,安全的网络、高效的网络和可运营的网络成为越来越多的用户关注的焦点,网络精细化和智能化管理也越来越深入人心。 智和信通携旗下产品智和网管平台...
总项目右键——Team——Remote——Push——Next——接下来操作如下图: ①1处下拉框选择线上你要删除的远程分支(其实你能看到的都是你远程分支下载到本地硬盘的镜像) ②再点Add Spec把要删除的分支添加到下面待...
Centos 7 上使用yum安装mysql8.0以及遇到的坑 一、添加MySQL到yum库 访问http://dev.mysql.com/downloads/repo/yum/ 找打相应的版本 选择并下载适用于您的平台的发行包 3.上传到服务器 4.使用以下命令安装下载的发...
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana,可以通过各种图表进行高级数据分析及展示。
Deploy != Release(第一部分):部署与发布的区别,以及为什么这很重要 Apr 19, 2018 翻译自:Deploy != Release (Part 1): The difference between deploy and release and why it matters. 问:「最新版本部署...
netty从3.x升级到4.0,有以下变化调整,参考这篇文章:http://colobu.com//netty-new-and-noteworthy-in-4-0/
本篇我们根据架构图进行代码的构建。根据微服务化设计思想,结合spring cloud本身的服务发现、治理、配置化管理、分布式等项目优秀解决方案,我们使用Maven技术将框架进行模块化、服务化、原子化封装,也为后期的...
makefile这样写: ifdef DEBUG CFLAGS += -DDEBUG=1 -O0 -ggdb RELMODE = debug else CFLAGS += -DDEBUG=0 -O0 -s RELMODE = release endif 编译可以这样: make DEBUG=1 #可以用命令行传递变量...
截取文档中的某个段 示例 [root@centos001 ~]# cd .. [root@centos001 /]# mkdir awk [root@centos001 /]# cp /etc/passwd awk/test.txt //创建一个文件 [root@centos001 /]# cd awk [root@centos001 awk]# ls pa...
SOA和微服务的区别 其实服务化架构已经可以解决大部分企业的需求了,那么我们为什么要研究微服务呢?先说说它们的区别; 微服务架构强调业务系统需要彻底的组件化和服务化,一个组件就是一个产品,可以独立对外提...
awk命令 awk也是流式编辑器,针对文档中的行和段进行操作 awk可以分为几个部分: 匹配字符或者字符串 截取文档中的某一段 条件操作符 数学运算 内置变量 实例1: head -n2 test.txt|awk -F ':' '{print $1}' head...
### 一、 布局 Flex ##### Flex 布局,可以简便、完整、响应式地实现各种页面布局,Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。 ``` // 指定为 Flex 布局 display: flex; ``` ``` // 主要属性 flex: none | [ &'flex-grow'& &'flex-shrink'&? || &'flex-basis'& ] flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。 flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大 flex-shrink属性定义项目的缩小比例,默认为1,即如果空间不足,该项目将缩小,flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小 flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小,设为跟width或height属性一样的值(比如350px),则项目将占据固定空间 ``` ``` flex : 等分 内容缩放 展位空间; flex : 0 0 80px ``` [Flex 语法](http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool) [Flex 实践](http:...
背景 京东活动系统 是一个可在线编辑、实时编辑更新和发布新活动,并对外提供页面访问服务的系统。其高时效性、灵活性等特征,极受青睐,已发展成京东几个重要流量入口之一。近几次大促,系统所承载的pv已经达到数亿级。随着京东业务的高速发展,京东活动系统的压力会越来越大。急需要一个更高效,稳定的系统架构,来支持业务的高速发展。本文主要对活动页面浏览方面的性能,进行探讨。 活动页面浏览性能提升的难点: 1. 活动与活动之间差异很大,不像商品页有固定的模式。每个页面能抽取的公共部分有限,可复用性差。 2. 活动页面内容多样,业务繁多。依赖大量外部业务接口,数据很难做到闭环。外部接口的性能,以及稳定性,严重制约了活动页的渲染速度、稳定性。 经过多年在该系统下的开发实践,提出“页面渲染、浏览异步化”的思想,并以此为指导,对该系统进行架构升级改造。通过近几个月的运行,各方面性能都有显著提升。在分享"新架构"之前,先看看我们现有web系统的架构现状。 一、web架构发展与现状 1.开发阶段 以京东活动系统架构的演变为例,这里没有画出具体的业务逻辑,只是简单的描述下架构:
2.第二步,一般是在消耗性能的地方加缓存,这里对部分查库操作...
### **一些感悟** --- - 代码结构和规范关系到项目的可持续维护以及维护的周期,非常重要,但真正重视并落地的很少 - 经典的MVC模式一般都能说出来,但真正落地到项目代码结构的时候,却缺少思考 - 当写代码和找代码让人感觉别扭的时候,就该考虑如何去优化了 - 一切皆对象,在规划代码结构的时候也需要有面向对象的思维方式 - 很多张口就是高并发、大数据、高流量等之类高大上词汇的人,缺很少注重代码的基础结构,写出的代码很难让人轻易上手 - 如果代码结构和规范做得好一点,一般项目有一两个顶梁柱再加一些新手就完全可以搞定。这样既可以节省人力成本,也可以快速培养新人,新加入的成员也能快速融入 以下是整理的一般类型的项目代码结构,仅供参考。部分模块是使用spring boot开发项目的命名,但总体结构思路是一样的,如果不使用spring boot开发项目,只是修改一下名字即可 ### **建议的包结构及简单说明** - itopener-parent:顶级maven parent,配置统一的maven插件、依赖包版本管理等 - itopener-utils:全局公用的工具类,如:加密操作、集合处理、字符串处理等等 - itopener-framework:基于框架的统一的封装,比如:拦截器、controller返回对象、BaseControl...
通过[《Spring Cloud构建微服务架构:消息驱动的微服务(入门)》](http://blog.didispace.com/spring-cloud-starter-dalston-7-1/)一文,相信大家对Spring Cloud Stream的工作模式已经有了一些基础概念,比如:输入、输出通道的绑定,通道消息事件的监听等。下面在本文中,我们将详细介绍一下Spring Cloud Stream中是如何通过定义一些基础概念来对各种不同的消息中间件做抽象的。 下图是官方文档中对于Spring Cloud Stream应用模型的结构图。从中我们可以看到,Spring Cloud Stream构建的应用程序与消息中间件之间是通过绑定器`Binder`相关联的,绑定器对于应用程序而言起到了隔离作用,它使得不同消息中间件的实现细节对应用程序来说是透明的。所以对于每一个Spring Cloud Stream的应用程序来说,它不需要知晓消息中间件的通信细节,它只需要知道`Binder`对应用程序提供的概念去实现即可,而这个概念就是在快速入门中我们提到的消息通道:`Channel`。如下图案例,在应用程序和Binder之间定义了两条输入通道和三条输出通道来传递消息,而绑定器则是作为这些通道和消息中间件之间的桥梁进行通信。 ![](http://blog.didispace.com/assets/SCSt-with-binder.png) ### 绑定器 ...
java中监听器的实现大都是利用接口进行回调,使用比较麻烦。之后,spring框架中出现了在方法上加一个注解就可以实现监听的用法,特别简洁。本文就是在分析监听器回调原理的基础上,在spring环境中使用自定义的注解实现一个监听器。
长久以来,一直想剖析一下Java线程安全的本质,但是苦于有些微观的点想不明白,便搁置了下来,前段时间慢慢想明白了,便把所有的点串联起来,趁着思路清晰,整理成这样一篇文章。 二、导读
1、为什么有多线程?
2、线程安全描述的本质问题是什么?
3、Java内存模型(JMM)数据可见性问题、指令重排序、内存屏障 三、揭晓答案 1、为什么有多线程
谈到多线程,我们很容易与高性能画上等号,但是并非如此,举个简单的例子,从1加到100,用四个线程计算不一定比一个线程来得快。因为线程的创建和上下文切换,是一笔巨大的开销。
那么设计多线程的初衷是什么呢?来看一个这样的实际例子,计算机通常需要与人来交互,假设计算机只有一个线程,并且这个线程在等待用户的输入,那么在等待的过程中,CPU什么事情也做不了,只能等待,造成CPU的利用率很低。如果设计成多线程,在CPU在等待资源的过程中,可以切到其他的线程上去,提高CPU利用率。
现代处理器大多含有多个CPU核心,那么对于运算量大任务,可以用多线程的方式拆解成多个小任务并发的执行,提高计算的效率。
总结起来无非两点,提高CPU的利用率、...
在移动互联网的大潮下,随着docker等技术的兴起,『微服务』的概念也越来越被大家接受并应用于实践,日益增多的web service逐渐统一于RESTful 架构风格,如果开发者对RESTful 架构风格不甚了解,则开发出的所谓RESTful API总会貌合神离,不够规范。 本文是我对RESTful 架构风格的一些理解,和大家分享一下,如果有问题,欢迎讨论。
Outline 1. RESTful架构风格 1.1.1 资源 1.1.2 统一接口 1.1.3 URI 1.1.4 无状态 1.1 RESTful架构风格的特点 1.2 ROA、SOA、REST与RPC 1.3 本真REST与hybrid风格 2. 认证机制 2.1 Basic Auth 2.2 Token Auth 2.3 OAuth 3. 总结
1. RESTful架构风格 RESTful架构风格最初由Roy T. Fielding(HTTP/1.1协议专家组负责人)在其2000年的博士学位论文中提出。HTTP就是该架构风格的一个典型应用。从其诞生之日开始,它就因其可扩展性和简单性受到越来越多的架构师和开发者们的青睐。一方面,随着云计算和移动计算的兴起,许多企业愿意在互联网上共享自己的数据、功能;另一方面,在企业中,RESTful API(也称RESTful Web服务)也逐渐超越SOAP成为实现SOA的重要手段之一。时至今日,RESTful架构风格已成为企业级服务的标配。 REST即Representat...
![Web Vue.js](http://upload-images.jianshu.io/upload_images/a324d5fd42693?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 我想告诉你,我开始享受使用Vue.js和进行前端开发的故事。这不应该被理解为一篇关于为什么Vue.js可能比React,Angular或任何你正在考虑的其他Web框架更好的文章。Vuejs是令人惊叹的,但我们生活在一个作为前端开发人员同样令人惊叹的时代。 如果你几年前和我交谈过,我会把自己定位为一个后端开发人员,掌握服务器和数据库管理。面向对象的语言,java和c #,我想找到一种自己需要交付程序时使用的唯一的开发语言,我逐渐了解到更多关于.NET和SQL服务器的堆栈技术。当时我有这样一个概念,前端开发者只是使用右脑的附庸风雅的人,并不是“真正的”编程。 但是,在我最后一次求职,选择很少。特别是工作面试,我看到了自己是如何失败的。那次失败非常令人沮丧,但我从中吸取了不少教训。我获得了一个职位,利用了我在SharePoint的经验。我在SharePoint的经验并不特别:用GUI、工作流等设计页面这个不是我理想中的工作,而是为了生活不得不做的工作。 当我刚开始的时候,我接触过像我过去做过的任何类似的项目。我依靠GUI设计用户...
Kubernetes已经成为容器编排的事实上的王者,连Docker都已经向K8s女王大人低头。对于Kubernetes的cluster的数据收集和监控已经成为IT运维的一个重要话题。我们今天来看一看如何利用Splunk最新的Metrics Store来对Kubernetes的集群进行性能监控。 部署架构 下图是该方案的部署架构,主要包括: 利用Heapster收集K8s的性能数据,包含CPU,Memory,Network,File System等 利用Heapster的Statsd Sink,发送数据到Splunk的Metrics Store 利用Splunk的搜索命令和仪表盘功能对性能数据进行监控 前期准备 前期主要要准备好两件事: 编译最新的Heapster的镜像,并上传到某个公共的Docker镜像仓库,例如docker hub 在Splunk中配置Metrics Store和对应的网络输入(Network Input UDP/TCP) 这里主要要做的选择是Statsd的传输协议用UDP还是TCP。这里我推荐使用TCP。 最新的Heapster代码支持不同的Backend,包含了log, influxdb, stackdriver, gcp monitoring, gcp logging, statsd, hawkular-metrics, wavefront, openTSDB, kafka, riemann, elasticsearch等等。因为Splunk的Metrics Store支持statsd协议,所以可以很容易的和Heapster集成。 首先我们需要利用最新的heapster代码,编译...
之前在度娘搜索资料,无意间看到一些个人站点的博客都用了https协议,在浏览器地址栏中被标记为绿色的“安全”,前些天特地给自己负责的小项目升级成https协议,其优点这里不再赘述,小伙伴们可以自行百度,今天把整合部署分享在这里,希望小伙伴们少走弯路~ 效果如下: 软件版本如下: System Centos 6.5 Nginx Tengine/2.1.2 (nginx/1.6.2) SSL证书 Let's Encrypt 免费SSL证书 Tomcat Apache-tomcat-8.0.47 CDN Cloudflare.com
一、生成SSL证书 首先我们创建一个用来存放letsencrypt生成证书项目的路径并进入: cd /usr/local/letsencrypt 接下来我们克隆letsencrypt项目: git clone https://github.com/letsencrypt/letsencrypt 开始生成SSL证书: ./letsencrypt-auto certonly --standalone --email
-d www.test1.com -d www.test2.com --agree-tos 这里一定注意: (1). 域名绑定在国内DNS服务器无法生成,需要先将DNS服务器切换到DNS服务商,例如ClouldFlare、Godaddy、Dnsever后才能正常生成! (2). web服务需要处于关闭状态,注意关闭nginx和80端口的占用!(不间断服务方式生成可以自行百度) (3). -d 代表domain 可以同时生成多个域名对应证书,生...
& Optional可以让你的代码具有可读性,且会避免出现空指针异常。 都说没有遇到过空指针异常的程序员不是Java程序员,`null`确实引发过很多问题。Java 8中引入了一个叫做`java.util.Optional`的新类可以避免`null`引起的诸多问题。 我们看一下`null`引用能导致哪些危害。首先创建一个类`Computer`,结构如下图所示: ![输入图片说明](https://static.oschina.net/uploads/img/43707_99mL.gif "在这里输入图片标题") 当我们调用如下代码会怎样? ``` java String version = computer.getSoundcard().getUSB().getVersion(); ``` 上述代码看似是没有问题的,但是很多计算机(比如,树莓派)其实是没有声卡的,那么调用`getSoundcard()`方法可定会抛出空指针异常了。 一个常规的但是不好的的方法是返回一个null引用来表示计算机没有声卡,但是这就意味着会对一个空引调用`getUSB()`方法,显然会在程序运行过程中抛出控制异常,从而导致程序停止运行。想想一下,当你的程序在客户端电脑上运行时,突然出现这种错是多尴尬的一件事?  伟大计算机科学Tony Hoare曾经写到:"我认为null引用从1965年被创造出来导致了十亿美元的损失。当初使用null引用对我最大的诱...
## 实验环境 - ES版本:5.3.0 - spring bt版本:1.5.9 首先当然需要安装好elastic search环境,最好再安装上可视化插件 elasticsearch-head来便于我们直观地查看数据。 当然这部分可以参考本人的帖子: 《centos7上elastic search安装填坑记》 https://www.jianshu.com/p/04f4d7b4a1d3 我的ES安装在http://113.209.119.170:9200/ 这个地址(该地址需要配到springboot项目中去) --- ## Spring工程创建 这部分没有特殊要交代的,但有几个注意点一定要当心 - 注意在新建项目时记得勾选web和NoSQL中的Elasticsearch依赖,来张图说明一下吧: ![创建工程时勾选Nosql中的es依赖选项](http://upload-images.jianshu.io/upload_images/048db3dca0957.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 项目自动生成以后pom.xml中会自动添加`spring-boot-starter-data-elasticsearch`的依赖: ``` org.springframework.boot spring-boot-starter-data-elasticsearch ``` - 本项目中我们使用开源的基于restful的es java客户端`jest`,所以还需要在pom.xml中添加`jest`依赖: ``` io.searchbox jest ``` - 除此之外还必须添加`jna`的依赖: ``` net.java.dev.jna...
前后端分离并不是什么新鲜事,到处都是前后端分离的实践。然而一些历史项目在从一体化 Web 设计转向前后端分离的架构时,仍然不可避免的会遇到各种各样的问题。由于层出不穷的问题,甚至会有团队质疑,一体化好好的,为什么要前后端分离?
## 再见,Netty Netty,当前最流行的NIO框架,通信领域开发的不二之选。经过多年的发展,已在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO框架构建。目前市面上几乎找不到同类型可以与之媲美的通信框架,但是作为通信技术的爱好者,却向来无法对其产生亲近感。 我并不否认Netty的确是一款优秀的框架,曾经我也自己写过[NIO框架](https://gitee.com/smartdms/smart-socket),深知其实现难度有多大,最终选择了放弃。Netty的出现为广大程序员提供了便利,大大降低了开发高效、稳定服务的难度。至于本人对其无好感,究其原因有以下几点(首先申明一下,本人仅曾经简单使用过netty,并未深入研究): - 复杂;以下代码摘录自[Netty官网](http://netty.io/wiki/user-guide-for-5.x.html),初看代码,应该大部分人对于run方法比较费解。`EventLoopGroup`是干嘛的?`bossGroup`和`workerGroup`是什么关系?`childHandle`入参如此复杂!`ch.pipeline().addLast(new DiscardServerHandler())`实现的是什么功能?等等...。总之,这一个方法会引发你诸多疑惑。 ``` public class DiscardServer { private int p...
  无规矩不成方圆,编码规范就如同协议,有了Http、TCP等各种协议,计算机之间才能有效地通信,同样的,有了一致的编码规范,程序员之间才能有效地合作。道理大家都懂,可现实中的我们,经常一边吐槽别人的代码,一边写着被吐槽的代码,究其根本,就是缺乏遵从编码规范的意识!多年前,Google发布`Google Java Style`来定义Java编码时应遵循的规范;今年年初阿里则发布`阿里巴巴Java 开发手册`,并随后迭代了多个版本,直至9月份又发布了pdf终极版。这两大互联网巨头的初衷,都是希望能够统一标准,使业界编码达到一致性,提升沟通和研发效率,这对于我们码农无疑是很赞的一笔福利呀。笔者将两份规范都通读了一遍,其中列举的不少细则跟平时的编码习惯基本是符合的,不过还是有不少新奇的收获,忍不住记录在此,供日后念念不忘~ # Java开发规范总览 ## 一、Google Java Style   Google的java开发规范主要分为6大部分:源文件基本规范、源文件结构、代码格式、命名、编程实践和Javadoc,各部分概要如下: &1、源文件基本规范(source file basics):文件名、文件编码、特殊字符的规范要求 &2、源文件结构(source file structure):版权许可信息、package、import、类...
本文简要介绍了操作系统级虚拟化的概念,并简要阐述了实现操作系统虚拟化所用到的技术Namespace及cgroups的原理及使用方法。
简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 摘自官网。。 为什么要使用mybatis,相信看这篇文章的童鞋都有所了解,俺这里就多废话几句。在orm框架中,有轻量级的dbutils与mybatis,重量级的有hibernate。 为什么要选择mybatis呢?原因如下: 1.简单,这个无需我多废话。肯定的啊,使用过的童鞋都知道,在dao层定义一个接口,然后定义一个对应的xml(xml中namespace的值对应接口的全限定名就ok。因为mybatis是通过namespaceid去和接口类进行映射,然后使用动态代理创建接口类的实例方法,参见动态代理).
2.结果集映射,我认为这是mybatis做的最牛的一点,也是选择他最大的一个理由 3.完善的缓存机制(mybatis有1级缓存和2级缓存),1级缓存是基于会话的(Session),2级缓存是基于应用级别。这里不做过多阐述,有兴趣的可以参考文章 http://www.iteye.com/topic/.强大的插件机制。它可以在运行过程中动态...
前端性能优化是一个很宽泛的概念,本书前面的部分也多多少少提到一些前端优化方法,这也是我们一直在关注的一件重要事情。配合各种方式、手段、辅助系统,前端优化的最终目的都是提升用户体验,改善页面性能,我们常常竭尽全力进行前端页面优化,但却忽略了这样做的效果和意义。先不急于探究前端优化具体可以怎样去做,先看看什么是前端性能,应该怎样去了解和评价前端页面的性能。
在前文我们介绍了如何使用Redis或者Caffeine来做缓存。 - [Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存-2](http://www.jianshu.com/p/e53c1b60c6e1) - [Spring Boot缓存实战 Caffeine](http://www.jianshu.com/p/c72fb0c787fc) # 问题描述: 通过使用redis和Caffeine来做缓存,我们会发现一些问题。 - 如果只使用redis来做缓存我们会有大量的请求到redis,但是每次请求的数据都是一样的,假如这一部分数据就放在应用服务器本地,那么就省去了请求redis的网络开销,请求速度就会快很多。但是使用redis横向扩展很方便。 - 如果只使用Caffeine来做本地缓存,我们的应用服务器的内存是有限,并且单独为了缓存去扩展应用服务器是非常不划算。所以,只使用本地缓存也是有很大局限性的。 至此我们是不是有一个想法了,两个一起用。将热点数据放本地缓存(一级缓存),将非热点数据放redis缓存(二级缓存)。 # 缓存的选择 - 一级缓存:Caffeine是一个一个高性能的 Java 缓存库;使用 Window TinyLfu 回收策略,提供了一个近乎最佳的命中率。[Caffeine 缓存详解](http://www.jianshu.com/p/9a80c662dac4) - 二级缓存:redis是一高性能、高可用的key-value数据库,支持多...
& 随着现在分布式架构越来越盛行,在很多场景下需要使用到分布式锁。分布式锁的实现有很多种,比如基于数据库、 _zookeeper_ 等,本文主要介绍使用 _Redis_ 做分布式锁的方式,并封装成spring boot starter,方便使用 #### 一. _Redis_ 分布式锁的实现以及存在的问题 锁是针对某个资源,保证其访问的互斥性,在实际使用当中,这个资源一般是一个字符串。使用 _Redis_ 实现锁,主要是将资源放到 _Redis_ 当中,利用其原子性,当其他线程访问时,如果 _Redis_ 中已经存在这个资源,就不允许之后的一些操作。spring boot使用 _Redis_ 的操作主要是通过 _RedisTemplate_ 来实现,一般步骤如下: 1. 将锁资源放入 _Redis_ (注意是当key不存在时才能放成功,所以使用 _setIfAbsent_ 方法): ``` redisTemplate.opsForValue().setIfAbsent("key", "value"); ``` 2. 设置过期时间 ``` redisTemplate.expire("key", 30000, TimeUnit.MILLISECONDS); ``` 3. 释放锁 ``` redisTemplate.delete("key"); ``` 一般情况下,这样的实现就能够满足锁的需求了,但是如果在调用 _setIfAbsent_ 方法之后线程挂掉了,即没有给锁定的资源设置过期时间,默认是永不过期,那么这个锁就会一直存在。...}

我要回帖

更多关于 微信隐藏手机号码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信