该怎样收视wwWwww.3344at.comjk接目说到底,就是不晓得www.3344at.comjkcOm为啥不管了

该若何收视wwW3344jk接目说毕竟,就是不晓得3344jkcOm为啥岂论了__新浪博客
该若何收视wwW3344jk接目说毕竟,就是不晓得3344jkcOm为啥岂论了
  刘伯温的回答跟上次回答朱升时一样,相当直接,又相当模糊:“吴国公想取胜很难。”
  言外之意,三个字:还是败!
  朱元璋就纳闷了:刚才不是说知彼知己百战不殆么?现在已经懂了,为什么还是难以取胜?难以取胜不就是败?
  实在难以理解。
  难以理解吗?其实不难理解。
  刘伯温仅仅用了一个成语就解决了他的困惑:“螳螂捕蝉,黄雀在后。”
  朱元璋想了想,忽然明白了一切:
  螳螂就是自己,蝉就是张士诚,那只黄雀,不会是方国珍,他有贼心,有贼胆,也没那么大本事。只有一个人才是那只黄雀——陈友谅。
  是的,张士诚是守成之主,自己是进攻一方,但却轻视了那个比张士诚更加强大的敌人——陈友谅。
  然而,事实上,朱元璋也不是没考虑到陈友谅,只是,他将首要攻击目标锁定在了张士诚身上,其次才是陈友谅。
  但刘伯温却告诉他:这是一个巨大的战略失误!如果按这个战略思想,陈友谅就成了必胜客——必胜无疑!
  朱元璋惊得目瞪口呆。
  接下来,刘伯温为他进行了详细的分析。他的意见,我总结如下:
  陈友谅是黄雀不错,但他绝不是坐等食物到嘴的黄雀。他是一只会发动强烈进攻的黄雀。的确,坐收渔利的事儿是可以干,但战场上风云变幻,谁也料不准上天的天平会偏向哪一方,万一朱元璋把张士诚打败了呢?那么,下一个目标就是他陈友谅!与其坐等别人来打自己,不如趁别人鹬蚌相争之时,上去狠狠踩几脚,把他们都踩死!
  坐收渔利太慢,远不如趁火打劫见效快。朱元璋进攻张士诚,张士诚如果抵挡不住,必然会向陈友谅求救,以陈友谅的性格,乐善好施是不可能的,趁火打劫是必须的。
  螳螂也好,蝉也罢,打得两败俱伤之时,都将成为黄雀的腹中之食。
  朱元璋突然感到脊背发凉。
    朱元璋感到脊背发凉的原因,倒不在于他现在才意识到“螳螂捕蝉,黄雀在后”,也不在于他突然发现他们三人中有人会充当黄雀,而在于他突然才想到黄雀会是陈友谅。
  这是一个最让人恐惧的敌人。有了他在背后捅刀子,就是不被捅死,也会成为残废。
  这样的黄雀实在太可怕!
  但刘伯温突然又告诉朱元璋:其实是可以不出现黄雀的。前提是只要战略得当,方法得当。
  朱元璋一听,顿时峰回路转:怎样才算是战略得当,方法得当?
  刘伯温沉吟半晌,再次给他做出细密的分析。他的意见如下:
  当今之世,虽然元还没有亡,但实际形势可谓三分天下:张士诚据东,建立大周政权,称“诚王”,占领绍兴、淮阳及边海之地,地盘并不是很大。陈友谅据西,将天完国皇帝徐寿辉架空,自成势力,称“汉王”,占领饶、信等州(江西一带),并跨荆襄之地,地盘相当之大,长江以南数他实力最强;朱元璋称“吴国公”,占有应天府、镇江、广德、长兴、常州、江阴、常熟、徽州、池州、扬州、衢州、婺州、处州,控制江左、浙右各地,西邻陈友谅。
  明眼人一眼就能看出来,这是三国2.0版本。
  三股势力,谁是最后的胜利者,谁才能坐拥天下!
  但这存在一个谁先打谁的问题。张士诚相当于东吴的孙权,只要能保证自己的地盘就行。那么,谁是曹操,谁是刘备呢?
  对不起,朱元璋和陈友谅都不想当刘备,都想当曹操,统一天下。
  既然都想当曹操,那么就要按照曹操的风格行事:先发制人!打他娘的!不要等到大家都壮大了,再东一锤子西一棒子,那就晚了。
  曹操吃亏就吃亏在下手太晚,攻打东吴时刘备已经壮大,所以孙权才会拉上他一起组成联军,导致曹操最终功亏一篑。
  但时过境迁,情况也今非昔比:除了张士诚,陈友谅、朱元璋都很强。
  谁更强一点?陈友谅!
  对于朱元璋来说,容易占便宜的当然是打最弱的张士诚。打张士诚就是螳螂捕蝉,就会有黄雀在后,而且黄雀一定是陈友谅,只会是陈友谅,因为方国珍已经成了半废品,快要报销,闹不起来;你打陈友谅,就没有黄雀在后,因为张士诚是个守成之主,没啥进取心,守着一亩三分地就已经心满意足。这样的人你就是让他当黄雀,他都不干。
  他只愿意看守自己的地盘,人不犯我,我不犯人。但是你打他,他就会反抗,反抗不了就会求救,求救就会招来陈友谅,陈友谅一插足进来,事情就全乱套了。
  能不能两头都打?答案是:傻子才会干这样的蠢事!
  既然不能两头打,那么,就不是打谁的问题,而是先打谁的问题。
  这才是最关键的问题——决定战争胜败的战略问题。
  刘伯温分析到这个地步,傻子也该明白了。
    朱元璋是个聪明人,早已大彻大悟:先攻陈友谅,再打张士诚!
  先攻陈友谅的好处是,只要打败了这个最强的对手,那么张士诚就不是对手!
  刘伯温的战略给了朱元璋当头棒喝:原来,自己一直以来的战略是错的。如果顺着这条路走下去,将是一条不归路。
  迷途知返,还有救。
  说实话,朱元璋很郁闷,这么大一个战略错误,为什么一直没有人看出来、指出来?只有他刘伯温,独具慧眼,洞若观火,一阵见血,救他于自我毁灭之路。
  幸亏,有人来救。这个人,是他的救星。
  这个人的战略眼光和判断水平高于帐下任何一个人,甚至足以堪称天下第一。
  朱元璋越来越相信,刘伯温是上天派来救赎自己的。朝廷弃他不用,将他推入对手的怀抱,无异于自毁长城。
  不作死就不会死。
  如果朝廷能好好用他,尚可多延长几年之寿。
  只可惜,没有如果。
  如今,元朝大势已去,它已经被判死刑,只是执行人还没有腾出工夫来砍下大刀,不如先给它缓一缓吧。
  它并不是最大的敌人。最大的敌人是已经亮出獠牙的陈友谅。
  是的,陈友谅。
博客等级:
博客积分:0
博客访问:10,245
关注人气:0
荣誉徽章:该怎么收视wwW3344jk接目说到底,就是不知道3344jkcOm为啥不管了_百度知道
该怎么收视wwW3344jk接目说到底,就是不知道3344jkcOm为啥不管了
我有更好的答案
机会也看你咋找,,ge4e.us 的
采纳率:50%
为您推荐:
其他类似问题
www3344jk接目的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。该怎么收视wwW3344jk接目说到底,就是不知道3344jkcOm为啥不管了_presentaxjxj_21688_新浪博客
该怎么收视wwW3344jk接目说到底,就是不知道3344jkcOm为啥不管了
她叫一薇,24岁,可爱活泼,单纯干净。几次见面大家印象不错,人家不嫌弃我啥也没有,凭这份患难中认识的感情,就比头个女友强得太多,这份真情是真挚透明的,我很珍惜。我们感情进展神速,甚至商量攒笔钱,几年后买房结婚。
  因为有了攒钱目标,所以我们在一起过得还是穷日子,但精神生活非常丰富。我是摄影高手,那时还是胶卷相机大行其道之时,加上上中学时跟父亲学过暗房冲洗技术,所以我们有空经常到郊区采风,回来后自己动手洗照片。在黑黑的屋子里,将胶卷放进显影液里成像,再放进定影液里固化,望着在显影液里逐渐清晰的照片,那份自在其中的乐趣,还带稍许浪漫。
  有空时,教她打桥牌,下国际象棋,玩滑板,素描写生,讲历史掌故,甚至是教他做我的拿手菜,总之,我们过得是精神富翁的生活。
  但在事业上,半年后,我主动辞职了
    没有为什么,就是自己感觉不到前途在哪里。从跟高人学习角度上看,李总是搞风险投资出身,他的那套理论,我没听懂,当时对投行也没兴趣。而杂志社其他人也不是什么高人。从钱途上看,即使等到明年杂志上了正轨,年薪也不过30万—40万。我又不是没见过钱的人,这点钱无法叫我很动心。
  从工作上看,李总和我都是急性子。也许在面试时,我表现得期望值过高,他觉得我一上岗,广告就能大踏步前进,本来我也以为是这样。但实际发展叫人失望。K杂志第一年广告收入不足100万,我来半年时光,已经完成200万,不可谓进步不大,但李总和我都不满意。靠,两个追求完美的人在一起做事情,真累人啊。
    杂志广告的发展是个慢活,是个精细活。首先,4A广告公司和大牌客户要观察新杂志一年,这是行规。他们不轻易投放的原因简单,看准杂志发展状况,万一新杂志在市场上没立住,损失广告费是小,影响品牌形象是大。这个漫长的观察期谁也难改变。
  其次,4A广告公司投放杂志广告,都是每年10月份以后,开始做第二年计划,不大可能中途插进新的投放计划。道理简单,杂志广告一般是品牌形象广告,版面连个电话都没有,投放时机容易控制,而报纸广告是促销广告,投放时机相对灵活。唉,难道叫我等上这该死的第一年观察期?由此看,我的能力施展空间并不大。
  从工作氛围看,走进杂志社后,我才知道这是个典型家族企业。李总侄子任发行总监,侄媳妇是财务总监,李总弟弟是广告副总监,好嘛,500平米办公室里,我快被他们一家人包围了。
  我深知,杂志发展好坏,首先是编辑,其次是发行,最后才是广告。而编辑咱不懂财经,说不出个道道来。好,那从发行下手,落实整改策略,不料却触犯了老板侄子的利益和面子,也遭到侄媳妇的白眼。落实广告提成制度,更触犯了老板弟弟的权利和利益,总之,我工作开展艰难,干得不痛快。
    半年后,我似乎已经预计到未来三年的发展状况了,我有能力兑现自己的广告承诺,但财经编辑咱不懂,这跟当初拿不到报纸编辑权一样,而且周围人全是老板亲戚,很难施展拳脚。这时的我,知道自己的媒体梦想彻底破灭了。我擅长的是媒体整合经营,需要掌控编辑、发行和广告三合一的管理权,但在,无论是国营媒体,还是私人媒体,都不能给我提供这片天地。
  如果继续留在K杂志,我将成为现代城里一个白领,北京城里一个中产,那我的创业梦想如何实现?不行,我要改变这一切。要不年薪百万,要么跟高人学到真本事,学到本事后再次创业,二者必选其一。显然,K杂志不能满足我的期待。
  简而言之,在事业上,我和李总,和K杂志是个美丽误会,我为K杂志带去了发展思路、广告资源和业绩提升,K杂志给了我金钱,包括感情在内,我们两不相欠。直到今天,我认为李总还是我的朋友,过节时还有电话互致问候,这,已经足够了。感谢李总,在我前途一片渺茫时,给我一个宝贵的工作机会,在此,深表感谢,这点我永远铭刻在心。
  媒体梦想虽然破灭了,但我不能停下脚步,我要找到一片适合我的发展空间。
  半年业绩比去年一年业绩高一倍,这是咱脑子换来的,不是等机会等来的。说个我策划的细节。刚进报社,一问广告团队:“你们平时去见客户,都带什么资料去?”
  “一般就是一本杂志,一份刊例报价。”听完,晕倒。
  靠,就凭这两杆破抢,也敢出去抢广告?也太欺负客户的无知了吧。真佩服这帮人的胆大行为。
  在最短的时间内,我熟悉了财经杂志的运作规律和特点,还是那句话,咱脑子有时候真不白给,很快,我想了一计。当我对李总说完我想法后,他很是兴奋。
    通过和财经编辑们聊天,我了解几个有用信息。我们手里有全部上市公司、所有投资机构、银行和监管机构的详细资料,包括法人代表、总裁和董事会秘书的名单和联络方式以及公司地址。于是,我叫人整理出这份资料,精装成册。好嘛,近两万人的顶级金融队伍,足足打印有300多页。我告诉业务员,这份资料包涵所有金融领域的主流人物,全是最顶级的,他们每期都看我们杂志,这是发行部提供的邮寄名录表。
  有人傻乎乎问:“雨总,客户不信怎么办?希望留下资料呢?”靠,问题问得够笨。
  “不信?重新告诉客户一遍,我们杂志的定位,就是给专业金融人士看的一本严肃财经读本。他们不仅每期看,还经常打电话咨询我们编辑呢。留下?这些信息保密,只能当面翻阅,绝对不可外借!你不会说,这本册子是你从发行部悄悄偷出来的吗?因为咱们关系铁磁,你才有机会看到。装点神秘有好处。”
  其实,估计名单里只有40%多的人看过K杂志,但这么说也不算过分,连《财经》对外报发行量还掺水呢,我这个说法又算什么?
  好,有了重磅级客户名单,就证明K杂志是财经类杂志里的顶级身份!大品牌不是想在高端人群里树立形象吗?以此高屋建瓴来影响白领基层,看,迎合你需求了吧,甚至还超过想象呢。客户是不是开始动心了?
    光这个还不够,还有新招出笼。编辑们告诉我,为了采访到上市公司真实资料和情况,为了爆猛料,很多时候可以说是冒着生命危险进行采访,包括采用偷录在内的所有招数,所谓的防火、防盗、防记者是有道理的。有些采访故事听得我也有些担心受怕的。可我担心有个屁用,客户不担心啊!
  于是我请编辑将采访的背后故事简要写明,每期杂志一出,文章背后故事也有了。广告员一手拿杂志,一手拿故事稿,再去拜访客户。客户一般看不大懂财经文章,也不感兴趣,但精彩的暗访、偷录、智闯三关的故事总听得懂吧,没准听得还津津有味呢。其实,目的很明确,就是要证明
K杂志文章得之不易,是费钱、费时、费精力得来的精品,全是独家重磅财经新闻。所以主流金融人士才爱看,这不就把发行名单的事给圆了吗?顺便利用故事文章再震撼客户一回。
presentaxjxj_21688
博客等级:
博客积分:0
博客访问:0
关注人气:0
荣誉徽章:KNN算法 K-Means算法 目标
确定某个元素所属的分类 将已存在的一系列元素分类 算法类别 监督的分类算法 无监督的聚类算法 数据区别 训练数据中,有明确的标签。 如:一个数据集中有几万张图片,都被打上了“苹果”的标签,另外还有几万张图片,被打上了“香蕉”的标签,数据是完全正确,知道结果的数据 几十万张各种各样水果的图片放一起,杂乱无章。 训练过程 无需训练(或者没有很明显的训练过程),将数据与训练数据直接对比 需要前期训练 K的含义 K指的是相邻数据的数目。 举个例子,假设某张图片相邻的20张图片中,有18张是打着“苹果”标签的数据,有1张是“香蕉”,1张是“樱桃”,那么这张图片的标签也是“苹果”。 那么在这个例子中,K就是20,20张相邻的图片。 K指的是分类的数目,人为设定好分为K个簇。 对比结果 K值不变的情况下,每次结果都是一样的。 K值确定后每次结果可能不同。
1、KNN算法,本质是一种数据统计的方法。 1.1
欧几里得距离 欧几里得距离通俗来讲就是高中数学中直角坐标系求两点间的距离,二维公式:|x| = √( x2 + y2 ) 1.2
距离计算 假设我们现在要对某张图片进行识别,大概是个怎样的思路呢(仅供理解,实际开发中更复杂)?...
通常Spring事务管理的配置都是XML或者声明式注解的方式,然后想要学习其运行的原理,从TransactionProxyFactoryBean深入更合适。我们从事务相关的核心类开始,逐步介绍Spring事务的运行机制。 ## Spring事务核心类 Spring事务的构成,基本有三个部分,事务属性的定义,事务对象及状态信息的持有,事务管理器的处理。 ### 事务属性的定义 1. TransactionDefinition 事务定义(传播属性,隔离属性,timeout等) 2. TransactionAttribute 事务属性接口 (继承TransactionDefinition),常用的实现是RuleBasedTransactionAttribute 3. TransactionAttributeSource 事务属性数据源,可以根据method和Class获取TransactionAttribute(注解方式的实现为AnnotationTransactionAttributeSource,编程方式的实现为NameMatchTransactionAttributeSource) ### 事务对象及状态信息的持有 1. Transaction 事务对象,由具体的事务管理器实现返回 2. TransactionStatus 事务状态,持有事务对象以及事务本身的属性及状态,每次事务方法执行前,生成一个新的TransactionStatus,但如果不需要创建新事务,则持有的事务和上层一致 3. TransactionInfo 事务信息,持有事务属性,事务状态,事务连...
《Spring Boot 与 kotlin 实战》之使用Spring-data-jpa简化数据访问层
详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
本文主要介绍如何在django中用celery完成异步任务,web项目中为了提高用户体验可以对一些耗时操作放到异步队列中去执行,例如激活邮件,后台计算操作等等 当前项目环境为: django==1.11.8 celery==3.1.25 redis==2.10.6 pip==9.0.1 python3==3.5.2 django-celery==3.1.17
hue(01)、hue4.1的编译安装启动
每周为您推送最有价值的开源技术内参!
& 大家知道我最近在给“阿北的知识分享”微信小程序改版,使用的是yii2中的restful功能,接下来把遇到的一些问题及小技巧分享一下。 先安利一下小程序码 [链接][1] 开始分享。 # URL要重写 我们知道restful风格的url一般是这样的 - GET /users - POST /users - DELETE /users/1 我们yii2默认的url形式是index.php?r=controller/action。 虽然说yii2已经提供了专门针对于restful的路由规则,但是我们还是需要服务器支持url重写把index.php去掉。 我用的是nginx,如下配置 ```php location / { if (!-e $request_filename){ rewrite ^/(.*) /index. } } ``` 如果你的是apache可以如下配置 ```php // Apache需要支持url重写其AllowOverride为all AllowOverride:all //web目录下增加.htaccess,隐藏index.php文件 内容如下 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php ``` 或 ```php RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)\?*$ index.php/$1 [L,QSA] ``` # 不要DELETE了 默认情况下yii2的restful已经提...
本文讲的是实际操作中的小问题和小技巧, 这里要谈谈Pentaho BI Server对文件夹的操作,在项目使用pentaho cde图表开发完图表后,通常会迁移cde图表文件来完成开发与部署不同环境下的图表迁移,在迁移过程中发现BI Server可以对Pentaho中文件夹进行下载, 下载后是一个zip的文件,可以通过在要迁移环境下upload上传后还原该文件夹。 后面遇到有人问我Pentaho BI Server能否进行批量上传文件,因为upload每次只能上传一个文件,而当要上传文件夹时我就想到了可以通过将本地需要上传的文件夹打成zip然后上传到服务器做法, 新建测试文件夹: 上传成功: 但是后期在传入他给到的文件夹出现如下问题: 上传之后 发现导入失败: 发现pentaho上传文件时不能出现中文。 注:上传成功后若发现某些文件看不到,则需要勾选显示隐藏文件
打算抄袭一下MyBatis的Java注解方式配置,添加到在正在开发的持久层工具里,只需要定义一个接口方法,就可以用一个动态代理来使用它,这种方式的优点是可以利用Java的导舤功能快速定位SQL,比文本方式保存的模板定位方便,而且方法名和参数都是Java强类型,支持重构: @Select("select * from users where id = #{id}")
User getUserById(Integer id); 但还是老问题,Java对多行文本的支持太差,MyBatis的解决方法个人不是太喜欢,破坏了SQL的可读性: private String selectPersonSql() {
return new SQL() {{
SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME");
SELECT("P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON");
FROM("PERSON P");
FROM("ACCOUNT A");
INNER_JOIN("DEPARTMENT D on D.ID = P.DEPARTMENT_ID");
INNER_JOIN("COMPANY C on D.COMPANY_ID = C.ID");
WHERE("P.ID = A.ID");
WHERE("P.FIRST_NAME like ?");
WHERE("P.LAST_NAME like ?");
GROUP_BY("P.ID");
HAVING("P.LAST_NAME like ?");
HAVING("P.FIRST_NAME like ?");
ORDER_BY("P.ID");
ORDER_BY("P.FULL_NAME");
如果大家正在按照笔者的教程尝试使用大数据组件还是之前有使用过相关的组件,大家会发现一个问题HIVE在负责的查询下调用Mapreduce会很慢,在这个场景下就涌现出很多查询引擎来优化,比如大家熟悉的Spark-SQL,Impala,kilin已经今天的主角Presto, Presto以速度和极强的扩展性取得了胜利,不仅能够提高对HIVE数据查询速度还能和异构数据库进行关联查询,比如HIVE和Mysql进行关联查询,那么我们就来迫不及待的揭开Presto的庐山真面目
java中监听器的实现大都是利用接口进行回调,使用比较麻烦。之后,spring框架中出现了在方法上加一个注解就可以实现监听的用法,特别简洁。本文就是在分析监听器回调原理的基础上,在spring环境中使用自定义的注解实现一个监听器。
作为一种可移植、体积小、加载快且兼容web的全新格式,WebAssembly受到诸多关注,并迎来企业的探索实践。白鹭引擎利用WebAssembly重新实现了一个新的渲染内核并作为一个可选项提供给开发者,使得白鹭引擎5.0成为业内首个双核驱动的引擎。在此过程中积累了一些经验,白鹭引擎首席架构师王泽今天和大家一起分享背后的故事。
WebAssembly 是 Google Chrome、Mozilla FireFox、Microsoft Edge、Mozilla FireFox 共同宣布支持、并在 2017年3月份在各自浏览器中提供了实现的一种新技术。他被设计为一种可移植的、安全的、低尺寸的、高效的二进制格式。浏览器可以解析并运行这种格式,并拥有比 JavaScript 更高的性能和解析速度。WebAssembly 可以通过编写 C / C++ 代码,通过专门的编译器生成 .wasm 格式的文件,直接运行在最新的浏览器中。 白鹭引擎是一款 HTML5 游戏引擎,他提供了游戏开发所需要的诸多功能,并允许开发者编写的游戏运行在 Web 浏览器或移动应用的 WebView 容器中。 在白鹭引擎 5.0 中,我们使用 WebAssembly 重新编写了白鹭引擎的渲染核心,以便进一步提升渲染效率。在这个过程中,白鹭引擎遇到了WebAssembly的各种问题,在此与读者进行一些 WebAssembly ...
Raft,分布式系统,分布式存储
《Spring Boot 与 kotlin 实战》之 使用JdbcTemplate连接MySQL
关于分布式事务,工程领域主要讨论的是强一致性和最终一致性的解决方案。典型方案包括: - **两阶段提交(2PC, Two-phase Commit)方案** - **eBay 事件队列方案** - **TCC 补偿模式** - **缓存数据最终一致性** # 一、一致性理论 分布式事务的目的是保障分库数据一致性,而跨库事务会遇到各种不可控制的问题,如个别节点永久性宕机,像单机事务一样的ACID是无法奢望的。另外,业界著名的CAP理论也告诉我们,对分布式系统,需要将数据一致性和系统可用性、分区容忍性放在天平上一起考虑。 两阶段提交协议(简称2PC)是实现分布式事务较为经典的方案,但2PC 的可扩展性很差,在分布式架构下应用代价较大,eBay 架构师Dan Pritchett 提出了BASE 理论,用于解决大规模分布式系统下的数据一致性问题。BASE 理论告诉我们:可以通过放弃系统在每个时刻的强一致性来换取系统的可扩展性。 ## 1、CAP理论 在分布式系统中: - **一致性(Consistency)** - **可用性(Availability)** - **分区容忍性(Partition Tolerance)** 3个要素最多只能同时满足两个,不可兼得。其中,分区容忍性又是不可或缺的。 ![ ][1] - **一致性**:分布式环境下多个节点的数据是否强一致。 - **可用性*...
![Thinkpad 25 Anniversary](http://upload-images.jianshu.io/upload_images/fb7bdff80a77326.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 用thinkpad打字确实很爽啊! --- ## 内部类基本概念 - 可将一个类的定义置于另一个类定义的内部 - 内部类允许将逻辑相关的类组织在一起,并控制位于内部的类的可见性 - 甚至可将内部类定义于一个**方法**或者**任意作用域**内! - 当然,内部类 ≠ 组合 - 内部类拥有其外围类 所有元素的 访问权 - 更有甚,嵌套多层的内部类能透明地访问所有它所嵌入的外围类的所有成员 一个典型的例子:利用 **Java内部类** 实现的 **迭代器模式** ``` // 接口 ------------------------------------------------------------- public interface Selector { boolean end(); Object current(); void next(); } // 外部类(集合类) + 内部类(迭代器类) ------------------------------------------------------------- public class Sequence { // 外部类(代表一个集合类) private Object[] private int next = 0; public Sequence( int size ) { items = new Object[size]; } public void add( Object x ) { if...
不少朋友对tio处理半包粘包不是很清楚,所以就简单写一篇博客来说一下吧
Java 判断图片类型
从第一篇已经讲解过了监听器的基本概念,以及Servlet各种的监听器。这篇博文主要讲解的是监听器的应用。 统计网站在线人数 分析 我们在网站中一般使用Session来标识某用户是否登陆了,如果登陆了,就在Session域中保存相对应的属性。如果没有登陆,那么Session的属性就应该为空。 现在,我们想要统计的是网站的在线人数。我们应该这样做:我们监听是否有新的Session创建了,如果新创建了Sesssion,那么在线人数就应该+1。这个在线人数是整个站点的,所以应该有Context对象保存。 大致思路: 监听Session是否被创建了 如果Session被创建了,那么在Context的域对象的值就应该+1 如果Session从内存中移除了,那么在Context的域对象的值就应该-1. 代码 监听器代码:
public class CountOnline implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) {
//获取得到Context对象,使用Context域对象保存用户在线的个数
ServletContext context = se.getSession().getServletContext();
//直接判断Context对象是否存在这个域,如果存在就人数+1,如果不存在,那么就将属性设置到Context域中
Java 二维数组中的孤岛搜索
1.前沿 人工智能时代快速来临,其中人脸识别是当前比较热门的技术,在国内也越来越多的运用,例如刷脸打卡,刷脸APP,身份识别,人脸门禁等。当前的人脸识别技术分为WEBAPI和SDK调用两种方式,WEBAPI需要实时联网,SDK调用可以离线使用。 本次使用的虹软提供的人脸识别的SDK,此SDK也可根据不同应用场景设计,针对性强。包括人脸检测、人脸跟踪、人脸识别,即使在离线环境下也可正常运行。
虹软公司是一家具有硅谷背景的图像处理公司,除了人脸技术以外,还有多项图像及视频处理技术。他们的双摄像头处理算法和人脸美化算法囊括了包括OPPO VIVO,SUMAMNG一系列手机厂商。
2.项目的目标 我们需要实现一个人脸识别功能。简单来说,就是机的后置摄像头,识别摄像头中实时拍到的人脸信息,如果人库注册过,则显示识别后的人脸信息,如登记的名字;如果不在,提示未注册。 这个功能具有多个应用场景,比如,火车站或者打卡和门禁系统中。 3.人脸识别的过程 人脸识别包括两个必备的过程,人脸注册和实时识别。 人脸注册是指把人脸的特征信息注册到人脸信息库中。人脸注册的来源可以有很多种,比如 国家身份证库 企业自建人脸识别库 互联网大数据库 人脸特征提取是一个不可逆的过...
前言: 由于项目要求在国外上线,所以我使用Google自带的GCM实现推送。GCM即Google Cloud Messaging,可以让开发者在客户端和服务器之间传递消息。GCM需要google service支持,在国内基本不能用,经常会断线,国内采用比较多的是极光、友盟、信鸽等第三方推送,GCM推送相关文章不多,下面简单总结一下我在项目中如何实现GCM前后台推送。 用到的知识点: Retrofit实现网络请求 GCM+NotificationCompat/NotificationChannels实现后台推送 EventBus+FragmentTabHost实现前台(底部导航)推送
前台推送的效果图: 后台推送的效果图: 推送开关的效果图: 实现的代码: 1.Google官网注册应用
首先去网址:https://console.firebase.google.com/ 去注册自己的应用,并下载google-services.json的文件,把它放到自己项目的app/目录。 2.添加依赖
2.1 Project的build.gradle
classpath 'com.google.gms:google-services:3.1.0'
Module的build.gradle
dependencies {
compile 'com.google.firebase:firebase-core:11.0.4'
compile 'com.google.firebase:firebase-messaging:11.0.4...
我是一个理工男,本科是搞电子的,但是一直对计算机的一些东西感兴趣,自己在课下喜欢学一些编程语言,后来进入了实验室,看到师兄在弄Linux,我才接触到了Linux,在电脑上装了个系统,便开始了一番探索,当然开始也是很迷茫的,也走了一些弯路,下面就谈谈我是怎么学习Linux的。 大一的时候当上了班长,忙的一塌糊涂,学期末的时候除了人脉比较广,认识的赞助商比较多,和老师关系很好,知识学的很少。于是到了大二,我决定要好好学点技能,以方便以后就业。经同学介绍,进入了我们学校的实验室,实验室的师哥人都很好,老师也很棒!于是在这愉快的氛围里,开始了我的科研之路。开始的时候是师哥带着学的,学的也挺快的,但是总是感觉知识学的不系统,地基打不牢,以后怎么建高楼。于是我就去图书馆翻阅资料,图书馆有关于Linux的书籍有好多,内容都差不多,就是套路不一样。再后来,接触到了一本《Linux就该这么学》的电子书,因为它的资源都是免费的,对于穷学生来说,这是个大福利啊,于是我就找到这本书的资源,开始以为免费的不会太好吧,但是看了第一章我就感觉很棒,作者写到读者心里去了,对于初学者来说,无疑是很好的选择。容易理解,配套的练习很经典,能让初学...
近日随着挖矿导致显卡全球大范围断货,很多网友开始关注比特币,但对于比特币到底是何方神圣却知之甚少。网络上虽然有众多关于比特币的科普文章,但如果没有相关金融知识,也很难理解比特币的真实意义。 所以今天笔者将尽量以最直白的文字为大家介绍比特币原理,以及比特币为什么会产生价值等问题,让大家更为直观的了这一“虚拟支付系统”。 超级矿场 1、比特币起源 想完全了解比特币的起源,不得不提现有的金融体系。 众所周知,货币本身是不存在价值的。起初人类采用以物易物的方式进行交易,但有诸多不便,很难换到自己所需要的物品。于是货币应运而生,通过货币这一中介,可以将不同物品按稀有程度进行定价,简化交易流程。 虽然货币交易好处多多,但也有一个致命的缺点,那就是中心化。全世界现有货币100%是国家央行发行或者废除,普通人无法参与货币发行亦或者是央行帐目。如果央行不断的发行货币,将会将人们手中的货币不断稀释,降低货币购买力。 这绝不是危言耸听,世界上一些国家已经发生过此类事件。 比如津巴布韦,近年来政府大量超发货币导致津巴布韦经济接近崩溃,最后不得不将美元引入成为当地法定货币。现在津巴布韦经济学家们正在考虑比特币替代方案。 ...
详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
``` 下载安装包: wget http://ffmpeg.org/releases/ffmpeg-3.4.1.tar.bz2 wget https://jaist.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz 安装过程: 1. yum install yasm 2. tar -zxvf lame-3.100.tar. ./ make install 3. tar -zxvf opencore-amr-0.1.2.tar. ./ make install 4. tar -jxvf ffmpeg-3.4.1.tar.bz2 5. ./configure --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-shared 6. make 7.make install 8.vi /etc/ld.so.conf 9.在文件末尾加上:/usr/local/lib 10. ldconfig 11.ffmpeg 输出版本信息表示安装成功 ffmpeg -i 1.amr 1.mp3 ```...
12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理
什么是HttpServletRequest HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。 简单来说,要得到浏览器信息,就找HttpServletRequest对象 HttpServletRequest常用方法 获得客户机【浏览器】信息 getRequestURL方法返回客户端发出请求时的完整URL。 getRequestURI方法返回请求行中的资源名部分。 getQueryString 方法返回请求行中的参数部分。 getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。 getRemoteAddr方法返回发出请求的客户机的IP地址 getRemoteHost方法返回发出请求的客户机的完整主机名 getRemotePort方法返回客户机所使用的网络端口号 getLocalAddr方法返回WEB服务器的IP地址。 getLocalName方法返回WEB服务器的主机名 获得客户机请求头 getHeader方法 getHeaders方法 getHeaderNames方法 获得客户机请求参数(客户端提交的数据) getParameter方法 getParameterValues(String name)方法 getParameterNames方法 getParameterMap方法 HttpServletReq...
1.《Deep Learning in NLP (一)词向量和语言模型》 按作者的话讲是“对 Deep Learning 在 NLP 领域中应用的理解和总结”。 主要介绍的是 Distributed representation到2013年的研究现状。由于是2013年写的,Word2Vec的论文才刚发布,所以没有过多讨论。后来作者的博士论文中有详细介绍。作者的博客地址为:http://licstar.net/ 2.《词向量概况》 发表时间是,这个时候word2vec已经非常火爆了,几乎家喻户晓。文章应该主要还是冲着word2vec去的,从NLP中会遇到的问题开始分析,到神经网络语言模型为什么通过预测下一个词算出词向量,最后到word2vec的线性关系和缺点。分析的很透彻。 3.《Getting started with Word2Vec》 关于这篇博客我只有两个字:很全 还有一段知乎上的关于词向量,LDA,word2vec的讨论,后面附的参考文献非常值得阅读: 作者:陈乐天 链接:https://www.zhihu.com/question//answer/ 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 词向量,有时候翻译为词嵌入(word embeddings),又可以称作distributed word representation[1], 最初起源是神经网络语言模型(Neural Networks Langu...
快嘉开发框架将一个标准的J2EE项目拆分为基础组件(Base)、持久层组件(Persistence-Impl)、接口和报文定义组件(Bundle)、接口模拟实现组件(BundleMock)、业务实现组件(Service-Impl)、批处理系统(Batch)、接口系统(Api)和接口测试组件(SDK)8个部分并行开发建设,其中基础组件(Base)、接口和报文定义组件(Bundle)、接口模拟实现组件(BundleMock)和接口测试组件(SDK)都可以由快嘉网平台提供的代码生成服务生成。该框架基于spring4+mybatis3.3.0搭建,持久层为mysql。
源码编译ceph
词义消歧,句子、篇章语义理解基础,必须解决。语言都有大量多种含义词汇。词义消歧,可通过机器学习方法解决。词义消歧有监督机器学习分类算法,判断词义所属分类。词义消歧无监督机器学习聚类算法,把词义聚成多类,每一类一种含义。 有监督词义消歧方法。基于互信息词义消歧方法,两种语言对照,基于大量中英文对照语料库训练模型可词义消歧。来源信息论,一个随机变量中包含另一个随机变量信息量(英文信息中包含中文信息信息量),假设两个随机变量X、Y的概率分别是p(x), p(y),联合分布概率是p(x,y),互信息计算公式,I(X; Y) = ∑∑p(x,y)log(p(x,y)/(p(x)p(y)))。互信息,一个随机变量由已知另一个随机变量减少不确定性(理解中文时由于已知英文含义让中文理解更确定),不确定性,熵,I(X; Y) = H(X) - H(X|Y)。对语料不断迭代训练,I(X; Y)不断减小,算法终止条件I(X; Y)不再减小。基于互信息词义消歧方法对机器翻译系统效果最好。缺点,双语语料有限,多种语言能识别出歧义情况也有限的(如中英文同一个词都有歧义)。 基于贝叶斯分类器消歧方法。条件概率,上下文语境,任何多义词含义都跟上下文语境相关。假设语境(context)记c,语义(semantic)记s,多义词(word)记w...
## 序 本文主要研究下spring webflux返回application/stream+json的实例 ## maven ``` org.springframework.boot spring-boot-starter-webflux ``` ## controller ``` /** * curl -i localhost:8080/stream * @return */ @GetMapping(value = "/stream",produces = MediaType.APPLICATION_STREAM_JSON_VALUE) public Flux priceStream(){ return Flux.interval(Duration.ofMillis(500)) .map(l -& new Price(System.currentTimeMillis(),ThreadLocalRandom.current().nextInt(100, 125))) .log(); } ``` &注意这里produces = MediaType.APPLICATION_STREAM_JSON_VALUE &如果不是application/stream+json则调用端无法滚动得到结果,将一直阻塞等待数据流结束或超时。 ## 输出 - 后台输出 ```
21:36:49.701 INFO 1270 --- [ctor-http-nio-2] reactor.Flux.Map.1 : onSubscribe(FluxMap.MapSubscriber)
21:36:49.702 INFO 1270 --- [ctor-http-nio-2] reactor.Flux.Map.1 : request(1)
21:36:50.208 INFO 1270 --- [ parallel-2] reactor.Flux.Map.1 : onNext(Price(timestamp=8, value=120.0))
21:36:50.229 INFO ...
原文(英):https://movidius.github.io/ncsdk/ Introduction The Intel(R) Movidius(TM) Neural Compute SDK (NCSDK) and Intel(R) Movidius(TM) Neural Compute Stick (Intel(R) Movidius(TM) NCS,https://developer.movidius.com/start) enable rapid prototyping, validation, and deployment of deep neural networks (DNNs). The NCS is used in two primary scenarios: Profiling, tuning, and compiling a DNN on a development computer (host system) with the tools provided in the Intel Movidius Neural Compute SDK. In this scenario, the host system is typically a desktop or laptop machine running Ubuntu 16.04 desktop (x86, 64 bit), but you can use any supported platform for these steps. Prototyping a user application on a development computer (host system), which accesses the hardware of the Intel Movidius NCS to accelerate DNN inferences via the API provided with the Intel Movidius Neural Compute SDK. In this scenario, the host system can be a developer workstation or any developer system that runs an operating sy...
什么是JSON JSON:JavaScript Object Notation 【JavaScript 对象表示法】 JSON 是存储和交换文本信息的语法。类似 XML。 JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言S 为什么需要JSON 提到JSON,我们就应该和XML来进行对比。XML也是一种存储和交换文本信息的手段。那么JSON好在哪里呢?? JSON 比 XML 更小、更快,更易解析。 javaScript原生支持JSON,解析速度会很快 XML解析成DOM对象的时候,浏览器【IE和fireFox】会有差异 使用JSON会更简单
更加容易创建JavaScript对象 var p = {'city':['北京','上海','广州','深圳']};
for(var i=0;i&p.city.i++){
document.write(p.city[i]+"&br/&");
JSON语法 客户端与服务端的交互数据无非就是两种 数组 对象 于是乎,JSON所表示的数据要么就是对象,要么就是数组 JSON语法是javaScript语法的子集,javaScript用[]中括号来表示数组,用{}大括号来表示对象,JSON亦是如此 JSON数组:
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
本文对DHCP安装过程中常见的几个文件做详细解析。具体解析如下: /etc/dhcpd.conf 这个是DHCP服务器的主配置文件,但是在有的系统中安装了DHCP服务器之后却没有这个文件,因此需要手动建立。还有的是有这个主配置文件但是没有内容,只要把相应模板拷贝到这个配置文件中去。 /usr/sbin/dhcpd 这个是启动整个dhcp服务器的执行文件。 /var/lib/dhcpd/dhcpd.leases 这个是DHCP服务器与客户端租约建立的起始与到期时间的记录都在这个文件中。在DHCP服务器没有启动或是没有分配IP的时候默认为空的。 /etc/dhcpd.conf主配置详解 打开主配置文件/etc/dhcpd.conf,发现里面都是空的,不过提供了模板,就是see后面的那个/usr/share/doc/dhcp*/dhcpd.conf.sample这个文件,dhcp模板配置文件内容包含了部分参数、声明以及选项的用法,其中注释部分可以放在任何位置,并以"#"号开头,当一行内容结束时,以";"号结束,大括号所在行除外哈 Vim编辑模式下输入dhcp配置模板,回车或者直接拷贝dhcpd.conf.sample这个文件按到/etc/下并命名为dhcpd.conf 用vim编辑器打开主配置文件dhcpd.conf 原文来自:https://www.linuxprobe.com/dhcp-common-analysis.html...
通用多级页面抓取 Laravel Symfony_Crawler GuzzleHttp 抓取行政区域
composer require guzzlehttp/guzzle
composer require symfony/dom-crawler
DROP TABLE IF EXISTS `area`;
CREATE TABLE `area` (
`id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`parent_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_
-- ----------------------------
-- Table structure for crawler
-- ----------------------------
DROP TABLE IF EXISTS `crawler`;
CREATE TABLE `crawler` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`status` int(11) DEFAULT '0',
`data` text COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3542 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_
1. func top 抓取行政区域省级, 每个省链接对应一次抓取任务,存放任务表crawler。
2. 循环抓取
1). 读取一条任务 se...
上一篇文章介绍了高仿京东的沉浸式状态栏,可是跟京东首页的头部轮播图相比,依然有三处缺憾: 1、京东的头部Banner上方,除了有悬浮着的状态栏,状态栏下面还有一行悬浮工具栏,内嵌扫一扫图标、搜索框,以及消息图标; 2、把整个页面往上拉,状态栏的背景色从透明变为深灰,同时工具栏的背景也从透明变为白色; 3、页面下拉到顶后,继续下拉会拉出带有“下拉刷新”字样的布局,此时松手则会触发页面的刷新动作; 上面第一点的状态栏和工具栏悬浮效果,都有对应的解决办法;第二点的状态栏和工具栏背景变更,也存在可行的解决方案。倒是第三点的下拉刷新,以及第二点的上拉监听,却不容易实现。 虽然Android提供了专门的下拉刷新布局SwipeRefreshLayout,但它并没有页面随手势下滚的效果。一些第三方的开源库如PullToRefresh、SmartRefreshLayout固然能让整体页面下滑,可是顶部的下拉布局很难个性化定制,至于状态栏、工具栏的背景色修改更是三不管。因此若想呈现完全仿照京东的下拉刷新特效,只能由开发者编写一个自定义的布局控件了。 自定义的下拉刷新布局,首先要能够区分是页面的正常下滚,还是拉伸头部要求刷新。二者之间的区别很简单,直觉上看就是判断当前页面是...
—– BEGIN LICENSE —–
TwitterInc
200 User License
EA7E-890007
1D77F72E 390CDD93 4DCBA022 FAF60790
61AA12C0 AD136
94D7F7D4 95BC8C1C 527DA828 560BB037
D1EDDD8C AE7B379F 50C9D69D B35179EF
2FE898C4 8ECE714 E1FB0E43
D5D5E98 BC4EED2
9D2D2E61 D338B72 5CF95C69
E36B85CC 5D828 470A92AB
—— END LICENSE ——
myeclipse设置主题和颜色
一 两段锁协议 因为数据库中有大量的并发访问,为了预防死锁,一般推荐使用一次封锁法,就是在方法的开始阶段预先知道使用哪些数据,然后全部锁住,在方法运行之后在解锁。可以避免死锁。但是数据库并不知道要用到哪些数据。 数据库遵循两段锁协议,将事物分成两个阶段。加锁阶段和解锁阶段。
加锁阶段:该阶段可以进行加锁操作,在任何数据进行读之前,都要申请并获得S锁(共享锁)。在写操作之前要获得X锁。加锁不成功,则事物进入等待状态,直到加锁成功才继续执行。
事务加锁/解锁处理 begin; insert into test .....加insert对应的锁 update test set...加update对应的锁 delete from test ....加delete对应的锁 事务提交时,同时释放insert、update、delete对应的锁。 这种方式无法避免死锁,但是两段锁可以保证事物的并发调度是串行的。 二 事物的四种隔离级别
在RC 这个隔离级别,数据的读取都是不加锁的,但是数据的写入,修改,删除是需要加锁的。 事务A 事务B update class_teacher set class_name='初三二班' where teacher_id=1; update class_teacher set class_name='初三三班' where teacher_id=1;
ERROR 1205 (HY...
买东西前查一查,说不定你要买的东西返利50%呢~
正文开始,从现在开始京东购买商品,可以在小花儿人工智能,以下简称“小花儿”这里领取返利了(O(∩_∩)O),返利最多50%,现在我们一起来学习一下怎么操作吧~,有问题也可以在本篇文章下留言,谢谢
第一步:查询返利,复制商品网址给小花儿,看图
第二步:点击购买链接,搜索你要的商品或者从下边直接点击开始购物(购物拿回扣,开心吧~)
第三步:购物完成之后,查看订单把订单id发给”小花儿“ 1、订单号不要给别人哦,谁第一次把订单号发给我返利就是谁的~ 2、注意:通过第一步的地址购物得到的订单号,才有返利,在京东app里购物是没有返利的(京东网页版和手机版都有~)。
查询订单号
订单号发给”小花儿“
第四步:查询余额,发送“我的返利余额”
第五步:提现。(满100可提取现金!!!!)
开始您的购物之旅吧~ https://www.gccpw.cn/show-135664.html
1,vpn,但是免费的不稳定,耽误时间,收费的太贵,还容易被骗,买了就不能用。 2,ss,但是一般都得自己购买服务器搭建,要求动手能力比较强。 3,谷歌镜像,很多免费的谷歌镜像,只要会搜索就能找到, 比如, https://google.uulucky.com https://google.gccpw.cn https://google.90h6.cn:1668 谷歌学术镜像 https://scholar.uulucky.com https://scholar.gccpw.cn https://scholar.90h6.cn:1668
小光是一名私家侦探,是小光侦探事务所的负责人。这天,他正在事务所中喝茶,突然接到警官M的电话,说接到线上总共三台机器,有一台机器报警,Java堆内存占用超过95%,无法正常得到服务器的响应。小光安排警官M保留好现场,急匆匆的赶往了现场...
知乎上有一个问题,内容是已知空间三个点的坐标,求三个点所构成的圆的圆心坐标(编程实现)? 根据圆的定义,这道题的核心就是找到一个点,到已知的三个点的距离相等,利用数学知识可以求解如下: 例如 :给定a(x1,y1) b(x2,y2) c(x3,y3)求外接圆心坐标O(x,y) 1. 首先,外接圆的圆心是三角形三条边的垂直平分线的交点,我们根据圆心到顶点的距离相等,可以列出以下方程:
(x1-x)*(x1-x)+(y1-y)*(y1-y)=(x2-x)*(x2-x)+(y2-y)*(y2-y);
(x2-x)*(x2-x)+(y2-y)*(y2-y)=(x3-x)*(x3-x)+(y3-y)*(y3-y); 2.化简得到:
2*(x2-x1)*x+2*(y2-y1)y=x2^2+y2^2-x1^2-y1^2;
2*(x3-x2)*x+2*(y3-y2)y=x3^2+y3^2-x2^2-y2^2;
令:A1=2*(x2-x1);
B1=2*(y2-y1);
C1=x2^2+y2^2-x1^2-y1^2;
A2=2*(x3-x2);
B2=2*(y3-y2);
C2=x3^2+y3^2-x2^2-y2^2;
即:A1*x+B1y=C1;
A2*x+B2y=C2; 3.最后根据克拉默法则:
x=((C1*B2)-(C2*B1))/((A1*B2)-(A2*B1));
y=((A1*C2)-(A2*C...
在帮助小白解决了很多开源使用的问题后,我总结了小白的不科学的提问方式,以遭受9种伤害夸张的手法一一道来
作为一个有割掉的程序员,对不起,这里应该是格调,酒喝多了有些糊涂。
好吧我们重来一遍。
作为一个有格调的程序员,我们根本不是外界说的那种闷骚宅,此刻的我又含了一汤匙川贝枇杷膏,狠狠的怼了一口野格,据说这是当下欧美流行趋势,对于我这种有格调有品位的人,就得这么喝酒。 眼瞅着半边天的节日就要到了,女神那边似乎不能放假半天导致她有些小情绪。怎么让我的女神高兴起来呢?这个命题拷问着我已经晕晕乎乎的灵魂,实话实说,我的灵感已经在情人节释放殆尽,随着呼呼的北风吹到了遥远的陌生地方。 班儿加到一半儿,看着不断报错的日志,我竟然突然有了灵感。我是一名资深的程序员啊同志们,有报错就要溯源,有bug就要解决,有需求就要迎难而上啊同志们!
说干就干!
我准备用最擅长人工智能的Watson为我做点什么! 说干就干!毫不犹豫的干起来!
首先我悄悄收集了女神朋友圈里精心拍出来的照片,接着,利用IBM Watson的接口,我为所有的图片都打上了标签。聪明的你一定想到了,这些标签经过整理,高频出现的一定就是女神的最爱! 当结果输出的一刻,内心五味杂陈的我流下了两行热泪…… 泪眼迷离的我望着枇杷膏的空瓶,狠狠的生怼了几口野格,看了...
1:降配行为他们在 2 月份的活动里面就知道,作为福利赠送给大家的。其实 2 月份参加活动人薅了不少。 2:昨天上午当时没有处理降配问题,因为觉得也还好 3:昨天下午开始各种问题,公司论坛和领导过问,到处发的贴,什么“惊天 bug ”,“使劲薅”,“使劲撸”是怎么回事,活动策划压力巨大,最后把降配封了,给活动降降温。太多各种标题党了。
& 在Spring Boot 2.0中推出了Relaxed Binding 2.0,对原有的属性绑定功能做了非常多的改进以帮助我们更容易的在Spring应用中加载和读取配置信息。下面本文就来说说Spring Boot 2.0中对配置的改进。 & & 本文首发:http://blog.didispace.com/Spring-Boot-2-0-feature-1-relaxed-binding-2/ ## 配置文件绑定 ### 简单类型 在Spring Boot 2.0中对配置属性加载的时候会除了像1.x版本时候那样**移除特殊字符**外,还会将配置均以**全小写**的方式进行匹配和加载。所以,下面的4种配置方式都是等价的: - properties格式: ```properties spring.jpa.databaseplatform=mysql spring.jpa.database-platform=mysql spring.jpa.databasePlatform=mysql spring.JPA.database_platform=mysql ``` - yaml格式: ```yaml spring: jpa: databaseplatform: mysql database-platform: mysql databasePlatform: mysql database_platform: mysql ``` **Tips:推荐使用全小写配合`-`分隔符的方式来配置,比如:`spring.jpa.database-platform=mysql`** ### List类型 在properties文件中使用`[]`来定位列表类型,比如: ```properties spring.my-example.url[0]=http://example.com spring.my-...
# 环境要求 1、Java SDK 1.8 [下载](http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html) 2、Eclipse IDE for Java EE Mars 2 (4.5.2) [下载](https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/mars2) 3、Apache Maven 3.3+ [下载](https://maven.apache.org/download.cgi) 4、MySql 5.7+ [下载](https://dev.mysql.com/downloads/windows/installer/5.7.html) # 导入到Eclipse 1、检出JeeSite4源代码: ``` git clone https://gitee.com/thinkgem/jeesite4.git ``` 2、拷贝`web`文件夹,到你的工作目录(不包含中文和空格的目录)下,重命名为你的工程名,如:`jeesite-demo` 3、打开`pom.xml`文件,修改第13行,artifactId为你的工程名,如:`jeesite-demo` 4、导入到Eclipse,菜单 File -& Import,然后选择 Maven -& Existing Maven Projects,点击 Next& 按钮,选择第2步的`jeesite-demo`文件夹,然后点击 Finish 按钮,即可成功导入 5、这时,Eclipse会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定),若工程上有小叉号,请打开Problems窗口,查看具体错误内容,直到无错误为...
JDK 10 是 Java 10 标准版的部分实现,将于 2018 年 3 月 20 日发布,改进的关键点包括一个本地类型推断、一个垃圾回收的“干净”接口。
首次接触 Springboot,只能从官方文档开始。现在是文档的开始部分,记录一下。
### 拷贝文件或文件夹 ``` /** * 拷贝文件 * * @param source 源文件 * @param target 目标文件 */ public void copyFile(String source, String target) { // 源文件 File sourceFile = new File(source); if (!sourceFile.exists()) { } // 目标文件 File targetFile = new File(target); // 文件拷贝 if (sourceFile.isFile()) { copyFromChanel(sourceFile, targetFile); } // 文件夹拷贝 if (!targetFile.exists()) { targetFile.mkdirs(); } for (File file: sourceFile.listFiles()) { copyFile(file.getAbsolutePath(), target + File.separator + file.getName()); } } ``` ### 利用文件管道拷贝文件 ``` /** * 利用文件管道拷贝文件 * * @param source 源文件 * @param target 目标文件 */ public void copyFromChanel(File source, File target) { // 文件流 FileInputStream fis = FileOutputStream fos = // 文件管道 FileChannel fci = FileChannel fco = try { // 文件流 fis = new FileInputStream(source); fos = new FileOutputStream(target); // 文件管道 fci = fis.getChannel(); fco = fos.getChannel(); ...
### 需求 ``` 对MySQL数据库中某个表的某个字段执行k-means算法,将处理后的数据写入新表中。 ``` ### 源码及驱动 ``` http://download.csdn.net/download/xiaobuding007/ ``` ### 源码 ```java import java.sql.*; import java.util.*; /** * @author tianshl * @version
上午11:13 */ public class Kmeans { // 源数据 private List origins = new ArrayList&&(); // 分组数据 private Map& // 初始质心列表 private L // 数据源 private String tableN private String colN /** * 构造方法 * * @param tableName 源数据表名称 * @param colName 源数据列名称 * @param cores 质心列表 */ private Kmeans(String tableName, String colName,List cores){ this.cores = this.tableName = tableN this.colName = colN } /** * 重新计算质心 * * @return 新的质心列表 */ private List newCores(){ List newCores = new ArrayList&&(); for(List v: grouped.values()){ newCores.add(v.stream().reduce(0, (sum, num) -& sum + num) / (v.size() + 0.0)); } Collections.sort(newCores); return newC } /...
### Logstash ##### 使用yum安装 ###### 编辑 repo ``` vim /etc/yum.repos.d/elasticsearch.repo # 内容如下 [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` ###### 安装 ``` sudo yum install logstash ``` #### 配置 Logstash ``` # 参考 https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html # input项配置源数据,此处为监听 "/log"目录下满足"insert.*.log"匹配的所有日志文件 # filter项过滤input输入的数据, "insert.*.log"中每条日志形式如:" | type | cid | src | eventId | reason", 所以使用" | "拆分每条日志 # output项是输出数据,此处为输出至ElasticSearch # 新建配置文件 insert.conf vim conf.d/insert.conf # 内容如下 input { file { path =& "/log/insert.*.log" } } filter { mutate{ split=&["message"," | "] add_field =& { "date" =& "%{[message][0]}" } add_field =& { "type" =& "%{[message][1]...
### 一.使用脚本切割 ##### 编辑脚本 ``` tianshl@tianshl nginx $ vim nginx_log_division.sh ``` ##### 脚本内容 ``` #! /bin/sh # 昨天日期 yesterday=`date -v -1d +%Y%m%d` # 日志目录 log_path="/usr/local/var/log/nginx/" # SDK日志路径 sdk_path=${log_path}sdk # 以天为单位切分日志 mv -f ${sdk_path}.log ${sdk_path}_${yesterday}.log # 重新生成日志文件 pid_path="/usr/local/var/run/nginx.pid" sudo kill -USR1 `cat ${pid_path}` ``` ##### 定时任务 ###### 切换到root身份 ``` tianshl@tianshl nginx $ sudo su root ``` ###### 编辑 crontab ``` sh-3.2# crontab -e ``` ###### crontab 添加一行 ``` 0 0 * * * sh /usr/local/var/log/nginx/nginx_log_division.sh ``` ###### 查看是否添加成功 ``` sh-3.2# crontab -l ``` ### 二.不使用脚本切割 ##### server 段增加以下代码 ``` if ($time_iso8601 ~ "(\d{4})-(\d{2})-(\d{2})") { set $time $1$2$3; } ``` ##### 日志文件路径中增加日期参数 ``` access_log /var/log/nginx/api-$time. ``` ##### 举个栗子 ``` events { worker_connections 1024; } http { server { # 监听88端口 listen 88;...
### ElasticSearch ``` 现有三台服务器[192.168.1.30, 192.168.1.31, 192.168.1.32],使用这三台服务器搭建ElasticSearch集群 ``` #### CentOS 使用 yum 安装 ###### 编辑 repo ``` vim /etc/yum.repos.d/elasticsearch.repo # 内容如下 [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md ``` ###### 使用yum安装 ``` yum install elasticsearch ``` ###### 创建用户 ``` useradd elastic ``` ###### 修改权限 ``` # 数据 chown -R elastic:elastic /var/lib/elasticsearch # 日志 chown -R elastic:elastic /var/log/elasticsearch # 配置 chown -R elastic:elastic /etc/elasticsearch chown -R elastic:elastic /etc/sysconfig/elasticsearch # 指令 chown -R elastic:elastic /usr/share/elasticsearch ``` ###### 配置 ``` # 主节点 192.168.1.30 vim /etc/elasticsearch/elasticsearch.yml # 修改以下几项 cluster.name: etl_es node.name: node-30 node.master: true node.d...
### 写在开头 ``` 使用jhipster声明的OneToMany在One的一方DTO中是没有与Many的DTO的映射关系的, 为了在One的一方DTO中使用Many的DTO, 使用以下三步解决此问题。 ``` ### 步骤 ``` 1. OneDTO 中的"mark 1"处为自己写的一对多的关系, 此处变量名称不能与实体One中相应的变量名称一致,否则编译失败。 2. OneMapper 中的"mark 2"处 uses属性添加ManyMapper。 2. OneMapper 中的"mark 3"处使用@Mapping注解声明 Entity 转 DTO 的映射关系。 ``` ### Entity ``` @Entity @Table(name = "one") public class One { ... @OneToMany(mappedBy = "one") private Set manys = new HashSet&&(); ... public void setManys(Set manys) { this.manys = } public Set getManys() { } } @Entity @Table(name = "many") public class Many { ... @ManyToOne private O } ``` ### DTO ``` public class OneDTO { ... // mark 1 private Set manyDTOS = new HashSet&&(); ... public void setManyDTOS(Set manyDTOS) { this.manyDTOS = manyDTOS; } public Set getManyDTOS() { return manyDTOS; } } public class ManyDTO { ... private Long oneId; ... public...
## 更新model #### 需求 ``` 概览表增加"创建时间,修改时间,软删除" ``` #### 以往的方式 ###### 1. 修改model.jh, 在实体 Overview 中增加三个属性 ``` /** * 数据概览 -- 概览 */ entity Overview { id Long, ... /* 以下属性为新增的属性 */ /* 创建时间 */ createTime ZonedDateTime, /* 更新时间 */ updateTime ZonedDateTime, /* 是否删除 */ delFlag Boolean, } ``` ###### 2. 生成配置文件 ``` jhipster import-jdl model.jh ``` ###### 3. 运行项目使配置生效 ``` 运行项目时提示"Validation Failed",原因是配置文件的MD5值不同, 此时需要以下操作 1. 修改 DATABASECHANGELOG 表中相关记录的 MD5SUM 2. 在overview表中手动新增三个属性. ``` #### 现在的方式 ###### 1. 修改model.h, 在实体 Overview 中增加三个属性 ###### 2. 生成配置文件 ###### 3. 修改生成的配置文件 ``` src/main/resources/config/liquibase/changelog/15_added_entity_Overview.xml 将 changeSet中新增的三个column提取至新的changeSet中, 如下: 注意: changeSet的id不能与之前的相同 ``` ###### 4. 运行项目使配置生效 ``` 不需要手动修改MySQL,自动生效 ```...
### 新增Python3编译环境 ``` Tools & Build System & New Build System 将默认内容替换为: { "cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } 保存为 Python3.sublime-build ``` ### 选中Python3环境 ``` Tools & Build System & Python3 ``` ### 使用Python3编译运行 ``` Ctrl + b ``` ### 可能遇到的问题 ##### 问题 ``` UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) ``` ##### 原因 ``` 默认是ascii编码但是输出中包含中文 ``` ##### 解决 ``` Preferences & Browse Packages & Users & Python3.sublime-build 修改配置文件, 配置文件中新增一条 "env": {"LANG": "en_US.UTF-8"} 修改后如下: { "cmd": ["python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "env": {"LANG": "en_US.UTF-8"} } ```...
2016年 Spring Boot 还没有被广泛使用,在网上查找相关开源软件的时候没有发现几个,到了现在经过2年的发展,很多互联网公司已经将 Spring Boot 搬上了生产,而使用 Spring Boot 的开源软件在 Github/码云 上面已有不少,这篇文章就给大家介绍一下 Github/码云 上面和 Spring Boot 相关的开源软件。 ## 1、 [awesome-spring-boot](https://github.com/ityouknow/awesome-spring-boot) 首先给大家介绍的就是Spring Boot 中文索引,这是一个专门收集 Spring Boot 相关资料的开源项目,也有对应的导航页面。 **产品主页** [http://springboot.fun](http://springboot.fun/) **项目主页** [https://github.com/ityouknow/awesome-spring-boot](https://github.com/ityouknow/awesome-spring-boot) **产品截图** ![](http://www.ityouknow.com/assets/images/2018/springboot/awesome-spring-boot.png) ## 2、 [云收藏](https://github.com/cloudfavorites/favorites-web) 云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章,可以作为稍后阅读的一个临时存放。作为一个开放开源的软件,可以让用户从浏览...
# GitLab UI - [gitlab-org repos](https://gitlab.com/gitlab-org) - [gitlab-design](https://gitlab.com/gitlab-org/gitlab-design) - [ux](https://about.gitlab.com/handbook/ux/) - [ux_guide](https://docs.gitlab.com/ee/development/ux_guide/) - [本地help](http://localhost:3000/help/ui) # other - [Gitlab 的部署与维护](https://xizhibei.github.io//the-deployment-and-maintenance-of-gitlab/), 包括对 Gitlab 的介绍 - [meld mac](https://github.com/yousseb/meld/releases), git 合并工具
本篇主要是扩展默认的报警规则,使其能更加友好的支持同时选择多种报警方式
周三接到hr电话,周五就要入职新公司了。 因为朋友所在的公司要赶项目,而朋友家里有急事,所以他就叫我在周六日过去做了两天外包,配合还算ok,加上朋友一直把我吹得天花乱坠,所以技术面试直接跳过了,hr一个电话唠唠家常就叫我去入职了。 关于待遇,基本上是现在的一倍还要多。但是我还是有些纠结的。 现在这家公司是个小小的创业公司,公司规模不大,人也不多。但是氛围很轻松,没有啥条条框框,每天迟到半小时也没人管我…技术部就我和老大俩人。老大人真的很好,一开始我会的不多,都是他一点点教的。平时各方面对我也特别照顾。有时候就算其他同事工作失误,他稍微批评两下,事后都要偷偷问我刚刚是不是语气太重。 离职如此突然,我觉得有些对不起他。特别是当他想我描述未来规划的时候,我纠结了很长时间才说出口。 奈何新公司对入职条件如此苛刻,而我又无法拒绝这个薪资。
只叹人在风中,聚散不由衷
本文从 Tomcat 源码的角度深入分析了在FORM表单中如果直接提交中文,而默认不做任何编码的设置,那么在结果页中将会出现中文乱码。分析了中文乱码出现的本质原因在于一头一尾和中间环节的编码不一致导致的。并给出了解决中文乱码的几种途径。如果你从源码的角度了解了为什么会出现乱码,以后遇到任何乱码的问题,在你面前将不再是问题。
1.执行顺序:点击按钮(type为submit的按钮)---& onclick ----& onsubmit ----& 表单提交,刷新页面 2.阻止事件(分两种):
a. 采用这种绑定时:
&form onsubmit="bc()" action="123"&
&button type="submit" onclick="btnClick()"&提交&/button&
onclick和onsubmit事件中window.event.preventDefault() ; 而return false无效
onclick和onsubmit事件中window.event.preventDefault() ; 而return false无效
b. 采用这种绑定时:
&form onsubmit="return abc()" action="123"&
&button type="submit" onclick="btnClick()"&提交&/button&
onclick和onsubmit事件中window.event.preventDefault()和return false都有效 3.注意:绑定onsubmit事件时,事件的名称不能为 submit,不然不执行。...
11.28 限定某个目录禁止解析php
实例:假如我们的一个目录是允许上传图片的,可能有些别有用心的人通过某些手段上传php文件上来。也就意味着被执行的文件,可能是恶意文件
访问控制 – 禁止php解析
核心配置文件内容 &Directory /data/wwwroot/111.com/upload&
php_admin_flag engine off
&/Directory&
curl测试时直接返回了php源代码,并未解析
or 详细版 加上匹配,直接403拒绝访问。
&Directory /data/wwwroot/111.com/upload&
php_admin_flag engine off
&FilesMatch
(.*).php(.*)&
Order allow,deny
Deny from all
&/FilesMatch&
&/Directory&
-t graceful
[root@localhost 111.com]# mkdir upload [root@localhost 111.com]# ls 123.php
upload [root@localhost 111.com]# cp 123.php upload/ [root@localhost 111.com]# curl -x127.0.0.1:80 'http://111.com/upload/123.php' -I HTTP/1.1 403 Forbidden Date: Mon, 25 Dec :36 GMT Server: Apache/2.4.29 (Unix) PHP/5.6.30 Content-Type: tex...
文章来自:http://blog.csdn.net/snowy_way/article/details/#contextloader
前端代码进行图像压缩
行为or事件
通过SignalR 实现Web实时通讯。 signalr可实现自宿主或iis宿主,本文介绍通过owin进行自宿主。 signalr客户端调用也有多种方式,如:winform软件调用或web页面调用,其中页面调用是平台无关性。
redis的效率高的原因(redis是单线程的)? 1、基于内存 2、省去了线程切换以及锁切换的开销(相比于多线程)
Office2013版本下载地址
链接:https://pan.baidu.com/s/1z6NtjupqRy-4gG5Uy-zabQ 密码:c1lp 1:解压并且打开Office_Professional_Plus_2013 2:双击setup.exe 3:接受协议 11:点击立即安装 12:安装完成,关闭 最后用激活工具Microsoft Toolkit激活 假如: 打开错误:出现.net4.0错误 安装dotNetFx40_Full_x86_x64 跟着下面网站的操作 http://jingyan.baidu.com/article/3aed632e91ae.html?qq-pf-to=pcqq.c2c 防止上面网站失效,拷贝方法如下 请先确保您已经安装了Office 2013版本的软件 首先下载Microsoft Toolkit.exe工具 我方在百度网盘上:http://pan.baidu.com/s/1kT4ybR5 运行Microsoft Toolkit.exe工具选择Office图标 在主界面中切换到"Activation"页面 按需KMS Tool:AutoKMS 然后点击Install进行安装KMS 激活Office 上面安装KMS成功之后点击 "Activate"按钮开始激活 等待一点时间之后看到激活成功 确认Office激活状态 新建一个word文件、然后打开查看激活状态
Buffer转 16进制 及 Buffer 转String
查询语句 (数据库名为表名为cus_sale) SELECT
COLUMN_NAME AS '列名',
DATA_TYPE AS '字段类型',
COLUMN_TYPE AS '长度加类型',
IS_NULLABLE AS '允许空',
COLUMN_KEY AS '主键',
COLUMN_COMMENT AS '说明'
information_schema.`COLUMNS`
TABLE_SCHEMA LIKE 'customer'
AND TABLE_NAME LIKE 'cus_sale'
查询结果:
代码工具生成mybatis映射文件,运行测试类报错。
在基于 create-react-app 的React项目中进行代码分片、按需加载(code splitting)/ 免webpack配置 react /async /javascript /代码分片 /按需加载 为什么需要代码分片 Facebook 的 create-react-app 是一款非常优秀的开发脚手架。它为我们生成了 React 开发环境,自带 webpack 默认配置。 它会通过 webpack 打包我们的应用,产生一个 bundle.js 文件。随着我们的项目越写越复杂,bundle.js 文件会随之增大。 由于该文件是唯一的,所以不管用户查看哪个页面、使用哪个功能,都必须先下载所有的功能代码。 当 bundle.js 大到一定程度,就会明显影响用户体验。 此时,我们就需要 code splitting ,将代码分片,实现按需异步加载,从而优化应用的性能。 代码分片的原理 ES模块(ECMAScript modules)都是静态的。编译时就必须指明 确定的导入(import)和导出(export)。 这也是规定 import 声明必须出现在模块顶部的原因所在。 但是我们可以通过 dynamic import() 来实现动态加载的功能。 dynamic import() 是 stage 3 中的一个提案。这是一个 运算符 operator 而非函数 function 。 我们把模块的名字作为参数传入,它会返回一个 Promise ,当模块加载完成后,该 Promise 就...
子系统增加自动单点登录功能方法:   (代码参考xtjbb) 1.复制sso.properties spring-servlet-sso.xml proxylogin.jsp到指定目录
2.配置sso.properties domain login defined 改为子项目地址 proxyloginFail askurl 改为认证中心地址
.在spring-servlet.xml中加入 pom.xml中加入 base.jar
由于运营地方公众号的原因,一直想提供一些本地的生活服务功能。之前一直连接到58同城、美团等。
但是,对于一些3、4线城市来说 微信相比于这些app更加普及,也应用起来更方便。
对于公众号的运营者来说,很大一批都是为自己地区的一方父老进行本土化的服务。比较常用的便民就是如:求职招聘、房屋租售、二手信息等。可能还有一些营销层面的工具需求。
于是决定用python的django框架开发一套类似于这样的系统。不过,对于一个从头开始做的起步,还是很抵触的。因为一步步都需要自己来实现。
恰好赶在前一段时间比较自由,从开始动手到现在已经差不多3个月的时间了。基本实现了这些功能: 分类信息的发布、更新、删除,自定义发布费用、刷新信息费用等 商户的入驻,按年收费、免费发布及产品、下单、商城等功能 前台功能相对于的后台管理功能。 公众号授权、公众号第三方代授权服务、微信支付的对接 订单的商户核销功能。 可以针对不同地区开通不同的服务系统及对应的小程序 可以为商户开通单独的小程序。
说了一大堆功能,下面做一些展示吧!(前端界面非自己设计) 分类信息首页
分类信息列表页面
发布信息页面
商户入驻页面
本地商圈首页
Millions of Queries per Second: PostgreSQL and MySQL’s Peaceful Battle at Today’s Demanding Workloads - Percona Database Performance Blog
由于众所周知的原因,至今仍有大量生产环境的代码跑在 Python 2.7 之上,在 Python 2 的世界里,并没有一个官方的类型系统实现。那么生产环境的类型系统是如何实现的呢,为什么一定要在在线服务上实现类型系统?下文将针对这两个问题进行深入讨论。
Ignite集群可以由它支持的任意平台启动的节点组成,包括Java、.NET和C++。本文会介绍如何通过NuGet和Maven运行一个.NET/Java集群,作为一个示例,本文会创建一个跨平台的点对点聊天系统。
shell 作为一门 linux 下使用广泛的系统语言,语法简单,上手容易,但是想要用好,少犯错误,也不是那么容易的一件事,可谓虽是居家旅行之良药,但也是杀人灭口之利器~ 今天就来聊聊 linux 下一个常见的问题:如何避免误删目录。下文会详细的讲述不同的场景下误删目录,以及相应的解决方案。 1、变量为空导致误删文件 base_path=/usr/sbin
tmp_file=`cmd_invalid`
# rm -rf $base_path/$tmp_file 这种情况下如果 cmd 执行出错或者返回为空,后果将是灾难性的,那如何防范呢? (1)利用 shell 的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本: echo ${base_path:?var is empty}/${tmp_file:?var is empty}
-bash: tmp_file: var is empty (2)人肉判断变量是否为空: [[ ${tmp_file} == "" ]] && echo 1
[[ -z ${tmp_file} ]] && echo 1
1 (3)如果变量未定义还可以开启 set 选项: # cat a.sh
# 若有用未设置的变量即让脚本退出执行
# set -o nounset
# bash a.sh
a.sh: line 4: a: unbound variable
# 如果命令运行失败让脚本退出执行
set -o errexit
set -e 2、路径含有空格导致误删...
markdown编辑器貌似排版有问题,看不清楚或者想要代码的人可以私聊 前言:都知道利用pingyin4j可以将汉字转成拼音及汉字首字母,但是遇到多音节汉字就会有问题,下面附上解决多音节字节将汉字转字母或者转成汉字首字母的代码。 1.前提,需要准备一个txt文件文件,放所有多音节字,文本内容放在博客最后 2.汉字或者词组转拼音代码附上 import java.io.BufferedR import java.io.IOE import java.io.InputS import java.io.InputStreamR import java.util.A import java.util.HashM import java.util.L import java.util.M import net.sourceforge.pinyin4j.PinyinH import net.sourceforge.pinyin4j.format.HanyuPinyinCaseT import net.sourceforge.pinyin4j.format.HanyuPinyinOutputF import net.sourceforge.pinyin4j.format.HanyuPinyinToneT import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatC /** * 汉字转拼音,能处理多音字 */ public class ChineseToHanYuPYTest { private static Map& pinyinMap = new HashMap&(); private static long count = 0; pu...
ES6 中引入了 Generator,Generator 通过封装之后,可以作为协程来进行使用。 其中对 Generator 封装最为著名的当属 tj/co,但是 tj/co 跟 ES2016 的 async/await 相比的话,还存在一些比较严重的缺陷。 hprose 中也引入了对 Generator 封装的协程支持,但是比 tj/co 更加完善,下面我们就来详细介绍一下它们之间的差别。
# 1 kafka基础 本篇文章讨论的kafka版本是目前最新版 0.10.1.0。 ## 1.1 kafka种的KafkaController 所有broker会通过ZooKeeper选举出一个作为KafkaController,来负责: - 监控所有broker的存活,以及向他们发送相关的执行命令。 - 分区的状态维护:负责分区的新增、下线等,分区副本的leader选举 - 副本的状态维护:负责副本的新增、下线等 ## 1.2 kafka分区中的基本概念 每个分区可以有多个副本,分散在不同的broker上。 - leader副本:被KafkaController选举出来的,作为该分区的leader - 其他follower副本:其他副本都作为follower副本 - isr列表:简单描述就是,"跟得上"leader的副本列表(包含leader),最开始是所有副本。这里的跟得上是指 - replica.lag.time.max.ms:在0.9.0.0之前表示follower如果在此时间间隔内没有向leader发送fetch请求,则该follower就会被剔除isr列表,在0.9.0.0之后表示如果该follower在此时间间隔内一直没有追上过leader的所有消息,则该follower就会被剔除isr列表 - replica.lag.max.messages(0.9.0.0版本中已被废除):follower如果落后leader的消息个数超过该值,则该follower就会被剔除isr列表 废除的主要原因是:目前这个配置是个统...
使用C#语言实现的查询条件界面展开/收起方案
redis主从复制过程:
当配置好slave后,slave与master建立连接,然后发送sync命令。无论是第一次连接还是重新连接,master都会启动一个后台进程,将 数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。后台进程完成写文件后,master就发送文件给slave,slave将 文件保存到硬盘上,再加载到内存中,接着master就会把缓存的命令转发给slave,后续master将收到的写命令发送给slave。如果master同时收到多个slave发来的同步连接命令,master只会启动一个进程来写数据库镜像,然后发送给所有的slave。master同步数据时是非阻塞式的,可以接收用户的读写请求。然而在slave端是阻塞模式的,slave在同步master数据时,并不能够响应客户端的查询。 可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化 拥有主从服务器的好处(从服务器是只读的,可以一主多从) 1.
主服务器进行读写时,会转移到从读,减轻服务器压力 2.
热备份 主从都可以设置密码,也可以密码不一致
进入/usr/data/redis/slave 创建 master
slave2 1.复制redis.conf到3个目录,修改端口 ,3000 ...
本文用于指导开发团队从无到有搭建React的开发环境。文章并不会解释任何react语法规则,只关注如何利用已有的工具搭建一个便于开发和发布的环境。
为了防止误操作,移动端iOS操作系统针对原生click事件做了300ms的延迟,这在一定程度上影响了我们的使用体验。 GitHub项目地址:https://github.com/SimonZhangITer/MyTapEvent FastClick 现在有现成的插件fastclick可以解决这个问题,但是也有弊端: GitHub上最新版本的插件大小为25.4kb,轻量为趋势,能省则省。 它的核心思想是取消默认的click时间,判断当前dom节点的类型进行相应的操作,这个判断过程较为繁琐。 MyTapEvent 本人最近在做微信项目,由于fastclick插件存在一定弊端,因此开发了一个简单的tap事件,主要思想有以下几点: Thinking 一次tap事件包含touchstart和touchmove(轻微移动)以及touchend三种状态 callback方法在touchend后执行 根据chrome浏览器默认的判断取消点击的移动量,手指偏移量(水平或垂直)超过15px则判定为滚动,取消执行tap事件 手指按下时间过长不视为点击,默认时间间隔为500ms 使用HTMLElement来扩充原型,方便添加Event 使用单例模式,确保只加载一次 ok,思想定下来,代码写起来就清晰多了: if (!HTMLElement.prototype.addTapEvent) {
HTMLElement.prototype.addTapEvent = function(callback) {
var tapStartTime ...
前端的技术栈越来越广,目前感觉三大主流:angular,react,vue,angular因为目前公司项目正在使用(版本1),vue稍稍了解了下,感觉跟angular的相似程度还是比较高的(好吧,个人感觉),而由于目前对react相对比较感兴趣,于是就开始了react的学习
开发中有时会使用梯度渐变视图,在CoreGraphics框架中,提供了这个类型来创建梯度渐变:CGShadingRef与CGGradientRef。
对于消息队列的监听,我们一般使用Java写一个独立的程序,在Linux服务器上运行。程序启动后,通过消息队列客户端接收消息,放入一个线程池进行异步处理,并发的快速处理。当我们修改程序后,需要重新启动任务的时候,如何保证消息的不丢失呢?
前段时间由于忙着跳槽的工作交接及熟悉新公司,已经停更博客两周了。不得不说,TX的开发模式的的确确是非常好的,整个团队也都是行业大牛,但是大牛并没有一点脾气,作为一个小白有问题问他们,他们总是乐此不疲的教导着我,感谢志伟哥,感谢项目组所有的人。老规矩,下面直接上干货。
zabbix自动发现监控redis数据库与自动发现mongo,mysql的思路差不多。这次汇总完就把模板,脚本上传到git上。如果公司使用的redis都是6379端口的话,那么还是建议创建一套模板,然后链接到各个服务器即可。如果公司的redis使用的端口比较多,各个都不一样,那还是自动发现并监控redis比较方便。还是一样,先来看下监控的效果图: 上述图形是使用zabbix的筛选功能汇总在一起的图片。监控redis的客户端连接数,使用的内存,实际使用的内存和redis的内存碎片化情况。
下面来讲讲自动发现redis的实现,首先,还是先看下redis自动发现的配置: 探索规则配置完后,同样的在zabbix agentd端需要添加如下配置然后重启zabbix_agentd,配置如下: UserParameter=redis.discover,python /usr/local/zabbix/discover_redis.py 其中/usr/local/zabbix/discover_redis.py自动发现的脚本内容如下 : #coding:utf-8
import json
import commands
(status, output) = commands.getstatusoutput('''sudo netstat -tlnp|grep 'redis-server'|awk '{print $4}'|awk -F':' '{print $(NF)}'|sort -u''')
outputs = output.split('\n')
ports = []
for port in
ports += [{'{#RE...
一、 NRedis-Proxy 介绍 NRedis-Proxy 是一个Redis中间件服务,第一个Java 版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;以netty 作为通信传输工具,让它具有高性能,高并发,可分布式扩展部署等特点,单片性能损耗约5%左右。 二、 NRedis-Proxy 技术架构图 三、 NRedis-Proxy 优势以及缺点 a)
自带连接池,简单稳定且性能高效
支持读写分离,从读按照权重算法
支持灵活主从配置策略
默认支持一致性哈希分片策略,扩展性强
分片策略与从读取策略可自定义化
支持主从自动切换,提供RedisServer监听服务
支持HA 分布式部署,节点可随意扩展 b)
天然缺点 中间件的存在,会自带网络损耗,但是网络带宽足够,可以忽略不计。相比客户端分片等策略,中间件可...
一、使用背景
当生产环境有很多服务器、很多业务模块的日志需要每时每刻查看时 二、环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.0.0 Logstash-5.0.0 kibana-5.0.

我要回帖

更多关于 3344.qq.com 的文章

 

随机推荐