欢迎访问皮皮网官网
皮皮网

【豆瓣fm源码】【100个公司视频源码】【老虎机源码APP】wordcount源码下载

时间:2024-11-30 01:57:39 分类:探索 来源:开源门户源码

1.七爪源码:C# 中的码下扩展方法
2.UEditor百度开源富文本编辑器UEditor 1.2.5 正式版
3.如何在MaxCompute上运行HadoopMR作业

wordcount源码下载

七爪源码:C# 中的扩展方法

       扩展方法在C#中允许将方法“添加”到现有类型,无需创建新的码下派生类型或修改原始类型。扩展方法实质上是码下静态方法,但其调用方式如同实例方法,码下这在C#、码下F#和Visual Basic的码下豆瓣fm源码客户端代码中没有明显区别。常见的码下扩展方法包括向System.Collections.IEnumerable和System.Collections.Generic.IEnumerable添加查询功能的LINQ标准查询运算符。

       例如,码下使用System.Linq指令将标准查询运算符引入范围后,码下可以对整数数组调用OrderBy方法进行排序。码下扩展方法定义为静态方法,码下使用实例方法语法调用,码下100个公司视频源码第一个参数指定方法操作的码下类型,并带有this修饰符。码下扩展方法的码下范围取决于是否使用using指令显式导入命名空间。

       以下示例展示了为System.String类定义的扩展方法,WordCount方法,定义在非嵌套、非泛型的静态类中。使用using指令即可进入范围并调用该方法。调用扩展方法时使用实例方法语法,编译器将生成中间语言(IL)以对静态方法进行调用。

       扩展方法允许在代码中调用,老虎机源码APPMyExtensions类和WordCount方法都是静态的,可以通过其他静态成员访问。WordCount方法可以像其他静态方法一样被调用。

       扩展方法的调用在编译时进行。当编译器遇到方法调用时,首先在类型的实例方法中查找匹配项,如果没有找到,则搜索该类型定义的任何扩展方法,并绑定到第一个找到的扩展方法。如果一个类型有一个名为Process(int i)的方法,并且有一个具有相同签名的北京峰源码工全民扩展方法,则编译器将始终绑定到实例方法。

       使用扩展方法的常见模式包括:

       1. 收集功能:过去,为给定类型创建实现System.Collections.Generic.IEnumerable接口并包含该类型集合功能的“集合类”是常见的做法。然而,通过使用System.Collections.Generic.IEnumerable上的扩展,可以实现相同功能,提供从任何集合调用功能的灵活性,如System.Array或System.Collections.Generic.List上的实现。

       2. 特定层的功能:在使用洋葱架构或其他分层应用程序设计时,域实体或数据传输对象通常不包含功能或仅包含适用于所有层的最小功能。扩展方法可用于为每个应用程序层添加特定功能,安徽app开发源码无需引入其他层不需要或不需要的方法。

UEditor百度开源富文本编辑器UEditor 1.2.5 正式版

       UEditor, 百度开源的富文本编辑器,迎来了1.2.5的正式版更新。此次升级包含了多项重要功能的增强和优化,以提升用户的使用体验。

       首先,table功能得到了全面重构,支持插入表头和标题,用户可以轻松创建结构清晰的表格。复制、调整宽高、前后插入行列的操作更加便捷,为用户提供了类似Word的流畅体验。新增了表格平均分布行和列的功能,以及单元格对齐方式的选择,使得表格的布局更加灵活。

       在键盘操作上,选中部分表格后,用户可以使用backspace或delete键方便地删除单元格,同时表格属性和单元格属性的对话框也进行了重写,操作更加直观。

       粘贴功能也有了新的选择,支持纯文本、源码和纯标签三种模式,满足不同场景的需求。同时,添加了计算字数的getContentLength接口和wordcount事件,帮助用户实时掌握文本长度。

       上传功能支持参数动态绑定,提高了上传的灵活性。list功能进行了优化,支持新的列表标签,如一,一),(一),1),(1),——等,并且可以调整列表层级,增强了列表的多样性和可定制性。

       全屏模式的快捷键被设为ALT+Z,提升了全屏工作的效率。uparse.js展示页加载器的加入,进一步提升了页面加载速度和稳定性。

       在优化修复方面,插入代码功能更流畅,避免了在某些浏览器中的问题。截图功能扩展到了非ie浏览器,中文输入的回退问题也得到了修正,键盘操作的回退逻辑也得到了改进。

扩展资料

       UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量、可定制、用户体验优秀等特点。开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用。百度UEditor的推出,可以帮助不少网站开者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间,有效降低了企业的开发成本。

如何在MaxCompute上运行HadoopMR作业

       MaxCompute(原ODPS)有一套自己的MapReduce编程模型和接口,简单说来,这套接口的输入输出都是MaxCompute中的Table,处理的数据是以Record为组织形式的,它可以很好地描述Table中的数据处理过程,然而与社区的Hadoop相比,编程接口差异较大。Hadoop用户如果要将原来的Hadoop MR作业迁移到MaxCompute的MR执行,需要重写MR的代码,使用MaxCompute的接口进行编译和调试,运行正常后再打成一个Jar包才能放到MaxCompute的平台来运行。这个过程十分繁琐,需要耗费很多的开发和测试人力。如果能够完全不改或者少量地修改原来的Hadoop MR代码就能在MaxCompute平台上跑起来,将是一个比较理想的方式。

       çŽ°åœ¨MaxCompute平台提供了一个HadoopMR到MaxCompute MR的适配工具,已经在一定程度上实现了Hadoop MR作业的二进制级别的兼容,即用户可以在不改代码的情况下通过指定一些配置,就能将原来在Hadoop上运行的MR jar包拿过来直接跑在MaxCompute上。目前该插件处于测试阶段,暂时还不能支持用户自定义comparator和自定义key类型,下面将以WordCount程序为例,介绍一下这个插件的基本使用方式。

       ä½¿ç”¨è¯¥æ’件在MaxCompute平台跑一个HadoopMR作业的基本步骤如下:

       1. 下载HadoopMR的插件

       ä¸‹è½½æ’件,包名为hadoop2openmr-1.0.jar,注意,这个jar里面已经包含hadoop-2.7.2版本的相关依赖,在作业的jar包中请不要携带hadoop的依赖,避免版本冲突。

       2. 准备好HadoopMR的程序jar包

       ç¼–译导出WordCount的jar包:wordcount_test.jar ,wordcount程序的源码如下:

       package com.aliyun.odps.mapred.example.hadoop;

       import org.apache.hadoop.conf.Configuration;

       import org.apache.hadoop.fs.Path;

       import org.apache.hadoop.io.IntWritable;

       import org.apache.hadoop.io.Text;

       import org.apache.hadoop.mapreduce.Job;

       import org.apache.hadoop.mapreduce.Mapper;

       import org.apache.hadoop.mapreduce.Reducer;

       import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

       import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

       import java.io.IOException;

       import java.util.StringTokenizer;

       public class WordCount {

       public static class TokenizerMapper

       extends Mapper<Object, Text, Text, IntWritable>{

       private final static IntWritable one = new IntWritable(1);

       private Text word = new Text();

       public void map(Object key, Text value, Context context

       ) throws IOException, InterruptedException {

       StringTokenizer itr = new StringTokenizer(value.toString());

       while (itr.hasMoreTokens()) {

       word.set(itr.nextToken());

       context.write(word, one);

       }

       }

       }

       public static class IntSumReducer

       extends Reducer<Text,IntWritable,Text,IntWritable> {

       private IntWritable result = new IntWritable();

       public void reduce(Text key, Iterable<IntWritable> values,

       Context context

       ) throws IOException, InterruptedException {

       int sum = 0;

       for (IntWritable val : values) {

       sum += val.get();

       }

       result.set(sum);

       context.write(key, result);

       }

       }

       public static void main(String[] args) throws Exception {

       Configuration conf = new Configuration();

       Job job = Job.getInstance(conf, "word count");

       job.setJarByClass(WordCount.class);

       job.setMapperClass(TokenizerMapper.class);

       job.setCombinerClass(IntSumReducer.class);

       job.setReducerClass(IntSumReducer.class);

       job.setOutputKeyClass(Text.class);

       job.setOutputValueClass(IntWritable.class);

       FileInputFormat.addInputPath(job, new Path(args[0]));

       FileOutputFormat.setOutputPath(job, new Path(args[1]));

       System.exit(job.waitForCompletion(true) ? 0 : 1);

       }

       }

       3. 测试数据准备

       åˆ›å»ºè¾“入表和输出表

       create table if not exists wc_in(line string);

       create table if not exists wc_out(key string, cnt bigint);

       é€šè¿‡tunnel将数据导入输入表中

       å¾…导入文本文件data.txt的数据内容如下:

       hello maxcompute

       hello mapreduce

       ä¾‹å¦‚可以通过如下命令将data.txt的数据导入wc_in中,

       tunnel upload data.txt wc_in;

       4. 准备好表与hdfs文件路径的映射关系配置

       é…ç½®æ–‡ä»¶å‘½åä¸ºï¼šwordcount-table-res.conf

       {

       "file:/foo": {

       "resolver": {

       "resolver": "c.TextFileResolver",

       "properties": {

       "text.resolver.columns.combine.enable": "true",

       "text.resolver.seperator": "\t"

       }

       },

       "tableInfos": [

       {

       "tblName": "wc_in",

       "partSpec": { },

       "label": "__default__"

       }

       ],

       "matchMode": "exact"

       },

       "file:/bar": {

       "resolver": {

       "resolver": "openmr.resolver.BinaryFileResolver",

       "properties": {

       "binary.resolver.input.key.class" : "org.apache.hadoop.io.Text",

       "binary.resolver.input.value.class" : "org.apache.hadoop.io.LongWritable"

       }

       },

       "tableInfos": [

       {

       "tblName": "wc_out",

       "partSpec": { },

       "label": "__default__"

       }

       ],

       "matchMode": "fuzzy"

       }

       }

copyright © 2016 powered by 皮皮网   sitemap