李明杰(MJ)高級講師
多年軟件開發(fā)經(jīng)驗和教學經(jīng)驗,尤其精通Android和iOS平臺的開發(fā),還開發(fā)了2個iOS的流行開源框架(MJRefresh、MJExtension), 目前在國內的使用率非常高。
李老師曾負責主導開發(fā)過裝飾ERP系統(tǒng)手機端、服裝連鎖管理系統(tǒng)手機及平板客戶端、自動雞尾酒調酒機系統(tǒng)、網(wǎng)絡斗地主RPG、游戲 引擎等。曾以架構師及技術總監(jiān)的角色幫客戶成功獲得多家風投,并上了中央電視臺《給你一個億》節(jié)目。除了Android和iOS平臺,李老師也深入研究 HTML5、phoneGap、Sencha-Touch、Less、Bootstrap、AngularJS、NodeJS等前端利器。
2015年8月 CCTV發(fā)現(xiàn)之旅《華商論見》欄目特約嘉賓,受邀參加節(jié)目《互聯(lián)網(wǎng) 浪潮下的創(chuàng)業(yè)之道》,接受央視著名主持人水均益采 訪。2015年10月 曾受邀加入中國經(jīng)貿代表團隨總理出訪韓國,參與總理訪韓午餐會以及中日韓工商峰會。2015年12月 榮獲中國經(jīng)濟新模 式創(chuàng)新與發(fā)展峰會“2015中國IT教育培訓行業(yè)**具創(chuàng)新人物”獎。
李老師不但具有豐富的軟件開發(fā)經(jīng)驗,并且懂得如何把自己掌握的知識及技能傳授給他人,曾給多家企業(yè)提供Android/iOS技術培訓 、技術支持、技術咨詢等服務。李老師的授課視頻深得學生們的喜愛,已培養(yǎng)出好幾千名iOS程序員。
多年Java開發(fā)從業(yè)者:首先,這個問題主要問:自學Java編程技術,如果才 能找到一份Java編程的工作。按照現(xiàn)在的招聘標準來看,無論你去哪個公司面試,你只需要滿足他們公司的需求就可以。
找到一份Java編程工作需要掌握的內容如下 :
首先是Javase作為Java**基本的學習 內容,不在多說。
然后是掌握Java的基本原理,因為做Java 編程開發(fā)必須學會Java,用到Java非常多,但是現(xiàn)在很多公司是不用去寫原生的Java,但是如果你想成為一個厲害的Java開發(fā)者,Java必須從理論到實 際操作中都要非常得心應手。
現(xiàn)在公司是必須要求會用框架的,所以取代Java的就是jQuery,這是一個非 常簡易的框架,學jQuery的時候你就會覺得它比Java好用的多。所以jQuery是你必須掌握的。
還有必須學一些框架,比如SpringMVC、Spring、Mybatis、Struts、Hibernate等等,這些就會難理解一些,但是公司是需要要求你會框架的,目前國內的公司應用SSH比 較多,建議至少學三個框架,這是找到工作的基本需求。
數(shù)據(jù)庫技術是Java工作者必須掌握的技能常用就是Mysql。
Javaweb的內容還有html、css、jsp、Servlet等技術,這些都是現(xiàn)在找Java開發(fā)必須掌握的東西。
以上就是粗略的必須掌握的技術,如果你想找到一份Java開發(fā)的工作,上述 相關技術必須熟練掌握并且應用到項目中。
互聯(lián)網(wǎng)類項目 項目一:CRM客戶管理系統(tǒng)
互聯(lián)網(wǎng)類項目 項目一:CRM客戶管理系統(tǒng)
項目簡介
CRM項目主要是管理企業(yè)與客戶之間的關系。該項目主要實現(xiàn)功能:營銷管 理、客戶管理、服務管理、統(tǒng)計報表、基礎數(shù)據(jù)、權限管理等。
技術特點
項目備戰(zhàn)(git、Maven、shiro)、Struts2(表現(xiàn)層MVC框架)、 Hibernate(數(shù)據(jù)層持久化框架)、Spring(業(yè)務邏輯IoC和AOP框架)、JBPM(工作流支持)、Junit(單元測試)、Jquery(JS框架)。
學習效果
**項目使學員熟悉軟件開發(fā)的整個流程(需求分析、設計、編碼、測試以 及部署與維護);提升框架整合能力;成為具備一定的項目管理和架構設計能力的中高級Java工程師。
Spark實例
>
1、入門
object HelloSpark { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("Simple application").setMaster("local") val sc = new SparkContext(conf) sc.addJar("C:\\Users\\asus\\IdeaPRojects\\HelloSpark\\target\\HelloSpark-1.0-SNAPSHOT.jar") val res = sc.textFile("D://info.log").map(line => { val f = line.split("\t") (f(1),1) }).reduceByKey(_ _).map(x => { val host = new URL(x._1).getHost (host,x._2) }).filter(_._1 == "java").sortBy(_._2,false).saveAsTextFile("D://out2") //println(res)D sc.stop() } }2、Parallelize
object H{ def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("Simple Application").setMaster("local") val sc = new SparkContext(conf) val a = sc.parallelize(List(( "A",90,27 ),( "B",91,22 ),( "C",90,25 ))).sortBy(x => Girl(x._2,x._3),false).collect().toBuffer println(a) } } case class Girl(val a:Int,val b:Int) extends Ordered[Girl] with Serializable{ override def compare(that: Girl): Int = { if(this.a == that.a){ that.b - this.b } else { this.a - that.a } } }3、Spark Streaming(Socket)
object SocketSparkStreaming{ val updateFunc = (iter: Iterator[(String, Seq[Int], Option[Int])]) => { //iter.flatMap(it=>Some(it._2.sum it._3.getOrElse(0)).map(x=>(it._1,x))) //iter.map{case(x,y,z)=>Some(y.sum z.getOrElse(0)).map(m=>(x, m))} iter.map(t => (t._1, t._2.sum t._3.getOrElse(0))) } def main(args: Array[String]): Unit = { LoggerLevels.setStreamingLogLevels() val conf = new SparkConf().setAppName("Spark Streaming").setMaster("local[2]") val sc = new SparkContext(conf) sc.setCheckpointDir("d://ck") val ssc = new StreamingContext(sc,Seconds(5)) val rdd = ssc.socketTextStream("192.168.1.101",8888) val res = rdd.flatMap(_.split(" ")).map((_,1)).updateStateByKey(updateFunc,new HashPartitioner(sc.defaultParallelism),true) res.print() ssc.start() ssc.awaitTermination() } }4、Spark Streaming(Flume)
object FlumeSparkStreaming{ def main(args: Array[String]): Unit = { LoggerLevels.setStreamingLogLevels() val conf = new SparkConf().setAppName("Spark Streaming").setMaster("local[2]") val sc = new SparkContext(conf) sc.setCheckpointDir("d://ck") val ssc = new StreamingContext(sc,Seconds(5)) val address = Seq(new InetSocketAddress("192.168.1.101",8888)) val flumeStream = FlumeUtils.createPollingStream(ssc,address,StorageLevel.MEMORY_AND_DISK_SER) val Words = flumeStream.flatMap(x => new String(x.event.getBody.array()).split(" ")).map((_,1)) val result = words.reduceByKey(_ _) result.print() ssc.start() ssc.awaitTermination() } }5、Kafka WordCount
object KafkaWordCount{ val updateFunc = (iter: Iterator[(String, Seq[Int], Option[Int])]) => { //iter.flatMap(it=>Some(it._2.sum it._3.getOrElse(0)).map(x=>(it._1,x))) //iter.map{case(x,y,z)=>Some(y.sum z.getOrElse(0)).map(m=>(x, m))} iter.map(t => (t._1, t._2.sum t._3.getOrElse(0))) } def main(args: Array[String]): Unit = { LoggerLevels.setStreamingLogLevels() val Array(zkQuorum,group,topics,numThreads) = args val conf = new SparkConf().setAppName("Spark Streaming").setMaster("local[2]") val ssc = new StreamingContext(conf,Seconds(5)) ssc.checkpoint("d://ckkafka") val topicMap = topics.split(",").map((_,numThreads.toInt)).toMap val result = KafkaUtils.createStream(ssc,zkQuorum,group,topicMap).map(_._2) .flatMap(_.split(" ")).map((_,1)) .updateStateByKey(updateFunc,new HashPartitioner( ssc.sparkContext.defaultParallelism),rememberPartitioner = true) result.print() ssc.start() ssc.awaitTermination() } }6、窗口函數(shù)
object WindowFunc{ def main(args: Array[String]): Unit = { LoggerLevels.setStreamingLogLevels() val conf = new SparkConf().setAppName("Spark Streaming").setMaster("local[2]") val ssc = new StreamingContext(conf,Seconds(5)) ssc.checkpoint("d://ck") val lines = ssc.socketTextStream("192.168.1.101",8888) val result = lines.flatMap(_.split(" ")).map((_,1)).reduceByKeyAndWindow( (a:Int,b:Int) => (a b), Seconds(15), Seconds(5) ) result.print() ssc.start() ssc.awaitTermination() } }
相關推薦:
體驗課預約試聽
倒計時
課程熱線:
客服在線時間:早上9點~下午6點,其他時間請在線預約報名或留言,謝謝!