李明杰(MJ)高级讲师
多年软件开发经验和教学经验,尤其精通Android和iOS平台的开发,还开发了2个iOS的流行开源框架(MJRefresh、MJExtension),
目前在国内的使用率非常高。
李老师曾负责主导开发过装饰ERP系统手机端、服装连锁管理系统手机及平板客户端、自动鸡尾酒调酒机系统、网络斗地主RPG、游戏
引擎等。曾以架构师及技术总监的角色帮客户成功获得多家风投,并上了中央电视台《给你一个亿》节目。除了Android和iOS平台,李老师也深入研究
HTML5、phoneGap、Sencha-Touch、Less、Bootstrap、AngularJS、NodeJS等前端利器。
2015年8月 CCTV发现之旅《华商论见》栏目特约嘉宾,受邀参加节目《互联网 浪潮下的创业之道》,接受央视著名主持人水均益采
访。2015年10月 曾受邀加入中国经贸代表团随总理出访韩国,参与总理访韩午餐会以及中日韩工商峰会。2015年12月 荣获中国经济新模
式创新与发展峰会“2015中国IT教育培训行业**具创新人物”奖。
李老师不但具有丰富的软件开发经验,并且懂得如何把自己掌握的知识及技能传授给他人,曾给多家企业提供Android/iOS技术培训
、技术支持、技术咨询等服务。李老师的授课视频深得学生们的喜爱,已培养出好几千名iOS程序员。
Java工程师就业前景
Java工程师就业前景
2015年,在美国、加拿大、澳大利亚、新加坡等发达国家和中等发达国家,
JAVA软件工程师年薪均在4—15万美金,而在国内,JAVA软件工程师也有极好的工作机会和很高的薪水。
在未来5年内,合格软件人才的需求将远大于供给。JAVA软件工程师是目前
国际高端计算机领域就业薪资非常高的一类软件工程师。
一般情况下的JAVA软件工程师是分四个等级,从软件技术员到助理软件工程
师,再到软件工程师,**后成为高级软件工程师。
根据IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需
求达到全部需求量的60%—70%。同时,JAVA软件工程师的工资待遇相对较高。
通常来说,具有3—5年开发经验的工程师,拥有年薪15万元是很正常的一个
薪酬水平。80%的学生毕业后年薪都超过了8万元。
根据专业数据分析,由于我国经济发展不均衡因素,JAVA软件工程师工资待
遇在城市之间的差异也较大,一级城市(如北京、上海等),初级软件工程师的待遇大概在4000-6000之间,中级软件工程师的待遇在6000—8000之间,
而高级软件工程师的待遇基本破万。
大数据核心知识
Hadoop基础
Hadoop1介绍
hadoop1架构
hadoop2架构(对比hadoop1)
hadoop2环境搭建
HDFS操作
yarn操作
Hadoop应用
Hive数据仓库
zookeeper系统服务
HBase非关系型数据库
Sqoop数据库抽取工具
Flume日志抽取工具
Spark基础
环境搭建
Spark平台介绍
RDD弹性分布式数据集
Scala编程
Spark应用
Spark-SQL组件
DataFrame组件
课程优势
1.真实的企业项目;
2.目前企业中应用广泛的技术路线;
3.部分Spark源码剖析,从源码层面提升问题解决能力。
4.从hadoop1到hadoop2机制原理详细解说;
5.生产环境hadoop集群调优经验;
6.企业真实项目实战;
本阶段学习目标
1.了解hadoop机制原理 ;
2.了解hadoop集群搭建过程;
3.了解Hdfs API使用以及mr编程模型;
4.了解hive、hbase、sqoop、flume等组件的使用方法;
5.Spark平台的优势以及Spark集群的搭建过程;
6.Scala程序设计基础;
7.Spark-SQL和DataFrame API详解。
本阶段学习效果
1.了解hadoop集群的搭建过程;
2.能够**mr和hive来实现简单的数据清洗的业务需求;
3.能够了解数据的抽取,转换,清洗,建模,入库过程;
4.掌握Spark集群的搭建;
5.掌握函数式编程思想,能够根据业务需求编写高质量的Scala程序;
6.掌握大规模离线数据的计算、分析能力。
视频转码在实际项目中的应用视频转码在实际项目中的应用
>
视频转码在实际项目中的应用
前言:因之前有遇到在项目中将.flv文件视频转换为.mp4,故作此记录,以下是使用ffmpeg.exe作为转码工具。
1:接下来需要准备工具;http://ffmpeg.org/ **相应版本的ffmpeg.exe(64位 32位)
2:实现代码,以下只是其中一种实现方式:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web;
namespace VideoConvert.Models
{
public class FFmpegHelper
{
/// <summary>
/// 32位
/// </summary>
PRivate static string ffmpegPath32 = AppDomain.CurrentDomain.BaseDirectory @"ffmpeg\32\ffmpeg.exe";
/// <summary>
/// 64位
/// </summary>
private static string ffmpegPath64 = AppDomain.CurrentDomain.BaseDirectory @"ffmpeg\64\ffmpeg.exe";
/// <summary>
/// 实际版本
/// </summary>
private static string path;
private static Process p = null;
/// <summary>
/// 将flv转码为 mp4
/// </summary>
/// <param name="oldPath">....flv</param>
/// <param name="newPath">.....mp4</param>
public void VideoConvert(string oldPath,string newPath)
{
using (p = new Process())
{
//更多转码方式可以查看**方文档,以下只是其中一种:
string arg = " -i " oldPath " -c:v libx264 -crf 23 -c:a libfaac -q:a 100 " newPath;
//判断系统版本:
Is32Or64();
p.StartInfo.Arguments = arg;
p.StartInfo.FileName = path;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
//表示不显示转码窗口
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
//设置进程终止时触发事件;
p.EnableRaisingEvents = true;
p.Exited = new EventHandler(p_Exited);
p.OutputDataReceived =new DataReceivedEventHandler(p_OutputDataReceived);
p.ErrorDataReceived =new DataReceivedEventHandler(p_ErrorDataReceived);
p.Start();
//读取输出;
p.BeginOutputReadLine();
p.BeginErrorReadLine();
//设置等待进程触发p_Exited事件后在往下执行;
p.WaitForExit();
}
}
void p_ErrorDataReceived(object sender, DataReceivedEventArgs e)
{
//记录输出日志
}
void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
//记录输出日志
}
void p_Exited(object sender, EventArgs e)
{
//进程退出触发该事件,可以利用此执行其它操作或者是判断
}
public void Is32Or64()
{
if (Environment.Is64BitOperatingSystem)
{
path = ffmpegPath64;
}
else {
path = ffmpegPath32;
}
}
}
}
相关推荐:
苏州JAVA培训 苏州JAVA培训班 苏州JAVA培训机构