OBJECTIVE (Eligible to work from Jun **th, ****)
To pursue a full-time employment opportunity as a Web-based Front-end, C & Java Core, Java EE Back-end programmer, RHEL System Administrator, DB Administrator, Big Data Hadoop Developer or any computer science relating fields. PROFESSIONAL SUMMARY
An experienced C & Java programmer, with a passion for technology and the ability to prove it, interests in programming any aspects of all layers. Solid backgrounds in algorithms, data structures, fundamentals of Object Oriented Design and design patterns, especially MVC. Being able to quickly adapt to new development environments and changing business requirements, quickly learns new systems and technologies, finds creative and scalable solutions to problems, and dive deeply to diagnose the root cause of potential problems.
SKILLS/STRENGTHS
HTML, CSS, JavaScript, AJAX, jQuery, jQuery-plugins,jQuery-EasyUI, BootStrap, AngularJS,XML/JSON Servlet, JSP, Struts2, SpringMVC, Spring, Hibernate (DBUtils), MyBatis, Activiti,SOAP, CXF, RESTful, Jersey, Subversion, and Maven, PHP
Hadoop2.0, Zookeeper, Sqoop, BASH shell, HBASE, HIVE, flume, MongoDB SQL PL/SQL,MySQL, MariaDB, Oracle
RHEL6&7 Administration (CentOS 6&7)
Assembly (i86 IA64)&C, Understanding Linux Kernel
RECENT PROJECTS
Website Access Log Analysis Module:
Configure cron daemons to run a shell to routinely collect the changes of the access.log via flume and store on the HDFS renamed by the formatted date string. After cleaning it with a formatting MapReduce program, use HIVE to generate the required data (for simplicity, only aggregate rows according IP address instead of session id or specific cookies) and store back to relation db via sqoob for back-end’s further use. Web-based Supply-Chain System:
A web-based struts2+spring+hibernate supply-chain system to manage import, export and exchange goods of a warehouse with respect to roles departments and users. Use jQuery-plugins to encapsulate the front-end interface and codes. Basic DAO CRUD is abstract out of the regular DAO. And the whole project is divided into independent modules according to the service logic.
Web-based Linkedin-Like project built with S2SH frameworks: A web-based struts2+spring+hibernate Linked-in Imitation system, provides user registering with university, skills, companies and languages selection, searching relating users, collecting users’ location(HTML 5 features) data and showing their connections on Google Map.
Several kernel modification tasks for the purposes of understanding the mechanism of Linux kernel: Several kernel modification tasks covering booting, memory addressing & management, exception gates handling and file system management.
Web-based E-store Project of MVC architecture built with PHP: Imitate MVC architecture via PHP and implement all basic features of an on-line store. EDUCATION
New Jersey Institute of Technology, NJ, U.S.
M.S of Computer Science September 2014- May 2016
Current GPA: 3.889/4.0
First year of a M.E program of Power Machinery and Engineering, September 2013- June 2014 North China Electric Power University, Beijing, P.R.C. B.E. of Thermal Energy and its Power Energy, September 2009 - June 2013 Overall GPA: 3.21/5.0 Percentile: 12/360
WORK EXPERIENCE
July-August 2012, Intern DBA & Intern Program at Changyi Info-Tech Co., LTD. Beijing China RESEARCHES
A Prioritization Algorithm for Crime Busting based on Centrality Analysis, Yundong Gu, Wentao Li, Liwen Zhang, Mingke Shen, Binglei Xie EMEIT2012, Volume 23 of Advances in Intelligent System Research(AISR), 2012, P155-P159 EI#:201*********** Wentao LI More info on: https://web.njit.edu/~wl256 Tel: 862-***-****
Email: acuijq@r.postjobfree.com
PROJECTS IN DETAILS
Website Access Log Analysis Module:
Environment: CentOS7, Tomcat7.0.54 MariaDB-5.5.44 Hadoop-2.7.2, HIVE-0.13.0 flume-1.5.0 sqoop-1.4.3 Tools: Eclipse Mars-Java EE, vim
Using hadoop cluster to hourly analyses larger amount logging data. Hourly calculate PV, UV, Bouncing Rate for the manager to review.
Configure cron daemons to run a shell to routinely collect the changes of the access.log via flume and store on the HDFS renamed by the formatted date string.
Clean it with a formatting MapReduce program
Use HIVE to generate the required data (for simplicity, only aggregate rows according IP address instead of session id or specific cookies)
Store back to relation db via sqoob for back-end’s further use. Web-based Supply-Chain System:
Environment: CentOS6.7, Tomcat7.0, MariaDB-5.5
Tools: NetBeans8.1, Webstorm11.0.2, MyEclipse2014, Mysql Workbench Frameworks: Struts2.3.1 Spring3.2.2 Hibernate4.1.0 A web-based struts2+spring+hibernate supply-chain system to manage import, export and exchange goods of a warehouse with respect to roles departments and users. Use jQuery-plugins to encapsulate the front-end interface and codes. Basic DAO CRUD is abstract out of the regular DAO. And the whole project is divided into independent modules according to the service logic. Thus different modules could be developed separately and independently. https://github.com/winslow90/supplychain
Web-based Linkedin-Like project built with S2SH frameworks: Environment: RHEL7, Tomcat7.0, MariaDB-5.5
Tools: NetBeans8.1, Webstorm11.0.2, MyEclipse2014, Mysql Workbench Frameworks: Struts2.3.1 Spring3.2.2 Hibernate4.1.0 A web-based struts2+spring+hibernate Linked-in Imitation system, provides user registering with university, skills, companies and languages selection, searching relating users, collecting users’ location(HTML 5 features) data and showing their connections on Google Map.
The system provides features:
User Registration
User Login & logout
User Changing Profile photo
User Profile Management
Edit summary
Edit experiences
Edit skills
Edit education Experience
Edit language
Viewing Extending & Removing connections
Search connections
Search connections by the name
Search connection by the skill
Search connections by company
Search connections by university
Search connection by interests
Extend a connectionView connections
Remove a connection
User Notification Management
View notifications
Remove notifications
Clear notifications
Search by interests
Weighted Recommendation
Show your connection’s location on Map
Weighted Recommendation List
Show your connection’s location on Map
https://github.com/winslow90/cs673_s2sh
Several kernel modification tasks for the purposes of understanding the mechanism of Linux kernel: Environment: CentOS6.6, Linux-kernel-2.6.32
Tools: LXR, vim, gcc, gdb, yasm, nasm
Several kernel modification tasks covering
LAMP, virtualization, datacenter computing infrastructure, Review of Intel architecture based on Intel 64 and IA-32 Architectures Software Developer's Manual (3429 pages!), Intel and AT&T Linux assembly, assembly in-line programming
Setting up LXR (Linux cross referencer) on your laptop and in-class demonstration, compiling the kernel, Module programming, Booting - machine BIOS, disk MBR, Grub Linux loader, preliminary setup (setup, startup_32 1 and 2)
Booting continues, Overview of kernel startup and initialization (start_kernel) Memory - overview, segmentation
Memory - mapping, paging (get_free_pages),
Memory - caching (kmalloc) and process address space (vmalloc) Process - thread union, task and thread struct, PID0 (swapper) Process - PID1 (init), PID2 (kthreadd), PID3 (softirqd), PID4 (migrationd) Process - process scheduling and process switching Interrupts - exceptions (traps)
Interrupts - hard interrupts do_IRQ Interrupts - soft interrupts do_softirq, ksoftirqd, timer interrupts File system - virtual file system, registering, mounting, Block IO, File system - IO scheduler, device driver, vfs_read, Ext4 example Networking - receiving packets: NIC, ISR, Softirq, IP, TCP, Inet, BSD, User Networking - sending packets: User, BSD, Inet, TCP, IP, Softirq, Qdisc, ISR, NIC https://web.njit.edu/~wl256/njit/cs680.html
Data Analysis using WEKA
Tools: MatlabR2015b, weka3-6-13, Maven
First use Matlab to initial anaylyse the data and have a big picture of the specific pattern needed to mine. Then format and clean the required data, and use apache-commons-csv to output the required csv file. 10-fold the cleaned formatted data.
Then with 9 of the 10-folded data use WEKA to generate the ADTree(Decision tree) and statistic probabilities to support Naive Bayes prediction. And use the rest one of the 10-folded data to test and verify the data. Repeat it for 10 times to verify the modules created reach the requirement, which is cross-validation. https://web.njit.edu/~wl256/download/cs634/li_wentao_finalproj.pdf AprioriAlg Module
Frameworks: Spring Core, mybatis, Maven
Tools: Netbeans, MysqlWorkbench
Implement an association-rule finding module to analyses the transaction data acquired from database via mybatis instead of hibernate to improve performance. https://web.njit.edu/~wl256/download/cs634/li_wentao_midtermproj.pdf https://github.com/winslow90/AprioriAlg
Network Analysis via WireShark
Tools: WireShark
This objective of this project is an intensive study of interconnected networks and the corresponding protocols that make interconnected architectures function as a single unified communication system. It covers a wide variety of topics including a brief overview of OSI and TCP/IP architectures, Internet History and Evolution, Underlying Network Technologies (Ethernet, FDDI, Frame Relay, ATM, etc.), IP addresses, Subnetting and Classless Inter-Domain Routing (CIDR), ARP and RARP, IP over ATM and ATMARP, IP protocol, ICMP, Virtual Private Networks (VPNs), IP version 6, Routing, Multicasting, UDP, TCP and TCP Congestion Control, Client Server Model of Interaction, Domain Name System, BOOTP, DHCP, various Application Protocols such as ftp, tftp, telnet, http, smtp, snmp. Upon successful completion of the course, students will have gained a deep understanding of: i) the Internet Architecture, ii) the network and transport protocols that support its operation, iii) the architectural design of the software implementation of some of these protocols, iv) various application protocols that use the Internet infrastructure to provide useful services to end users, v) how to study and analyze the behavior and operation of protocols using a packet analyzer. https://web.njit.edu/~wl256/download/cs656/project.tar.gz PL/SQL Programming tasks
Environment: Oracle 11g, Hadoop-2.0 HBASE0.96.2
Tools: Webstorm11, SqlDeveloper4.1.2, AquaDataStudio-15 Several tasks covering: PL/SQL as "normal" language PL/SQL accessing tables Using AQUA for Oracle programming Object-Oriented Modeling Inserting etc. in PL/SQL Object-Oriented DBs Triggers in PL/SQL Object-Relational DBs Objects in SQL HTML and JavaScript Intro to XML Database Security XML in Oracle SQL Querying XML Distributed Databases PSP Programming Introduction to UNIX/LINUX use (brief) Web databases No-SQL databases Intro to HBase Indexing and Performance Tuning https://web.njit.edu/~wl256/download/cs632/Binder_hws_wl256.pdf Huffman Encoder & Decoder
Environment: Scientific Linux release 6.7 (Carbon) Tools: Eclipse - c/c++
Implement Huffman Coding . The implementation work not only on text files (e.g. .txt, .c, .java etc) but also on binary files (e.g. .pdf, .jpg, mpeg, and other executables). Argument filename in the command-line below is an arbitrary file-name. It can be the name of this PDF file p1610s15.pdf, or its text (LaTeX) source p1610s15.tex or some image file image1.jpg or some movie file such as 01aug25 flare.mpg or something else. The suffix
(sometimes called the extension) of filename is what follows the dot (sometimes we include the dot as part of the suffix). Thus for image1.jpg, the suffix is jpg or .jpg; other suffixes above are pdf, tex, mpg. Thus Huffman coding
(encoding or decoding) of a 2MB file should not take more than 2 minutes in Java, C, or C++ on an AFS machine. The implementation has its own Heap/PriorityQueue. https://web.njit.edu/~wl256/download/cs610/pp_5692_complete.tar.gz C/S online CHATROOM
Environment: Scientific Linux release 6.7 (Carbon) Tools: Eclipse
And it includes a course project of a C/S online chatroom to login and send unicast / broadcast, emoji, drawing save/load received images and text & emojis. https://web.njit.edu/~wl256/download/cs602/cover602.pdf https://web.njit.edu/~wl256/download/cs602/ChatRoom.tar.gz Web-based E-store Project of MVC architecture built with PHP: Environment: CentOS 6.6, Mysql, Apache-httpd-2.2, PHP-5.6, Tools: Eclipse-PHP, Xdebug, phpMyAdmin
Imitate MVC architecture via PHP and implement all basic features of an on-line store. https://web.njit.edu/~wl256/download/cs631/631_final_project_lwt.docx https://web.njit.edu/~wl256/download/cs631/computerstoreonline.rar