Using just few plugins you can set your environment to be more productive over NodeJS or JavaScript projects.The pre-requirements are:- Install the sublime text Package Control to help you install the plugins using the command prompt (Ctrl + Shift + P)- Install NodeJS and NPM into your environment curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install nodejs sudo npm install npm -g- Install JSHint sudo npm install -g jshint Sublime text plugins:To install puglins, use Ctrl + Shift + P and type: "package Control" and Select "Install Package"1 - SublimeLinterThis is a plugin base for the next onehttp://www.sublimelinter.com/en/latest/installation.html#installing-via-pc 2 - SublimeLinter-jshint This plugin points out the errors, for example, when you miss a semicolon.https://github.com/SublimeLinter/SublimeLinter-jshint 3 - Tern for SublimeThis plugin handles autocompletion and Jump to definition for Javascript/NodeJS fileshttps://github.com/ternjs/tern_for_sublime 4 - AdvancedNewFileThis allows for faster file creation within a project.https://github.com/skuroda/Sublime-AdvancedNewFile5 - SideBarEnhancementsThis plugin provides a lot of extra features inside the menu, for example, find in the project, find in parent folder, open file in a browser etc...https://github.com/titoBouzout/SideBarEnhancementsOther links:http://www.hongkiat.com/blog/sublime-text-plugins/http://aslanbakan.com/en/blog/33-essential-sublime-text-plugins-for-all-developers/http://tutsmais.com.br/blog/sublime-2/melhores-plugins-para-sublime-text-2/ ReviewsMY EXPERIENCE AND TIPS ON OCMJEABecoming a certified Architect Part 2 (Assignment) & Part 3 (Essay)jeannes SCEA/OCMJEA 5 part 2&3 experiencesCracking OCMJEA !!!CourseArchitect Enterprise applications with Java EE at Globalcode with Kleber XavierBooksReal World Java EE Patterns - Rethinking Best Practices by Adam Bien Sun Certified Enterprise Architect for Java EE Study Guide by Mark Cade, Humphrey SheilSun Certified Enterprise Architect for Java EE Study Guide (Exam 310-051) by Paul Allen, Joseph BambaraUML Distilled: A Brief Guide to the Standard Object Modeling Language by Martin Fowler Mock Exams WhizlabsEPractize LabsUML ToolEnterprise ArchitectLinksUnderstanding UML Class RelationshipsThe Java EE Tutorial 6OO DesignExtra Linkshttp://docs.oracle.com/cd/E19263-01/817-5764/architecture.htmlhttp://rieck.dyndns.org/architecture/suntoneam_wp_5.24.pdf?version=1http://www.site.uottawa.ca/~bochmann/SEG3101/Notes/SEG3101-ch3-4%20-%20Non-Functional%20Requirements%20-%20Qualities.pdfhttp://www.oracle.com/technetwork/articles/javase/persistenceapi-135534.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/gipjg.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/gipko.htmlhttp://docs.oracle.com/cd/E40938_01/doc.74/e40142/dev_jme_apps.htmhttp://www.oracle.com/technetwork/articles/javaee/jpa-137156.htmlhttp://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.htmlhttp://www.symantec.com/connect/articles/detection-sql-injection-and-cross-site-scripting-attackshttp://docs.oracle.com/javaee/5/tutorial/doc/bnckb.htmlhttp://en.wikipedia.org/wiki/Service-oriented_architecturehttp://docs.oracle.com/javaee/6/tutorial/doc/giepu.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/bnayl.htmlhttp://www.eaipatterns.com/ObserverJmsExample.htmlhttp://docs.oracle.com/javaee/5/tutorial/doc/bncjx.htmlhttps://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htmhttps://software.intel.com/en-us/articles/bitter-messages-java-messaging-anti-patternshttp://docs.oracle.com/javase/7/docs/technotes/guides/rmi-iiop/tutorial.htmlhttp://docs.oracle.com/cd/E19798-01/821-1841/gipgl/index.htmlhttp://docs.oracle.com/cd/E19226-01/820-7627/bnacy/index.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/bncdx.htmlhttp://www.oracle.com/technetwork/java/jndi/index.htmlhttp://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/faq.htmlhttp://docs.oracle.com/javaee/1.4/tutorial/doc/JSFIntro.htmlhttp://www.javaworld.com/article/2077995/java-concurrency/asynchronous-processing-support-in-servlet-3-0.htmlhttps://blogs.oracle.com/enterprisetechtips/entry/asynchronous_support_in_servlet_3http://docs.oracle.com/javaee/1.4/tutorial/doc/JSFIntro10.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/bnaph.htmlhttp://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_53/rzatz/51/program/sesdeci.htmhttp://thewebplant.com/why-no-scripts-should-be-written-in-jsps-java/http://www.oracle.com/technetwork/topics/index-090910.htmlhttp://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzaha/securmod.htmhttp://docs.oracle.com/javase/tutorial/deployment/webstart/security.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/gijrp.htmlhttp://docs.oracle.com/javaee/6/api/javax/ejb/EJBContext.htmlhttp://en.wikipedia.org/wiki/Principal_(computer_security)http://www.webopedia.com/TERM/P/public_key_cryptography.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/gkigq.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/giplj.htmlhttp://beginnersbook.com/2013/05/method-overloading/http://www.javaworld.com/article/2075478/core-java/j2ee-clustering--part-2.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/bnaby.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/bnbpj.htmlhttp://docs.oracle.com/javaee/5/tutorial/doc/bncjy.htmlhttp://docs.oracle.com/cd/E19798-01/821-1841/bncgs/index.htmlhttps://access.redhat.com/documentation/en-US/JBoss_Enterprise_Web_Platform/5/html/JBoss_WS_CXF_User_Guide/WS_RM_Messaging_Tutorial.htmlhttp://www.javabeat.net/managing-transactions-in-ejb-3-0/http://docs.oracle.com/javaee/6/tutorial/doc/bnbqa.htmlhttp://www.oodesign.com/design-principles.htmlhttp://www.javagyan.com/tutorials/designprinciples/common-reuse-principlehttp://docs.oracle.com/javaee/6/tutorial/doc/bnboy.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/gipvi.htmlhttp://www.iai.uni-bonn.de/III/lehre/vorlesungen/SWT/RE05/slides/09_Non-functional%20Requirements.pdfhttp://www.w3resource.com/java-tutorial/java-object-oriented-programming.phphttp://blog.bryanbibat.net/2009/08/10/object-oriented-principles/http://it.toolbox.com/blogs/enterprise-solutions/design-principles-cohesion-16069http://www.oracle.com/technetwork/articles/javaee/javaee6overview-part3-139660.htmlhttp://java.dzone.com/articles/cdi-di-p1http://docs.oracle.com/javaee/6/tutorial/doc/giepx.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/giqzr.htmlhttp://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.htmlhttp://docs.oracle.com/javaee/5/tutorial/doc/bnaqq.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/gijtu.htmlhttp://docs.oracle.com/javaee/5/tutorial/doc/bnalj.htmlhttp://javapapers.com/jsp/explain-the-scope-of-jsp-objects/http://orangeslate.com/2007/11/27/six-best-web-frameworks-in-java/http://www.acunetix.com/https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=securityhttp://docs.oracle.com/cd/E19798-01/821-1841/bnbxw/index.htmlhttp://docs.oracle.com/cd/E19798-01/821-1841/bnbwy/index.htmlhttp://docs.oracle.com/cd/E19226-01/820-7627/gjiie/index.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/bnbxj.htmlhttps://www.owasp.org/index.php/Cross-site_Scripting_(XSS)http://www.ibm.com/developerworks/library/ws-jcajms/http://www-01.ibm.com/support/knowledgecenter/SSGMGV_3.1.0/com.ibm.cics.ts31.doc/dfhws/concepts/soap/dfhws_message.htm?cp=SSGMGV_3.1.0%2F5-1-2-0&lang=enhttp://javapapers.com/web-service/soap-web-service-introduction/http://refcardz.dzone.com/refcardz/whats-new-jpa-20http://www.javaworld.com/article/2075841/enterprise-java/connect-the-enterprise-with-the-jca--part-1.htmlhttp://docs.oracle.com/javase/7/docs/technotes/guides/idl/GShome.htmlhttps://blogs.oracle.com/arungupta/entry/consuming_and_producing_json_usinghttp://www.blackwasp.co.uk/FactoryMethod.aspxhttp://javapapers.com/design-patterns/facade-design-pattern/http://docs.oracle.com/javaee/6/tutorial/doc/giwhb.htmlhttp://www.oracle.com/technetwork/java/dataaccessobject-138824.htmlhttp://www.javaworld.com/article/2077679/soa/get-a-handle-on-the-jax-ws-api-s-handler-framework.htmlhttp://docs.oracle.com/javaee/6/tutorial/doc/gkjio.htmlhttp://uddi.xml.org/uddi-org Quando trabalhamos diretamente na branch master no Git e comum notar diversos merges automaticos:O que acontece e o git juntando o codigo do repositorio remoto com o seus novos commits.Uma forma para minimizar problemas com merge e conflitos e trabalhar com branches locais.Principalmente quando voce tem uma tarefa que pode demorar dias, ao inves de ter uma surpresa ao fazer git pull apos um longo periodo.E isolar seu codigo em uma branch local, assim sera possivel ir para a master e fazer git pull (sem conflitos) quantas vezes necessario.Exemplo:Imagine que voce tem uma tarefa, uma feature para implementar.1 - Crie uma branch local para iniciar a tarefa: git co -b task50_bugfixgit add file1 file2git ci -m "bugfix #50" 2 - Quando possivel, baixe os codigos do repositorio remoto(de preferencia quando seu working directory estiver limpo)git co mastergit pull# Se voce tiver codigo do repositorio remoto:git co task50git rebase master(Se alguem alterou no mesmo local que voce, sera gerado conflitos neste ponto)A ideia e fazer este processo varias vezes ao dia, sera mais facil testar e resolver conflitos em poucos commits do que em varios commits apos uma semana de commits da sua equipe.3 - Salvando o codigo no repositorio remoto:Quando voce terminar sua tarefa na sua branch local, sao necessarios 2 passos:i) garantir que voce baixou os novos commits ( git pull na master - como mostrado no passo anterior)ii) copiar seu codigo da branch local para a master antes