寻空间红外寻迹模块电路网站

寻租一国外网站空间,挂外贸网站。空间大小一般就可以,最好有独立IP。 - 外贸建站 -
福步外贸论坛(FOB Business Forum) |中国第一外贸论坛
UID 409681
阅读权限 60
寻租一国外网站空间,挂外贸网站。空间大小一般就可以,最好有独立IP。
本人需要一个国外空间,挂一个外贸网站。共租的也可以。空间大小一般就可以,最好有独立IP,长期稳定的,IP国内不能屏蔽啊。价格低些,soho起步。
(FOB官方认证建站商)
UID 1158896
积分 109541
福步币 24 块
阅读权限 80
你好,需要物美价廉建站可以联系我们,福步论坛认证,无条件退款保障!
(FOB官方认证建站商)
UID 1570229
积分 37960
阅读权限 80
我们是福步认证建站商,为福友建站多年(SEO优化特强型),质量和售后都有保障,欢迎咨询交流~~
如有建站疑问,欢迎您咨询。
(FOB认证专业外贸建站商)
UID 1670066
积分 39174
福步币 4 块
阅读权限 80
来自 正规建站公司
我们有专业的外贸空间,欢迎联系咨询
(FOB官方认证建站商)
建站咨询QQ:
UID 2134260
积分 37494
阅读权限 80
回复 #1 andy20080 的帖子
SEO特强外贸建站+高速美国空间+顶级域名+免费企业邮箱+
全球IP来访统计功能 +在线***+ BANNER和LOGO免费简单制作 + 专业网站维护
1.专门开发的中英文专业外贸网站系统,SEO优化设置,
&&后台自定义网页标题、关键词和描述,生成HTML静态网页,URL包
&&含关键词,并且不包含“?”等不利于优化的符号,有利
&&于搜索引擎优化;
2.后台要求中文的,人性话管理,可自己在后台设置每个页面关键
&&词(meta keyword),标题&&(meta title) , 描述(meta description),
& &以减少网站的相似率,方便SEO;
3.采用UTF-8编码在任何网页,无论是中文、还是日文、
&&葡萄牙文、阿拉伯文,西班牙文等都可以正常显示,都不会显示乱码,网站兼容
&&性比如ie6.0 ie7.0 ie8.0 firefox等浏览打开测试
4.网站精美,符合审美标准,风格简洁,顶级域名 企业
&&邮箱,加美国品牌空间。
5.采用UTF-8编码在任何网页,无论是中文、还是日文、
&&葡萄牙文、阿拉伯文,西班牙文等都可以正常显示,都不会显示乱码
6.访问统计, 客户如何找到你 ,客户来自哪个国家,哪
&&个地区,IP地址,从哪个页面进入你的网站
7.在线MSN,SKYPE,Yahoo,QQ等即时性聊天工具,方便
&&客户与您即时联系
8.网站后台管理,会打字就会建网站,自由发布产品,上
&&传Logo和Banner幻灯片,修改网站所有内容
9.系统集成了产品分类列表、产品展示、产品订单、新闻展示、留言反馈、联系
&&方式、人才招聘、友情链接,无限增加页面等功能,可以自主增加
&&和隐蔽功能
10.网站集成中英文或其中一种语言版本,也可以增加或更换其它语言版本(中
& &英文以外的其他语言须额外付费),实现多语言建站
QQ www.99EC.NET/CASE
UID 2132824
积分 62153
阅读权限 80
专业外贸建站,客户遍及江浙沪广州深圳福建地区,有7年的外贸经验多种价格实惠套餐,欧美风格 各行业实例网站给您参考。正规建站公司 15日不满意可以无条件退款& && && &
1.国际顶级域名,美国品牌空间,多语言版本,企业邮箱,全站生成HTML静态页面,后台数据备份,可以上传附件,支持代码编辑,添加和修改导航栏目,产品分类栏目自定义添加
3.URL包含关键词,没有“?”等不利于优化的符号,有利于提高网站在Google,Yahoo等搜索引擎的排名和收录
4.网站使用UTF-8国际编码编写,程序设计严谨清晰,防止乱码现象。
5.集成搜索引擎蜘蛛访问记录系统,更好地了解搜索蜘蛛来访情况。
6.在网站管理会打字就会操作,会打字就会建网站,自由发布产品,自由更新公司信息
7.系统集成了产品分类列表、产品展示、产品订单、新闻展示、留言反馈、联系方式、人才招聘、友情链接,无限增加页面等功能,可以自主增加和隐蔽功能。
8.独立的管理后台,可以自主发布产品信息,修改网站联系方式,反正只要是网站可以看到的文字和图片,都可以在后台编辑修改成自己的内容。
9.网站集成中英文或其中一种语言版本,也可以增加或更换其它语言版本,实现多语言建站。
10.拥有 MSN,SKYPE,Yahoo,QQ等即时性聊天工具,方便客户与您即时联系。
QQ www.99EC.NET/CASE
UID 2132824
积分 62153
阅读权限 80
楼主可以联系我们,后台可以设置关键词,添加 SEO引警链接,有7年的外贸建站经验了 价格实惠 性价比高&&欢迎楼主咨询
(高性价比网站的首选)
UID 2170042
阅读权限 80
来自 厦门杰赢网络科技有限公司
欢迎联系我们 或关注我们。
JEASIN 杰欣网络营销机构&&SEO功能强劲的营销型专家;网址:
JEAWIN 厦门杰赢网络科技有限公司&公司;网址:
外贸SEO SEM公司,&公司;网址: 。
企业QQ: &&QQ:215168
免长途费***:400-918-8880
立足厦门 真诚服务全国外贸企业。。。
外贸企业可以信赖的外贸网络营销永久合作伙伴!
(Paypal指定SEO优化合作商)
13年SEO经验,保证首页排名效果
UID 1106656
积分 107971
福步币 11 块
阅读权限 80
来自 上海外贸快车QQ:
我们有品牌美国空间可供挂靠,欢迎咨询。
想低价高质的网站:选优化型模板建站吧。价格实惠,优化功能超强
想高端风格个性化:选定制网站吧。优化功能好,风格高端大气
手机时代,您需要一个:手机网站。让客户拿着手机也能与您做生意
开发国外客户,您需要一个能发开发信的邮箱:超实惠付费企业邮箱。可发开发信,有监控功能(目前绝大部分建站服务商送的企业邮箱都是不能发开发信的,而且功能极少)
想SEO优化:SEO优化视频教程,零起点教您让您的网站排名google前三页(大量案例)
一个跟域名一样越晚出手,选到的越差的东西:400***,你值得拥有。当4位数字母的域名被抢购一空的时候,大量400好***号码也在被大肆抢购,稀缺的东西总是那么珍贵。400***不仅是沟通工具,还是企业形象,更是稀缺资源。
为什么选择我们:我们是正规建站公司,福步认证服务商
提供SEO优化型网站建设及优化等一系列方案,网站有后台管理,可无限上传产品
至今已服务过3000多家客户,大量案例可供参考,欢迎咨询。
接单神器:优化型网站建设(优化功能好)+SEO优化视频教程(吸引客户主动上门)+付费企业邮箱(主动出击,发开发信,付费的,可发开发信,有监控功能,海外服务器中转,提高邮件到达率)
(谷歌SEO优化QQ)
UID 1593643
积分 57561
福步币 45 块
阅读权限 80
可以联系我们,高速稳定的美国空间。
(Google首页SEO)
UID 1489869
积分 38956
阅读权限 80
来自 外贸快车(思亿欧上海营销中心)
专业外贸网站建设,多语言版本,GOOGEL一键自动翻译, 福步认证,价格实惠,建站包括:国际顶级域名 美国品牌空间 seo优化型网站 多用户企业邮箱 logo/banner制作 客户来访统计分析 在线***统计分析。多个套餐可供选择!& && && &
1.国际顶级域名,美国品牌空间,多语言版本,企业邮箱,全站生成HTML静态页面,后台数据备份,可以上传附件,支持代码编辑,添加和修改导航栏目,产品分类栏目自定义添加
2.一键生成html静态页面,加快页面打开速度的同时,有利于提高网站在Google,Yahoo等搜索引擎的排名和收录。
3.网站使用UTF-8国际编码编写,程序设计严谨清晰,防止乱码现象。
4.集成搜索引擎蜘蛛访问记录系统,更好地了解搜索蜘蛛来访情况。
5.在网站管理后台傻瓜式管理,会打字就会建网站,自由发布产品,上传Logo和Banner幻灯片,修改网站所有内容。
6.系统集成了产品分类列表、产品展示、产品订单、新闻展示、留言反馈、联系方式、人才招聘、友情链接,无限增加页面等功能,可以自主增加和隐蔽功能。
7.独立的管理后台,可以自主发布产品信息,修改网站联系方式,反正只要是网站可以看到的文字和图片,都可以在后台编辑修改成自己的内容。
8.网站集成中英文或其中一种语言版本,也可以增加或更换其它语言版本,实现多语言建站。
9.拥有即时通讯功能,集成MSN,SKYPE,Yahoo,QQ等即时性聊天工具,方便客户与您即时联系。
10.集成强大的客户来访统计分析系统,准确把握客户动向。
[ 本帖最后由 外贸SOHO建站 于
00:21 编辑 ]
(咨询QQ: )
外贸一体化网站建设
UID 1881518
积分 12188
阅读权限 0
来自 【友云建站-】
&&楼主您好!
思方设计为您提供专业外贸网站建设服务:
2013服务全面升级!
全功能外贸建站套餐(网站制作+不限大小独立美国空间+.com / .cn域名+企业邮箱+赠送各行业国际采购商名录)
网站特色功能如下:
1,集成SEO优化功能 --- 后台可以自定义全站Title,Keywords,Description等信息,可以自定义每个url链接的Title,Keywords,Description等信息,默认自动调用当前页的文字内容生成Title,Keywords,Description等信息。
2,全站自动生成静态html页面,并且默认以当前页title命名。--- 比如产品栏目cellphones分类下产品名称为iPhone 4S,产品型号为MD276LL的产品,自动生成的url地址为:&&, 这样做的好处是加快了网页打开速度且极易被google等搜索引擎收录,加强了SEO优化效果。
3,后台一键备份整个网站源程序和数据库,且可以设置隔一段时间自动备份并发送到指定邮箱或网盘。从而保证了网站源文件和数据的安全性。
4,集成CRM客户管理系统 --- 管理客户资料不再繁琐。
5,后台无限制邮件群发 --- 群发推广邮件,不再是问题。
6,无限模板自由切换 --- 我们不断更新模板库,后台一键切换网站使用模板,不影响网站现有任何内容。
7,后台集成网站流量统计,访客分析等功能 ---&&客户如何找到你, 从哪个页面进入你的网站,客户来自哪个国家,哪个地区,IP地址是多少等等不再是秘密。
8,网站兼容所有浏览器 --- IE6+,firefox, chrome, opera, safari, 国内所有浏览器。
9,网站内容防复制 --- 防止同行直接复制你网站内容,比如产品名称,描述 和图片等。
10,支持国内IP及中文浏览器屏蔽 --- 从而禁止国内同行访问自己网站。
SEO(搜索引擎优化): 我们设计的每一个网站都融合了最先进的SEO理念.我们敢100%保证 我们设计的每一个网站都能被 Google等搜索引擎收录.
更多功能请访问我们网站或立即联系我们。
(建站+营销实操课=询盘不停)
UID 1183982
阅读权限 0
来自 香克里
/item.htm?spm=
100块就搞定
.com域名看完是53快
自己在上面注册就好
(FOB官方认证建站商)
UID 409713
积分 26612
福步币 21 块
阅读权限 0
来自 广东/福步认证
您好,我们是福步认证建站商,专业外贸网站建设,欧美风格,正版授权,欢迎咨询!
我们的网站具备以下特点:
1,全站内置SEO优化机制,自动SEO优化,加速搜索引擎收录,提升网站排名 --- 后台可以自定义全站Title,Keywords,Description等信息,可以自定义每个url链接的 Title,Keywords,Description等信息
2.批量上传产品图片不再是梦,后台可以批量上传图片,大大提高上传资料的效率。
3.导航,flash图片,反正网站见到的文字和图片都可以自由编辑,真正的自由建网站。
4,全站自动生成静态html页面,并且默认以当前页title命名。子目录以子目录英文名称命名链接,产品以产品英文名称为链接,有利于Google收录。
5.打破传统, 产品图片自定义命名(以产品关键字命名),不再以数字命名,更有利于Google,Yahoo图片库收录。
6.后台集成网站流量统计,访客分析等功能 ---&&客户如何找到你, 从哪个页面进入你的网站,客户来自哪个国家,哪个地区,IP地址是多少等等不再是秘密。
7.网站兼容所有浏览器 --- IE6+,firefox, chrome, opera, safari, 国内所有浏览器。
Soho及中小企业首选,正版授权,美国实测网速,国内打开稍慢,欧美打开快,最新模板如下:
其他的到这里看:
福步认证建站商&&QQ:& &或&&
QQ www.99EC.NET/CASE
UID 2132824
积分 62153
阅读权限 80
可以联系我们啊
当前时区 GMT+8, 现在时间是
Powered by D1scuz! && 2001-因何而写 网上关于bytebuffer的文章真的很多,为何在此还要写一篇呢?主要是基于以下几点考虑 很多人在使用t-io时,还不会bytebuffer,只会照着t-io提供的例子照猫画虎,不利于灵活运用 网上搜到的一些相关文章,讲得不是太易懂,不利于初学者灵活运用bytebuffer 本文旨在讲解灵活运用bytebuffer所需的最小知识,以帮助用户快速掌握bytebuffer 用极易的方式认识一下bytebuffer bytebuffer之第一眼印象 我们可以把bytebuffer理解成如下几个成员组成的一个新对象,对,就是一个普通的java对象,像string一样的java对象。(强调一下,这里只是说这样理解,实际上有些bytebuffer的实现类并非这样实现,并且这里只列出掌握bytebuffer所需要的最小知识集合,其它诸如mark等字段本文并不介绍,以免增加初学者的惑度) byte[] bytes: 用来存储数据 int capacity: 用来表示bytes的容量,那么可以想像capacity就等于bytes.size(),此值在初始化bytes后,是不可变的。 int limit: 用来表示bytes实际装了多少数据,可以容易想像得到limit &= capacity,此值是可灵活变动的 int position: 用来表示在哪个位置开始往bytes写数据或是读数据,此值是可灵活变动的 通过下图,对bytebuffer形成...
我的稀土掘金博客同步发布更新:Android设计模式----策略模式之源码使用场景(三) 一、前言
策略模式可以定义一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 二、策略模式的使用场景 针对同一类型问题的多种处理方式,仅仅是具体行为有差别时。 需要安全地封装多种同一类型的操作时。 出现同一个抽象类有多个子类,而又需要使用if-else或者switch-case来选择具体子类时。 三、策略模式的实现
通常一个问题有多个解决方案时,最简单的方式就是利用if-else或者switch-case方式根据不同的情景选择不同的解决方案,但这种简单的方案问题太多,例如耦合性太高、代码臃肿、难维护等。但是如果解决方案中包括大量的处理逻辑需要封装,或者处理方式变动较大的时候则就显得混乱、复杂,当需要增加一种方案时就需要修改类中的代码。
使用if-else这种方法确实不会遵循开闭原则,而应对这种情况策略模式就能很好地解决这类问题,它将各种方案分离开来,让程序客户端根据具体的需求来动态地选择不同的策略方案。
下面我们通过交通工具来进行费用计算演示,对于部分城市的公交都是实行分时段计...
Jenkins 打包任务之Android设计
大家可以先参考我另外一篇有关vue组件开发的文章,https://my.oschina.net/qiangdada/blog/786981 (一入前端深似海,从此红尘是路人系列第八弹之浅析Vue组件开发)。
软件周刊(04.23 -- 04.29):本周热门软件更新 -- Kotlin 1.1.2 发布,基于 JVM 的编程语言;Vue 2.3.0 正式发布,新增服务器端渲染指南;GNOME 3.26 将重新设计 GNOME 控制中心;Ubuntu 17.10 每日构建 ISO 发布,仍使用 Unity 7 桌面环境;OpenResty 1.11.2.3 发布,Web 应用服务器
我的稀土掘金博客同步发布更新: 棒棒糖之----Android中视图的绘制流程 一、前言
Android中Activity是作为应用程序的载体存在的,它代表着一个完整的用户界面,提供了一个窗口来绘制各种视图,当Activity启动时,我们会通过setContentView方法来设置一个内容视图,这个内容视图就是用户看到的界面,在Android中View存在的两种形式:一种是单一的View控件 ,另一种就是可以包含其他View的ViewGroup容器,前面的内容视图就是以ViewGroup的形式存在的,先看一个Android的UI管理系统的层级管理图:
PhoneWindow是Android系统中最基本的窗口系统,每个Activity都会创建一个。PhoneWindow是Activity和View系统交互的接口。DecorView本质上是一个FrameLayout,是Activity中所有View的祖先。 二、绘制的整体流程
当应用启动时会启动一个主Activity,Android系统会根据Activity的布局来对它进行绘制。绘制会从根视图ViewRoot的performTraversals()方法开始,从上到下遍历整个视图树,每个View控件负责绘制自己,而VewGroup还需要负责通知自己的子View进行绘制操作,视图绘制的过程可以分为三个步骤,分别是测量(Measure)、布局(layout)和绘制(Dra...
【一周源资讯(-)】 AI 自动编程再次被讨论,但是程序员似乎并不担心?可惜的是,有一波开源项目将停止维护了~
# 1、概述 1. `Producer` 发送消息。主要是**同步**发送消息源码,涉及到 异步/Oneway发送消息,事务消息会跳过。 2. `Broker` 接收消息。(*存储消息在[《RocketMQ源码解析:Message存储》](/YunaiV/Blog/blob/master/RocketMQ/1004-RocketMQ源码解析:Message存储.md)解析*) & ![Producer发送消息全局顺序图](/YunaiV/Blog/master/RocketMQ/images/1003/Producer发送消息全局顺序图.png) # 2、Producer 发送消息 & ![Producer发送消息顺序图](/YunaiV/Blog/master/RocketMQ/images/1003/Producer发送消息顺序图.png) ## DefaultMQProducer#send(Message) ```Java 1: @Override 2: public SendResult send(Message msg) throws MQClientException, RemotingException, MQBrokerException, InterruptedException { 3: return this.defaultMQProducerImpl.send(msg); 4: } ``` * 说明:发送同步消息,`DefaultMQProducer#send(Message)` 对 `DefaultMQProducerImpl#send(Message)` 进行封装。 ## DefaultMQProducerImpl#sendDefaultImpl() ```Java 1: public SendResult send(Message...
在浏览器端,对路由的理解一般是根据不同的 URL 完成页面的切换。在服务器端,则是根据不同的 URL 请求回馈相关的页面。在本章,我们广义的组件路由的定义:根据接收到的不同命令,组件对象呈现出不同的子级页面。在这里将介绍与路由相关的一个组件,即视图栈 ViewStack。 ## 视图栈初步 该组件在[《文档》](/docs)部分的最后一个章节[《延迟实例化》](/docs#延迟实例化)已经出现过了。这里将对一些细节部分进行解读。下面再次给出该组件的源码。 ```js ViewStack: { xml: " ", fun: function (sys, items, opts) { var args, children = this.children(), table = children.call("hide").hash(), ptr = table[opts.index] || children[0]; if (ptr) ptr = ptr.trigger("show").show(); this.on("switch", function ( e, to ) { table = this.children().hash(); if ( !table[to] || table[to] == ptr ) e.stopPropagation(); args = [].slice.call(arguments).slice(2); ptr.trigger("hide", [to+''].concat(args)).hide(); ptr = table[to].trigger("show", [ptr+''].concat(args)).show(); }); return Object.defineProperty...
& 要先说一句,不要尝试去修改yii预定义的别名,除非你的脑袋被驴踢了。 因为开发需要,有时候我们需要将一些路径或URL保存起来,避免直接写到代码中,于是我们定义了一个类似于常量的变量,在全局均可以使用,这个变量就叫做别名,当然你也可以在配置文件中进行设置。 在yii中我们可以人为指定别名并使用它们,并且,yii还有默认预定义的别名12个,即使你没懂本文,记住这12个别名将也能极大提高编码质量。 # 预定义的别名 - ** [@yii](https://my.oschina.net/xiaoyin) ** 表示Yii框架所在的目录,也是 yii\BaseYii 类文件所在的位置(vendor/yiisoft/yii2/BaseYii.php) - ** [@app](https://my.oschina.net/u/188761) ** 表示正在运行的应用的根目录(非网站根目录) - ** [@vendor](https://my.oschina.net/u/945407) ** 表示Composer第三方库所在目录,你通过composer下载的库,包含yiisoft核心库都在这里。 - ** [@bower](https://my.oschina.net/bower) ** 表示Bower第三方库所在目录,一般在vendor/bower里(该库主要存放一些例如jquery的库文件) - ** [@npm](https://my.oschina.net/npm) ** 表示npm第三方库所在目录,一般是 @vendor/npm - ** @runtime ** 表示正在...
内容介绍 lombok介绍 *** lombok提供的注解 使用lombok的得与失 总结 引言 lombok介绍
J***A中,我们经常要写非常多的样板文件,比如 set get方法,重写equals hashcode方法等,这些代码百年不变,lombok提供了一系列的注解让你摆脱这些魔板代码的书写。 *** 使用lombok需要使ide工具支持,否则会出现找不到set 和get方法。本文以idea为例,eclipse的话需要自行下载jar并配置 eclipse.ini文件参数具体百度。 idea的话去plugins 搜索lombok,选择 lombok plugin 点击右侧install ***完重启即可。 使用,在maven项目的pom.xml中引入: &dependency&
&groupId&org.projectlombok&/groupId&
&artifactId&lombok&/artifactId&
&version&1.16.16&/version&
&/dependency& 接下来就可以使用lombok提供的注解了,我们一个一个介绍。 注解介绍 假设我们有一个实体类: public class Role implements Serializable {
private static final long serialVersionUID = -1L;
private L // uuid生成
} @Getter 和 @Setter 这两个注解@Getter 和 @Setter 如果标注在单个属性上面则只对...
## 容器日志 #### 输出形式: 目前容器日志有两种输出形式: - stdout,stderr 标准输出 这种形式的日志输出我们可以直接使用docker logs查看日志, k8s 集群中同样集群可以使用kubectl logs类似的形式查看日志。 - 日志文件记录 这种日志输出我们无法从以上方法查看日志内容,只能tail日志文件查看。 #### 收集方式: 不论你的业务容器日志如何输出,都是可以使用统一的日志收集器收集。常见的日志收集方式: - k8s 集群 1. 集群启动时会在每个机器启动一个Fluentd agent收集日志然后发送给 Elasticsearch。实现方式是每个agent挂载目录/var/lib/docker/containers使用fluentd的tail插件扫描每个容器日志文件,直接发送给Elasticsearch。 2. Fluentd agent起在业务同一个 pod ***享 volume 然后实现对日志文件的收集发送给Elasticsearch。 - docker swarm 集群 docker swarm 目前暂时没有提供日志查看机制。但是docker cloud提供了与kubectrl logs类似的机制查看 stdout 的日志。目前还没有 fluentd 插件直接对服务进行日志收集,暂时考虑直接使用使用跟容器一样的机制收集。docker service create 支持--log-driver - docker 容器 从 docker1.8 内置了fluentd log driver ...
五一小长假快到了,不知各位有什么安排呢?如果不想去外面添堵,在家玩一些小游戏也是不错的选择。面向 Linux 的游戏在过去几年中发生了很大的变化,现在已经有数十种发行版为游戏玩家进行了重点优化。 接下来,推荐几款最新的,也是经过测试挑选后选择出来的最好的面向游戏玩家的 Linux 发行版。 1、SteamOS SteamOS 似乎总是排在各个 Linux 游戏发行版列表的第一个。它专为游戏设计考虑,预装了 Steam,基于 Debian。 默认情况下,SteamOS 仅*** Steam,但你也可以激活“桌面模式”,会获得一个功能齐全的桌面操作系统,您可以运行除 Steam 和游戏之外的其他应用程序。它具有开箱即用的一切,不需要其他***和配置即可在 Steam 上玩游戏。 SteamOS 支持许多显卡、手柄和其他与游戏有关的硬件。但是,如果机器较旧,则不建议使用 SteamOS ,因为它也有一定的硬件要求。 下载地址 2、Ubuntu GamePack Ubuntu GamePack 是一款基于 Ubuntu 的 Linux 发行版。你也可以使用默认的 Ubuntu ,并在 Linux、Wine 和 Steam 的商店里下载和***想玩的游戏,但它不会像 Ubuntu GamePack 那样去优化游戏。 GamePack 预装了 Lutris、PlayOnLinux、Wine 和 Steam 等,默认提供强大的硬件...
Sharding-JDBC 采用在 JDBC 协议层扩展分库分表,是一个以 jar 形式提供服务的轻量级组件,其核心思路是小而美地完成最核心的事情。
哈喽大家好呀!这次主要为大家带来BELK日志系统相关的博文,日志大家都知道,比如nginx请求日志,系统的日志,自己程序写入的日志,可以说是日志无处不在,但是对于这些无处不在的日志我们怎么去查看分析它们呢?这个就比较有意思了,随着系统逐渐增大排查问题的成本越来越高,这个时候就需要引入日志系统来聚合索引和查询日志及时发现问题,轻松追查故障原因从而高效的解决问题…
做 PHP 开发,选择合适的 PHP 库非常重要,优秀的 PHP 库可以为你节省很多代码和编码时间。本文在是在上一篇文章 PHPer 进击学习之路:各种实用的 PHP 开源库推荐(一)基础上做的补充,希望对你的学习工作有帮助。 11、PHP 邮件发送包 PHPMailer PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括: 在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址 支持多种邮件编码包括:8bit,base64,binary和quoted-printable 支持SMTP验证 支持冗余SMTP服务器 支持带附件的邮件和Html格式的邮件 自定义邮件头 支持在邮件中嵌入图片 调试灵活 经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等 可运行在任何平台之上 12、PHP 图表制作 pChart pChart是一个基于GD library(图形处理函数库)开发的PHP图表制作开源项目。支持多种图表类型包括: Line chart Cubic curve chart Plot chart Bar chart Filled line chart Filled cubic curve chart Pie chart Radars chart Limits chart 13、PHP 快速开发类库 Eden
Eden是一个开源且免费的PHP快速开发类库。它包含很多组件用来自动加载、事件驱动、文档系统、缓存、模板、国际化、数据库、...
为0知识入门TensorFlow和机器学习的开发者准备的 MNIST 入门教程
在上一篇文章中我们通过一个简单的例子开发了一款Xposed框架,感受到了Xposed的强大功能,在demo中我们新建了一个XposedInit的类实现了IXposedHookLoadPackage 接口,在handleLoadPackage中进行hook,最终达到了我们的目的,那IXposedHookLoadPackage是干什么的呢?还有handleLoadPackage什么时候会调用呢?还有IXposedHookInitPackageResources和IXposedHookZygoteInit的左右是什么?这期会做一个讲解。对上一篇文章有遗忘的可以回过头在看一遍:[Xposed从入门到弃坑:一、Xposed初探][1] ## IXposedHookLoadPackage 从字面上翻译就是在加载包时开始hook。接口需要实现*handleLoadPackage*方法,该方法会在执行Application.onCreate()方法前调用,并且携带一个*XC_LoadPackage.LoadPackageParam lpparam*返回过来,lpparam包含了hook到的应用的一些信息,具体通过表格来说明 **(表格的description均为hook到的应用相关信息,不是Xposed项目的信息)** | fields | type | description | | --- | --- | --- | | packageName | String | 应用包名 | | processName | String | 应用加载后的进程名 | | classLoader | ClassLoader | 应用的classloader | | appInfo | Applica...
Vagrant***配置 实际上Vagrant只是一个让你可以方便设置你想要的虚拟机的便携式工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统,本书中我们将使用VirtualBox来进行说明,所以第一步需要先安?Vagrant和VirtualBox。 VirtualBox*** VirtualBox是Oracle开源的虚拟化系统,它支持多个平台,所以你可以到官方网站:https://www.virtualbox.org/wiki/Downloads/ 下载适合你平台的VirtualBox最新版本并***,它的***过程都很傻瓜化,一步一步执行就可以完成***了。 Vagrant*** 最新版本的Vagrant已经无法通过gem命令来***,因为依赖库太多了,所以目前无法使用gem来***,目前网络上面很多教程还是类似这样的命令,那些都是错误的。目前唯一***的办法就是到官方网站下载打包好的***包:/downloads.html 他的***过程和VirtualBox的***一样都是傻瓜化***,一步一步执行就可以完成***。 尽量下载最新的程序,因为VirtualBox经常升级,升级后有些接口会变化,老的Vagrant可能无法使用。 要想检测***是否成功,可以打开终端命令行工具,输入vagrant,看看程序是不是已经可以运行了。如果不行,请检查一下$PATH里面是否包含vagrant所在...
# SGPlayer 原理详解 SGPlayer 是一款基于 ***Player、FFmpeg 的媒体资源播放器框架。支持全景视频,RTMP、RTSP 等直播流;同时支持 iOS、macOS、tvOS 三个平台。本文将采用图解+说明的方式把关键模块的实现原理介绍给大家。 - 项目地址:[OSChina - SGPlayer](http://git.oschina.net/libobjc/SGPlayer) ## 发起原因 关于视频播放,苹果提供的 ***Player 在性能上有着十分出色的表现,在无特需求且资源可控的时,首选一定是它。但随着 VR 和直播的兴起,仅使用 ***Player 很多时候已经无法满足需求。出于性能考虑,又不能完全抛弃 ***Player,毕竟在点播时有着明显的优势。而在现有的开源项目中,普遍定位比较单一,并不能兼顾 ***Player、直播、VR。这样一来,需同时使用3款播放器才能满足需求,即点播使用 ***Player,直播使用一个独立的播放器,VR 使用一个独立的播放器。这样处理3套不同的接口和回调事件,着实很让人崩溃!SGPlayer 的出现大大简化了这一过程。 ## 组成结构 和 播放流程 ![SGPlayer](https://coding.net/u/0x010101/p/resource-public/git/raw/master/SGPlayer/SGFFPlayer-playback.jpeg) 上图展示了 SGPlayer 的播放流程和主要组件,下面简单介绍图中各组件...
我是闲大赋,这个昵称用了很长时间,俗话说的好,缺啥炫啥,我本意就是希望又有空闲时间,又不缺钱花,然后现实不是这样。我的Beetl和BeetlSQL开源,并没有给自己带来多少金钱,开放捐助4年以来,总共得到捐助大约是3000块钱(在此感谢那些未曾谋面的捐助者),仅够租用空间和购买域名的钱而已和为数不多的SPA,而投进去的时间确实不计其数,一直都感觉对所在公司有所愧疚。
闲话少说,我想谈一谈对目前经常出现的字眼极简编程的思考,我认为所谓的“极简”,并不能带来真正的简单。不但要求开发简单,还有阅读简单,维护简单等。
&&11:10:12:表达式类型不一致,无法运算(EXPRESSION_NOT_COMPATIBLE):user.price-a 位于1行 资源:/hello.txt
class java.lang.String-class java.lang.Integer
1|${user.price-a}
先看看这个beetl模板错误提示,很清楚,指的是表达式类型不一致,无法用减法运算,且提示了: class java.lang.String-class java.lang.Integer 即user.price 是字符串类型,a是整形 Beetl对于错误提示还是做得很完善的,但我想说的是,这个错误提示的改进,却是来自JFinal+Beetl一次又一次的使用者反馈,他们自己写的程序,因为这种类型不清楚,在写模...
该博客将指向我github新建项目overwrite
在使用angular2开发项目的时候,你会发现ng build出来的包,动不动就几m啊(没有黑angular的意思),那还怎么玩下去啊,对吧。虽然angular2有aot啊,但是优化之后还是很大啊,那怎么办啊?要不试试gzip啊。 那么我就用Nice Fish(http://git.oschina.net/mumu-osc/NiceFish)为例,来说下如何使用nginx运行angular2的项目以及开启gzip,加快访问速度。 先来看下怎么配置nginx,然后将nginx作为前端代码的服务器。 server {
server_name 127.0.0.1;
#access_log logs/access.
root /Users/zhongzhong/workspace/NiceFish/
#error_page 404 /index.
location / {
try_files $uri $uri/ /index.
location /api {
proxy_pass http://127.0.0.1:8080/NiceF
proxy_set_header Host $http_
proxy_set_header X-Real-IP $remote_
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
proxy_intercept_
location ~* \.(js|css|png|gif|jpg|mp3|ogg|ttf|woff|woff2|html|json|map)$ {
expires 30d;...
这里只是先介绍下如何在开发中玩转StatusBar的自定义颜色让您的APP更美腻,其次在深度分析StatusBar的机制
听说Jenkins好久了,趁今天有空玩了下,发现也是挺方便的,开发提交代码到SVN,Jenkins检测到就自动打包部署到远程服务器。不过单服务器部署方便也有限(因为穷),但也还好,准备考虑下限制同事碰服务器,让他们通过这个来部署。 Jenkins是一个广泛用于持续构建的可视化web工具,就是各种项目的的“自动化”编译、打包、分发部署,将以前编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到jenkins宿主机上,进行编译、打包和发布到web容器中。Jenkins可以支持多种语言(比如:java、c#、php等等),也兼容ant、maven、gradle等多种第三方构建工具,同时跟git、svn无缝集成,也支持直接与github直接集成。
下面是部署过程,写得挺简单挺乱,不过不笨应该都能看得懂。 https://jenkins.io/index.html
官网下载Jenkins War包 扔进Tomcat.访问 http://localhost:端口/jenkins 输入初始密码(界面有提示在哪个文件) ***插件,第一个即可,可能有失败的,没关系,网络问题。(以后再装) 填写管理员信息
保存之后即可
点击系统管理 - Global Tool Configuration 把JDK 以及 Ma...
elasticsearch
这是我司Docker服务的脚本,和大家共享
深度优先搜索算法(Depth-First-Search),是搜索算法的一种。它沿着树的深度遍历树的节点,尽可能深的搜索树的分 支。当节点v 的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。DFS属于盲目搜索。 算法步骤: 1. 访问顶点v; 2. 依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问; 3. 若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止 200. Number of Islands Descriptor:Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water 给出一个2维矩阵, 其中'1'代表陆地, '0'代表水, 求岛(由连接在一起的陆地组成)的个数 public int numIslands(char[][] g...
一、问题背景 研究WebGL时发现自己机器的Chrome不支持(Ubuntu)。感觉不应该,毕竟Chrome是对新标准支持比较快的浏览器。 二、问题分析 上网查找资料后发现确实别人也有碰到这个问题。WebGL需要显卡硬(GPU)加速,Linux下可能没有默认开启。 三、配置方法 1、进入chrome://gpu/查看GPU状态 可以看到都是Unavailable(不可用)状态。 2、进入chrome://flags/,找到Override software rendering list 设置为Enable,覆盖建议配置开启GPU加速。并点击Relaunch Now,重启。 3、再进入chrome://gpu/查看GPU状态 已经开启了GPU加速,WebGL也可以正常显示了。 四、总结 这个操作其实是开启了Chrome浏览器的GPU加速功能,感觉上应该会使浏览网页快点。如果要使用WebGL也必须开启GPU加速。
本文介绍了html5标签video(播放器)的一些基本操作,主要是通过JS来***video的事件和对video属性的读写来完成的,本文用了简单的例子进行引导说明,简单的JS代码讲解video的一些基本操作。
注:本文写的篇幅较为?嗦,主要面对新手而作的教程,高手跳过,谢谢~ MySQL 真是个好东西,小巧可爱,可以满足大多数对数据库的需求,对中小型程序来说足够了! 因为经常***新鲜的软件,导致了经常GHOST系统,最经常的忘记备份的不是文档和收藏夹,因为这些都是自动备份的,常常忘记的是 数据库的备份~!最经典的一次是花了半个月做的数据库,因为一次死机,直接GHOST系统,结果。。。结果什么也没了! 切入正题:MySQL 5.1,免***版,可以放在你的硬盘的任意位置,而不用放在默认的 C: 下,这样即使系统崩溃了,也不用怕被覆盖掉了! 1、MySQL 免***版下载地址:/downloads/mysql/5.1.html 下载完毕,将下载的文件解压缩,然后将文件放在任意目录,建议放在C:盘以外的地方!我放在 E:\DataBase\ 这个目录里,完整路径是:E:\DataBase\mysql-5.1.32-win32 2、配置环境变量 右 击-我的电脑-属性-高级-环境变量-系统变量-path,在path这个变量中加入刚才的地址,我这里是 E:\DataBase\mysql-5.1.32-win32; 注意后面有个英文分号结束 “;”,也许你的环境变量中没有这个path变量,那么你新建一个好了,不过估计看这个文章的人都有 PS: 配置这个环境变...
使用Redis的Pub/Sub模式来收发消息并加以分析。
maven 仓库地址:
共有的仓库
http://repo1.maven.org/maven2/
http://repository.sonatype.org/content/groups/public/
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/acegisecurity/
http://download.java.net/maven/2/
私有的仓库
http://repository.codehaus.org/
http://snapshots.repository.codehaus.org/
http://people.apache.org/repo/m2-snapshot-repository
http://people.apache.org/repo/m2-incubating-repository/
/jar/mule/dependencies/maven2/
&id&UK&/id&
&name&UK Central&/name&
&url&http://uk.maven.org/maven2&/url&
&mirrorOf¢ral&/mirrorOf&
&id&sonatype&/id&
&name&sonatype Central&/name&
&url&http://repository.sonatype.org/content/groups/public/&/url&
&mirrorOf¢ral&/mirrorOf&
&id&jboss-public-repository-group&/id&
&name&JBoss Public Repository Group&/name&
&url&http://repository.j...
最近在学习twitter storm 实时计算框架时遇到的一些小问题,在***完storm,zookeeper,ZeroMQ之后,在***jzmq时出现了一些小问题,经过认真的分析思考+查阅英文,终于解决这些很头疼的小问题。 问题一场景:(直接在linux上git clone jzmq源码的请略过,看后面有更多你期待的问题,Jump -&”问题二“以后) 执行./autogen.sh脚本后报如下异常: -bash: ./autogen.sh: /bin/sh^M: bad interpreter: No such file or directory
分享一下产生此问题的原因:我的git***在本地(系windows),git clone jzmq的项目代码后,又利用ssh客户端上传到linux客户机器上,在linux上执行 cd
./autogen.sh 报如下异常:-bash: ./autogen.sh: /bin/sh^M: bad interpreter: No such file or directory
分析:这是由于不同系统编码格式引起的:在windows系统中编辑的.s***件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决(直接在linux上git clone 的请略过,看后面有更多你期待的问题,Jump -&”问题二“以后哦): 首先要确保文件有可执行权限
a+x ./autogen.sh 然后修改文件格式
autogen.sh 输入如下命令查看文件格式
彻底删除微软拼音输入法这个讨厌的家伙
方法一 终端执行: locate hibernate | grep -v share 得到休眠待机的具体命令,检查是否可行,如失败尝试后面方法。 方法二【1】 1.检查: 其实,Ubuntu本身是支持休眠的,但是默认的状态下,没有启用这个功能而已。
具体解决如下:
sudo vi /etc/default/acpi-support
里面有一行:
#ACPI_SLEEP=true
这样,由于这一行被注释了,因此SLEEP的功能就被禁用了,解除注释,去掉前面的#:
ACPI_SLEEP=true 2.终端执行: sudo /etc/acpi/sleep.sh sleep 方法三【2】 1.测试: 您可以使用以下命令测试休眠是否在您的电脑上正常工作。
按下 Ctrl+Alt+t 组合键或在 Dash 中搜索 terminal 以启动 终端。
在终端里输入 pm-hibernate 并按回车。
按提示输入密码。
当电脑关闭后,重新将其打开,您原来打开的程序是否重新打开了?
如果休眠不能正常工作,请检查您的 SWAP 分区的大小是否大于或等于您物理内存的大小。 2添加菜单选项: 如果休眠测试成功,您可以在需要休眠的时候使用 sudo pm-hibernate 命令进行休眠。
您也可以打开菜单中的休眠选项。您需要用文本编辑器创建 /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla 文件,并填写以下内容保...
随着web的发展,网站资源的流量也变得越来越大。据统计,60%的网站流量均来自网站图片,可见对图片合理优化可以大幅影响网站流量,减小带宽消耗和服务器压力。
有时候我们不需要uuid这么长的绝对唯一的id,在小系统里面,我们有时候需要一个短的而且能一定程度上唯一的id该怎么办呢?接下来介绍一种简单的生成方法。
听说最近树莓派很火?也入一个玩玩。这是***与配置的记录
不得不说Axure很强大,但是它也不是万能的,比如说Axure本身不提供插入本地多媒体文件的功能(虽然用“内部框架”可以实现插入网络媒体的效果, 但是由于需要加载,网络环境不好则会严重影响效果)。所以我一直想尝试着在原型中插入本地多媒体文件,甚至想过改js代码,无奈时间和技术能力有限,没有 继续尝试。于是苦思冥想了一番,终于找到一个看似繁琐,但实为简单的解决办法,我们一起来看一看。 第一步:找好音频、视频的链接及文件
该范例中成功插入了音频及视频,既支持网络链接,也支持本地文件。网络链接建议采用源地址,例如优酷视频的源地址可以通过如下方式找到:
第二步:插入网络音频及视频
可能一些朋友曾经尝试并且成功的用Axure中的“内部框架”在原型中插入了视频和音频,“内部框架”本身是具有该功能的,只是较为隐藏,不易发现。后面我们会一起探讨插入本地多媒体文件的方法,我们先来看看用“内部框架”如何插入网络多媒体。 1.如上图,在组件中找到内部框架。 2.如上图,对“内部框架”点击鼠标右键--编辑内部框架--编辑默认目标。 3.如上图,选择“连接到外部URL或文件”,然后在“超链接”中输入“网络音频”及“网络视频”的源地址...
文章介绍了一些比较小众的编程范型,也提到了一些小众的语言,作者希望借此让大家更多的了解一些不是主流的编程范型,进而改变对编程的看法和思考。
Dubbo与Zookeeper、SpringMVC整合和使用 相关的原理介绍可以参考http://blog.csdn.net/congcong68/article/details/博客写的内容。
专业金融软件开发,期货反向跟单软件,期货资管软件,期货代理商系统,期货零滑点跟单软件,股票资管软件,股票在线交易系统.联系***:,QQ:
如今,Angular和React这两个JavaScript框架可谓红的发紫,同时针对这两个框架的选择变成了当下最容易被问及或者被架构设计者考虑的问题,本文或许无法告诉你哪个框架更优秀,但尽量从更多的角度去比较两者,尽可能的为你在选择时提供更多的参考意见。 选择的方法 在选择之前,我们尝试带着一些问题去审视你将要选择的框架(或者是任何工具),尝试用这些问题的***来帮助我们更加了解框架,也更加让选择变得更容易 框架本身的问题: 是否成熟?谁在背后支持呢? 具备的功能? 采用什么架构和模式? 生态系统是否丰富? 需要自我反思的问题: 我和我的团队能否轻松学习并掌握? 是否适合我的项目? 开发体验是否足够好? 严格说来,Angular和React的比较是不公平的,因为Angular是一个功能丰富的框架,而React是一个UI的组件库,所以我们在接下来的分析中会将一些经常和React在一起使用的类库放在一起讨论。 OK,开始… …
成熟度 作为一名成熟的开发人员或者是能够决定架构及技术走向的人员,一项必备的技能就是能够在工作和项目中平衡成熟技术与最前沿框架之间的关系,既能保持人员及技术的前进,又能保证项目或产品的交付质量,所以,必须小心以下可能的风险: 该框架...
每周为您推送最有价值的开源技术内参!
因何而写 网上关于bytebuffer的文章真的很多,为何在此还要写一篇呢?主要是基于以下几点考虑 很多人在使用t-io时,还不会bytebuffer,只会照着t-io提供的例子照猫画虎,不利于灵活运用 网上搜到的一些相关文章,讲得不是太易懂,不利于初学者灵活运用bytebuffer 本文旨在讲解灵活运用bytebuffer所需的最小知识,以帮助用户快速掌握bytebuffer 用极易的方式认识一下bytebuffer bytebuffer之第一眼印象 我们可以把bytebuffer理解成如下几个成员组成的一个新对象,对,就是一个普通的java对象,像string一样的java对象。(强调一下,这里只是说这样理解,实际上有些bytebuffer的实现类并非这样实现,并且这里只列出掌握bytebuffer所需要的最小知识集合,其它诸如mark等字段本文并不介绍,以免增加初学者的惑度) byte[] bytes: 用来存储数据 int capacity: 用来表示bytes的容量,那么可以想像capacity就等于bytes.size(),此值在初始化bytes后,是不可变的。 int limit: 用来表示bytes实际装了多少数据,可以容易想像得到limit &= capacity,此值是可灵活变动的 int position: 用来表示在哪个位置开始往bytes写数据或是读数据,此值是可灵活变动的 通过下图,对bytebuffer形成...
大家可以先参考我另外一篇有关vue组件开发的文章,https://my.oschina.net/qiangdada/blog/786981 (一入前端深似海,从此红尘是路人系列第八弹之浅析Vue组件开发)。
【一周源资讯(-)】从“最好的语言” PHP 到“有点慢”的 Python ,聊起编程语言总能惹来争端,数据库就不同了,前三名的地位几乎无可撼动,不过,本月 Oracle 和 MySQL 暴跌是因为甲骨文在搞大重组?
各位道友大家好:
“Angular2.0视频教程”来了!这是全球第一个完整的Angular 2.0系列视频教程,到目前为止也是唯一的,该系列的视频在优酷和youtube同步播出。
还是大漠穷秋老师,还是熟悉的声音,还是淡淡的小幽默。3年前,大漠老师在慕课网发布了“AngularJS实战” /learn/156 系列视频教程,迄今为止已经有14万人学习,整体评分9.6分。很多道友反馈说,通过学习这门课程找到了心仪的工作,大漠老师感到非常开心,说明他的付出是有价值的。
这一次,大漠老师再度倾力打造,从开发环境到完整案例,涵盖了Angular2的方方面面。如果你自己看文档,或者在网上寻寻觅觅,看那些碎片化的文章,可能需要几十个小时,甚至几个月才能摸到门道。而你来听大漠老师的系统讲解,只要8小时,你就是Angular开发专家了!整个课程全部基于大漠老师自己开发的NiceFish这个小项目,如果你想先睹为快,请自己检出代码上手试玩 http://git.oschina.net/mumu-osc/NiceFish 。
同时,大漠老师还给大家带来了一波小福利,每一节课都会送出2本《揭秘Angular2》,/.html ,整个课程共送...
原文出处:/article/12061-10-simple-social-skills-many-programmers-forget-about 如果你是一个软件开发商,那你的大部分工作日时间都会花在和人打交道上。
当你开始一天的工作,你很可能会马上查看你的邮件、Skype或者是Slack, 因为你有兴趣想要知道你的同事是否有重要的事情告诉你。然后,当你写一个回复,你的话目的是给另一人看,而不仅仅是另一台电脑。 在工作中,你的首要优先事项是解决问题,这是作为软件开发团队的一部分在与其他人一起项目协作时候进行的。你在一天内参加各种会议然后得到其他人的实施要求。 当你最后准备去做一个软件开发人员最享受的事情之一,编写代码的时候,你应该写出一个可让别人读懂的代码。 你不用二进制代码去写你的软件项目,而是用一种应该便于你和队友理解的编程语言来撰写。 即使你是在一个小公司工作,或者你是一个自由职业者,你仍然需要去处理好和你一起在同一项目合作的非技术人员的关系和理解。 我们每天大部分醒着的时间都是和同事一起度过的。很可能我们和他们在一起的时间比我们和亲密家人在一起的时间还要多。意识到这一点将会帮你意识到和其他人特别是你的同事有一个友好关系的重要性。 在这篇文章...
网上各种***环境的文章脏乱差,我这弄了一套标准的出来,完善中
1.先从最基础的来 编写接口及实现类 public interface IUserService {
public String getList();
public String getList(Integer id,String name);
} import cn.ensoft.service.IUserS
public class UserServiceImpl implements IUserService{
public String getList() {
return "{'id':'abc','name':'hello'}";
public String getList(Integer id, String name) {
return "{'id':'"+id+"','name':'"+name+"'}";
2.t-io自定义公共类
2.1业务消息包 import java.io.UnsupportedEncodingE
import org.tio.core.intf.P
public class MsgPacket extends Packet{
public static final String CHARSET = "GB18030";
private byte[]
public MsgPacket() {
public MsgPacket(String msg) {
this.body = msg.getBytes(MsgPacket.CHARSET);
} catch (UnsupportedEncodingException e) {
* @return the body
public byte[] getBody(){
* @param body the body to set
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架
2014年底,我入职一家创业公司,主要负责web方向团队。 需要说明的是,这是一家节奏超快,风格强悍的公司。怎么说呢,就是说今天想出来的点子明天就想,哦不,不只是想!就是明天一定要上线验证的风格。 这种超快的节奏下,与之配套的前端工程化配置却是非常匮乏,于是我们便走上了一段工程化的心路历程。 先来看看我们当时面临的状况: 产品节奏非常快,明天就要上线(这个刚才已经说过) 前端只分为pc,mobile两个大工程,这两个平台的所有页面都在这里,耦合严重 构建,部署测试环境和线上环境基本靠手工。
再看看我们开发测试上线的流程:
1.前端项目全部通过ajax来和后端隔离,所以开发环境完全本地化,本地联调完,部署测试环境进行测试。
2.运维同学很慷慨的提供了非常多套测试环境(test1~test100),为了安全,测试环境和开发机之间有跳板机(堡垒机)隔离。
3.部署测试的时候通过grunt test1~tes100 生产测试包(2个包,一个页面包,一个静态资源包),copy到堡垒机,再copy到目标test环境相应目录(也是2个目录)。正式环境则grunt product出正式包,然后copy到跳板机,再copy到op指定机器的指定目录。然后有op(运维同学)操作上线。
运维不仅仅是懂Linux就行,因为还有一大部分的Windows运维,向windows运维人员致敬。当然我们这篇文章不是说运维除了懂Linux,还要懂Windows,而是涉及运维的其他方方面面。 如:环境部署、排错和调优、备份、高可用和集群、监控告警、安全和审计、自动化和DevOps、虚拟化和云服务。
hello world例子简介 本例子演示的是一个典型的TCP长连接应用,代码位于example/helloworld目录中。 服务端和客户端的消息协议比较简单,消息头为4个字节,用以表示消息体的长度,消息体为一个字符串的byte[] 服务端先启动,***6789端口 客户端连接到服务端后,会主动向服务器发送一条消息 服务器收到消息后会回应一条消息 之后,框架层会自动从客户端发心跳到服务器,服务器也会检测心跳有没有超时 框架层会在断链后自动重连(对t-io来说,只需多一行代码便拥有自动重连功能) 公共模块代码 &dependency&
&groupId&org.t-io&/groupId&
&artifactId&tio-core&/artifactId&
&version&1.6.9.v-RELEASE&/version&
&/dependency& 注:有时候服务器和客户端的业务消息包结构不一样,这种情况下,消息包的定义就不要放在公共模块 public class HelloPacket extends Packet
public static final int HEADER_LENGHT = 4;//消息头的长度
public static final String CHARSET = "utf-8";
private byte[]
* @return the body
public byte[] getBody()
* @para...
本文将详细分析ThreadPoolExecutor的实现原理,并结合源码介绍ThreadPoolExecutor的重要操作,对理解ThreadPoolExecutor非常有帮助。本文中源码基于JDK1.7
内容介绍 lombok介绍 *** lombok提供的注解 使用lombok的得与失 总结 引言 lombok介绍
J***A中,我们经常要写非常多的样板文件,比如 set get方法,重写equals hashcode方法等,这些代码百年不变,lombok提供了一系列的注解让你摆脱这些魔板代码的书写。 *** 使用lombok需要使ide工具支持,否则会出现找不到set 和get方法。本文以idea为例,eclipse的话需要自行下载jar并配置 eclipse.ini文件参数具体百度。 idea的话去plugins 搜索lombok,选择 lombok plugin 点击右侧install ***完重启即可。 使用,在maven项目的pom.xml中引入: &dependency&
&groupId&org.projectlombok&/groupId&
&artifactId&lombok&/artifactId&
&version&1.16.16&/version&
&/dependency& 接下来就可以使用lombok提供的注解了,我们一个一个介绍。 注解介绍 假设我们有一个实体类: public class Role implements Serializable {
private static final long serialVersionUID = -1L;
private L // uuid生成
} @Getter 和 @Setter 这两个注解@Getter 和 @Setter 如果标注在单个属性上面则只对...
作为一个前端开发,最常见的运行环境应该是浏览器吧,为了更好的通过浏览器把优秀的产品带给用户,也为了更好的发展自己的前端职业之路,有必要了解从我们在浏览器地址栏输入网址到看到页面这期间浏览器是如何进行工作的,进而了解如何更好的优化实践,本篇主要围绕这两点展开阐述。前端页面渲染机制可谓是老生常谈,但又很有必要再谈的话题,于是还是决定写一篇,即是对知识的回顾总结,又能与大家分享,何乐而不为。网上相关类型的文章也很多,有兴趣的可以多学习一下。
声明bean的注解: @Component组件,没有明确角色的bean @Service,在业务逻辑层(service)中使用 @Repository,在数据访问层(dao)中使用 @Controller,在展现层中使用 @Configuration声明配置类 实体类无需添加注解,因为并不需要“注入”实体类 指定Bean的作用域的注解: @Scope("prototype") 默认值为singleton 可选值prototype、request、session、globalSession 声明生成Bean的方法的注解: @Bean 用在方法上,告诉Spring容器,你可以从下面这个方法中拿到一个Bean 使用AnnotationApplicationContext对象的getBean方法获取Bean 注入Bean的注解: @Autowired,自动注入(默认为byType型的注入),可以用在属性或者方法上,可以通过设置required = "false"说明不要求一定要注入 有多个同样的接口的实现时,通过@qualifier区分 当注入的变量为List后者Map时,会把所有的接口实现都注入进来,key为Bean的名字,value为实现类对象。可以通过在实现类上添加@order=1来指定加载顺序,数越小越优先加载 @Lazy启动延迟注入 配置类注解: @Configuration声明当前类是一个配置类,相当于Spring配置的一个xml文件 @ComponentScan,自动扫描配置类所在包名下的所有bean @EnableAut...
听说Jenkins好久了,趁今天有空玩了下,发现也是挺方便的,开发提交代码到SVN,Jenkins检测到就自动打包部署到远程服务器。不过单服务器部署方便也有限(因为穷),但也还好,准备考虑下限制同事碰服务器,让他们通过这个来部署。 Jenkins是一个广泛用于持续构建的可视化web工具,就是各种项目的的“自动化”编译、打包、分发部署,将以前编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到jenkins宿主机上,进行编译、打包和发布到web容器中。Jenkins可以支持多种语言(比如:java、c#、php等等),也兼容ant、maven、gradle等多种第三方构建工具,同时跟git、svn无缝集成,也支持直接与github直接集成。
下面是部署过程,写得挺简单挺乱,不过不笨应该都能看得懂。 https://jenkins.io/index.html
官网下载Jenkins War包 扔进Tomcat.访问 http://localhost:端口/jenkins 输入初始密码(界面有提示在哪个文件) ***插件,第一个即可,可能有失败的,没关系,网络问题。(以后再装) 填写管理员信息
保存之后即可
点击系统管理 - Global Tool Configuration 把JDK 以及 Ma...
使用scrapy爬取伯乐在线的文章,主要介绍环境的搭建(windows下***的常见错误,以及解决办法),以及如何使用scrapy的xpath()方法结合正则表达式,爬取想要的内容。
有美食有美女的武汉站,就算千里堵车也要来相会,随着武汉站落幕,4月源创会行程圆满结束,武汉站所有分享PPT下载链接可在文末查看。
逻辑运算的值,是能确定运算结果的单元的值
A. 0 B. 1 C. 2 D. 编译报错,提示类型不匹配 ***:B 解析: 此题目考察的是字符串的索引。在java中,字符串索引是从0开始的。indexOf();方法计算某个字符在整个字符串里面的索引位置。 2:
A. s.substring(5,9); B. s.substring(4,7); C. s.substring(5,8); D. s.substring(4,8); ***:D 解析: 两个参数分别是字符串的起始位置和结束位置 3: A. false false B. true false C. true true D. 编译错误
***:B 解析: 本题考查StringBuffer类的常用方法操纵字符串,Stringbuffer其实是动态字符串数组,append()是往动态字符串数组添加,sbf的值为“java,C#”,sbf1为sbf的值,sbf2值为“java,C#,C#”,所以选择B
这里只是先介绍下如何在开发中玩转StatusBar的自定义颜色让您的APP更美腻,其次在深度分析StatusBar的机制
读取任意的excel文件,生成一个List
MacBook ***Tomcat 以及 ecplise 部署Tomcat 服务器
Ruby变量是用于保存在程序中使用的数据的位置。 每个变量都有不同的名称。 这些变量名称基于一些命名约定。 不像其他编程语言,在[Ruby](/ruby/ "Ruby")中不必先声明变量再使用。 只需要一个前缀来指示它就可以了。 Ruby中有四种类型的变量: - 局部变量 - 类变量 - 实例变量 - 全局变量 ## 1. 局部变量 局部变量名以小写字母或下划线(`_`)开头。变量可在它的初始化块内或范围内访问。代码块完成后,变量就不在作用域存在了。 当未初始化的局部变量被调用时,它们被解释为对没有参数的方法的调用。 ## 2. 类变量 类变量名以`@@`符号开头。需要在使用前进行初始化。 类变量属于整个类,可以从类中的任何位置访问。 如果在一个实例中该值将被更改,则它将在每个实例中被改变。 类变量由类的所有后代共享,未初始化的类变量将导致错误。 **示例:** 创建一个Ruby文件:*class-variables.rb*,编写以下代码 - ```ruby #!/usr/bin/ruby class States @@no_of_states=0 def initialize(name) @states_name=name @@no_of_states += 1 end def display() puts "State name #@state_name" end def total_no_of_states() puts "Total number of states written:...
知己知彼,百战不殆,了解一下过去那几年我们所经历过的各种不可抗离奇事件吧。
能不能自己写个类叫java.lang.System? 网上提供的***:通常不可以,但可以采取另类方法达到这个需求。所谓的另类方法指自己写个类加载器来加载java.lang.System达到目的。 首先表明下我的观点。上述***完全是误导读者,是不正确的***。我就纳闷了网上怎么把这种完全不正确的搜索结果排在前面,而且几乎搜到的都是这种不正确的***。可能很多不明真相的朋友就这么被误导了,所以还是希望大家对网上的内容先持怀疑态度为好。下面详细说明为什么。 首先,摘抄网上错误***的详细解释 “为了不让我们写System类,类加载采用委托机制,这样可以保证爸爸们优先,爸爸们能找到的类,儿子就没有机会加载。而System类是Bootstrap加载器加载的,就算自己重写,也总是使用Java系统提供的System,自己写的System类根本没有机会得到加载。 但是,我们可以自己定义一个类加载器来达到这个目的,为了避免双亲委托机制,这个类加载器也必须是特殊的。由于系统自带的三个类加载器都加载特定目录下的类,如果我们自己的类加载器放在一个特殊的目录,那么系统的加载器就无法加载,也就是最终还是由我们自己的加载器加载。” 然后,说明下上面解释中提到的一些概念 类加载器可分为两类:...
你是不是经常在终端敲错命令,其实这都是因为该死的终端不配合,不能领会你的意思。每当这个时候,甚至当你一再敲错到时候,你的内心肯定是崩溃的,一定在默念“……”。而现在,是让你的终端觉悟的时候了!
html5 video微信浏览器视频不能自动播放 一.微信浏览器(x5内核): 1.不能自动播放 2.全屏 3.最顶层(z层的最顶层) 二.ios系统解决方案:(无phone手机未测试) &audio preload="preload" controls id="car_audio" src="/ei_zamenjiehunba.mp3" loop&&/audio&
&video id="video" controls="" preload="none" mediagroup="myVideoGroup" poster="http://media.w3.org/2010/05/sintel/poster.png"&
&source id="mp4" src="http://media.w3.org/2010/05/sintel/trailer.mp4" type="video/mp4"&
&source id="webm" src="http://media.w3.org/2010/05/sintel/trailer.webm" type="video/webm"&
&source id="ogv" src="http://media.w3.org/2010/05/sintel/trailer.ogv" type="video/ogg"&
&p&Your user agent does not support the HTML5 Video element.&/p&
&!-- 必须加在微信api资源 --&
&script src="http://res./open/js/jweixin-1.0.0.js"&&/script&
//一般情况下,这样就可以自动播放了,但是一些奇葩iPhone机不可以
document.getElementById('car_audio').play();...
首先建表,还有序列: -- Create table
create table MYDAILYDK
dkproint NUMBER not null,
VARCHAR2(100) not null,
DATE not null,
VARCHAR2(255) not null,
NUMBER not null
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
initial 64K
minextents 1
maxextents unlimited
-- Add comments to the columns
comment on column MYDAILYDK.dkproint
is '打卡得分';
comment on column MYDAILYDK.week
is '打卡日期(星期)';
comment on column MYDAILYDK.dktime
is '打卡时间';
comment on column MYDAILYDK.name
is '打卡人姓名';
comment on column MYDAILYDK.id
is '主键id';
-- Create/Recreate primary, unique and foreign key constraints
alter table MYDAILYDK
add constraint ID primary key (ID)
using index
tablespace SYSTEM
pctfree 10
initrans 2
maxtrans 255
initial 64K
minextents 1
maxextents unlimited
-- Create sequence
create sequence S...
一、环境 开启php_sockets扩展 二、client代码 tip:地址要换成服务端的保持一致 set_time_limit(0);
$host = "192.168.186.128";
$port = 3046;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)or die("Could not create
socket\n");
$connection = socket_connect($socket, $host, $port) or die("Could not connet server\n");
echo("input what you want to say to the server:\n");
$text = trim(fgets(STDIN));
if($text === 'quit'){
socket_write($socket,$text,strlen($text)) or die("Write failed\n");
$result=socket_read($socket, 1024);
if(!$result){
echo "connect failed\n";
echo("Response was:" . $result . "\n");
}while(true);
socket_close($socket); 三、service代码 set_time_limit(0);
$ip = '192.168.186.128';
$port = 3046;
$handle = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!$handle) {
die('create socket fail:' . socket_last_error() . '-' . socket_strerror(socket_last_error()));
if (!so...
& 因为手头在做一个项目,我负责后台,就顺带快进学习Udacity上一个水课(?):Full Stack Foundation。上课的好像是个印度小哥(?),按1.5倍速听讲话还是有点逗的。废话不多说,进入话题 ## 前言 小哥调用python中`sqlalchemy`库来实现所有的数据库交互,主要提供SQL工具包和ORM(对象关系映射)工具 API传送门:[SQLAlchemy](http://docs.sqlalchemy.org/en/rel_0_9/orm/query.html#sqlalchemy.orm.query.Query) ```python from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from database_setup import Base, Restaurant, MenuItem # create a database engine = create_engine('sqlite:///restaurantMenu.db') Base.metadata.bind=engine DBSession = sessionmaker(bind = engine) session = DBSession() ``` ## CRUD 小哥一来就介绍了这个概念,通过和web application结合说明,但其实概念上与数据库里SQL语法的概念几乎吻合,不过本来后台交互也是一直与数据库的信息传递. ### C: create ```python session.add(item) mit() ``` ### R: read ```python item = sesstion.query(database).first() ``` ### U: update ```p...
10.1从Linux命令开始 10.2知识测验 10.3脚本中的网络 10.4组合包装 10.5在Python中操作文件 10.6小结
cpustat 是 Linux 下一个强大的系统性能测量程序,它用 Go 编程语言 编写。它通过使用 “用于分析任意系统的性能的方法(USE)”,以有效的方式显示 CPU 利用率和饱和度。cpustat 能用两种方式输出数据:定时汇总的纯文本列表和每个取样的彩色滚动面板。
Tensroflow 安卓应用 CNN模型 识别用户行为
这个模式花费了挺长时间,开始有点难理解,其实就是 定义:动态给一个对象添加一些额外的职责,就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。 设计初衷:通常可以使用继承来实现功能的拓展,如果这些需要拓展的功能的种类很繁多,那么势必生成很多子类,增加系统的复杂性,同时,使用继承实现功能拓展,我们必须可预见这些拓展功能,这些功能是编译时就确定了,是静态的。
要点: 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为
实际上Java 的I/O API就是使用Decorator实现的。
//定义被装饰者
public interface Human {
public void wearClothes();
public void walkToWhere();
//定义装饰者
public abstract class Decorator implements Human {
public Decorator(Human human) {
this.human =
public void wearClothes() {
human.wearClothes();
根据生日计算距离今天几年几个月几天 Date birthday = xxxxxxxx
Calendar now = Calendar.getInstance();
Calendar b = Calendar.getInstance();
b.setTime(birthday);
int year = now.get(Calendar.YEAR) - b.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH) - b.get(Calendar.MONTH);
int day = now.get(Calendar.DAY_OF_MONTH) - b.get(Calendar.DAY_OF_MONTH);
if (month & 0) {
month = 12 - b.get(Calendar.MONTH) + now.get(Calendar.MONTH);
year -= 1;
if (day & 0) {
day = b.getMaximum(Calendar.DAY_OF_MONTH) - b.get(Calendar.DAY_OF_MONTH) + now.get(Calendar.DAY_OF_MONTH);
month -= 1;
// year + "岁" + month + "个月" + day + "天";
首先我要说,开源托管,必须得 @红薯 家的。 上一次本人写过一篇博客《长URL转短连接的简单设计与实现》,由于写得比较仓促,是缺少设计的,因此方案也是不完整的,看到大家非常有热情,阅读的阅读收藏的收藏,我就深深的为写了这么不够深入的博客而感到不安,于是就有了这一篇博客,以及背后的开源代码。 确实,这次花费时间比较多,大概有大半天的时间设计并写代码。 需求 首先说明一下这次的主要关注点: 可以满足多种场景下的短链接生成需求 可以满足多重序列号机制 可以满足多种短链接生成方式 自由&可扩展性--秉承一贯的设计原则,觉得框架实现的好就用,觉得不满足就替换之 主要接口说明 字符串生成接口 package org.tinygroup.
* 随机字符串发生器
* Created by luoguo on .
public interface StringGenerator {
String generate(String url);
void setLength(int length);
} setLength用于指定生成的长度,generate用于生成对应长度的短链接字符串。 上片文章里面被人喷说生成逻辑不够好,这次好了,随便你写你喜欢的。 当然,为了满足懒人,也有一个默认的实现,大致就是把上次的算法挪下来了 /**
* 随机字符串发生器的默...
本人 JFinal脑残粉,最近公司几个项目都需要跟硬件交互,这就得用到长连接,之前一直没接触过该领域,本来还想花时间研究下netty,讲真挺难啃的,找资料的时候翻到 talent-aio,略微了解发现似乎学习成本极低,没想到作者本人也极其nice,解答我这个门外小伙子好多个问题,顺利用上此框架,刚好解了我的燃眉之急。 什么是 talent-aio? talent-aio是基于java aio实现的即时通讯框架,源于作者另一个久经考验的talent-nio框架,但在易用性、性能及代码可读性方面又远远超越了talent-nio。 顺便放上传送门:https://my.oschina.net/talenttan/blog/863545 废话不说,下面正题: 下载talent-aio的demo,demo极其简单,主要还是看HelloAbsAioHandler这个类的编码协议,剩下的就是看Aio的类了,api 貌似都在这。具体不介绍了,上面有链接,要注意的是Client端与Server端协议要一致。在这里说下我之前踩的坑,比如talent-aio的demo代码中的协议是有header的,Server端对客户端没有要求,但必须遵循交互协议,所以若是你用百度出来的socket实例连Server要注意,这里我们用回本身提供的Client代码就可以了。 导入talnet-aio依赖。
&dependency&
&groupId&com.tale...
  上篇《Docker基础入门及示例》文章介绍了Docker部署,以及相关.net core 的打包示例。这篇文章我将以oss.offical.site站点为例,主要介绍下在linux机器下完整的部署流程,.net core在docker容器中的运行已经介绍,这里.net core运行环境我会介绍直接在linux运行的场景,内容主要包含以下几个部分: 1. 基础工具和Linux环境准备 2. .Net Core环境***及端口配置 3. Nginx的***配置 4. Supervisor守护进程***配置   一. 基础工具和Linux环境准备  
工具介绍:   Ubuntu:azure云端linux主机   Xshell:免费的linux客户端工具   FileZilla: 免费文件上传(sftp、ftp)工具    vs2017:
开发工具   本次部署主要是通过Nginx负载代理.net core服务,提供对外站点访问。.net core 本身的宿主则通过其自带的Kestrel服务运行。如果你是云主机请记得在管理控制台添加80访问端口。   那这里我先创建一个www文件夹,作为后边存放站点文件的根目录,同时设置相关权限,这里可能会有一个小的需要注意的问题,现在很多云主机直接登录后权限是很低的,需要使用:sudo -s 命令提升权限,否则创建文件夹会出现权限不足的错误。   1. mkdir /home/www/ossoffic...
优秀应用算法都大量用到位运算,而位运算在工作中很少用到,所以借助其算法,我们看一下位运算的优势以及应用,但是大多数教材只会教大家二进制和十进制如何互换,都是死记硬背式的,并没有去讲解真正含义,换一个进制之后,依然不会,我们回到最根本的一些计数方法上,从10进制来推算,希望用一种更简单的方式介绍其原理
想使用微服务,却不知从何入手的同学或者有如下疑问的,可以看看这个项目实例。 参考我在解决如下问题的思路,这里只是简单的介绍,更多的内容靠源码表达了。有时间再单独就微服务的每一块写博客。
非常多的时候,我们不想在分享的时候采用长长的链接,主要的原因有: URL太长占显示空间、难于输入,转成二维码点点小,难于识别 长的URL提供的信息太多,不利于信息安全,甚至容易造成倒库 其他理由...... 今天的理由不是重点,重点是如何用一点点代码实现这个短链接的生成。 我们的注意点有: 生成的短链接地址长度可调整,毕竟不能因为4位、5位、6位的长度变化就让我们重新写一套程序 要有防冲突处理机制,不能因为算法导致两个长链接地址生成的短地址一样就把前一个覆盖掉 有时候,一个地址用过之后觉得不需要使用了,哪么这个地址失效之后,短地址可以有效收回。 首先设计接口 /**
* Created by luoguo on .
public interface UrlShortener {
* 设置产生短链接长度
* @param length
void setLength(int length);
* 返回短链接长度
int getLength();
* 返回指定地址对应的短链接
* @param url
String get(String url);
* 存储对应关系
* @param url
* @param shortUrl
前言 这个世界从来都不缺变革,从工业革命到晶体管和集成电路,从生活电器到物联网,从简陋人机到精致体验,我们在享受技术带来的便捷的同时,也在为复杂设计而带来的挑战和生产力下降而痛并快乐着。而迫切期盼的,就是趁手的工具。曾几何时,Visual Studio 一直就是软件开发的高效的标杆,从VB的简洁语法和简单的拖拽开始,Visual Studio 不断的完善,不断的适应快速变化的,加上成熟的生态,让微软世界里的各个伙伴们活的有滋有味。 近年来,微软开始了拥抱开源,投资云技术,在开发工具领域有明显的减持,这也让很多追随者感到不安。如今 Visual Studio 2017 的发布,给了开发者几点很明确的信号: 移动开发前景无限,解决方案多样化 跨平台服务器支持和服务器轻量化 开发过程标准化和开发效率持续提升 服务优于产品 作为微软工具的受益人,我们相信这是一个好的变化,有了变化,才有提升,才能提供更好的服务。
回顾 那么,在 Visual Studio 的20年发展历程中,都经历了哪些历程和技术变革呢?
根据微软的资料,第一个使用 Visual Studio 品牌销售的是 Visual Studio 97,后续版本(VS6)成为一代经典,即使今日依然还有企业和公司在使用;之后 Visual Studio 携...
一:工厂模式 工厂模式类似于现实生活中的工厂可以产生大量相似的商品的流水线,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。 简单的工厂模式可以理解为解决多个相似的问题;这也是它的优点;如下代码:
function CreatePerson(name) {
var obj = new Object();
obj.name =
obj.sayName = function(){
return this.
var p1 = new CreatePerson("longen");
var p2 = new CreatePerson("tugenhua");
console.log(p1.name); // longen
console.log(p1.sayName()); // longen
console.log(p2.name);
// tugenhua
console.log(p2.sayName()); // tugenhua
// 返回都是object 无法识别对象的类型 不知道他们是哪个对象的实列
console.log(typeof p1);
console.log(typeof p2);
console.log(p1 instanceof Object); // true
如上代码:函数CreatePerson能接受一个参数name参数,可以无数次调用这个函数,每次返回都会包含一个属性和一个方法的对象。 工厂模式是为了解决多个类似对象声明的问题;也就是为了解决实列化对象产生重复的问题。 优点:能解决多个相似的问题。 缺...
万丈高楼平地起,学习任何东西我们都离不开扎实的基础知识。本编文章通过对Handler相关知识的全面回顾,给Android开发者重新夯实基础。
相信很多在linux平台工作的童鞋, 都很熟悉管道符 '|', 通过它, 我们能够很灵活的将几种不同的命令协同起来完成一件任务.就好像下面的命令: echo 123 | awk '{print $0+123}'
# 输出246 不过这次咱们不来说这些用法, 而是来探讨一些更加有意思的, 那就是 管道两边的数据流"实时性" 和 管道使用的小提示.
其实我们在利用管道的时候, 可能会不经意的去想, 我前一个命令的输出, 是全部处理完再通过管道传给第二个命令, 还是一边处理一边输出呢? 可能在大家是试验中或者工作经验中, 应该是左边的命令全部处理完再一次***给右边的命令进行处理, 不光是大家, 我在最初接触管道时, 也曾有这么一个误会, 因为我们通过现象看到的就是这样.
但其实只要有简单了解过管道这工具, 应该都不难得出解释: 管道是两边是同时进行, 也就是说, 左边的命令输出到管道, 管道的右边将马上进行处理.
管道的定义 管道是由内核管理的一个缓冲区,相当于我们放入内存中的一个纸条。管道的一端连接一个进程的输出。这个进程会向管道中放入信息。管道的另一端连接一个进程的输入,这个进程取出被放入管道的信息。一个缓冲区不需要很大,它被设计成为环形的数据结构,以便管道可以被循...
长江后浪推前浪,如果你能花 30 分钟读完我 6 个小时翻译的内容,相信你不会被后浪拍死在沙滩上,对 2017 该学什么有个清晰的认识。
最近在搞一个直播项目需要聊天服务器,之前是以小打小闹来做的,并没有想太多就只有一台服务器。前几天一下子突然来了5000人,服务器瞬间gg,作为开发人员的我很尴尬! 这就是我们这篇文章的背景。
我使用的是C# Mvc4.0 来开发的,这里还需要一个redis 至于你是windows版本还是Linux版本我就不管了,反正是要有个地址一个端口,密码根据实际情况填写。
我这里用一个demo来展现分布式的情况https://git.oschina.net/908Sharp/signalR-multi-Server.git
第一步:新建两mvc项目
从nuget 中添加以下几个包 Install-Package Microsoft.AspNet.SignalR Install-Package Microsoft.AspNet.SignalR.Redis install-package Microsoft.Owin.Cors
第二步:在App_Start目录中添加Owin StartUp类
public void Configuration(IAppBuilder app)
GlobalHost.DependencyResolver.UseRedis("127.0.0.1", 6379, string.Empty, "SignalRBus");
app.Map("/signalr", map =&
好用!!!
实验:MySQL使用JDBC执行批处理性能测试
CheungSSH Web3.0 虽然不优秀,但衷心希望能给予支持和理解 项目地址:http://git.oschina.net/CheungSSH_OSC/CheungSSH 建议您使用git命令下载,因为文件比较大,如果用浏览器,和可能下载不完整 [root@CheungSSH ~]# git clone https://git.oschina.net/CheungSSH_OSC/CheungSSH.git 讨论QQ群:
在当今互联网的发展大势下,云计算和大数据已经成为主导。在两大趋势下,企业的服务器数量日益增多,如何有效的管理众多的服务器,已经成为了各大公司考虑的问题。在传统的人工管理模式下,已经很难做到高效的维护,是人管理服务器?还是服务器管理人?
为了解决这个问题,我痴迷于运维自动化研究,目前后端使用的Python语言+Django的Web框架,前端使用Bootstrap+Javascript+jQuery框架开发的CheungSSH Web3.0自动化运维系统,通信协议采用Linux系统自带的SSH协议,无Agent。并通过Paramiko库完成自动化登录,本系统可以基本满足日常的自动化运维需求。系统全程由我自主研发,不采用任何第三方工具和接口。
系统设计不足之处请各位朋友指出,也感谢大家的支持和信任,如果在使用过程中遇到任何问题,或者有任何的意见和建议...
Golang 因为其语法简单,上手快且方便部署正被越来越多的开发者所青睐,一个 Golang 程序开发好了之后,势必要关心其运行情况,今天在这里就给大家介绍一下如果使用 Elastic Stack 来分析 Golang 程序的内存使用情况,方便对 Golang 程序做长期监控进而调优和诊断,甚至发现一些潜在的内存泄露等问题。
Elastic Stack 其实是一个集合,包含 Elasticsearch、Logstash 和 Beats 这几个开源软件,而 Beats 又包含 Filebeat、Packetbeat、Winlogbeat、Metricbeat 和新出的 Heartbeat,呵呵,有点多吧,恩,每个 beat 做的事情不一样,没关系,今天主要用到 Elasticsearch、Metricbeat 和 Kibana 就行了。
Metricbeat 是一个专门用来获取服务器或应用服务内部运行指标数据的收集程序,也是 Golang 写的,部署包比较小才10M 左右,对目标服务器的部署环境也没有依赖,内存资源占用和 CPU 开销也较小,目前除了可以监控服务器本身的资源使用情况外,还支持常见的应用服务器和服务,目前支持列表如下: Apache Module Couchbase Module Docker Module HAProxy Module kafka Module MongoDB Module MySQL Module Nginx Module PostgreSQL Module Prometheus Module Redis Modu...
一提起“分布式系统”,大家的第一感觉就是好高大上啊,深不可测,看各类大牛关于分布式系统的演讲或者书籍,也大多是一脸懵逼。本文期望用浅显易懂的大白话来就什么是分布式系统、分布式系统有哪些优势、分布式系统会面临哪里挑战、如何来设计分布式等方面的话题来展开讨论。
和C++以模板来实现静多态不同,Java基于运行时支持选择了泛型,两者的实现原理大相庭径。C++可以支持基本类型作为模板参数,Java却只能接受类作为泛型参数;Java可以在泛型类的方法中取得自己泛型参数的Class类型,C++只能由编译器推断在不为人知的地方生成新的类,对于特定的模板参数你只能使用特化。在本文中我主要想聊聊泛型的实现原理和一些高级特性。
最近上课比较忙,一直没有时间整理一些知识,今天把webpack2的一些常见用法都给总结了一下。
所谓mysql的优化,三分是配置的优化,七分是sql语句的优化,通过一些案例分析,希望给大家在工作中带来一些思路

参考资料

 

随机推荐