btshot stuff下载怎样下载

& 大皇宫离邮轮远吗
你说的邮轮是夜游湄南河吗?搭公交船好像距离river city有6个站,15分钟左右吧
你说的邮轮是夜游湄南河吗?搭公交船好像距离river city有6个站,15分钟左右吧&
你说的邮轮是夜游湄南河吗?搭公交船好像距离river city有6个站,15分钟左右吧
领取成功!扫描领取180元新人红包
打开app在[我的]-[我的优惠券]查看并使用
(C) 2018 Mafengwo.cn
京公网安备号
新出网证(京)字242号 马蜂窝客服:国内 海外 +86-10-Other StuffBy Gene | Gene created a magazine on Flipboard. “Other Stuff on Flipboard” is available with thousands of other magazines and all the news you care about. Download Flipboard for free and search for “Gene”.In the digital age, the number of passwords you need to remember is only increasing and even though we are told each one needs to be different, it is …... or to keep on hand for when you inevitably forget next year.&p&Father's Day is right around the corner, so let the big guy know you are thinking of him and pick up one of these gifts today.In-car entertainment systems are evolving constantly as automakers vie for tech-savvy buyers and add ever more features.&p&With so many new infotainment options, as well as different options dependent on car models and trim levels, it's tough to tell which system is right for you -- and which offers …Bleach has a spot in most people's bathrooms, but it's actually quite handy in the kitchen as well. While people tend to avoid it in that space, …You may have heard this term being thrown around before without really understanding what it refers to so today we’re here to tell you all about …From tech accessories to wardrobe essentials.&p&It can be difficult to buy for the men in your life, which is why we've put together a list that includes something for everyone—from the perfect set of headphones for the tech obsessed to a sleek pair of dress shoes for the 9-to-5-er. Click through to …Finding the perfect gift for Dad can be tricky. How do you find something that says thanks for all those years you spent bailing me out of trouble …Clean deodorant stains, stop your shoes squeaking, and get the static out of your hair.&p&&b&Read more:&/b&&p&o 15 Damn-Near Brilliant Hacks Using Cotton Balls&p&o 16 Clever Things To Do With All Those Empty Jars You've Been Hanging Onto&p&o 16 Ways To Upcycle The Stuff In Your Junk Drawer You Thought You Didn't Needo Popsugar&br&o Love & Sex&br&o Sex Positions&p&How to Orgasm From Oral Sex&p&The Best Sex Positions That'll Guarantee an Orgasm From Oral Sex&p&Shares&p&When it comes to …Teens in each generation develop a language of their own based on what is going on in teen culture. And the introduction of social media and digital …1&p&Beer Savers&p&If you sometimes struggle to finish a bottle of beer or cider but hate to toss its valuable contents, try saving it for later with one of …Horror movies always become exponentially creepier once you know they’re based on a true story. In fact, some of the scariest horror films ever made …What happens after we say cheese? For the subjects of the following photographs they probably din’t predict the answer to be a morbid one. We have …Attracting hummingbirds is easy when you start thinking like a hummingbird! Experts Kenn and Kimberly Kaufman explain what these birds really want …We use a great many knives in the Gear Patrol office. I’ve always been a fan, if not connoisseur, of the implement myself, and currently have no …Soundcore Flare&p&I've tested many portable Bluetooth speakers, and none come close to the room-filling, immersive power of the Soundcore Flare. In …Getting the five-star treatment doesn't mean shelling out a small fortune in the process. Whether you're shopping for gifts or you're looking for …25 Don’t Torture a Duckling (Lucio Fulci, 1972)&p&Now that Lars von Trier has offered what may be a backhanded homage to it in his serial-killer nightmare The House That Jack Built, attention may well refocus on this cult giallo classic from Italy. A journalist investigates a series of murders in a …They may not be glamorous, but you need household items like sponges, plungers, and shower liners. And as long as you're shopping to keep your house …1&p&Caseta Wireless Smart Lighting Dimmer Switch Starter Kit&p&Turn your lights on and off directly from your phone, Google Pixel, or Apple Watch with this …Did you know you can stow stuff in the seat of your chair?&p&&b&Read more:&/b&&p&o35 Things That Will Magically Give Your Home More Space&p&o13 Brilliant Ways To Store Things In A Small Room&p&o22 Useful Tips And Tricks For Anyone Living In A Small SpaceNostalgia has a place in everyone's hearts, but no one floods the internet with their sentiments about the past as much as '90s kids. However, since …Turn on all of your lights before clicking this (thank me later).&p&There's a bridge between Windyville and Lebanon, Missouri, that everyone knows to never stop on at night. It's near an abandoned playground where several children died. At night, people hear children giggling and claim the cars move, …Scott Wadsworth of Essential Craftsman talks about and demonstrates the usefulness of five essential knots that everyone should know how to tie and …&i&Black Mirror&/i& is science fiction, but sometimes it hits pretty close to home — and today’s modern world is actually filled with high-tech devices that …If your the type of person who is constantly loosing track of your keys or phone but have become frustrated with the Tile’s battery life limitations,&/i& …We reviewed Divoom's original Voombox Outdoor and thought it was pretty good for $100. Now the Voombox Outdoor 2 sells for $60 (?40) online and plays very loud for its small size, though it can distort at higher volumes. See pricing for Voombox Outdoor 2 on Amazon .&p&Published: / Caption: David …First-Class Tech&p&Let’s face it, most of us have given up the idea of totally disconnecting on the road. The pressure of the Netflix queue, work emails …Line the tops of hard-to-reach cabinets with paper grocery bags so instead of dusting, you can just replace the bags.收藏此帖子
____BEAUTY HAS A PRICE TRANS ANDREA_____ (SHANGHAI)
隐藏该帖子
Looking for a hot stuff??
Im your naughty ts for the day!!!
The sweet and adorable girlfriend for awhile
The classy t girl you can flirt with...
Im sensual...
Passionate
Lemme give you the chance
Of undressing this new..
Hot ts in town..
如有服务或其他商业需求,可联系本信息发布者btstorr.cc - BTScene Search torrents
SOFTWARE :
Two paragliders fly above the Arabian Sea off the coast of Socotra Island...
& Bit Torrent Scene 2018 -Mondrian,mysql
本文翻译自: Gerald Nash《Build Your First Smart Contract》 原文地址:https://medium.com/crypto-currently/build-your-first-smart-contract-fc36a8ff50ca 由微信公众号“Wancloud万云”翻译并发布于公众号上。
这篇文章,我们将用使用编程语言Solidity教大家编写一个简单的counter智能合约。Solidity这种语言与JavaScript相似。
开始之前,您需要安装的工具: 1. Ganache:这将是我们用来创建仅在我们的计算机上运行的私有区块链的工具。链接:http://truffleframework.com/ganache/ 2.MyEtherWallet副本,在这种情况下,URL托管的网站将不起作用。链接:https://github.com/kvhnuke/etherwallet/releases 注意:下载的版本是etherwallet-v3.xx.x.x.zip。
安装完成后,我们开始访问https://remix.ethereum.org/,打开这个网址后显示如下: 这是Remix,一个Solidity语言的在线编译器,我们将用此编译器来编写智能合约代码。
第一次访问该页面时,我们需要将本文编辑器预加载的代码删除,并替换为如下内容:
这是我们counter的代码。正如你所看到的,它有一个变量和三个函数。变量count是一个私有整数,这意味着它不能被合约以外的任何人访问。第一个...
开源中国官方博客征稿了。欢迎投稿,文章一旦被官方账号收录,我们会在网站首页等位置进行推荐。 投稿内容要求 互联网技术相关,包括但不限于开发语言、网络、数据库、架构、运维、前端、DevOps(DevXXX)、AI、区块链、存储、移动、安全、技术团队管理等内容。 文章不需要首发,可以是已经在开源中国博客或网上其它平台发布过的。 如果你是记录某一次解决了某一个问题(这在博客中占绝大比例),那么需要将问题的前因后果描述清楚,最直接的就是结合图文等方式将问题复现,同时完整地说明解决思路与最终成功的方案。 如果你是分析某一技术理论知识,请从定义、应用场景、实际案例、关键技术细节、观点等方面,对其进行较为全面地介绍。 如果你是以实际案例分享自己或者公司对诸如某一架构模型、通用技术、编程语言、运维工具的实践,那么请将事件相关背景、具体技术细节、演进过程、思考、应用效果等方面描述清楚。 其它未尽 case 具体情况具体分析,不虚的,文章投过来试试先,比如我们并不拒绝就某个热点事件对其进行的报导、深入解析。 投稿方式 以 Word 或者 Markdown 文档的形式将稿件投递到
邮箱 重要说明 作者需要拥有所投文章的所有权,不能...
开源众包在开源中国社区APP上线啦。不用电脑也可以随时接单。
最近关于渐进式Web应用有好多讨论,有一些人还在质疑渐进式Web应用是否就是移动端未来。 但在这篇文章中我并不会将渐进式APP和原生的APP进行比较,但有一点是可以肯定的,这两种APP的目标都是使用户体验变得更好。 移动端Web应用有很多优秀的概念让人应接不暇,但好在编写一个渐进式Web应用不是一个很困难的事情。在这篇文章里将向你介绍如何把一个普通的网站转换成渐进式Web应用。你可以按照这篇文章一步一步地做,做完之后你的网站将可以实现离线访问,并且可以在桌面上创建该网站的图标。那么下面即将开始入门教程。 什么是渐进式Web应用? 渐进式Web应用是一种全新的Web技术,让Web应用和原生APP的体验相近或一致。 渐进式Web应用它可以横跨Web技术及Native APP开发的解决方案,对于开发者的优势如下: 你只需要关心W3C的Web标准,不用关心各种Native APP的代码。 用户可以在安装应用之前先试用。 在渐进式Web应用中,你不需要使用各种应用商店来分发应用,也不用关心应用发布时奇怪的审核标准以及应用内购的平台抽成。另外,应用程序更新是自动进行的,无需用户交互,所以整体的使用体验对于用户来讲更为的平滑。 渐进式Web应用的“安装”过程很快,只需要在主屏幕上添...
看这篇文章需要对以太坊,代币,ERC20,智能合约等编程开发概念有基本了解。 什么是ERC20 可以把ERC20简单理解成以太坊上的代币协议,所有基于以太坊开发的代币合约都遵守这个协议。遵守这些协议的代币我们可以认为是标准化的代币,而标准化带来的好处是兼容性好。这些标准化的代币可以被各种以太坊钱包支持,用于不同的平台和项目。说白了,你要是想在以太坊上发行代币融资,必须要遵守ERC20标准。 ERC20的标准接口是这样的: contract ERC20 {
function name() constant returns (string name)
function symbol() constant returns (string symbol)
function decimals() constant returns (uint8 decimals)
function totalSupply() constant returns (uint totalSupply);
function balanceOf(address _owner) constant returns (uint balance);
function transfer(address _to, uint _value) returns (bool success);
function transferFrom(address _from, address _to, uint _value) returns (bool success);
function approve(address _spender, uint _value) returns (bool success);
function allowance(addres...
valgrind 内存检测
1、Synchronized关键字 1、方法中的变量不存在非线程安全问题,都是线程安全的。 2、两个线程访问同一个对象中的同步方法时,一定是线程安全的。 3、关键字synchronized取得的锁都是对象锁,而不是把一段代码或方法(函数)当作锁,哪个线程先执行synchronized关键字的方法,哪个线程就持有该方法所属对象的锁Lock,那么其他线程只能呈等待状态,前提是多个线程访问的是同一个对象。但如果多个线程访问多个对象,则JVM会创建多个锁。 4、调用关键字synchronized声明的方法一定是排队运行的。另外需要牢记“共享”两个字,只有共享资源的读写访问才需要同步化,如果不是共享资源,那么根本没同步的必要。 5、两个线程A和B,虽然线程A先持有了Object对象的锁,但线程B完全可以异步调用非synchronized类型的方法。 6、A线程先持有Object对象的Lock锁,B线程可以以异步的方式调用object对象中的非synchronized类型的方法。 7、A线程先持有object对象的Lock锁,B线程如果在这时调用Object对象中的synchronized类型的方法则需等待,也就是同步。 8、多个线程调用同一个方法时,为了避免数据出现交叉的情况,使用synchronized关键字进行同步。 9、脏读:在读取实例变量时,此值已经被...
一起学习一下高并发架构中神器Hystrix,使用hystrix之前,建议先了解一下Rxjava,本文通过官方文档,对Hystrix进行初步了解,如有不当之处,望大神指正补充 ,后续通过项目示例对Hystrix再进一步深入学习
## 前言 要学习好Java的多线程,就一定得对volatile关键字的作用机制了熟于胸。最近博主看了大量关于volatile的相关博客,对其有了一点初步的理解和认识,下面通过自己的话叙述整理一遍。 ## 有什么用? volatile主要对所修饰的变量提供两个功能 - **可见性** - **防止指令重排序** 本篇博客主要对volatile可见性进行探讨,以后发表关于指令重排序的博文。 ### 什么是可见性? **一图胜千言** ![JAVA内存模型](https://user-gold-cdn.xitu.io//60d89fa06be2a5be782e?imageView2/0/w/1280/h/960) 上图已经把JAVA内存模型(JMM)展示得很详细了,简单概括一下 1. 每个Thread有一个属于自己的工作内存(可以理解为每个厨师有一个属于自己的铁锅) 2. 所有Thread共用一个主内存(餐厅所有的厨师共用同一个冰箱) 3. 每个Thread操作数据之前都会去主内存中获取数据(厨师炒菜之前都要去冰箱里拿食材) - Thread:厨师 - 工作内存:铁锅 - store&load:放熟食,取食材 - 主内存:冰箱 读者可思考以下情景: 餐厅来了一位顾客点了一份红烧肉,此时有两位大厨(假设大厨之间互不通信),由于互不通信,所以两位大厨都打开冰箱取出食材开始炒菜。 最后炒出了两份红...
介绍RocketMQ的图形化管理后台及命令行操作方式
CoreOS下的Docker配置是通过flannel unit来实现的 通过命令可以看出配置文件的默认位置
systemctl cat docker # /run/systemd/system/docker.service
Requires=torcx.target
After=torcx.target
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=containerd.service docker.socket network-online.target
Wants=network-online.target
Requires=containerd.service docker.socket
EnvironmentFile=/run/metadata/torcx
Type=notify
EnvironmentFile=-/run/flannel/flannel_docker_opts.env
Environment=DOCKER_SELINUX=--selinux-enabled=true /run/flannel/flannel_docker_opts.env 这个文件默认是没有的,所以我们创建对应目录和文件即可。 补充:如果docker run的时候报如下错误: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/d22ea683d13b6f5fc9eid argument. 则需要修改/run/systemd/system/docker.service文件中的这一项 Environment=DOCKER_SELINUX=--selinux-enabled=false 然后 systemctl daemon-reload system...
一、Ruby环境准备 输入一下命令即可,虽然官网说这是一个较老的版本(2.3.1),但是是可以用的 sudo apt-get install ruby-full 安装完成后,输入下列指令出现版本号则安装成功 ruby -v 安装rubygem redis依赖 wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l redis-3.3.0.gem 都安装好之后,进入{redis.home}/src目录,执行 ./redis-trib.rb 出现下列信息则成功, 二、redis配置准备 一般情况下redis集群组成最少是六个节点,三主三从。我们在redis根目录新建一个文件夹cluster-conf,将配置复制六份,并以redis-{port}.conf命名,集群相关配置如下,其余跟单机模式相同: # 节点端口
# 开启集群模式
cluster-enable yes
# 节点超时时间,单位毫秒
cluster-node-timeout 15000
#集群内部配置文件
cluster-config-file “nodes-6481.conf” 三、创建集群 然后启动所有节点 redis-server cluster-conf/redis-6481.conf
redis-server cluster-conf/redis-6482.conf
redis-server cluster-conf/redis-6483.conf
redis-server cluster-conf/redis-6484.conf
redis-server cluster-conf/redis-6485.conf
redis-server cluster-conf/redis-6486.c...
Netkiller Blockchain 手札 本文作者最近在找工作,有意向致电
Mr. Neo Chan, 陈景峯(BG7NYT) 中国广东省深圳市龙华新区民治街道溪山美地
&& 文档始创于 版权 (C) 2018 Netkiller(Neo Chan). All rights reserved.
版权声明 转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。 http://www.netkiller.cn http://netkiller.github.io http://netkiller.sourceforge.net 微信订阅号 netkiller-ebook (微信扫描二维码) QQ: 请注明“读者” QQ群: 请注明“读者”
$Data$ 内容摘要 这一部关于区块链开发及运维的电子书。 为什么会写区块链电子书?因为2018年是区块链年,区块链是一个风口,前几个风口我都错过了。例如web2.0, 云, 大数据等等,都从身旁擦肩而过。所以我要抓住这次。 这本电子书是否会出版(纸质图书)? 不会,因为互联网技术更迭太快,纸质书籍的内容无法实时更新,一本书动辄百元,很快就成为垃圾,你会发现目前市面的上区块链书籍至少是一年前写的,内容已经过时,很多例子无法正确运行。所以我不会出版,电子书的内容会追逐技术发展,及时跟...
Java8新特性 Lambda Stream流 时间API
今天来写一下关于购物车的东西, 这里首先抛出四个问题: 1)用户没登陆用户名和密码,添加商品, 关闭浏览器再打开后 不登录用户名和密码 问:购物车商品还在吗?
2)用户登陆了用户名密码,添加商品,关闭浏览器再打开后 不登录用户名和密码 问:购物车商品还在吗?
3)用户登陆了用户名密码,添加商品, 关闭浏览器,然后再打开,登陆用户名和密码
问:购物车商品还在吗? 4)用户登陆了用户名密码,添加商品, 关闭浏览器 外地老家打开浏览器
登陆用户名和密码 问:购物车商品还在吗? 上面四个问题都是以京东为模板, 那么大家猜猜结果是什么呢? 1)在 2)不在了 3)在 4)在 如果你能够猜到答案, 那么说明你真的很棒, 那么关于这四点是怎么实现的呢? (如果有不认可的小伙伴可以用京东实验一下) 下面我们就来讲解下购物车的原理,最后再来说下具体的code实现. 1)用户没有登录, 添加商品, 此时的商品是被添加到了浏览器的Cookie中, 所以当再次访问时(不登录),商品仍然在Cookie中, 所以购物车中的商品还是存在的. 2)用户登录了,添加商品, 此时会将Cookie中和用户选择的商品都添加到购物车中, 然后删除Cookie中的商品. 所以当用户再次访问(不登录),此时Cooki...
Equivalence Class是用来给Kubernetes Scheduler加速Predicate,从而提升Scheduler的吞吐性能。Kubernetes scheduler维护着Equivalence Cache的数据,当有Pod进入到Predicate阶段时,会先从Equivalence Cache中争取命中缓存,从而减少不必要的、重复的预选策略处理。本文从Equivalence Class的概念及意义、工作原理、核心代码分析等几个方面展开分析。
在上文[Spring Bean注册解析(一)](https://my.oschina.net/zhangxufeng/blog/1811241)中,我们讲解了Spring在注册Bean之前进行了哪些前期工作,以及Spring是如何存储注册的Bean的,并且详细介绍了Spring是如何解析xml文件的四种基本标签中的import、alias和beans标签的,本文主要讲解Spring是如何解析xml文件中的bean标签。
我们首先还是来看Spring解析四种基本标签的入口,及DefaultBeanDefinitionDocumentReader.parseDefaultElement方法: ```java private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate delegate) { if (delegate.nodeNameEquals(ele, IMPORT_ELEMENT)) { importBeanDefinitionResource(ele); } else if (delegate.nodeNameEquals(ele, ALIAS_ELEMENT)) { processAliasRegistration(ele); } else if (delegate.nodeNameEquals(ele, BEAN_ELEMENT)) { processBeanDefinition(ele, delegate); } else if (delegate.nodeNameEquals(ele, NESTED_BEANS_ELEMENT)) { // recurse doRegisterBeanDefinitions(ele); } } ```
其余三种标签的解析过程上文已经进行了讲解,这里不再赘述,我们直...
一.通信框架 流行基于Java NIO通信框架有Mina、Netty、Grizzly等。接下来说下它们之间的对比。 二.它们的出身 1、Mina出身于开源界的大牛Apache组织; 2、Netty出身于商业开源大亨Jboss; 3、Grizzly则出身于土鳖Sun公司。 三.它们的设计理念 1、Mina
Mina(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 Mina 版本2.04支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序,Mina 所支持的功能也在进一步的扩展中。 目前,正在使用Mina的应用包括:Apache Directory Project、AsyncWeb、AMQP(Advanced Message Queuing Protocol)、RED5 Server(Macromedia
Flash Media RTMP)、ObjectRADIUS、 Openfire等等。 2、Netty
Netty是一款异步的事件驱动的网络应用框架和工具,用于快速开发可维护的高性能、高扩展性协议服务器和客户端。也就是说,Netty是一个NIO客户端/服务器框架,支持快速、简单地开发网络应用,如协议服务器和客户端。它极大简化了网络编程,如TCP和UDP套接字服务器。 3、Grizzly
Grizzly是一种应用程序框架,专门解决编...
### 概论 学完ArrayList和LinkedList之后,我们接着学习Vector。学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。 ### 第1部分 Vector介绍 ## Vector简介 Vector 是**矢量队列**,它是JDK1.0版本添加的类。继承于AbstractList,实现了List, RandomAccess, Cloneable这些接口。 Vector 继承了AbstractList,实现了List;所以,**它是一个队列,支持相关的添加、删除、修改、遍历等功能。** Vector 实现了RandmoAccess接口,即提供了**随机访问功能**。RandmoAccess是java中用来被List实现,为List提供快速访问功能的。在Vector中,我们即可以通过元素的序号快速获取元素对象;这就是快速随机访问。 Vector 实现了Cloneable接口,即实现clone()函数。它能被克隆。 和ArrayList不同,**Vector中的操作是线程安全的。** ## Vector的构造函数 ``` Vector共有4个构造函数 // 默认构造函数 Vector() // capacity是Vector的默认容量大小。当由于增加数据导致容量增加时,每次容量会增加一倍。 Vector(int capacity) // capacity是Vector的默认容量大小,capacityIncrement是每次Vector容量增加时的增量值。 Vector(int capacit...
波士顿咨询公司(Boston Consulting Group)最近的一项调查显示,公司拥有的大数据能力与他们渴望在三年内拥有的大数据能力之间存在着巨大的差距。 其中一项能力——优先级能力——的不足影响尤甚,因为它是成功的根本。 此外,另外一个明显的现象是,企业选择大数据方案时非常地“随性”。有时候会选择脱离实际的方案,而不是具有成长性的方案——那种可以让企业随着时间的推移集成到更先进、更有价值的能力的方案。随性的选择有时候还会导致企业以彼此分散、不相关联的方式工作。业务部门通常不知道、也没有能力利用其他业务部门开发的数据资源、人才或洞见。 不过,企业可以改变策略。从随性选择转变为聚焦重点,一边追求大数据带来的价值,一边以协调的方式发展自己的大数据能力。通过“加速器”和“测试-学习”的方法,企业可以快速查看结果,获得经验并将经验教训应用到工作中去。 如果您觉得“加速器”和“测试-学习”这两个概念比较陌生,这是正常的——我们即将从0开始,一步一步地展开说明如何利用这些工具,形成您的大数据视野。 1、聚焦重点 公司聚焦能力的关键在于它确定优先级的能力。然而,这往往是公司最薄弱的能力之一。波士顿咨询公司(以下简称BCG)调...
# AWS数据库容灾 ## 项目要求 A账号定时将本账号北京区的RDS数据库进行快照备份,并将备份的快照分享给B账号,B帐号收到分享后及时将分享的快照复制到自己的北京区RDS快照组中进行备份。 ![项目要求](https://oscimg.oschina.net/oscnet/bcfd31bf24ec1b83c73cc0e1.jpg "项目要求") ## 解决方案 ![解决方案](https://oscimg.oschina.net/oscnet/fb0209d7edf89ae234fb5ab01e6e463d5fc.jpg "解决方案") * A账号中: 1. 创建一个名为timer-trigger-lambda 的CloudWatch Scheduler Event用于定时触发lambda函数。 2. 创建一个名为timer-create-dbSnapshot的lambda函数,当收到定时的Event触发时对要求的rds(或列出所有的rds)进行打快照处理 3. 创建一个名为notify -manualCreateSnapshot-SNS-lambda的RDS时间订阅,订阅指定RDS实例(或所有实例)的快照处理事件,并将事件发送给SNS topic。 4. 创建一个名为find-new-rds-snap的SNS的topic,用于接收RDS快照事件订阅并将订阅的事件转发给lambda函数,触发快照分享操作。 5. 创建一个名为share-dbSnapshot-to-B的lambda函数,当接收到SNS的触发时进行指定快照的分享给B账号,并将过期的快照删除,并将结果发给SNS去通...
今年6月25日至27日, LinuxCon + ContainerCon + CloudOpen(LC3)将在北京国家会议中心召开。本次会议针对开源技术在人工智能和深度学习、区块链、云原生、虚拟服务器架构和微服务、新兴技术、基础实施和自动化、IoT和M2M、KVM、Linux系统、网络编排等10大前沿领域的应用,邀请了全球数百位业界大咖,用三天时间、超过200场分享,从市场、技术、产业甚至整个生态层面,将做全方位的探讨。
在项目中看到@ControllerAdvice + @ExceptionHandler 的用法,故记录一下
# 问题 想要实现div内部两个标签横向排列 # 示例 ## CSS ```CSS .line_file { display: white-space: width: 80%; border: 1px dashed # } .line_file_content { display: inline- width: 90%; } .line_file_delete { display: inline- text-align: width: 10%; background-color: #d3d3d3; } ``` ## HTML ```HTML ``` 在```line_file```中设置父div的css属性为: ```CSS display: white-space: ``` 在```line_file_content```和```line_file_delete```两个子标签的css属性为: ```CSS display: inline- ``` 上述CSS属性作用如下: ### display &display 属性用于定义建立布局时元素生成的显示框类型。 | **值** | 说明 | | --- | --- | | block | 此元素将显示为块。| | inline-block | 行内块元素。(CSS2.1 新增的值) | ### white-space &white-space 属性设置如何处理元素内的空白。 | **值** | 说明 | | --- | --- | | nowrap | 文本不会换行,文本会在在同一行上继续,直到遇到 ``` ```标签为止。 | # 最终效果 ![子label class="line_file_content"效果](https://upload-images.jianshu.io/upload_i...
抢购是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少(“超卖”问题) 对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。重点在于第二个问题,我们看看下面一种常规的实现代码: &?php
require('predis/src/Autoloader.php');
$redis = new Predis\Client(array(
'scheme' =& 'tcp',
=& '127.0.0.1',
//redis 登录
$redis-&auth('123456');
$num = 10;
$user_id = $_SESSION['user_id'];
//检查库存
$len = $redis-&llen('order:1');
if($len &= $num){
exit('已经抢光了');
//把抢到的用户存入到列表中
$result = $redis-&lpush('order:1',$user_id);
if($result){
echo '抢到了';
?& 如果代码正常运行,列表order:1中最多只能存储10个用户的id,因为库存只有10个。 然而,在使用Apache AB工具模拟很多用户并发请求时,最后发现order:1中总是超过10个用户,也就是出现了“超卖”。 问题就出在这一段代码: //检查库存
$len = $redis-&llen('order...
参考网络:
function getCurrentUrl(){
//获取当前完整url,为了清晰,多定义几个变量,分几行写
$scheme = $_SERVER['REQUEST_SCHEME']; //协议
$domain = $_SERVER['HTTP_HOST']; //域名/主机
$requestUri = $_SERVER['REQUEST_URI']; //请求参数
//将得到的各项拼接起来
$currentUrl = $scheme . "://" . $domain . $requestU
return $currentU //传回当前url
} 一:用户名验证 允许会员使用汉字、英文、数字三种方式单一或混合做用户名的正则表达式规则如下: function checkUserName ($value) {
return (bool) preg_match('/^[\x{4e00}-\x{9fa5}A-Za-z0-9]{2,16}$/u', $value);
} 二:手机号码验证 几乎是全部的手机号码段了: function isMobile($value) {
$pattern = '/(133|153|180|181|189|177|130|131|132|155|156|185|186|145|176|134|135|136|137|138|139|150|151|152|157|158|159|182|183|184|187|188|147|178)\d{8}$/';
return (bool)preg_match($pattern, $value);
golang 编译后文件过大问题处理
开发者论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读!
上周因为高考晚了几天,大家见谅。
阿里云万网域名一键签发SSL证书 快捷申请免费SSL证书教程
摘要:阿里云域名主力全民上HTTPS,一键自助申请签发。5分钟拥有你自己的ssl证书。
教程&&https://bbs.aliyun.com/read/579196.html
参加.XYZ四周年活动,支持创意创新创业
摘要:.XYZ在步入四岁之际,特举办庆祝活动,支持创意创新创业!续费.xyz域名首年仅需44元、一次性注册.xyz域名两年也仅44元、.xyz域名溢价词首年注册5折。
活动&&https://bbs.aliyun.com/read/579241.html
煮米随想(连载)
红烧菠萝蜜
摘要:道德经里有两句名言,一生二二生三三生万物;人法地,地法天,天法道,道法自然。这是我喜欢煮自然米的原因。
更多&&https://bbs.aliyun.com/read/579202.html
【萌新求教】自己敲得html代码可以放到云服务器上吗
建站流程&&https://bbs.aliyun.com/read/579203.html
无法将文本信息粘贴到云服务器内
疑问:无法将远程外部所需的文本信...
The server accepts the connection only if the Host and User columns in some user table row match the client host name and user name, the client supplies the password specified in that row, and the account_locked value is 'N'.
在线scala编程 https://scalafiddle.io/ Scala教程 http://www.runoob.com/scala/scala-tutorial.html https://www.yiibai.com/scala/scala_strings.html http://wiki.jikexueyuan.com/project/scala-development-guide/add-scope.html 小牛学堂教程 http://www.edu360.cn/news/tutorials/content?id=3859 programming in scala(scala编程中文版)相关代码及资源 https://booksites.artima.com/programming_in_scala_2ed scala for eclise安装 http://scala-ide.org/docs/current-user-doc/gettingstarted/index.html 中有http://scala-ide.org/download/nightly.html 插件for eclipse下载 Eclipse 安装scala插件 https://blog.csdn.net/juan0728juan/article/details/ (我安装前面二项就成功了,但源码跟踪时不能看到源码) ``` 1. scala2.12.6.msi 安装 2. 配置SCALA_HOME 及path路径 SCALA_HOME C:\Program Files (x86)\scala PATH :%SCALA_HOME%\bin 3. 安装eclipse-scala-plugin插件,下载地址http://scala-ide.org/download/current.html 其中有如下说明: Eclipse 4.7 (Oxygen) Update site installation http://download.scala-ide.org/sdk/lithium/e47/...
ActiveMQ和 RabbitMq 以及Kafka在之前的项目中都有陆续使用过,当然对于三者没有进行过具体的对比,以下摘抄了一些网上关于这三者的对比情况,我自己看过之后感觉还 是可以的,比较清晰的反馈了这三个的具体情况已经使用场景,具体的对比如下: 1)TPS比较: Kafka最高,RabbitMq 次之, ActiveMq 最差。 2)吞吐量对比: kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度,消息处理的效率很高。 rabbitMQ在吞吐量方面稍逊于kafka,他们的出发点不一样,rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。 3)在架构模型方面: RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循环从输入流读取数据)。rabbitMQ以broker为中心;有消息的确认机制。 kafka遵从一般的MQ结构,producer,broker,consumer,以consumer为中...
电脑上装了Windows 7和Ubantu双系统,由于Linux系统用的次数比较少并且还是默认的启动项对此很不能容忍,因此得修改Windows为默认的启动项。
由于电脑上的系统引导程序是GRUB,因此修改当然也就落到Linux系统上啦。
修改/boot/grub/grub.cfg该文件中的默认加载启动项(默认自动加载第一个启动项,default="0"),由于该文件比较重要在修改前把他备份了一下(cp /boot/grub/grub.cfg /boot/grub/grub.cfg.back)
电脑上开机启动选择项有5个,而Windows的选项正好是排第5,因此将默认启动项由原先默认0改成4即可。
修改前(grub.cfg.back是修改前备份的):
注意grub.cfg文件为只读文件因此修改需用root用户强行修改。
```java @Autowired @Resource(name="redisTemplate") private RedisT public void flushdb(){ rt.execute(new RedisCallback() { public String doInRedis(RedisConnection connection) throws DataAccessException { connection.flushDb(); return "ok"; } }); } public void set(){ flushdb(); ValueOperations vo = rt.opsForValue(); vo.set("wzg", "nihao"); vo.set("wzg", "nihao",3); vo.set("wzg2", "nihao",2,TimeUnit.MINUTES); vo.set("mc", "nihao"); vo.setIfAbsent("wzg", "dsg"); Map map = new HashMap(); map.put("cff", "xsg"); map.put("cl", "xxsg"); vo.multiSet(map); vo.append("cff", " sm"); vo.increment("age", 2); vo.increment("age", 1); vo.increment("age", -1); rt.delete("mc"); rt.convertAndSend("redisss", "niyashabi"); rt.setEnableTransactionSupport(true); } public void get(){ ValueOperations vo = rt.opsForValue(); out(vo.get("wzg")); out(vo.get("wzg",1,2)); out(vo.getAndSet("wzg", "hello")); out(vo.get("wzg")); out(vo.multiGet(Arrays.asList("cff","cl"))); out(vo.size("wzg")); out(vo.get("mc...
开发者论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读!
上周因为高考晚了几天,大家见谅。
阿里云万网域名一键签发SSL证书 快捷申请免费SSL证书教程
摘要:阿里云域名主力全民上HTTPS,一键自助申请签发。5分钟拥有你自己的ssl证书。
教程&&https://bbs.aliyun.com/read/579196.html
参加.XYZ四周年活动,支持创意创新创业
摘要:.XYZ在步入四岁之际,特举办庆祝活动,支持创意创新创业!续费.xyz域名首年仅需44元、一次性注册.xyz域名两年也仅44元、.xyz域名溢价词首年注册5折。
活动&&https://bbs.aliyun.com/read/579241.html
煮米随想(连载)
红烧菠萝蜜
摘要:道德经里有两句名言,一生二二生三三生万物;人法地,地法天,天法道,道法自然。这是我喜欢煮自然米的原因。
更多&&https://bbs.aliyun.com/read/579202.html
【萌新求教】自己敲得html代码可以放到云服务器上吗
建站流程&&https://bbs.aliyun.com/read/579203.html
无法将文本信息粘贴到云服务器内
疑问:无法将远程外部所需的文本信...
dubbo的调研已经快完结了(按照我自己拟定的计划),今天计划内的内容有: 序列化 编解码 通信实现 按照源码的阅读习惯,我们按照上面列表的逆序来一个一个的分析。废话不多说,走着~ 通信实现 我们主要基于dubbo推荐默认使用的通信框架:netty,来了解一下dubbo是如何完成两端通信的。我们直接从DubboProtocol类开始看起: export()
openServer()
createServer()
server = Exchangers.bind(url, requestHandler);
//创建服务
dubbo从要暴漏的服务的URL中取得相关的配置(host,port等)进行服务端server的创建,并且保证相同的配置(host+port)下只会开启一个server,这和netty提供的模型有关(NIO),这个我们后面再说。 我们先来继续看Exchangers的相关部分, ......
public static ExchangeServer bind(URL url, ExchangeHandler handler) throws RemotingException {
if (url == null) {
throw new IllegalArgumentException("url == null");
if (handler == null) {
throw new IllegalArgumentException("handler == n...
package cn.jiguang.
import cn.jiguang.entity.ExcelE
import org.apache.poi.hssf.usermodel.HSSFC
import org.apache.poi.hssf.usermodel.HSSFR
import org.apache.poi.hssf.usermodel.HSSFS
import org.apache.poi.hssf.usermodel.HSSFW
import org.apache.poi.xssf.usermodel.XSSFC
import org.apache.poi.xssf.usermodel.XSSFR
import org.apache.poi.xssf.usermodel.XSSFS
import org.apache.poi.xssf.usermodel.XSSFW
import org.junit.T
import java.io.*;
import java.util.L
import java.util.concurrent.CopyOnWriteArrayL
* @desc: hssfwork=.xls
xssfwork=.xlsx
* @author: zengxc
public class ExcelUtils {
private static final String T_API_USER_PATH = "C:\\Users\\jiguang\\Desktop\\dataBase\\t_api_user.xls";
private static final String T_API_AUTH_PATH = "C:\\Users\\jiguang\\Desktop\\dataBase\\t_api_auth.xls";
private static final String RESULT_DATA_MAP = "C:\\Users\\jiguang\\Desktop\\dataBase\\data_map.xlsx"...
原因:用了proxifier的关系,重置winsock解决。 在命令提示符中输入:netsh winsock reset (按回车键执行命令) 重启系统
& 简评:之前,后端开发路线图仅仅是一个技术推荐,且没有明确的方向指明应该遵循的顺序,这份重新制作的指南将会给你一个更好的方向。 现在的 Web 开发与几年前完全不同了,有很多不同的东西可以轻易地把人拒之门外,这也是我们决定制作这个循序渐进指南的原因之一,并让任何人可以清楚地了解他们在 web 开发中扮演的角色。 可以在下面的图片中找到详细的路线图,而我也将在下面的描述中解释每一个步骤。 在开始之前,虽然我们没有在下面的路线图中列出 HTML / CSS 的知识,但建议读者至少要了解一些基本的 HTML / CSS 知识。 ![image](http://upload-images.jianshu.io/upload_images/564c63c6ca45d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ## **Step 1 —— 学习一门语言(Learn a Language)** 语言有很多选择,我已经将它们分成几类,以便更容易做出决定。对于刚开始进入后端开发的初学者,我建议你选择任何脚本语言,因为它们有很多功能,可以让你快速起步。如果你有一些前端知识,你可能会发现 Node.js 更容易(还有一个很大的就业市场)。 如果你已经是后端开发并了解一些脚本语言,我建议不要选择其他脚本语言,而是从「函数式(Fun...
@Autowired @Resource(name="redisTemplate") private RedisT public void flushdb(){ rt.execute(new RedisCallback() { public String doInRedis(RedisConnection connection) throws DataAccessException { connection.flushDb(); return "ok"; } }); } public void set(){ flushdb(); ListOperations vo = rt.opsForList(); vo.leftPush("book", "wzg"); vo.leftPushAll("book", "cff","cl","mc"); vo.leftPush("book", "cl", "||"); vo.rightPush("book", "yw"); vo.rightPushAll("book", "sj","jy"); vo.rightPush( "book", "sj", "||"); vo.leftPop("book"); vo.rightPop("book"); vo.rightPopAndLeftPush("book", "bag"); vo.set("book", 0, "gzf"); vo.leftPush("bag", "||"); vo.remove("bag", 3, "||"); } public void get(){ ListOperations vo = rt.opsForList(); out(vo.range("book", 0, -1)); vo.trim("book", 2, 3); out(vo.range("book", 0, -1)); out(vo.size("book")); out(vo.range("bag", 0, -1)); out(vo.index("book", 1)); } public void out(String str){ System.out.println(str); } public void out(Collection list){ System.out....
近几年,网络视频直播发展速度非常迅猛发,随着网络视频直播行业的不断成熟,诸如短视频等细分业务也迅速崛起,2017年短视频市场规模达57.3亿,同比增长达183.9%,预计2020年短视频市场规模将超300亿,而依据这些报告数据我们也不难看出,短视频已经成为网络直播行业的重要风口。 ![](https://oscimg.oschina.net/oscnet/ccad4c7f3eddfa0bc.jpg) 短视频的社交属性强、创作门槛低,同时也具有观看时长和场景便捷等特征,这些特征更加符合移动互联网时代的碎片化内容消费习惯。也决定了短视频的增长势头和发展前景。 ![](https://oscimg.oschina.net/oscnet/9a29daadfbf23ebb6682938.jpg) **对比直播来说,短视频有这几个优点。** 1、短视频内容创业更方便 现在想内容创业的人越来越多,短视频的低门槛鼓励着大家的涌入。短视频中人人都可以是主角。用户的参与感和认同感无疑会更强。 2、短视频传播更为容易 相比较直播动辄数小时,短视频通常不过几分钟,可以说浓缩的精华所在。符合碎片化随时随地观看的特征。在小视频播放完后,我们也可以很容易的分享或者转发,留存和传播性很强。 3、短视频商业优势明显 由于短视频传播容易,方便二次传播...
perf是系统工程师必须掌握的一个性能分析工具。有关perf如何使用的资料网上一大把,但是很少有文章介绍perf是怎样工作的。本文想通过简单分析两个最基本的perf命令,即`perf list`和`perf stat`,尝试分析perf的工作原理。
## 系统选择 对于开发环境,要想少折腾,优先选择 ubuntu 系的 —— Linux Mint ,这是国外使用最多的桌面发行版之一,同时各项操作也比较人性化,建议优先考虑。 (比如 nativescript 默认只提供了 deb 包的支持。) 这里下载: https://www.linuxmint.com/download_all.php 如果喜欢原生的 ubuntu ,建议使用 LTS 版本,也适用于本教程。 当然,更重要的是: 跟 ubuntu server 能保持一致性。 ## 输入法 搜狗输入法,直接安装: https://pinyin.sogou.com/linux/?r=pinyin ## 钉钉 https://github.com/nashaofu/dingtalk/releases 选择 amd64.deb 的包。 ## 如果需要QQ、微信、阿里旺旺 这是目前来说最好的解决方案:(一键脚本正在制作中) https://github.com/Jactor-Sue/Deepin-Apps-Installation 当然,还有清风qq: https://phpcj.org/wineqq/ ## IDE vscode: https://code.visualstudio.com/ jetbrains 全家桶: http://www.jetbrains.com/toolbox/app/?fromMenu atom 和 其他IDE 请自行搜索 ## 其他开发者工具: 微信开发者工具: https://github.com/cytle/wechat_web_devtools ## office WPS 算是最好用的了: http://linux.wps.cn/ 中文字体缺失问题: http:/...
1、什么是分布式事务 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 2、分布式事务的产生的原因 2.1、数据库分库分表 当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,以后有空详细说,简单的说就是原来的一个数据库变成了多个数据库。这时候,如果一个操作既访问01库,又访问02库,而且要保证数据的一致性,那么就要用到分布式事务。 2.2、应用SOA化 所谓的SOA化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为...
今天发现使用chrome浏览器时,打开flash的网站后就出现"**此Flash Player 与您的地区不相容**"的提示信息。 按照提示操作后,点击 “重新安装” 按钮打开的是 [2144网站](https://flash.2144.com/) ,不是真实的Adobe官方网站。
一个即将消亡的技术,竟然还耍流氓,瞬间心里飞过十万个。。。。。。 ### 官网安装
打开 [Adobe的官网](https://get.adobe.com/cn/flashplayer/) (如何打开,就不说了,大家懂得),下载Flash Player版本,经过安装后不再出现`地区不兼容的提示`,则问题得到圆满解决。
如果问题依然存在,则继续向下看。 ### 安装低版本
卸载已安装的Adobe Flash Player PPAPI,在网上下载 低于 30.0.0 的Adobe Flash Player PPAPI 离线包安装,同时设置为”不检查更新“。 可在此处下载 [Flash Player PPAPI 25、26]( https://www.portablesoft.org/adobe-flash-player-offline-installer/)两个版本,如需其他版本自寻找。
查看当前win7、10系统,已安装的Flash版本: &
控制面板 -& Flash Player -& 更新 ### 禁止Chrome更新Flash插件
在Chrome安装目录下有一个名叫PepperFlash得文件夹,删除该文件夹下的所有内容,将该文件夹权限设...
之前在学习 dubbo 源码和 netty , 在学习到 dubbo 的传输层源码的时候不太理解 dubbo 对 Channel 的设计 , Client , Server 分别都实现了 Channel 接口 , 当时是不太理解的 。又参考了一下 netty 发现 dubbo 在传输层的设计上包括 Channel , ChannelHandler 也是很大一部分参考了 netty 的设计实现。不过我对 netty 也不懂,于是我就想从 jdk 中的 Channel 开始进行系统的学习 , 希望能在理解 java nio channel 的基础上再去对其他成熟的网络通信框架进行学习。
Channel 简介
channel 是连接两个互通的 I/O 实例通道的抽象 , 两个 I/O 实例发出的数据在 channel 中传输。I/O 实例可能是硬盘,内存 , 网络设备等。
java nio channel 结构简图 (当中只选取了部分我自己认为比较关键的) :
AutoCloseable
、 Closeable 接口定义了 close 方法来关闭释放打开的资源。Channel 接口是一个高度抽象只定义了检测 channel 是否处于打开状态的方法。WritableByteChannel 和 ReadableByteChannel 分别定义了写入和读取的方法。而 ByteChannel 什么都没做只是继承了...
# 本文介绍 本文仅按照业务系统开发角度描述异常的一些处理看法.不涉及java的异常基础知识,可以自行查阅 **《Java核心技术 卷I》** 和 **《java编程思想》** 可以得到更多的基础信息. 在开发业务系统中,我们目前绝大多数采用MVC模式,但是往往有人把service跟controller紧紧的耦合在一起,甚至直接使用Threadlocal来隐式传值,并且复杂的逻辑几乎只能使用service中存储的全局对象来传递处理结果,包括异常. 这样一来首先有违MVC模式,二来逻辑十分不清晰,难以维护.本文结合工作经验,给出一些异常使用建议,使用spring来实战异常为我们带来的好处. 常常,我们读罢了各种java的书,异常的各种机制,特性都很清楚,但是始终还是不知道如何使用,甚至背下了概念,却不知道如何致用. 我们开发的业务系统,或者是产品,常常面临着这样的问题: * 系统运行出错,但是完全不知道错误发生的位置. * 我们找到了错误的位置,但是完全不知道是因为什么. * 系统明明出了错误,但是就是看不到错误堆栈信息. ## 什么情况需要自定义异常 经常看到一些项目,在全局定义一个 AppException,然后所有地方都只抛出这个异常,并且把捕获的异常case到这个AppException中.会有如下问题: * 浪费log日志存储空间,并且栈顶并...
微服务应用在容器化后,日志的查询就会变成困难的问题,虽说有[portainer](https://portainer.io/)这类的容器管理工具,能够方便的查询每个容器中的日志,但容器到达一定数量后,尤其是应用有多个实例时候,查询就成了头疼的问题。所以我们采用了Kafka-Logstash-Elasticsearch-Kinana的方案来处理日志。 首先说说我的日志收集思路: 1. 应用将日志传入kafka集群。在集群建立相应topic,并传入日志。 2. logstash在kafka上消费(读取)日志内容,写入elasticsearch。 3. kinana读elasticsearch,做对应的展示。 这样的好处,1)几乎不用做特别大的修改,只需做一定的配置工作即可完成日志收集;2)日志内容输入kafka几乎没有什么瓶颈,另外kafka的扩展性能很好,也很简单;3)收集的日志几乎是实时的;4)整体的扩展性很好,很容易消除瓶颈,例如elasticsearch分片、扩展都很容易。 ## 应用侧配置 在应用中,我们只需配置log4j的相应配置,将其日志输出到kafka即可。以下为配置示例,配置中包含将日志输入出命令行和kafka部分中。注意,在输出到kafka中,需要有一个appender类`kafka.producer.KafkaLog4jAppender`一般是没有的,则我在本地自己写上该类(`KafkaLog4jAppend...
0. 安装 # 启动时选择第二项boot(non-free),Manjaro自带的驱动精灵会帮你安装好所需驱动,笔记本双显卡则会帮你安装bumblebee driver boot(non-free) 如果是WIndows+Manjaro双系统安装, 步骤可以参考:https://my.oschina.net/langxSpirit/blog/.系统信息 #查看系统信息 inxi -Fx
2.网络设置 #查看网络状态 ping 8.8.8.8 ------------ connect: Network is unreachable ------------ #如果网卡驱动是正常,请尝试手动设置IP地址、网关、DNS信息 3.笔记本双显卡设置 #查看显卡NVIDIA状态 lspci| grep -i vga 01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GTX 660M] (rev ff) Nvidia 卡信息的末尾是 rev ff,表示独显已经关闭。现在运行的是intel核显,这正是我们安装bumblebee目的。 bumblebee的作用是禁用nvidia独立显卡,需要使用独显时,使用”optirun 程序名“手动开启nvidia来运行需要加速的程序,如optirun vmware。 https://wiki.archlinux.org/index.php/Bumblebee https://wiki.archlinux.org/index.php/Bumblebee_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 要使用 Bumblebee,请确保添加你的用户到 bumblebee 组: $
五月份开源中国社区收录了相当多的重量级开源项目,如 Node 之父 Ryan Dahl 的 deno,deno 也被认为是下一代 Node;Grails 框架作者的最新力作,微服务应用框架 Micronaut;还有少见的用 Vue.js 构建跨平台原生桌面应用的开源项目 Vuido
MySQL-性能优化-索引和查询优化 要知道为什么使用索引,要知道如何去使用好索引,使自己的查询达到最优性能,需要先了解索引的数据结构和磁盘的存取原理 参考博客:MySQL索引背后的数据结构及算法原理 如上这篇博客写的挺好,我就不再造轮子了,对如上博客,我总结如下几个重要的要点: 1. 不使用顺序查找,因为顺序查找比较慢,通过特定数据结构的特点来提升查询速度,这种数据结构就是可以理解成索引。 2. 索引一般以文件形式存储在磁盘上,索引检索需要磁盘I/O操作,为了尽量减少磁盘I/O。磁盘往往不是严格按需读取,而是每次都会预读,而且主存和磁盘以页为单位交换数据,所以在读取的数据不在主存中时,会从磁盘中读取一批数据(页)到主存中。 3. 不管在哪种程序优化上,要想快速挺高性能,直接将常用的、少变更的数据直接读取到内存中,使用的时候就直接在内存上读取,而不去磁盘上读取,减少I/O操作,这样就能使程序快上10倍以上。但由于内存容量的限制,也不可能将所有的数据都放内存中。 MySQL索引分类 普通索引:最基本的索引,没有任何限制。 唯一索引:与”普通索引”类似,不同的就是:索引列的值必须唯一,但允许有空值。 主键索引:它是一种特殊的唯一索引...
#EOS官方cleos钱包入门教程 ##一、安装docker ##二、部署EOS钱包服务 ###1、下载EOS官方镜像 ``` service docker start docker pull eosio/eos ``` ###2、创建钱包目录 ``` mkdir -p /data/eosio/eosio-wallet #设置权限 chmod 775 /data/eosio/eosio-wallet ``` ###3、创建钱包服务 ``` # 如果曾经创建过keosd容器需要先删除 docker stop keosd docker rm keosd # 创建keosd容器启动服务 docker run -d --restart=unless-stopped --name keosd \ -v /data/eosio/eosio-wallet:/opt/eosio/bin/data-dir \ -v /data/eosio/eosio-wallet:/root/eosio-wallet \ -t eosio/eos /opt/eosio/bin/keosd \ --wallet-dir /opt/eosio/bin/data-dir \ --http-server-address=127.0.0.1:8900 ``` ##三、创建EOS操作命令cleos(请根据主网公告选择可信的正式节点URL) ``` #mac系统 vim ~/.bash_profile #增加如下行 alias cleos='docker exec -i keosd /opt/eosio/bin/cleos --wallet-url http://127.0.0.1:8900 -u http://mainnet.genereos.io' #保存 :wq #使生效 source ~/.bash_profile # 查看主网信息(确保为主网chain_id=aca376f206b8fc25a6ed44dbdcc33e3a119ffbeaef94...
& 背景:之前在QQ上突然有人发坦白说给我,第一感觉就是谁恶搞我,想找到是谁,是谁在恶作剧 ![输入图片说明](https://static.oschina.net/uploads/img/00650_zxN8.png "在这里输入图片标题") --- # QQ坦白说之解密教程 ### 一、模拟手机QQ 1. 首先使用谷歌浏览器来模拟手机qq 2. 打开谷歌浏览器,按F12或者快捷键ctrl+shift+i,到如下界面 ![按F12或者快捷键ctrl+shift+i](https://static.oschina.net/uploads/img/01805_DHeC.png "按F12或者快捷键ctrl+shift+i") 3. 构造UA ![输入图片说明](https://static.oschina.net/uploads/img/02331_dbYw.png "在这里输入图片标题") ![输入图片说明](https://static.oschina.net/uploads/img/02801_Z6oi.png "在这里输入图片标题") ![输入图片说明](https://static.oschina.net/uploads/img/03018_VLI7.png "在这里输入图片标题") 4. UA复制下面的代码即可 ``` ozilla/5.0 (iP CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E5216a QQ/7.5.5.426 V1_IPH_SQ_7.5.5_1_APP_A Pixel/1080 Core/UIWebView Device/Apple(iPhone 8Plus)...
2016收藏博文推荐: 架构/优化 双 11 高可用架构演进之路 服务降级背后的技术架构设计 58 怎么玩数据库架构 电商那些年,我摸爬打滚出的高并发架构实战精髓 互联网项目架构经验分享 虎嗅网架构演变 京东 618 实践:一元抢宝系统的数据库架构优化 浅谈 Web 架构之演化过程 京东交易架构分享(含 PPT) 高性能服务器架构思路 前后端同构之路 前后端分离,是为了彼此更好 技术周刊 Vol.3 - 前后端分离与前端工程化 移动端开发者眼中的前端开发流程变迁与前后端分离 图解基于 Node.js 实现前后端分离 彻底弄懂 Http 缓存机制:基于缓存策略三要素分解法 Web 缓存核心技术点需知 缓存使用总结 缓存架构设计细节二三事 架构的坑系列:缓存 + 哈希 = 高并发? 常见性能优化策略的总结 一个经验证可落地的秒杀系统实践思路 大众点评订单系统分库分表实践 400% 的飞跃:Web 页面加载速度优化实战 大促活动前团购系统流量预算和容量评估 一分钟学会服务器压力测试 7 天 600 stars,Mobi.css 是如何诞生的 Mobi.css:轻量、灵活的移动端 CSS library 为什么说 DOM 操作很慢? 数据库 译 如果有人问你数据库的原理,叫他看这篇文章 唯品会的订单分库分表实践总结以及关键步骤 京东评价系...
![](https://ws4.sinaimg.cn/large/006tNc79ly1fs2s4f0jf4j31g80ytn6i.jpg) ## 前言 之前在做 [秒杀架构实践](https://crossoverjie.top//ssm/SSM18-seconds-kill/#distributed-redis-tool-%E2%...
&作者:张建 ## 什么是 Hash Join Hash Join 的基本定义可以参考维基百科:[Hash join](https://en.wikipedia.org/wiki/Hash_join)。简单来说,A 表和 B 表的 Hash Join 需要我们选择一个 Inner 表来构造哈希表,然后对 Outer 表的每一行数据都去这个哈希表中查找是否有匹配的数据。 我们不用 “小表” 和 “大表” 这两个术语是因为:对于类似 Left Outer Join 这种 Outer Join 来说,如果我们使用 Hash Join,不管 Left 表相对于 Right 表而言是大表还是小表,我们都只能使用 Right 表充当 Inner 表并在之上建哈希表,使用 Left 表来当 Outer 表,也就是我们的驱动表。使用 Inner 和 Outer 更准确,没有迷惑性。在 Build 阶段,对 Inner 表建哈希表,在 Probe 阶段,对由 Outer 表驱动执行 Join 过程。 ## TiDB Hash Join 实现 TiDB 的 Hash Join 是一个多线程版本的实现,主要任务有: + Main Thread,一个,执行下列任务: - 读取所有的 Inner 表数据; - 根据 Inner 表数据构造哈希表; - 启动 Outer Fetcher 和 Join Worker 开始后台工作,生成 Join 结果,各个 goroutine 的启动过程由 [fetchOuterAndProbeHashTable](https://github.com/pingcap/tidb/blob/source-...
![](http://pic.w-blog.cn/kubernetes/7.png) Kubernetes中有各种各样的组件,对于容器来说Kubernetes最小的单元是由Pod进行组成的,但是我们在使用过程中经常会使用到Deployment来部署我们的应用,其中究竟区别在哪里,我们今天就来一同探索 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.Pod最小的单元 Pod封装了一个或多个应用程序的容器(比如nginx等),存储资源,唯一的网络IP以及管理容器的一些选项 Pod标示的是一个部署单元,可以理解为Kubernetes中的应用程序的单个实例,它可能由单个容器组成,也可能由少量紧密耦合并共享资源的容器组成。 & 如果多个容器在同一Pod下他们公用一个IP所以不能出现重复的端口号,比如在一个Pod下运行两个nginx就会有一个容器异常,一个Pod下的多个容器可以使用localhost来访问对方端口 & 应为Pod是最小的单元如果在Pod中容器出现异常终止了是不会重启,在实际使用场景下基本不会直接使用Pod而是使用Deployment部署自...
Web 模板就在那里 模板引擎负责组装数据,以另外一种形式或外观展现数据。 浏览器中的页面是 Web 模板引擎最终的展现。 无论你是否直接使用模板引擎,Web 模板一直都在,不在前端就在后端,它的出现甚至可以追溯到超文本标记语言 HTML 标准正式确立之前。 服务器端的模板引擎 我所知道最早的 Web 模板引擎是 PHP,它正式诞生于 1997 年,工作在服务器端。让我们看看 PHP 官方的 intro-whatis: PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。 PHPer 普遍赞同 PHP 本身就是最天然、原生的 PHP 模板引擎,因为她本来就是。在 PHP 的世界里多次出现过再包装的模板引擎,著名的有 smarty。 其它服务器端语言很多都有 HTML 模板引擎,比如 JSP、mustache。 毫无疑问,这些服务器端模板引擎最终生成的结果是 HTML(XML) 字符串,处理流程逻辑使用宿主语言本身的语法实现。 它们的共同特征:HTML 只是个字符串, 最终结果可能还需要类似 Tidy 这样的清洁或修正验证工具。 这里提出一个问题:二次封装的 smarty 有存在的必要么? 浏览器端的模板引擎 我所知道最早的前端...
1.先说下缘由,项目没有使用配置中心,所以本地和开发有不同的build.gradle文件 def env=System.getProperty("profile") ?:"dev"
if(env=='prd'){
apply from:"build-prd.gradle"
apply from:"build-dev.gradle"
所以代码是这样的。 如何打包呢,直接 gradle bootWar -Dprofile=prd 即可. 2.如果也想application.properties配置文件开发打包呢?哈哈,可以这样写 def env=System.getProperty("profile") ?:"dev"
def file=new File("${buildDir}/resources/main/application.properties")
println("正在编译war包---环境[${env}]")
file.newWriter(false).with {
it.write("spring.profiles.active=${env}")
it.flush()
it.close()
} 当然你的springBoot工程要配置成多环境 将默认的application.properties 修改成
spring.profiles.active=dev 然后分别增加各个版本的版本文件,如
Eureka高可用实现与搭建,与脚本文件
数字常量 下表展示了python数字类型在程序中的显示方式(作为常量),如例: 数字 常量 1234,-24,0, 整数(无穷大小) 1.23,1.,3.14e-10,4e210,4.0e+210 浮点数 ff,0b101010 python2.6中的八进制、十六进制和二进制常量 0o177,0x9ff,0b101010 python3.0中的八进制、十六进制和二进制常量 3+4j,3.0+4.0j,3J 复数常量 十六进制的字母(a-f)可小写可大写。 整数变动: python2.6:两种整数类型:1.一般整数(32位),2.长整数(无穷精度),只要内存空间足够,可以任意位数的精度! python3:把上述两种并为一种,叫整数。自动支持py2.6的无穷精度。 八进制数变动: python2.6:八进制以0开头(极易与十进制数混淆) python3:八进制以0o开头
内置数学工具和扩展 表达式操作符:+,-,*,/,&&,&等 内置数学函数:pow,abs,round,int,hex,bin等 公用模块:random,math等
表达式操作符及程序(表格越后,运算优先级越高) 操作符 描述 yield x 生成器函数发送协议 lambda args: expression 生成匿名函数 x if y else z 三元选择表达式 x or y 逻辑或(只有x为假,才会计算y) x and y 逻辑与(只有x为真,才会计算y) not x 逻辑非 x in y...
1、数组是协变的(covariant) 如果Sub 是Super 的子类型,那么Sub[] 也是Super[] 的子类型 数组有缺陷 如下:运行时才会报错 2、泛型是不可变的(invariant) List&Object&不是List&String& 的父类 如下:编译期就会报错 3、数组是具体化的 运行时才会检查数据类型 4、泛型通过擦除来实现的 编译时强化类型信息,运行时擦除类型信息 擦除使得泛型与没有使用泛型的代码可以进行互用 5、泛型和数组不能很好地混用 泛型数组之所以非法,由于它不是类型安全的 6、不可具体化类型 比如:E、List&E&、List&String&
运行时包含的信息比编译时要少 7、唯一可具体化的参数化类型:无限制通配符类型 List&?& Map&?,?& 创建无限制通配符类型数组是合法的 虽然不常用 8、使用可变参数和泛型时会有一个费解的警告 每当调用可变参数方法时,会使用数组来存参数 数组元素类型不是可具体化的,就会得到警告 除了禁止它,别无他法 9、优先使用泛型 可能会损失一些性能和简洁性 但换回来的是更高的类型安全性和互用性 不能编译通过: 编译通过,会得到一个警告(unchecked cast found): 泛型运行时会被擦除, 10、如下便可以编译时无任何警告和错误...
今年6月25日至27日, LinuxCon + ContainerCon + CloudOpen(LC3)将在北京国家会议中心召开。本次会议针对开源技术在人工智能和深度学习、区块链、云原生、虚拟服务器架构和微服务、新兴技术、基础实施和自动化、IoT和M2M、KVM、Linux系统、网络编排等10大前沿领域的应用,邀请了全球数百位业界大咖,用三天时间、超过200场分享,从市场、技术、产业甚至整个生态层面,将做全方位的探讨。
一、基本概念 Linux 系统中的Desktop Entry 文件以desktop为后缀名。Desktop Entry 文件是 Linux 桌面系统中用于描述程序启动配置信息的文件。
进入/usr/share/applications 目录,可见如下图所示的各类软件图标
, 其对应为.desktop 结尾的文件
二、具体操作 1 在/usr/share/applications 目录下,新建以软件名称命名的文件
软件名.desktop vim Postman.desktop
(这里以创建Postman的桌面快捷方式为例) [Desktop Entry]
Encoding=UTF-8
Name=Postman #软件名
Comment=Postman Makes API Development Simple
Exec="/home/xiao/Postman/app/Postman" #启动命令全路径
Icon=/home/xiao/Postman/app/resources/app/assets/icon.png #图标全路径
Version=1.0
Type=Application
Terminal=0
保存后右键单击选择文件属性,选择权限选项卡,勾选“允许作为程序执行文件”...
上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的登录认证):
上面的图很清楚的描述了当前登录login的流程,现在我们针对于login做成相关的微服务,解析如下: 请求方式:POST 服务URL: http://localhost:8080/user/login 参数类型:application/json Headers: Content-Type: application/json
Authorization: Basic QXkjkdkYkhfeyKOKKHUM67ejfjeSfnrRdk5nPT0=
"userName":"admin",
---也可以是手机号码等
"password": "e10adc3949ba59abbe56e057f20f883e"
返回值类型: application/json
返回的结果集: {
"code": "200",
"message": "Success",
"version": "v1.0",
"userInfo": {
"userId": "00001",
"pwd": "e10adc3949ba59abbe56e057f20f883e",
"userName": "admin",
"mobile": "",
"telephone": "",
"wechat": "",
"email": "",
"status": "1",...
$.validator.addMethod("name",function(value,element,params){ var checkPwd = /^\w{8,16}$/g; return this.optional(element)||(checkPwd.test(value)); },"*只允许6-16位英文字母、数字或者下画线!"); $.validator.addMethod("mobile",function(value,element,params){ var mobile = /^1[0-9][0-9]\d{8}$/g; return this.optional(element)||(mobile.test(value)); },"*手机号码错误!");
nginx 服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,一般在 nginx 的配置文件中日记配置(/usr/local/nginx/conf/nginx.conf)。 nginx的log_format有很多可选的参数用于指示服务器的活动状态,默认的是: log_format
'$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; 想要记录更详细的信息需要自己设置log_format,具体可设置的参数格式及说明如下: 参数 说明 示例 $remote_addr 客户端地址 211.28.65.253 $remote_user 客户端用户名称 – $time_local 访问时间和时区 18/Jul/:01 +0800 $request 请求的URI和HTTP协议 “GET /article-10000.html HTTP/1.1” $http_host 请求地址,即浏览器中你输入的地址(IP或域名) www.it300.com/192.168.100.100 $status HTTP请求状态 200 $upstream_status upstream状态 200 $body_bytes_sent 发送给客户端文件内容大小 1547 $http_referer url跳转来源 https://www.baidu.com/ $...
项目地址:http://www.freeteam.cn/
在线申报 1. 转交申报 用户可以把申报转交给其他人办理,系统会记录此申报的转交记录。 注意:同时只能转交一个申报。 选择需要转交的申报,点击“转交”按钮。 选择要转交的个人,点击“转交”按钮即可。 2. 办理申报 选择需要办理的申报,然后点击“办理”按钮。 注意:同时只能办理一个申报。 输入办理结果后,点击“办结”按钮即可。 3. 删除申报 选择需要删除的申报,然后点击“删除”按钮。 提示:同时可以删除多个申报。 为了防止误操作,系统会提示用户是否删除,点击“确定”完成删除操作。
1.if条件对于单个值的判断,有以下两种实现方式: 1.1:DECODE(条件1,值1,值2,值3)类似于if(条件1=值1){值2}else{值3} 1.2:case when 条件表达式 then 值1
when 条件表达式 then 值2 注意:值1和值2的返回结果的值的类型要相同。 2.sign(条件,值1,值2)这个函数常于DECODE连用,解决decode函数不能判断大于,小于的一些情况,其值0代表的是相等,1代表的是大于,-1代表的是小于。 持续更新
Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @clouddyy :《改变自己》-王力宏 《改变自己》-王力宏 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen
:我的动弹微信小程序竟然通过审核了,欢迎大家扫码测试 你开发的乱弹在动弹的入口 现在还是每天发布, 什么也不说了。 支持你一下吧。
【正文】 @Daniel-01 :11号都还没发粮,这两天离职都嚣张不起来额,搞啥呢~ 你这么优秀, 其实可以不离职的, 但人算不如天算。 @一代码哥:烦躁的一批 然后? 然后就自己去提出离职了…… @bedrock32
:今天准备和老板提离职,不知什么时候能批下来~ 临行之前还能坑老板一回, 给他推荐360手机。 @马丁的代码
:如果他是你的敌人 请向他推荐360手机 一个日历里都带广告的手机 一个不到一年 两三种硬件故障的手机。 推荐完360手机, 再推荐他安装一个qq手机管家, 可以搬个小椅子看戏了, 两个流氓软件企图强制删除对方。 “你个垃圾!反弹!” 离职完, 换个发型换个心情, @木橙橙 :剪完短发就立马又后悔了
短发的女孩子都很适合职业装, 职业装穿不出来可爱吧, @小兰兰大雕萌妹
:对啊,我是奔三的年纪大的女生,但是我依然可爱啊 反正无论那种生活方式自己...
本来是想为安卓开发一套可以依赖注入的标签,但是发现安卓很难找到选定包内的java或者class文件。所以只能当做学习参考了,全套代码如下 package com.guanjian.
import java.lang.annotation.ElementT
import java.lang.annotation.R
import java.lang.annotation.RetentionP
import java.lang.annotation.T
* Created by Administrator on .
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Autowired {
} package com.guanjian.
import java.lang.annotation.ElementT
import java.lang.annotation.R
import java.lang.annotation.RetentionP
import java.lang.annotation.T
* Created by Administrator on .
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Component {
} package com.guanjian.
import java.lang.annotation.ElementT
import java.lang.annotation.R
import java.lang.annotation.RetentionP
安装 curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-Linux-x86_64 & /usr/local/bin/docker-compose chmod a+x /usr/local/bin/docker-compose docker-compose --version
首先,这里我们在config里面定义请求的接口是什么,比如我这里需要调用首页的一个文章列表接口,我这里就直接定义好.域名在本地可以用本地调试好之后再改. 然后下面是pages/index/index.js的代码 /**
* Created by martinby on .
//加载config配置文件
var config=require('../../config')
//定义页面的arc_list为空,这里给一个空的数组,下面初始化加载的时候,会去给这个arc_list赋值
arc_list:[],
//在加载的时候,请求接口,赋值数据
onLoad:function(){
var that = this
//请求接口
wx.request({
url:config.service.indexListUrl,//配置文件中定义的首页接口
//这里是你请求需要发送的数据
type: 'xx' ,
key: '123456'
'Content-Type':'application/json'
success:function(res){
//请求成功后的回调
if(res.data.code === 1){
1,关于Gogs 开源的代码服务器最牛的是github,有一个开源的实现是gitlab。 但是gitlab是用ruby写的,某些时候性能有问题。 有的时候使用的时候超级慢。代码存的多了就会出现的问题。 不知道 gogs会不会有这个问题。于是尝试下。 官方网站是:https://gogs.io/ 代码放到github上面了。1300多个分享。 2,安装步骤 https://gogs.io/docs/installation 我使用的是最简单docker安装。在centos7 直接install就可以安装docker。源里面有。 yum -y install docker su root # 先切换到root用户, 再执行以下命令 systemctl enable docker # 开机自动启动docker systemctl start docker # 启动docker systemctl restart docker # 重启dokcer 否则还需要安装mysql,git,ssh等服务,只是先折腾下,不想太麻烦。即使二进制的安装也才有15mb大小。 https://github.com/gogits/gogs/tree/master/docker # Pull image from Docker Hub.
$ docker pull gogs/gogs
# Create local directory for volume.
$ mkdir -p /var/gogs
# Use `docker run` for the first time.
$ docker run --name=gogs -p 10022:22 -p
-v /var/gogs:/data gogs/gogs
# Use `docker start` ...
## mysql备份,还原 ### 简介 &**xtrabackup**由个部分组成:xtrabackup和innobackupex **xtrabackup**:是用于热备份innodb, xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构; **innobackupex**:是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力 ### 安装innobackupex &`安装依赖:` yum install -y perl-DBD-MySQL perl-DBI perl-Time-HiRes libaio* `安装:` rpm -ivh percona-xtrabackup-2.1.5-680.rhel6.x86_64.rpm &`查看安装结果:` rpm -qa|grep xtrabackup
今天登了一下猎聘网上,搜了下测试工程师岗位,任职要求还比较高,当然薪水也很高 列下要求:
1、熟悉Linux/UNIX操作系统,并熟悉一门脚本语言,如shell、Perl、Python;
2、熟悉掌握关系型和非关系型数据库,如Oracle、PostgreSQL、Cassandra、Redis等
3、熟练掌握配置管理和构建工具,如SVN/Git,Maven/Gradle,Jekins等
4、熟悉TCP/IP和HTTP协议。了解UDP、TLS/SSL等常用网络协议,了解OAuth2、OpenID Connect、FIDO等互联网安全认证相关协议
5、熟悉软件测试流程、测试方法和测试技术,并有自动化测试设计经验
6、熟悉网络配置、虚拟化技术(OpenStack、Docker)
7、有Java,面向对象设计和开发的经验
8、熟悉敏捷开发流程,有良好的测试并有持续集成测试经验
《redis设计与实现》第三章是讲链表的,对于像我这种使用C++的人来说,没看过源码之前只是简单地理解为std::list,看过之后发现还是可以理解为std::list,只是帮我深度复习了一次链表数据结构。 Redis整个代码是基于C语言来写的,在C++、Java中习以为常的vector、list这类寻常的数据结构需要人肉再实现一遍,总觉得写这类代码比较别扭,习惯了衣来伸手直接使用的日子,毕竟都是一些大学教科书上的东西,这次看过之后,通过罗列相关的数据结构特点,却也帮我回忆了各个知识点,略有收获。感觉上adlist有这几个特点: 1. 双向链表 2. C风格的简易迭代器 3. 开放的操作入口 adlist的主要结构体定义如下: typedef struct listNode {
struct listNode *
struct listNode *
typedef struct listIter {
listNode *
typedef struct list {
listNode *
listNode *
void *(*dup)(void *ptr);
void (*free)(void *ptr);
int (*match)(void *ptr, void *key);
} 首先,先说说双向链表,这部分在功能上和std...
俗话说得好:光说不练假把式 编程界也有句名言:Talk is cheap, show me the code.关注我们编程教室有一段时间的朋友应该知道,除了提供各种学习资源和交流群组外,我们还有一套入门课程,叫做“码上行动”。上一期码上行动于去年圣诞前开放,直到春节前后…
1. HBase元数据
HBase 表的元数据存储于 hbase:meta表中,HBase默认会 创建meta表,它属于系统命名空间hbase下面的表,.META. 结构如下 通过这个表可以清晰的查找表的region对应的元数据信息和服务器地址。 然而meta也是HBase里面的表,meta的数据的元数据存放在哪呢?HBase会使用ZooKeeper来存放 -ROOT-表的元数据。默认的路径是/hbase/root-region-server ,这个地址下面存放了-ROOT-表的地址的RegionServer地址,-ROOT-表的的结构和.META.表结构一致,唯一不同是,-ROOT-表存储的是.META.表的数据。-ROOT-表结构如下:
数据定位流程 : Zookeeper -&
-ROOT- -& .META.
User_Table 2. HBase HFile数据存储格式
详情可见官网
http://hbase.apache.org/book.html#_hfile_format_2 3. HBase 框架图
HMaster的作用 为Region server分配region。 负责Region server的负载均衡。 发现失效的Region server并重新分配其上的region到正常的RegionServer。 HDFS上的垃圾文件回收。 处理schema更新请求。 HRegionServer作用 维护master分配给他的region,处理对这些region的io请求. 负责切分正在运行过程中变的过大...
# javaDoc 中展示的 equals的性质(翻译来自于算法第四版 102页) 1. 自反性 & x.equals(x) 为true 2. 对称性 & x.equals(y)==true 那么 y.equals(x)==true 3. 传递性 & x.equals(y)==true and y.equals(z)==true ,那么 x.equals(z) 4. 一致性 & x和y不变化,x.equals(y) ==true 不会因为反复调用而变化 5. 非空性 & x.equals(null) ==false # 具体代码实现 ## 1. java.lang.Object 直接比较内存地址,即默认情况直接比较内存地址 ```java public boolean equals(Object obj) { return (this == obj); } ``` ## 2. 使用ide自动生成的equals ### 2.1 过程 1. 内存地址相同,必相等; 2. 鉴定对象非当前类,必不等 3. 相等判断: * 基本数据类型中 * byte,short,int,long,char,boolean 直接== 比较 * float 使用 Float.compare()==0 判断 * double 使用 Double.compare()==0 判断 * String 通过 Objects.equals() 判断 * [] 数组 通过 Arrays.equals() 判断 * 对象 通过 Objects.equals() 判断 # java.util.Objects.equals() ```java public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); } ``` 1. 先判断内存 2. 在判断...
最近使用mapreduce处理一批数据,但要处理的文件大部分都是几MB的小文件,当任务刚跑起来,发现启动了很多map任务,很影响执行效率。(任务运行在cdh5.13集群对应yarn下) 通过配置mapreduce加载的配置文件可以控制map的任务个数,提高执行效率。 mapred-site.xml
&property&
&name&mapreduce.job.split.metainfo.maxsize&/name&
&value&&/value&
&/property& hdfs-site.xml
&property&
&name&dfs.blocksize&/name&
&value&&/value&
&/property&
ElasticSearch6.0.0
1. 基本使用 现在我们的团队使用的基本都是axios发起请求,使用方式如下 在service.js文件中返回promise对象 import config from '@/config'
import axios from 'axios'
export default{
/*启用停用*/
setB2bStoreGoodsBlackUpOrDown(data) {
return new Promise(function (resolve, reject) {
const url = `${config.server.http}${config.server.host}/b2b-seller-admin/setStoreGoodsBlackUpOrDown`
axios.post(url, data)
.then(function (data) {
resolve(data)
.catch(function (error) {
reject(error)
/*一个接口查黑名单*/
getListB2bCanaleStoreGoodsBlacks(data) {
return new Promise(function (resolve, reject) {
const url = `${config.server.http}${config.server.host}/b2b-seller-admin/page/getListCanaleStoreGoodsBlacks`
axios.post(url, data)
.then(function (data) {
resolve(data)
使用logback,忽然想到这个问

我要回帖

更多关于 superstarbts下载 的文章

 

随机推荐