精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

【密码】Oracle用户密码系列

【密码】Oracle用户密码系列
lhrbest 发布于 11小时前 阅读 161

Now直播应用的后台服务器性能测试实践

广告
直播的火爆带来了海量的用户,也带来了海量的服务器并发。本文分析了目前直播行业存在的难点,从腾讯目前的新直播产品——NOW直播出发, 了解直播应用背后的那些事。
腾讯云

打破软件自动化测试的格局

自动化测试仅仅被认为是替代人工,所以我们看到很多企业实施自动化测试仅仅是将现有的 Test Case 转换成自动化脚本。 这样做既没有提高测试整体水平,也没有改善测试结果。结果是通过手工能测试出来的问题自动化测试可以测试出来,手工测试不出来的问题自动化测试也没有测试出来。 因为测试的观念仍停留在已有 Test Case 阶段,而 Test Case 停留在业务流程测试的阶段。
neo-chen 发布于 15小时前 阅读 330

【源资讯】在暗流汹涌的 IT 界,如何成为谷歌大神 Jeff Dean 般的传奇人物

【一周源资讯(2016.11.26-2016.12.2)】学会这些也许就能成为谷歌大神 Jeff Dean 般的人物, 你一定听说过关于他的江湖传言~
两味真火 发布于 20小时前 阅读 2458 评论 4 点赞 1

TangYuan使用教程-组合SQL服务标签

#6.4 组合SQL服务标签 --- 之前6.1节简单的介绍了组合SQL服务的概念和定义,这节将详细的介绍组合SQL服务的功能和使用。 ### 1. sql-service标签的使用 > Schema设计图 ![图片1](http://p1.bpimg.com/579849/2600628e5a818f34.png) > sql-service节点属性说明 | 属性名 | 用途及说明 | 必填 | 取值 | | :-- | :--| :-- | :-- | | id | 服务标识,需要唯一;作为辅助标签此项无意义,可省略 | Y | 用户定义 | | dsKey | 所使用的数据源标识,这里有以下几种情况: 1.此处设置数据源(A),内部服务未设置数据源,内部服务使用数据源(A)。 2.此处设置数据源(A),内部服务设置数据源(B),内部服务使用数据源(B)。 3.此处未设置数据源,内部服务设置数据源(B),内部服务使用数据源(B)。 4.在分库分表的情况下,此处未和内部服务均可不设置数据源,后面章节将会详细介绍此种设置。 | N | 用户定义 | | txRef | 所使用的事务定义标识,如果用户未指定,则根据setDefaultTransaction所定义的规则进行默认匹配,如果还未匹配上,系统则会跑出异常。 N 用户定义 | | resultType | 返回类型:默认xco | N | xco/map | | cacheUse | 缓存使用,此项将在缓存一节详细说明 | N | 用户定义 | ...
xson_org 发布于 23小时前 阅读 56

union/find--不相交集合

# 前言 大家好,今天提供不相交集合的笔记(即union/find). 不相交集合有实现简单,证明困难的特点,若有想证明的可以自行查阅相关文献。我就不做赘述啦! # 用途 不相交集类解决动态等价类问题,即: 1. **查找find**一个元素属于哪个**等价类**, 2. **合并union** 两个等价类为一个新的等价类。 也就是常说的**union/find算法** # 基本概念介绍 ## 等价类定义 1. 一个元素a属于S的等价类是S的一个子集合,它包含所有与a有**等价关系**的元素。 2. 等价类对S进行划分:S中的每一个成员恰好出现在一个等级类中。 ## 等价关系定义 1. 自反性 a属于S,aRa (R代表关系) 2. 对称性 aRb,bRa 3. 传递性 aRb,bRc则 aRc ## 举例 1. “>”号不是等价关系,没有对称性 2. 电器连通性是等价关系 # 基本数据结构 数据结构需要良好支持union和find操作,union操作相对简单,我们关注find操作。 ## find操作的特点及分析 find操作只要求当且仅当两个元素属于同一个集合时,作用在这两个元素上的find返回相同的集合名称。 由此自然想到**树**: 因为树的每一个元素都有相同的根,所以**等价类可以用树表示,不相交集则以森林表示**。树的**根存储集合名称**。 依照上述假设: find操作实...
混元归一 发布于 1天前 阅读 81 评论 2

sass笔记-2|Sass基础语法之让样式表更具条理性和可读性

这一篇主要详述保持sass条理性和可读性的3个最基本方法——嵌套、导入和注释
Stinson_Zhao 发布于 1天前 阅读 31

跨域之CORS

实验环境准备: 本地存在一个web应用,模拟服务端。调用其接口http://127.0.0.1:8080/PanServer/files/dir/1235/query返回如下 客户端用一个html模拟(直接在tomcat的webapps下建一个Cors的文件夹,将html放到Cors下面),源码如下: <html> <head> <meta charset="utf-8" /> <script> function success(text) { var textarea = document.getElementById('test-response-text'); textarea.innerHTML = text; } function fail(code) { var textarea = document.getElementById('test-response-text'); textarea.innerHTML = 'Error code: ' + code; } function helloAjax() { var request = new XMLHttpRequest(); // 新建XMLHttpRequest对象 request.onreadystatechange = function () { // 状态发生变化时,函数被回调 if (request.readyState === 4) { // 成功完成 // 判断响应结果: if (request.status === 200) { // 成功,通过responseText拿到响应的文本: //alert('request.responseText'); return success(request.responseText); } else { // 失败,根据响应码判断失败原因: //alert('request.status'); retu...
zjg23 发布于 1天前 阅读 75

使用Thread中的UncaughtExceptionHandler来处理未捕获的异常

本文主要介绍Java API中的UncaughtExceptionHandler以及如何在线程池中使用。
摆渡者 发布于 1天前 阅读 50

Pentaho6.1实现国际化二:Pentaho CDE通过资源文件实现国际化

摘要: 最近客户提出一个关于BI的多语言切换的功能,当时恨得牙痒痒!还能咋办只能是硬着头皮往下做呀!经过2~3周的努力,整个团队不断地查看国外文档,最终得以解决,晚上抽出时间写下关于Pentaho BI国际化的CDE的图表部分,其余的内容小编会在近期陆续补上,欢迎大家阅读!如果对您有所帮助,那真是小编的荣幸!
灯下黑鬼吹灯 发布于 1天前 阅读 27

iOS Keychain(钥匙串) 原理和APP之间共享信息(例如:账号密码)

## Keychain 介绍 [英文好的点这官方文档](https://developer.apple.com/reference/security/1658642-keychain_services) Keychain Services 是 macOS 和 iOS 都提供一种安全地存储敏感信息的工具,比如,网络密码:用于保存访问服务器或者网站,通用密码:用来保存应用程序或者数据库密码.与此同时,用于认证的证书,密钥,和身份信息,也可以存储在Keychain中.Keychain Services 的安全机制保证了存储这些敏感信息不会被窃取。简单说来,Keychain 就是一个安全容器。 _PS:在iOS中keychian 依赖用于签名的provisioning profile描述文件,确保发布不同版本的时候使用同一个pp文件_ ![输入图片说明](https://static.oschina.net/uploads/img/201612/02110610_w8pY.png "在这里输入图片标题") ## Keychain 的结构 Keychain 可以包含任意数量的 keychain item。每一个 keychain item 包含数据和一组属性。对于一个需要保护的 keychain item,比如密码或者私钥(用于加密或者解密的string字节)数据是加密的,会被 keychain 保护起来的;对于无需保护的 keychain item,例如,证书,数据未被加密。 跟keychain item有关系的取决于item的类型;应用程序中最常用的是网络密码(Internet pa...
Royce_he 发布于 1天前 阅读 31

安装apk出现Parse error when parsing manifest. Discontinuing installation.解决方案

问题: 进行apk安装的时候,总是出现“Parse error when parsing manifest. Discontinuing installation.”错误。 分析原因: 安装权限不够,需要申请: 1、<uses-permission android:name="android.permission.INSTALL_PACKAGES" /> 2、需要安装的apk文件的777(-rwxrwxrwx)权限。正常下载下来的apk为“-rw-------”权限,安装需要“-rwxrwxrwx”权限; 3、需要安装apk所在目录的777(-rwxrwxrwx)权限。 解决方案: //获取文件夹路径 private String getFolderPath(String filePath) { String folderPath = filePath; int pos = filePath.lastIndexOf("/"); if (pos != -1) { folderPath = filePath.substring(0, pos); } return folderPath; } //安装 apk public boolean installApk(String fileName) { Log.d("test", fileName); //fileName = "/sdcard/xxx.apk"; try { String strPath = getFolderPath(fileName); String cmd = "chmod 777 " + strPath; Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec(cmd); } catch (IOException e) { // TODO Auto-...
caiguangwen1 发布于 1天前 阅读 177

十个主题,最全的优秀 TensorFlow 相关资源列表

一个精心挑选的有关 TensorFlow 的实践 、库和项目的列表。全网最全!
局长 发布于 2天前 阅读 4297 评论 11 点赞 9 打赏 2

redis集群主从切换,jedis客户端如何自动切换访问

大家好,我是redis学习的新人,今天写这篇文章,希望记录一下最近的学习 其实到现在我也不不知道redis具体能做什么,大概是缓存,这个暂时不管,先实现我想要的结果。 这边如何启动redis不讲了,请参考:http://www.runoob.com/redis/redis-tutorial.html redis是支持集群的,所以需要配置redis集群,总的来说,将下载的redis文件复制多份, 修改一下配置就可以实现集群,我自己的总结: [我把我的实例打了个包,希望对大家有帮助](https://git.oschina.net/wpfc/redis) ``` 主从配置: 主服务器中的设置: 1:修改bind参数:绑定的服务器地址 (本地:127.0.0.1) 从服务器配置 1. 修改bing参数:绑定服务器地址 (注:不一定与主服务器在一起) 2. 修改port参数:端口号 (注:如果在同一个服务器上,端口号不同来区分) 3. slaveof参数: 设置主服务器的地址以及端口号(设置master的Host以及Port) [注意: 需要顶格写,不能有空格] ] 4. 如果主服务器设置了密码,从服务器需要修改masterauth参数 ``` 配置好了主从服务器(从服务器只读),尝试一下,确实可以实现值的同步 ``` List shards = new ArrayList(); JedisShardInfo shard1 = new JedisShardInfo("127.0.0.1...
wpfc 发布于 2天前 阅读 515 评论 3

C#与lua交互

利用MoonSharp实现c#与lua脚本的交互
propagator 发布于 2天前 阅读 213 点赞 1

关于jvm分析的指令以及jprofiler的初体验

介绍: 初步学习了一下linux相关获取jvm运行情况以及内存的对象状况的和获取dump文件的命令,以及利用jprofiler打开dump文件,利用jprofiler启动项目实时监控内存。但是只是模拟了一下,实际运用场景还是有待说明,感觉主要靠经验。 第一点,top命令  top命令先查出 占用cpu最高或者内存最高的java进程   这里可以看出pid为2142的java进程的cpu占用率以及 只用内存比较大 第二点,jmap -heap 2142 针对这个进程id显示他的内存信息  和配置信息    这里看出对内存的配置信息   以及下面的对内存的使用情况  包括eden区  拷贝的from  以及to区  以及 ps old 年老代  这些的使用情况  结合fullgc的周期性 和大小  younggc  可以分析项目的健康状况 可以适当优化jvm参数  不过一般不需要 都是代码的问题 第三点, jmap -histo 2142 显示对象的实例的个数 以及所占字节的图表 这里看出哪些对象的实例特别多 方便查询问题 第四点, jmap -dump:live,format=b,file=2.log 2142 生成dump文件 生成dump文件的过程 第五点,利用jprofiler打开dump文件 预览效果dump文件打开的效果 第六点,利用jprofiler实时监控项目运行情况 并模拟内存溢出的状况 利用jprofiler idea安...
sumailhuhao 发布于 2天前 阅读 966 评论 1 点赞 4 打赏 2

你应该知道的9款流行 Web 框架及其优缺点

对于 Web 开发人员来说,找到一些合适的工具,能让工作轻松许多。这其中,Web 框架更是提升工作效率的“利器”。但因为可选的 Web 框架非常多,如何选择也是一件令人头疼的事情。 本文列出了9款目前比较流行的 Web 框架,并对优缺点进行分析,希望能对大家有所帮助。(内容主要编译自Ken Mazaika的The 9 Most In-Demand Web Frameworks And What You Need To Know About Them) 首先, 什么是 Web 框架? 当 Web 浏览器使用 HTTP 和在其他地方运行的服务器(计算机)通讯时,这些服务器会收到一些通知: 所选的 URL 如何输入网址(通过表单提交或只是在浏览器栏中输入网址) 服务器要干很多事情,比如: 读取数据库里的数据和添加数据 找到正确的结果(用户是否被允许查看试图访问的页面?是否要发送到不同的URL?等等) 构建用户将看到的网页 如果要提供更复杂的功能,就需要执行更多的步骤。作为开发人员,则需要对想要的功能列出一系列解决方案。Web 框架就是其中可选的解决方案之一。 进入正题: 1、Ruby on Rails 编程语言:Ruby 简介: Ruby on Rails 是一个已经被许多公司采用的 Web 框架,是 Ruby 编程语言中 Web 框架的鼻祖,获得了大量开发者的采用。DHH(Rails...
王练 发布于 2天前 阅读 7092 评论 47 点赞 7

10+ 款 Web 开发常备工具

工欲善其事,必先利其器。如今 Web 开发标准越来越高,Web 开发者也在不断寻找途径提升自己的技能。为使大家的开发工作更顺利进行,本文整理了 10+ 款比较优秀的 Web 开发工具,希望对你有帮助。 喜欢的不要忘了收藏、点赞和打赏哦,感谢大家的支持! Bootstrap Bootstrap 是快速开发 Web 应用程序的前端工具包。它是一个 CSS 和 HTML 的集合,它使用了最新的浏览器技术,给你的 Web 开发提供了时尚的版式,表单,buttons,表格,网格系统等等。 DEMO:http://getbootstrap.com/     Atom Atom 是 Github 专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,并有很多有趣的特点:支持 CSS,HTML,JavaScript 等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。 DEMO:https://atom.io/ Foundation Foundation 是一个易用、强大而且灵活的框架,用于构建基于任何设备上的 Web 应用。提供多种 Web 上的 UI 组件,如表单、按钮、Tabs 等。 DEMO:http://foundation.zurb.com/ Fiddler Fiddler 是一个 http 调试代理,它能够记录所有的你电脑和互联网之间的 http 通讯,Fiddler 可以也可以让你检查所有的 http 通讯,设置断点,以及 Fi...
达尔文 发布于 2天前 阅读 5484 评论 22 点赞 14

spring-data-jpa原理探秘(1)-运行环境创建及加载Repository接口

spring-data-jpa的优点很多,比如继承Repository接口,在注解中书写JPQL语句即可访问数据库;支持方法名解析方式访问数据库;使用Predicate支持动态查询等,在此不一一列举了。这些都是使用spring-data-jpa中的种种优点,要想将之使用的更好更优雅,就要从spring-data-jpa的加载和运行机制进行探秘。 此文系作者查看spring-data-jpa源码及参考javadoc文档成文,所以文中难免会有错误和纰漏,恳请读者指出。下面进入正题。 1.运行环境创建及加载Repository接口 spring-data-jpa在运行时和springframework框架实现了无缝对接。在使用spring的@Repository注解生成Repository实例时,使用动态代理类的方式对Repository接口进行了实例化并放入spring容器中备用。 下面是spring-data-jpa中占重要地位的RepositoryFactoryBeanSupport和RepositoryFactorySupport的类图: RepositoryFactoryBeanSupport的作用是,为spring的FactoryBean接口开发的适配器,可以很便捷的通过spring配置设置repository工厂;而RepositoryFactorySupport的作用是,创建一个给定repository接口实例的工厂bean。创建一个实现配置的repository接口的代理,并应用一个advice将控制交给QueryExecuterMethodIn...
gaolu 发布于 3天前 阅读 1957 评论 6 点赞 2

Pentaho6.1实现国际化一:Pentaho Report Designer6.1通过资源文件实现国际化

最近客户提出一个关于BI的多语言切换的功能,当时恨得牙痒痒!还能咋办只能是硬着头皮往下做呀!经过2~3周的努力,整个团队不断地查看国外文档,最终得以解决,晚上抽出时间写下关于Pentaho BI国际化的PRD部分,其余的内容小编会在近期陆续补上,欢迎大家阅读!如果对您有所帮助,那真是小编的荣幸!
灯下黑鬼吹灯 发布于 3天前 阅读 186

原生CSS网格布局学习笔记

>注:此文是我翻译的第一篇技术文章。适合有一定CSS原生网格布局使用经验的开发者(读前需要先去了解一下原生CSS网格的语法),原生CSS网格布局(Native CSS grid)截止目前还没有被任何正式版本的浏览器实现。[原文地址](https://css-tricks.com/things-ive-learned-css-grid-layout/) _以下是来自Oliver Williams的帖子. Oliver已经学习了相当长时间的原生CSS网格,可以说是在CSS网格方面有一定的发言权。在这篇文章中,他将以非同寻常的思路分析自己的CSS网格布局学习之路。我比较赞同他的想法,就是学习一门新技术的时候,把它们拆分成比较小的单元块并配上实例,一步一步的学习。这比直接学习[网格布局的所有东西](https://css-tricks.com/snippets/css/complete-guide-grid/)要好太多了。 浏览器原生CSS网格预计会在2017年年初得到支持\. **在这之前你需要在浏览器中开启这个实验性的功能** (Firefox实验版默认是开启的). _[Chrome Canary](https://www.google.com/chrome/browser/canary.html)是当前最好的实现._ 同时,火狐有一个非常好的插件叫CSS Grid Inspector, 它能显示出网格的线,它是目前唯一可以在浏览器中运行的此类工具。 在 chrome的地址栏中输入`ch...
GeoffZhu 发布于 3天前 阅读 415 评论 3

【源资讯】在暗流汹涌的 IT 界,如何成为谷歌大神 Jeff Dean 般的传奇人物

【一周源资讯(2016.11.26-2016.12.2)】学会这些也许就能成为谷歌大神 Jeff Dean 般的人物, 你一定听说过关于他的江湖传言~
两味真火 发布于 20小时前 阅读 2458 评论 4 点赞 1

MongoDB复制集原理

广告
MongoDB的单实例模式下,一个mongod进程为一个实例,一个实例中包含若干db,每个db包含若干张表。
腾讯云

打破软件自动化测试的格局

自动化测试仅仅被认为是替代人工,所以我们看到很多企业实施自动化测试仅仅是将现有的 Test Case 转换成自动化脚本。 这样做既没有提高测试整体水平,也没有改善测试结果。结果是通过手工能测试出来的问题自动化测试可以测试出来,手工测试不出来的问题自动化测试也没有测试出来。 因为测试的观念仍停留在已有 Test Case 阶段,而 Test Case 停留在业务流程测试的阶段。
neo-chen 发布于 15小时前 阅读 330

【密码】Oracle用户密码系列

【密码】Oracle用户密码系列
lhrbest 发布于 11小时前 阅读 161

CentOS 6.8 安装 zabbix 3.2.1

CentOS 6.8 安装 zabbix 3.2.1
卖新疆特产的老农民 发布于 3小时前 阅读 44

面试

面试了华为一个很刁的部门: 自己的C 底子实在太渣。
MtrS 发布于 20小时前 阅读 40

JavaEE 要懂的小事:一、图解Http协议

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket 泥瓦匠记得和左潇龙【博客园】上次聊天时,龙哥问了个Session的问题。我当时的理解就是云里雾里,先从Http协议理解开始吧。 一、技术基石及概述 问:什么是HTTP? 答:HTTP是一个客户端和服务器端请求和响应的标准TCP。其实建立在TCP之上的。 当我们打开百度网页时,是这样的: https://www.baidu.com 多了个S,其实S表示TLS、SSL。在这里不做解释,因此HTTP的技术基石如图所示: 那HTTP协议呢?HTTP协议(HyperText Transfer Protocol),即超文本传输协议是用于服务器传输到客户端浏览器的传输协议。Web上,服务器和客户端利用HTTP协议进行通信会话。有OOP思想的得出结论:其会话的结构是一个简单的请求/响应序列,即浏览器发出请求和服务器做出响应。 二、深入理解技术基石和工作流程 既然HTTP是基于传输层的TCP协议,而TCP协议是面向连接的端到端的协议。因此,使用HTTP协议传输前,首先建立TCP连接,就是因此在谈的TCP链接过程的“三次握手”。如图 在Web上,HTTP协议使用TCP协议而不是UDP协议的原因在于...
泥沙砖瓦浆木匠 发布于 2年前 阅读 3442 评论 14 点赞 14

iOS Keychain(钥匙串) 原理和APP之间共享信息(例如:账号密码)

## Keychain 介绍 [英文好的点这官方文档](https://developer.apple.com/reference/security/1658642-keychain_services) Keychain Services 是 macOS 和 iOS 都提供一种安全地存储敏感信息的工具,比如,网络密码:用于保存访问服务器或者网站,通用密码:用来保存应用程序或者数据库密码.与此同时,用于认证的证书,密钥,和身份信息,也可以存储在Keychain中.Keychain Services 的安全机制保证了存储这些敏感信息不会被窃取。简单说来,Keychain 就是一个安全容器。 _PS:在iOS中keychian 依赖用于签名的provisioning profile描述文件,确保发布不同版本的时候使用同一个pp文件_ ![输入图片说明](https://static.oschina.net/uploads/img/201612/02110610_w8pY.png "在这里输入图片标题") ## Keychain 的结构 Keychain 可以包含任意数量的 keychain item。每一个 keychain item 包含数据和一组属性。对于一个需要保护的 keychain item,比如密码或者私钥(用于加密或者解密的string字节)数据是加密的,会被 keychain 保护起来的;对于无需保护的 keychain item,例如,证书,数据未被加密。 跟keychain item有关系的取决于item的类型;应用程序中最常用的是网络密码(Internet pa...
Royce_he 发布于 1天前 阅读 31

sass笔记-2|Sass基础语法之让样式表更具条理性和可读性

这一篇主要详述保持sass条理性和可读性的3个最基本方法——嵌套、导入和注释
Stinson_Zhao 发布于 1天前 阅读 31

SSH 暴力登录 封IP脚本

公网可以访问的机器果然要把root的ssh登录给关掉啊
Kyli 发布于 22小时前 阅读 19

Android获取系统应用及安装应用的权限列表

主要通过PackageManager中的方法 代码: public class InstallApps extends ListActivity {         HashMap<String, String[]> map=new HashMap<String, String[]>();     List<String> packagelist=new ArrayList<String>();     List<String> systemApp=new ArrayList<String>();     protected void onCreate(android.os.Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         PackageManager pm=getPackageManager();       //List<PackageInfo> mPackageinfo=  pm.getInstalledPackages(PackageManager.GET_PERMISSIONS);        Intent query=new Intent(Intent.ACTION_MAIN);        query.addCategory("android.intent.category.LAUNCHER");         List<ResolveInfo> resolves= pm.queryIntentActivities(query, PackageManager.GET_ACTIVITIES);        for (int i = 0; i < resolves.size(); i++) {           ResolveInfo info= resolves.get(i);   / /判断是否为系统级应用          if((info.activityInfo.applicationInfo.flags&ApplicationInf...
LiSteven 发布于 4年前 阅读 3837 点赞 1

emacs+prelude问题配置

  Ispell 中文问题 参考 : Ispell 在emacs中常见问题 添加: ;; ispell 中文问题  ;; use apsell as ispell backend (setq-default ispell-program-name "aspell") ;; use American English as ispell default dictionary (ispell-change-dictionary "american" t)     2. 启用solarized-theme 通过包安装solarized-theme,然后添加: ;;使用 solarized 主题 (require 'solarized)                                                                         (provide 'solarized-theme)   3. 高亮当前行 参考:Changing highlight line color in emacs 修改高亮颜色为绿色,护眼。 (global-hl-line-mode 1) (set-face-background 'hl-line "green") (set-face-foreground 'highlight nil) 使用hl-line+包,启动时就高亮了一下,后来就没有了。 以下是hl-line+包配置,没用: (require 'hl-line+) (global-hl-line-mode nill) (toggle-hl-line-when-idle 1) ; Highlight only when idle 4.让 emacs 在命令行下支持剪切板共享 参考:让 emacs 在命令行...
格通 发布于 7个月前 阅读 53 点赞 1

C语言实现的轻量级brainfuck语言解释器

    知道brainfuck的时候是在大一下学期的时候了,一直觉得这语言好神奇,但是觉得实现的功能应该有限。直到最近想要做一个小的解释器才开始深入了解和研究。     Brainfuck语言,因为其中带有脏话,所以一般写作brainf*ck或者brainf***。【不过话说whitespace语言的本土化“草泥马”语言写出来的代码才是满屏幕的哔——】好吧继续来说brainfuck。Brainfuck语言是一个完全图灵机,它的所有操作都是基于一个足够大的被初始化为0的字符数组和一个初始化为指向第一个数组首地址的指针,具象化起来就是一个可以计算的纸带。操作符一共有八种符号:      < 指针左移一位      > 指针右移一位      + 指针指向位置值加一      - 指针指向位置值减一      , 从标准输入(即键盘)读入一个字符      . 向标准输出(即屏幕)输出一个字符      [ 循环段代码开始标识(循环条件是指针当前指向位置的值不为0)      ] 循环段代码结束标识          因此brainfuck语言可以完成任何程序员希望它完成的任务。     因为语法比较简单,所以解释器写起来也比较轻松,代码数量不是太多。其中处理了三种错误,分别是:      指针越界  ...
冰雪飞扬 发布于 4年前 阅读 2486 评论 3

Java和微服务-杂谈

     前段时间,在学习docker的时候,和一同事聊的时候,同事开玩笑说:为啥java写的应用,要分配内存资源的动不动就要个4G的啥?额,之前一直没有想过这个问题,Java啊,跑在服务器上的时候,轻轻松松就要个4G啊,以前弄的虚拟机的时候,也是来个4G;到了容器,这就是个问题了?      微服务最近也很火热,作为JEE的事实标准Spring框架,也有Spring Boot;话说,Spring到了今天,确实很臃肿了,囊括了非常多的东西;想当初spring2.5的时候,就几个包就搞定的事情啊,那个时候,一个IOC,DI,AOP,吊打天下啊;现在的包太多了,以至于出spring4的时候,都没能好好数数有多少个工程了;      近日,在学习的时候,看到了 light java framework ; sparkjava 等一些框架,在github的追捧也蛮多的;对于spring boot也有了一些微词;      微服务的体系下,Java的框架,该如何发展?传统的java web 体系是否还在继续?或许,又是新的基于Java的微服务框架要横空出世了吧;看看go ,nodejs 啥的,那么火热,我大Java,要出手了吗?     学习两个新的框架: [light java framework](https://networknt.github.io/light-java/) 以及 [spark java](http://sparkj...
alex 发布于 22小时前 阅读 14

【原理】JavaMail+腾讯SMTP服务

# 说明 > 一共写了三个版本的smtp服务对接工具,这里只给出原理版,只为初学者服务 ``` package com.ddouble.util.email; /** * * SMTP(simple mail transfer protocol) * 邮件发送工具 * @author Ddouble * copyright all reserved 2016 by author in AHU(CN) * @desc * 1、【问题】不能整合到spring框架,现在已经迁移使用spring自带的JavaMailSender * 2、【问题】因为从jaee5开始jdk集成JavaMail和JavaAction,自己引用新的这两个包 * 会有版本冲突(尤其在集成到框架并部署到服务器上) * 3、【问题】SSL认证问题。jdk8会影响邮箱服务的认证,需要更换现有jdk的jce环境 * 详情参考:http://www.cnblogs.com/LUA123/p/6039954.html * 4、【问题】腾讯SMTP开启,自行百度。 */ import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.M...
猫咪要感冒 发布于 3小时前 阅读 13

码农提高工作效率

俗话说,天下武功,唯快不破。也就是说要练成天下高手的话,出招速度一定要快,这样才能在江湖上立足,不至于掉了脑袋。而程序员要在IT界混出个名堂,也要有高效的工作效率才行。IT行业时时刻刻都产生着新知识、新技术,要想跟上变革肯定要有几把刷子。 而我本人很喜欢各种各样的方式来提高自己的工作效率,可以分享给大家一些经验。 键盘功底要扎实。敲键盘时要使用标准指法。可能你认为这是程序员的基本功,可是我发现其实很多程序员都做不到这点。看着他们敲代码时那笨拙的指法我就心急。其实炼成标准指法不难,相当年我还是一指禅,打字极慢,痛定思定,在一周内我打字必用标准指法,再别扭也要坚持,一周后就适应了标准指法了。现在不说运指如飞也算是略有小成。练习指法和键盘速度可以给大家推荐一些网站:http://10fastfingers.com/typing-test/english,这个就是练习标准指法的,我可以轻松上60 WPM(每分钟60单词),有个外国同事可以达到130以上,那才叫恐怖。http://typing.io/lessons,专门供程序员练习敲代码的网站,融合了各种括号和标点,难度有点大。 要熟悉IDE的各种快捷键及特性。IDE基本上是码农们上班中使用时间最长的软件。首先要选择一个趁手的IDE,俗话...
北天_ 发布于 10小时前 阅读 15

Linux - cat

文件处理命令 cat
the_feel 发布于 5小时前 阅读 12 点赞 1

5、Flume自定义sources

#自定义source开发有两种方案 - 1.class TailSource extends AbstractSource implements EventDrivenSource,Configurable{} 你可以在start方法中启动额外的线程,不断的往channel中发数据。 package org.apache.flume; import org.apache.flume.conf.Configurable; import org.apache.flume.source.AbstractSource; /** * 第一种方式 */ public class TailSource extends AbstractSource implements EventDrivenSource, Configurable { @Override public void configure(Context context) { } @Override public synchronized void start() { } @Override public synchronized void stop() { } } 或者 2.class TailSource extends AbstractSource implements Configurable, PollableSource{} 你可以在process()实现你不断重发的梦想。 package org.apache.flume; import org.apache.flume.conf.Configurable; import org.apache.flume.source.AbstractSource; /** *第二种方式 */ public class TailSource extends AbstractSource implements Configurable, PollableSource { @Override public void configure(Context context) { } @Override public Status process() thr...
刘付kin 发布于 21小时前 阅读 15

Java 加载资源文件

肯定有朋友遇到过使用Java加载文件找不到路径的问题,或者相同的代码在不同机子上运行结果都不一样,甚至只是把代码打个包或者部署一下就加载资源的代码就出错了,这篇文章就介绍一下Java加载资源的常使用方式的一些细节。
trayvon 发布于 13小时前 阅读 12

在VMware上面安装Solaris 10

Oracle Solaris 11 是世界上最先进的企业操作系统,提供安全、速度、简单的企业云环境和DevOps。在这篇文章中我们将使用Solaris 10版本,但您可以按照同样的步骤,来安装刚刚发布的 Solaris 11最新版本。
linuxprobe 发布于 6个月前 阅读 21 评论 1

疯狂的编程世界 - 开源中国

编者:看这篇文章前,请先让自己静下心来,否则可能会疯掉。   @eranation写了一条非常有趣的评论,我把他描述的这些看作是疯狂的编程世界: 我承认,我跟不上。我刚刚学会了backbone.js,但现在发现它已经过时了,我应该使用ember.js,了解的过 程中,有人说我应该使用Meteor,不,应该用AngularJS,不,应该Tower.js (基于node.js),而对于HTML模板,我应该使用handlebars,而不是mustache,稍等一下, DoT.js看起来更好,慢着,为什么要用一个浏览器里的HTML解析器?浏览器不就是干这事的吗?那么,不该使用HTML模板吗?对,用DOM snippets,好,你是说Web Components吗?W3C不是专门做这个的吗?你是说像Google那样开发一个常规的 Javascript语言吗?太扯了,我只需要用CoffeeScript就行了,它的表现不错,不用CoffeeScript?用Coco? LiveScript? DART? GWT?这样吧,我还是重新使用Ruby on Rails吧,哦,它没有扩展性?Grails?Groovy? Roo?太简单?那好,node.js怎么样?扩展性也不好??但是用它我既可以写客户端代码,服务器端代码,还可以写mongodb代码,都用同一种语 言。(非要用Javascript语言吗?)那么,PHP怎么样?你说它不是真正的线程安全?他们在撒谎...
magooup 发布于 4年前 阅读 284 点赞 1

微信小程序完整项目演示——同性交友平台

本文整理自 OSC 广州源创会上叶倍宏老师带来的《微信小程序现场live coding教学》,主要带大家实现一个完整的小程序应用,了解小程序如何提炼了前端开发的最佳实践。
OSC源创君 发布于 5天前 阅读 6602 评论 21 点赞 7

那些适合日常使用的开源工具和应用(娱乐篇)

本系列文章将针对办公、设计、娱乐、教育等日常使用场景,进行一些开源工具和应用的推荐,希望能对大家有所帮助。优秀的实在太多,篇幅有限,仅列出部分,发现更多可以利用 OSC 的搜索工具。喜欢请关注、收藏、评论,欢迎打赏~~ Part 1:那些适合日常使用的开源工具和应用(办公篇) Part 2:那些适合日常使用的开源工具和应用(设计篇) Part 3:娱乐篇 影视 音乐 游戏 一、影视 1、VLC Media Player VLC Media Player 是知名的开源视频播放器,功能强大,它可以播放来自网络、摄像头、磁盘、光驱的文件,支持包括 MPEG 1/2/4,、H264、 VC-1、DivX、 WMV、 Vorbis、AC3、AAC等格式的解码。且无广告,无跟踪用户的行为。 VLC Media Player 适用 Windows、Linux、OS X、Android、iOS、Windows Phone 等多个平台,可设置成中文。据悉,最新发布的 3.0预览版 还支持 360 度视频,允许查看全景照片。 开源协议:GPLv2 2、MPlayer MPlayer 同样是一款知名的开源视频播放器,支持MPEG / VOB、AVI、Ogg / OGM、VIVO、ASF / WMA / WMV、QT / MOV / MP4、RealMedia、Matroska、PVA文件等多种格式解码。支持通过一些硬件显示 MPEG 解码器板,例如 Siemens DVB、DXR2和DXR3 / Hollyw...
王练 发布于 4天前 阅读 5564 评论 12 点赞 10

淘宝刷单软件,淘宝平台软件下载

1,实现自动输入用户名,密码,自动拖拉验证码,实现全自动化淘宝登录。 2,提取淘宝用户的信息,比如等级,收货信息,已购物的订单详情。 3,实现自动搜索商品。 4,实现自动货比三家,添加收藏夹。 5,实现自动网页旺旺聊天。 6,实现自动提交订单。 7,实现付款。 8,自动好评。
肖建 发布于 4天前 阅读 3514

高性能服务器架构思路(四)——编码复杂度和通信

广告
以前我们的代码,从上往下执行,每一行都会占用一定的CPU时间,这些代码的直接顺序,也是和编写的顺序基本一致,任何一行代码,都是唯一时刻的执行任务。
腾讯云

Linux进程关闭和后台运行解析

在Linux中,通过信号,关闭进程,通过忽略信号,并把进程挂载到init进程下,保证进程可以后台运行
蛙牛 发布于 6天前 阅读 2421 评论 7 点赞 4 打赏 1

【软件周刊】JetBrains 为 .NET 推出 Rider;Vue.js 要当版本帝?And 开源中国安卓客户端更新啦!

软件周刊(11.20 - 11.26):本周热门软件更新 — JetBrains 发布跨平台的 .NET 集成开发环境 Rider;Linux 发行版 Fedora Linux 25 正式发布;Vue.js 一周连发五个版本或成最大赢家?
局长 发布于 1周前 阅读 4330 评论 8 点赞 2

手把手教你, Jenkins构建iOS项目

Jenkins构建iOS项目 自动拉取GitHub/SVN 上传到fir/蒲公英
Royce_he 发布于 3天前 阅读 2165 评论 7 点赞 5

FastDFS结合FastDHT实现文件去重存储

存储文件时,为了节省存储空间,需要实现文件去重,即同一份文件只在服务器上存储一份。一种实现是文件上传后先落到应用服务器上,计算MD5并存储到数据库中,然后决定是否上传存储服务器。这样做的缺点是应用服务器端需要做并发控制,实现相对来说比较复杂。 FastDFS本身支持文件的排重处理机制,但需要FastDHT作为文件hash的索引存储。FastDHT是FastDFS同一个作者的开源key-value数据库。其排重原理为: FastDFS的storage server每次上传均计算文件的hash值,然后从FastDHT服务器上进行查找比对,如果没有返回,则写入hash,并将文件保存;如果有返回,则建立一个新的文件链接(软链),不保存文件。 实验环境搭建: 1、利用vmware player新建虚拟机,安装centos系统。 我用的是东北大学的一个镜像http://mirror.neu.edu.cn/centos/6.8/isos/i386/,取得文件为CentOS-6.8-i386-LiveCD.iso 2、安装fastdfs 网上安装资料挺多,推荐参考https://my.oschina.net/harlanblog/blog/466487?fromerr=cqe6bTu2,我们主要想测试FASTDHT的功能,因此完成到第5步即可。 3、安装fastdht 参考https://my.oschina.net/u/999023/blog/796238中fastdht的安装 搭建过程遇到的问题: 1、安装完...
zjg23 发布于 4天前 阅读 1927 评论 10 点赞 1 打赏 1

Log4j日志体系结构

我们在写日志的时候首先要获取logger,在每一个使用log4j的项目都有很多个地方要获取logger,这些logger是真实的被实例化的Logger对象,他们有可能被分散在无数不同的类中,日志体系结构讲的是这些logger对象是如何组织的,他们之间又有什么样的关系。
Float_Luuu 发布于 7天前 阅读 1988

极客君教你破解隔壁妹子的wifi密码,成功率高达90%

首先,给大家推荐一个我自己维护的网站: 开发者网址导航:http://www.dev666.com/ 破解wifi密码听起来很复杂,实际上也不是非常的复杂,极客君(微信公众帐号:极客峰)今天教大家如何破解隔壁妹子的wifi密码。   首先声明:本教程只用于技术交流,请勿用于非法用途。请严格遵循相关法律法规。为了保护本例中被破解密码者信息,本人不透露wifi主人所在地理位置。本人有宽带,也不会使用被破解者的wifi。   目前无线网络加密形式常见的有两种,WEP和WPA/WPA2,WEP破解方法非常简单,但是现在这种加密方式由于不安全基本上见不到了。这里就没有必要讨论WEP破解方法了。   今天我们要破解的正是最难破解的WPA/WPA2加密方式的密码!WPA/WPA2破解的主流方法有Pin码破解、抓包破解。   Pin码破解最简单成功率最高,但是必须要路由器开启wps才行,而且很多最新的路由器都有防pin码破解功能,对于Pin码破解,大家可以用虚拟机安装CDLinux系统,里面集成了相关的软件,网上百度一下就能找到相关的教程。   今天我们要讲的是抓包破解,如果路由器没有开启wps,Pin码破解的方式就不能用了,对于路由器开启了wps功能创建的wifi来说,抓包破解wifi密码的成功率要低于pin码破解,但...
李峰峰 发布于 1个月前 阅读 4078 点赞 3

Linux Shell 从入门到删除根目录跑路指南

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 1 [[ -z ${tmp_file} ]] && echo 1 1 (3)如果变量未定义还可以开启 set 选项: # cat a.sh set -u b= echo $b echo $a echo 1 # bash a.sh a.sh: line 4: a: unbound variable 2、路径含有空格导致误删文件 史上最经典的要数下面这个bumblebee项目了,这个项目本来不出名,不过,程序在其安装脚本install.sh里的一个bug让这个项目一下子成了全...
xrzs 发布于 1周前 阅读 4530 评论 22 点赞 16

快鸟VPN和快鸟影梭SS 今天免费账号更新

免费VPN账号 可以在Win 10应用商店搜索【快鸟VPN】或【快鸟SS】获取 使用教程点击本页面下方教程,2016.12.3免费账号更新:   【VPN:类型pptp服务器地址104.168.136.222用户名freevpn密码11223344】 【影梭Shadowsocks:服务器地址104.168.142.205端口8989密码aaabbb加密方式:AES-256-CFB】 另外:付费VIP更快更稳定,购买VIP付费独立帐号请加快鸟vpn客服qq:3508484994。遇到VPN连不上的情况请联系客服解决。 点击下方超链接可以查看教程: 快鸟VPN Win10 VPN设置教程  快鸟VPN Win7 PPTP VPN设置教程 快鸟VPN WP连接PPTP使用教程 快鸟VPN 安卓Andriod PPTP设置教程 快鸟VPN iOS PPTP设置教程 快鸟影梭SS Windows上使用影梭教程 快鸟影梭SS Android上使用影梭教程 快鸟影梭SS iPhone iOS 设置教程 【WP手机不支持影梭SS所以没有教程】 快鸟VPN QQ群:307988452 快鸟VPN 免费版公共账号密码每天更新一次,VIP套餐一个月10元,半年50,包年100。 可先试用。购买联系客服QQ :3508484994 【连接不上VPN也可以联系客服解决】...
快鸟VPN 发布于 2周前 阅读 4895

不止性能优化,移动端 APM 产品研发技能

本文整理自 OSC 第 55 期广州源创会上江赛老师的演讲,他详细地介绍了移动端 APM 产品底层技术细节与实现方法。
OSC源创君 发布于 5天前 阅读 1380 评论 6 点赞 5

我的react组件化开发道路(二) 分页 组件开发

上一篇文章主要写了关于react组件化开发的一些基本配置,慢慢的深入到每个组件的详细介绍中,今天我们就来分享react的分页组件
梅大帅锅 发布于 5天前 阅读 1277 评论 3 点赞 5 打赏 1

如何使用git实现团队协作开发

# 如何使用git实现团队协作开发 ``` Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 ``` ## git与github有什么区别? - git(工具)是一个版本控制工具 - [github(社区)](https://github.com)是一个用git做版本控制的项目托管平台,并附带交友分享功能。。类似的平台还有bitbucket、oschina的码云这里写图片描述(逗逼名字)。 这些平台基本都是以开源项目著称的,当然也提供一定的收费私有化托管服务。 当然(私有化),估计大家还听说过coding、gitlab、gogs,这些都是做一些私有化项目托管的平台。gitlab、gogs都是开源的git托管平台,可以自己私有化部署。 ## git和svn的区别 - svn是一个中心化的版本控制工具 ![svn](http://img.blog.csdn.net/20160616224613261) *每一个SVN用户都可以从服务器checkout代码,同样也可以像服务器提交(commit)代码,可以更新(update)到别人提交的代码。* - 优势:所有的操作都需要基于SVN中心服务器,所以操作起来必然很简单。 - 劣势:正因为所有的操作都要基于SVN中心服务器,所以只要SVN中心...
huzorro 发布于 4天前 阅读 1220 评论 5 点赞 1

3D全景项目-VR加盟全景智慧城市-开启虚拟逛街购物新潮流

3D全景项目-VR加盟全景智慧城市-开启虚拟逛街购物新潮流 毋庸置疑,互联网的出现,彻底改变了我们的生活。我们生活在这样一个发展迅速,信息膨胀的时代。在这样一个充满着激情的时代里,我们必须以快节奏的生活姿态,去跟得上这个时代的步伐。     而在这个时候却有很多的年轻人迷失人生的方向,不知道该怎么样去适应现在这个互联网+迅速发展的时代。而当很多人还在互联网+领域跌打滚爬的时候,却已经有人看到了未来更加有广阔发展前景的契机。 联网+时代,人们对现有的网络资源已经不再感冒,一般的图片、文字信息已经无法满足人们对互联网的需求,虚拟现实、身临其境的体验是不可小觑的发展趋势,尤其是VR逛街、购物,更会深入人心,再次改变人们的生活方式,掀起新一代的实体线上虚拟现实的浪潮。   (全景智慧城市平台创始人鲁总《创业英雄汇》融资成功) 2016年被很多行业内人称之为VR元年,目前,虚拟现实也已经达到了前所未有的热度,VR全景也有很多领域,包括全景视频和全景场景。全景场景又分为虚拟场景和实景场景,比如,今年年初淘宝推出的虚拟购物BUY+计划就是属于虚拟场景,而VR在线逛街项目“全景智慧城市”是针对实体商家的实景还原,把实体商家搬到线...
全景霸主冯玉龙 发布于 2周前 阅读 969

12 个非常实用的 jQuery 代码片段

jQuery是一个非常流行而且实用的JavaScript前端框架,本文并不是介绍jQuery的特效动画,而是分享一些平时积累的12个jQuery实用代码片段,希望对你有所帮助。 1. 导航菜单背景切换效果 在项目的前端页面里,相对于其它的导航菜单,激活的导航菜单需要设置不同的背景。这种效果实现的方式有很多种,下面是使用JQuery实现的一种方式: ``` 导航一 导航二 导航三 ``` ``` //注意:代码需要修饰完善 $('#nav').click(function(e) { // 要知道siblings的使用 $(e.target).addClass('tclass').siblings('.tclass').removeClass('tclass');; }); ``` 2.反序访问JQuery对象里的元素 在某些场景下,我们可能需要反序访问通过JQuery选择器获取到的页面元素对象,这个怎么实现呢?看下面代码: ``` //要掌握JQuery对象的get方法 以及数组的reverse方法即可 var arr = $('#nav').find('li').get().reverse(); $.each(arr,function(index,ele){ .... ... }); ``` 4. 管理搜索框的值 现在各大网站都有搜索框,而搜索框通常都有默认值,当输入框获取焦点时,默认值消失。而一旦输入框失去焦点,而输入框里又没有输入新的值,输入框里的值又会恢复成默认值,如果往输入框里输入了新值,则输入...
南辞233 发布于 5天前 阅读 1041 评论 6 点赞 2

那些适合日常使用的开源工具和应用(办公篇)

随着发展,开源工具和软件越来越多的出现在国人的日常电脑桌面上。无论是因为想寻找降低成本的替代工具,还是想参与到项目当中享受其中乐趣,亦或者是想更自在、定制化的使用一些应用,开源都是极佳的选择。 那么,当决定开始将更多的开源工具和应用集成到你的日常工作和生活中时,要怎么去寻找合适的? 本系列文章将针对办公、设计、娱乐、教育等日常使用场景,进行一些开源工具和应用的推荐,希望能对大家有所帮助。优秀的实在太多,篇幅有限,仅列出部分,发现更多可以利用OSC的搜索工具。喜欢请关注、收藏、评论,欢迎打赏~~ Part 1:商务办公篇 一、团队管理/项目管理 第一部分:国外开源项目 1、MyCollab 商务协作平台 MyCollab 是一个高性能、稳定而且安全的商业平台,用于 CRM 客户关系管理、项目和文档管理。是一个企业的协作平台,基于 Java 开发。 MyCollab 包括许多功能,如甘特图表、时间跟踪、里程碑管理 、分享和问题管理、人员以及权限管理等等。 MyCollab-Project 有三个版本,其中社区版是免费和开源的。 开源协议:AGPLv3 2、LibrePlan 项目计划和管理系统 LibrePlan 是一个基于 Web 的项目计划和管理系统,它是一个协作工具用来计划、监控和控制项目...
王练 发布于 3周前 阅读 7644 评论 25 点赞 17

那些适合日常使用的开源工具和应用(设计篇)

本系列文章将针对办公、设计、娱乐、教育等日常使用场景,进行一些开源工具和应用的推荐,希望能对大家有所帮助。优秀的实在太多,篇幅有限,仅列出部分,发现更多可以利用 OSC 的搜索工具。喜欢请关注、收藏、评论,欢迎打赏~~ Part 1:那些适合日常使用的开源工具和应用(办公篇) Part 2:设计篇 平面设计/图像设计 网页设计/网页开发 CAD 设计 影视设计/视频编辑 一、平面设计/图像设计 1、Krita Krita 是一个免费开源绘图工具,是专门为概念艺术家、插图作者、粗面纹理艺术家,和视觉特效行业而设计的。Krita 已经开发了超过10年之久,它提供很多通常和创新性的功能特性来帮助新手和专业人士。 Krita 共有 9 种独特的画笔引擎来定制画笔。每一个引擎都有大量的设置选项,每个画笔引擎被设计成能够满足一种特殊需求,比如颜色涂抹引擎、形状引擎、颗粒引擎、滤镜引擎等等。还可以保存使用过的笔刷设置,用独特标签系统来组织它们。 开源协议:GPL 2、MyPaint MyPaint 是一个图像绘画程序,它支持的压力敏感的绘图板,并配备了一个易于使用的刷子收集。有一个复杂的接口,用于创建自己的画笔,把重点放在刷动力学(变化的速度,压力,或随机) 。画布的大小是无限的,并...
王练 发布于 1周前 阅读 5499 评论 13 点赞 20

java中将汉字转拼音,解决pinyin4j多音节问题

markdown编辑器貌似排版有问题,看不清楚或者想要代码的人可以私聊 前言:都知道利用pingyin4j可以将汉字转成拼音及汉字首字母,但是遇到多音节汉字就会有问题,下面附上解决多音节字节将汉字转字母或者转成汉字首字母的代码。 1.前提,需要准备一个txt文件文件,放所有多音节字,文本内容放在博客最后 2.汉字或者词组转拼音代码附上 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; /** * 汉字转拼音,能处理多音字 */ public class ChineseToHanYuPYTest { private static Map> pinyinMap = new HashMap>(); private static long count = 0; pu...
菜鸟郭 发布于 1周前 阅读 4034 评论 22 点赞 9

快鸟VPN Win10下建立VPN连接(PPTP方式)

免费VPN账号 可以在Win 10应用商店搜索【快鸟VPN】或【快鸟SS】获取     本文介绍Windows 10系统上设置PPTP的设置方法。 设置之前,请确保Windows 10系统的电脑与PPTP服务器均已经连接到网络。文中涉及到的参数如下表: 注意:此处参数配置仅供本文讲解参考,真实环境中以实际参数为准。     1、右键电脑桌面右下角有线网络图标(或无线网络图标),点击打开网络和共享中心(或右键桌面上的网络,点击属性,进入网络和共享中心页面),并点击设置新的连接或网络,如下图: 2、选择连接到工作区,点击下一步。如下图所示: 3、选择使用我的Internet连接(VPN)(I),如下图所示: 4、在Internet地址中输入VPN服务器的地址,点击创建,如下图所示: 创建完成后,在更改适配器设置中,会多了一个VPN连接的图标,如下图所示: 1、双击VPN连接的图标,在弹出的设置页面中,找到VPN连接,并点击高级设置,如下图所示: 2、在编辑VPN连接的设置页面,选择VPN类型为点对点隧道协议(PPTP),在用户名和密码中分别填写PPTP的帐号和密码,点击保存。如下图所示: 3、返回到VPN连接的设置页面,参数确认无误后点击返回上一页,如下图所示: 4、点击连接,如下图所示: 5、连接成功,...
快鸟VPN 发布于 2周前 阅读 2126

高性能服务器架构思路(四)——编码复杂度和通信

广告
以前我们的代码,从上往下执行,每一行都会占用一定的CPU时间,这些代码的直接顺序,也是和编写的顺序基本一致,任何一行代码,都是唯一时刻的执行任务。
腾讯云

Mac安装Bower

1、安装bower,得首先安装node:   1 brew install npm  //npm是nodejs的程序包管理器,如果安装过nodejs,可忽略此步。 2、安装Git(因为需要从Git仓库获取一些代码包): 1 sudo brew install git  //也可以安装Git客户端版本 3、安装bower: 1 sudo npm install -g bower //-g:全局安装 4、配置bower环境变量:   把在第3步提示安装完成的bower存储路径配置到环境变量中,编辑~/.bash_profile文件: 1 2 3 4 5 6 export GOPATH=/Users/hopkings/www/Go export GOBIN=$GOPATH/bin export BOWER=/usr/local/Cellar/node/5.9.1/libexec/npm/lib/node_modules/bower/bin export PATH=$PATH:$GOBIN:$BOWER:/sbin:/usr/bin:/usr/sbin   //BOWER 是我自己的bower安装好的默认路径。   source ~/.bash_profile   5、测试是否成功安装: 1 2 Hopkings-MacBook-Air:~ hopkings$ bower -v 1.7.9 到这,安装成功!...
aTaller 发布于 40分钟前

关于weblogic.xml的配置

        <? xml version="1.0" encoding="GB2312" ?> <! DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> <weblogic-web-app> <!-- 为web.xml所定义角色赋值 如果是Weblogic 8.1 SP2 或者之前的版本,可以不定义security-role-assignment 如果是SP3,必须手工添加所有principal(角色或角色组);       --> <security-role-assignment> <!--  role-name 必须跟web.xml中security-role标记下的role-name取值相同  --> <role-name>pafaDemoUser</role-name> <!--  principal-name 必须是UM中定义的角色或者角色组,不能是用户  --> <principal-name>r_usermanager_rm_user</principal-name> <principal-name>p_g_rmtest03_myopr</principal-name> <principal-name>Administrators</principal-name> </security-role-assignment> <jsp-descriptor> <jsp-param> <param-name>pageCheckSeconds</param-name> <param-value>1</param-value> </jsp-param> <jsp-param> <param-name>compilerSupportsEncoding</param-name> <param-value>true</param-value...
xiaoxin 发布于 40分钟前

iOS-web网络请求

1.ios7后新特性要求App内访问网络请求,要采用 HTTPS 协议,针对http需要在info.plist中进行如下配置 在Info.plist中添加 App Transport Security Settings 类型 Dictionary ; 在 App Transport Security Settings 下添加 Allow Arbitrary Loads  类型Boolean ,值设为 YES; UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(0.0f,0.0f,self.view.bounds.size.width,self.view.bounds.size.height)]; [self.view addSubview:webView]; NSURL* url = [NSURL URLWithString:@"http://www.baidu.com"];//创建URL NSURLRequest* request = [NSURLRequest requestWithURL:url];//创建NSURLRequest [webView loadRequest:request];//加载  ...
小黑202 发布于 41分钟前

Spring Boot + Thymeleaf 解决self-closing tags问题

1. 添加maven依赖 <dependency> <groupId>net.sourceforge.nekohtml</groupId> <artifactId>nekohtml</artifactId> <version>1.9.22</version> </dependency> 2. 更改application.properties属性 spring.thymeleaf.mode=LEGACYHTML5
_Roger_ 发布于 49分钟前 阅读 1

jar包右下角显示小问号

lib目录导入jar包,总显示一个小问号,无法添加到配置环境中、、、、、 因为连接了svn所以要先提交到服务器,然后在add就可以了、、、
RegExInt 发布于 49分钟前

修改 map task 个数

https://my.oschina.net/u/1451042/blog/352810 256M hadoop distcp -Ddfs.block.size=$[256*1024*1024] /path/to/inputdata /p
会飞的胖头鱼 发布于 55分钟前

9个基于Java的搜索引擎框架

9个基于Java的搜索引擎框架
-_-struggle 发布于 1小时前 阅读 3

微积分29--方向导数

gjgjhgjhg
Betty__ 发布于 2小时前 阅读 3

Java SE 8: Lambda Quick Start Part.I

## 背景 - 匿名内部类 在Java中, 名内部类提供了一种实现class的方式,这个class在应用中可能只会出现一次. 比如, 在Swing或JavaFX应用中,键盘和鼠标事件需要编写大量的事件处理器.与其为每一个事件编写一个独立的事件处理器class,采用下面的写法更常见: ```java JButton testButton = new JButton("Test Button"); testButton.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent ae){ System.out.println("Click Detected by Anon Class"); } }); ``` 此外, 每个事件都需要一个实现ActionListener的单独类. 每当需要时就创建一个class, 这样的代码更易读. 但它们并不优雅, 因为相当多的代码只为了定义一个方法. - 函数式接口 定义ActionListener接口的代码如下: ```java package java.awt.event; import java.util.EventListener; public interface ActionListener extends EventListener { public void actionPerformed(ActionEvent e); } ``` ActionListener示例是只有一个方法的接口. 对于Java SE 8, 遵循此模式的接口称为"函数式接口". ``` > Note: 这种类型的接口, 以前称为单抽象方法类型(SAM). ``` 在Java中使用带有匿名内...
CasparLi 发布于 2小时前 阅读 5

hibernate多对多关系

hibernate多对多关系
黄柳淞 发布于 2小时前 阅读 1

spring+mybatis读写分离配置

<!-- 数据源的配置 --> <bean id="masterHikariConfig" class="com.zaxxer.hikari.HikariConfig"> <property name="poolName" value="springHikariCP"/> <property name="connectionTestQuery" value="SELECT 1"/> <property name="dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"/> <property name="dataSourceProperties"> <props> <prop key="url">${jdbc.master.url}</prop> <prop key="user">${jdbc.master.username}</prop> <prop key="password">${jdbc.master.password}</prop> </props> </property> <property name="autoCommit" value="true"/> </bean> <bean id="slave01HikariConfig" class="com.zaxxer.hikari.HikariConfig"> <property name="poolName" value="springHikariCP"/> <property name="connectionTestQuery" value="SELECT 1"/> <property name="dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"/> <property name="dataSourceProperties"> <props> <prop key="u...
吕兵阳 发布于 2小时前 阅读 5

解耦神器 —— 统跳协议和Rewrite引擎

以前写过简单实现APP内各模块界面跳转统一使用URL的文章,今天发现一篇手机天猫的同学写的统跳方案的文章,写的很好,转载和大家分享。 ------------------------------------分割线------------------------------------ 统跳协议是天猫App统一跳转协议,主要负责天猫App界面之间的串联,也就是界面跳转服务。Rewrite引擎是与之配合的一套URL重写引擎,可以通过配置实现重写规则动态化。 历史上的今天 统跳协议的前身是一套叫做internal的协议,internal要重点解决的问题是在WebView和推送通知中如何跳转到指定的界面,进一步在任何动态场景下如何跳转到指定界面。在这样的思路下,internal中定义了多种协议格式,如: tmall://tmallclient/?{"action":""} internal:url= link:url= tmall://mobile.tmall.com/page/ 几乎每一种场景都有一种格式的协议与之对应。在具体操作过程中这些协议都以URL表现出来。不难看出,这套协议最大的问题在于协议格式异构化严重,且不符合W3C的URL标准。随着App规模的扩大,场景日趋复杂,界面越来越多,这套协议的弊端也日益显露。 而在天猫App开始从百万级冲击千万级的时候,我们认识到一套格式统一,符合标准,规则简洁的协议非常必要。这...
xingjm8511 发布于 3小时前 阅读 8

CentOS 6.8 安装 zabbix 3.2.1

CentOS 6.8 安装 zabbix 3.2.1
卖新疆特产的老农民 发布于 3小时前 阅读 44

UEditor在线编辑器使用记录

1、自定义imageUrlPrefix var ue = UE.getEditor('container'); //对编辑器的操作最好在编辑器ready之后再做 ue.ready(function() { // 动态配置插入到编辑器的路径 ue.options.imageUrlPrefix = _basePath; });  
星痕2015 发布于 3小时前 阅读 7

2PC/3PC一致性协议

前言 在上一篇文章从ACID到CAP/BASE中我们介绍了CAP理论,其中最重要的一点就是一个分布式系统不可能同时满足一致性、可用性和分区容错性这三个基本需求,最多只能同时满足其中的两项;而一般都会在一致性和可用性之间进行权衡,于是产生了一系列的一致性协议。 在介绍有哪些一致性协议之前,我们先来看看一致性模型 一致性模型 一致性模型大体上可以划分为2个大类:强一致性和弱一致性 弱一致性可以划分为:最终一致性,因果一致性,读你所写一致性,会话一致性,单调读一致性,单调写一致性 其中最常见的两项就是:强一致性和最终一致性 强一致性:新的数据一旦写入,在任意副本任意时刻都能读到新值 最终一致性:当你写入一个新值后,有可能读不出来,但在某个时间窗口之后保证最终能读出来 本文介绍的2PC/3PC是属于强一致性协议 2PC/3PC 2PC/3PC全称:Two/Three Phase Commit,中文名叫叫两阶段/三阶段提交;为了使基于分布式系统架构下的所有节点在进行事务处理的过程中能够ACID特性而设计的一种算法,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并最终指示这些节点是否要把操作结果进行真正的提交两阶段提交的算法如下: 第一阶段:提交事务...
ksfzhaohui 发布于 3小时前 阅读 3

004,配置文件之使用rabbitmq-env.conf,rabbitmq.config在生产环境的应用和和一些注意的问题

对于rabbitmq而言,常用的配置文件有     mnesia【Erlang的分布式数据库】相关的配置,config配置文件,log日志 相关的配置。   首先的问题是 如何 找到或者查看rabbitmq默认的 相关配置的路径? 方式1,通过rabbitmqctl控制台:用administrator角色的账号登录,Overview--》Nodes即是。如下:              方式2,进入rabbitmq的安装目录下的 sbin文件夹下, vim  rabbitmq-defaults  ,然后 看到如下:信息:                          系统会自动的给这些文件加上后缀名。       rabbitmq config的配置相关的官方文档 路径:             http://www.rabbitmq.com/configure.html           官方给出的一个 示例配置:         https://github.com/rabbitmq/rabbitmq-server/blob/stable/docs/rabbitmq.config.example     如何修改config_file的路径? 有2种方法,本质上都一样。 方式一: 直接在rabbit的安装路径的sbin下的文件rabbitmq-defaults中 修改 CONFIG_FILE的值 方式二:找到 rabbit的安装路径的sbin下的文件rabbitmq-defaults中 ,所有环境变量的配置文件  的  文件路径 CO...
岸芷汀兰 发布于 3小时前 阅读 6

Mac入门(三)Mac os x用户必须掌握的快捷键

常用的快捷键记录如下: control+空格键  切换输入法 command+c  复制 command+v  粘贴 command+a  全选 个人感觉这个command和windows的ctrl差不多 command + tab 配合 command + Q 能够方便地关闭进程 command + delete 删除文件 command + ↑ 返回上级文件夹 control + ← 或者 → 在全屏窗口间切换 control + command + Z 打开未读QQ消息 control + command + space 打开emoji表情 control + command + 1-5 整理finder中文件 option + esc 朗读选中文本(需在 系统偏好设置 - 听写与语音 中开启,可以切换系统嗓音)  
双月通天 发布于 4小时前 阅读 7

Object Relational Tutorial --SQLAlchemy 1.1 Documentation 的部分翻译

最好对照文档看。
abdoudeng 发布于 4小时前

ubuntu环境下docker安装步骤

本问是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubuntu 系统: Ubuntu Xenial 16.04 (LTS) Ubuntu Wily 15.10 Ubuntu Trusty 14.04 (LTS) Ubuntu Precise 12.04 (LTS) 本页内容指引你安装使用由Docker管理的正式包和管理包. 使用这些安装包能确保你安装 Docker最新发行包. 如果你想安装并使用Ubuntu管理提供的软件包, 参照Ubuntu文档. 备注: Ubuntu Utopic 14.10 和 15.04 依旧在 Docker’s APT 仓库中,但不再提供官方技术支持. 前提条件 Docker要求是64位Ubuntu(无论哪个版本)。另外,内核必须在最小为3.10。3.10最新版本或更新的版本也行。 3.10之前版本缺少docker运行所需要的特征一些容器。这些老版本的bug,经常导致数据损失。 使用命令: uname -r 来显示内核版本: $ uname -r 3.11.0-15-generic 备注: 如果你之前安装过Docker 使用的APT, 确保升级你的APT源 到 Docker新版. 更新APT源 Docker’s APT 仓库 包括 Docker 1.7.1 及更高版本. 为了设定 APT 使用最新仓库的软件包,: 使用 sudo or root 权限登陆计算机. 打开 terminal window(命令窗口). 更新安装包信息, 确保 ...
豆花饭烧土豆 发布于 4小时前 阅读 4

数据库创建、表创建、加载数据

数据库创建、表创建、加载数据
qhaiyan 发布于 4小时前 阅读 1

高性能服务器架构思路(四)——编码复杂度和通信

广告
以前我们的代码,从上往下执行,每一行都会占用一定的CPU时间,这些代码的直接顺序,也是和编写的顺序基本一致,任何一行代码,都是唯一时刻的执行任务。
腾讯云

spring-data-jpa原理探秘(1)-运行环境创建及加载Repository接口

spring-data-jpa的优点很多,比如继承Repository接口,在注解中书写JPQL语句即可访问数据库;支持方法名解析方式访问数据库;使用Predicate支持动态查询等,在此不一一列举了。这些都是使用spring-data-jpa中的种种优点,要想将之使用的更好更优雅,就要从spring-data-jpa的加载和运行机制进行探秘。 此文系作者查看spring-data-jpa源码及参考javadoc文档成文,所以文中难免会有错误和纰漏,恳请读者指出。下面进入正题。 1.运行环境创建及加载Repository接口 spring-data-jpa在运行时和springframework框架实现了无缝对接。在使用spring的@Repository注解生成Repository实例时,使用动态代理类的方式对Repository接口进行了实例化并放入spring容器中备用。 下面是spring-data-jpa中占重要地位的RepositoryFactoryBeanSupport和RepositoryFactorySupport的类图: RepositoryFactoryBeanSupport的作用是,为spring的FactoryBean接口开发的适配器,可以很便捷的通过spring配置设置repository工厂;而RepositoryFactorySupport的作用是,创建一个给定repository接口实例的工厂bean。创建一个实现配置的repository接口的代理,并应用一个advice将控制交给QueryExecuterMethodIn...
gaolu 发布于 3天前 阅读 1957 评论 6 点赞 2

手把手教你, Jenkins构建iOS项目

Jenkins构建iOS项目 自动拉取GitHub/SVN 上传到fir/蒲公英
Royce_he 发布于 3天前 阅读 2165 评论 7 点赞 5

FastDFS结合FastDHT实现文件去重存储

存储文件时,为了节省存储空间,需要实现文件去重,即同一份文件只在服务器上存储一份。一种实现是文件上传后先落到应用服务器上,计算MD5并存储到数据库中,然后决定是否上传存储服务器。这样做的缺点是应用服务器端需要做并发控制,实现相对来说比较复杂。 FastDFS本身支持文件的排重处理机制,但需要FastDHT作为文件hash的索引存储。FastDHT是FastDFS同一个作者的开源key-value数据库。其排重原理为: FastDFS的storage server每次上传均计算文件的hash值,然后从FastDHT服务器上进行查找比对,如果没有返回,则写入hash,并将文件保存;如果有返回,则建立一个新的文件链接(软链),不保存文件。 实验环境搭建: 1、利用vmware player新建虚拟机,安装centos系统。 我用的是东北大学的一个镜像http://mirror.neu.edu.cn/centos/6.8/isos/i386/,取得文件为CentOS-6.8-i386-LiveCD.iso 2、安装fastdfs 网上安装资料挺多,推荐参考https://my.oschina.net/harlanblog/blog/466487?fromerr=cqe6bTu2,我们主要想测试FASTDHT的功能,因此完成到第5步即可。 3、安装fastdht 参考https://my.oschina.net/u/999023/blog/796238中fastdht的安装 搭建过程遇到的问题: 1、安装完...
zjg23 发布于 4天前 阅读 1927 评论 10 点赞 1 打赏 1

我的react组件化开发道路(二) 分页 组件开发

上一篇文章主要写了关于react组件化开发的一些基本配置,慢慢的深入到每个组件的详细介绍中,今天我们就来分享react的分页组件
梅大帅锅 发布于 5天前 阅读 1277 评论 3 点赞 5 打赏 1

Linux进程关闭和后台运行解析

在Linux中,通过信号,关闭进程,通过忽略信号,并把进程挂载到init进程下,保证进程可以后台运行
蛙牛 发布于 6天前 阅读 2421 评论 7 点赞 4 打赏 1

构建多平台的Ignite集群:Java+.NET

Ignite集群可以由它支持的任意平台启动的节点组成,包括Java、.NET和C++。本文会介绍如何通过NuGet和Maven运行一个.NET/Java集群,作为一个示例,本文会创建一个跨平台的点对点聊天系统。
李玉珏 发布于 1周前 阅读 1428 评论 4 点赞 3

Linux Shell 从入门到删除根目录跑路指南

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 1 [[ -z ${tmp_file} ]] && echo 1 1 (3)如果变量未定义还可以开启 set 选项: # cat a.sh set -u b= echo $b echo $a echo 1 # bash a.sh a.sh: line 4: a: unbound variable 2、路径含有空格导致误删文件 史上最经典的要数下面这个bumblebee项目了,这个项目本来不出名,不过,程序在其安装脚本install.sh里的一个bug让这个项目一下子成了全...
xrzs 发布于 1周前 阅读 4530 评论 22 点赞 16

java中将汉字转拼音,解决pinyin4j多音节问题

markdown编辑器貌似排版有问题,看不清楚或者想要代码的人可以私聊 前言:都知道利用pingyin4j可以将汉字转成拼音及汉字首字母,但是遇到多音节汉字就会有问题,下面附上解决多音节字节将汉字转字母或者转成汉字首字母的代码。 1.前提,需要准备一个txt文件文件,放所有多音节字,文本内容放在博客最后 2.汉字或者词组转拼音代码附上 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; /** * 汉字转拼音,能处理多音字 */ public class ChineseToHanYuPYTest { private static Map> pinyinMap = new HashMap>(); private static long count = 0; pu...
菜鸟郭 发布于 1周前 阅读 4034 评论 22 点赞 9

秒杀 tj/co 的 hprose 协程库

ES6 中引入了 Generator,Generator 通过封装之后,可以作为协程来进行使用。 其中对 Generator 封装最为著名的当属 tj/co,但是 tj/co 跟 ES2016 的 async/await 相比的话,还存在一些比较严重的缺陷。 hprose 中也引入了对 Generator 封装的协程支持,但是比 tj/co 更加完善,下面我们就来详细介绍一下它们之间的差别。
andot 发布于 1周前 阅读 2203 评论 20 点赞 9

kafka的高可用和一致性探究

# 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列表 废除的主要原因是:目前这个配置是个统...
乒乓狂魔 发布于 2周前 阅读 4252 评论 14 点赞 5

使用C#语言实现的查询条件界面展开/收起方案

使用C#语言实现的查询条件界面展开/收起方案
北风其凉 发布于 2周前 阅读 2295 评论 12 点赞 10

redis 主从配置

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  slave1  slave2 1.复制redis.conf到3个目录,修改端口 1000,2000,3000 ...
lyg945 发布于 2周前 阅读 4061 评论 20 点赞 11

React由0到1

本文用于指导开发团队从无到有搭建React的开发环境。文章并不会解释任何react语法规则,只关注如何利用已有的工具搭建一个便于开发和发布的环境。
随风溜达的向日葵 发布于 2周前 阅读 3078 评论 10 点赞 8

使用原生JS封装Tap事件,解决移动端300ms延迟

为了防止误操作,移动端iOS操作系统针对原生click事件做了300ms的延迟,这在一定程度上影响了我们的使用体验。 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 = 0, tapEndTime = 0, tapTime = 500, ...
Simon_ITer 发布于 2周前 阅读 1094 评论 6 点赞 2

我的react组件化开发道路(一) 一脸懵比的踩坑中

前端的技术栈越来越广,目前感觉三大主流:angular,react,vue,angular因为目前公司项目正在使用(版本1),vue稍稍了解了下,感觉跟angular的相似程度还是比较高的(好吧,个人感觉),而由于目前对react相对比较感兴趣,于是就开始了react的学习
梅大帅锅 发布于 2周前 阅读 1747 评论 16 点赞 2

iOS开发CoreGraphics核心图形框架之六——梯度渐变

开发中有时会使用梯度渐变视图,在CoreGraphics框架中,提供了这个类型来创建梯度渐变:CGShadingRef与CGGradientRef。
珲少 发布于 3周前 阅读 850 评论 4 点赞 3

Java消息队列任务的平滑关闭

对于消息队列的监听,我们一般使用Java写一个独立的程序,在Linux服务器上运行。程序启动后,通过消息队列客户端接收消息,放入一个线程池进行异步处理,并发的快速处理。当我们修改程序后,需要重新启动任务的时候,如何保证消息的不丢失呢?
蛙牛 发布于 3周前 阅读 3347 评论 17 点赞 6

一入前端深似海,从此红尘是路人系列第八弹之浅析Vue组件开发

前段时间由于忙着跳槽的工作交接及熟悉新公司,已经停更博客两周了。不得不说,TX的开发模式的的确确是非常好的,整个团队也都是行业大牛,但是大牛并没有一点脾气,作为一个小白有问题问他们,他们总是乐此不疲的教导着我,感谢志伟哥,感谢项目组所有的人。老规矩,下面直接上干货。
qiangdada 发布于 3周前 阅读 3334 评论 16 点赞 7

zabbix自动发现监控redis数据库

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 outputs: ports += [{'{#RE...
鸿弟 发布于 3周前 阅读 2426 点赞 3

nredis-proxy 高性能Redis 服务中间件

一、 NRedis-Proxy 介绍 NRedis-Proxy 是一个Redis中间件服务,第一个Java 版本开源Redis中间件,无须修改业务应用程序任何代码与配置,与业务解耦;以Spring为基础开发自定义标签,让它可配置化,使其更加容易上手;以netty 作为通信传输工具,让它具有高性能,高并发,可分布式扩展部署等特点,单片性能损耗约5%左右。 二、 NRedis-Proxy 技术架构图 三、 NRedis-Proxy 优势以及缺点 a)      功能优势             1.        自带连接池,简单稳定且性能高效             2.        支持读写分离,从读按照权重算法             3.        支持灵活主从配置策略             4.        默认支持一致性哈希分片策略,扩展性强             5.        分片策略与从读取策略可自定义化             6.        支持主从自动切换,提供RedisServer监听服务             7.        支持HA 分布式部署,节点可随意扩展 b)     天然缺点 中间件的存在,会自带网络损耗,但是网络带宽足够,可以忽略不计。相比客户端分片等策略,中间件可...
顶部