Last active
April 22, 2025 14:54
-
-
Save wadouk/5b72a9671bfb52fb28ca496f3ecde24d to your computer and use it in GitHub Desktop.
Mon cv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json", | |
"meta": { | |
"theme": "onepage-plus" | |
}, | |
"basics": { | |
"name": "Nicolas Bétheuil", | |
"email": "[email protected]", | |
"label": "Solutionneur professionel - Développeur senior", | |
"website": "https://wadouk.github.io", | |
"summary": "Ingénieur logiciel senior avec 20 ans d'expérience dans la conception et le développement de solutions logicielles robustes et évolutives. Spécialisé en Domain-Driven Design (DDD), architectures orientées services et langages fonctionnels. Passionné par la résolution de problèmes complexes et l'amélioration continue des processus de développement ou métier.", | |
"profiles": [ | |
{ | |
"network": "github", | |
"username": "wadouk", | |
"url": "https://github.com/wadouk" | |
}, | |
{ | |
"network": "photo", | |
"username": "pixelfed", | |
"url": "https://pixelfed.fr/wadouk" | |
}, | |
{ | |
"network": "linkedin", | |
"username": "nicolasbetheuil", | |
"url": "https://www.linkedin.com/in/nicolasbetheuil/" | |
} | |
] | |
}, | |
"certificates": [ | |
{ | |
"name": "Functional Programming Principles in Scala", | |
"issuer": "Coursera", | |
"date": "2013" | |
}, | |
{ | |
"name": "TOEIC (775)", | |
"date": "2004" | |
}, | |
{ | |
"name": "Bac +4, Chargé de projet (option Ingénierie des Systèmes d'information)", | |
"issuer": "ITIN", | |
"date": "2004" | |
}, | |
{ | |
"name": "Licence, Bac +3, Internet Mobile", | |
"issuer": "ITIN", | |
"date": "2001" | |
}, | |
{ | |
"name": "BTS, Bac +2, Informatique de gestion", | |
"date": "2001", | |
"issuer": "IMI / ESG" | |
} | |
], | |
"education": [ | |
{ | |
"area": "Chargé de projet", | |
"courses": [ | |
"Ingénierie des Systèmes d'information" | |
], | |
"institution": "ITIN", | |
"studyType": " Bac +4 Chargé de projet (option : Ingénierie des Systèmes d'information)", | |
"startDate": "2001", | |
"endDate": "2003" | |
}, | |
{ | |
"area": "Internet Mobile", | |
"institution": "ITIN", | |
"studyType": "Licence, Bac +3", | |
"startDate": "2000", | |
"endDate": "2001" | |
}, | |
{ | |
"area": "Informatique de gestion", | |
"startDate": "1998", | |
"endDate": "2001", | |
"studyType": "BTS, Bac +2", | |
"institution": "IMI / ESG" | |
}, | |
{ | |
"area": "Javascript puissant / Javascript Guru", | |
"institution": "Delicious Insight", | |
"endDate": "2012" | |
}, | |
{ | |
"area": "Extrème Java / Usine Logicielle, des conseils à la pratique / Développement avec le framework Spring / Scrum par la Pratique", | |
"institution": "Valtech", | |
"endDate": "2010" | |
}, | |
{ | |
"area": "Formation Lean Startup pour entrepreneurs en création", | |
"endDate": "2014" | |
}, | |
{ | |
"area": "Continuous delivery Kickstart", | |
"institution": "kickstartacademy", | |
"endDate": "2014" | |
}, | |
{ | |
"area": "Webpack", | |
"startDate": "2018-04", | |
"institution": "HumanCoders", | |
"endDate": "2018-04" | |
} | |
], | |
"work": [ | |
{ | |
"name": "Performance Immo", | |
"company": "Performance Immo", | |
"position": "Développeur", | |
"startDate": "2019-01", | |
"endDate": "2023-06", | |
"summary": "Développeur chez un éditeur SaaS de GMAO (Gestion de la maintenance)", | |
"location": "Saint-Cloud, Télétravail", | |
"keywords": [ | |
"En interne" | |
] | |
}, | |
{ | |
"name": "Mappy", | |
"company": "Mappy", | |
"position": "Développeur", | |
"startDate": "2017-03", | |
"endDate": "2018-12", | |
"summary": "Au sein d’une équipe de 5 développeurs et 1 manager, développeur senior", | |
"keywords": [ | |
"En interne" | |
] | |
}, | |
{ | |
"name": "Valtech", | |
"company": "Valtech", | |
"position": "Développeur", | |
"startDate": "2010-09", | |
"endDate": "2017-01", | |
"keywords": [ | |
"ESN", | |
"Java", | |
"JavaScript" | |
] | |
}, | |
{ | |
"name": "Atos Origin", | |
"company": "Atos Origin", | |
"position": "Consultant EAI", | |
"startDate": "2006-06", | |
"endDate": "2010-09", | |
"keywords": [ | |
"ESN" | |
] | |
}, | |
{ | |
"name": "Synetics / Soft Computing", | |
"company": "Synetics / Soft Computing", | |
"startDate": "2004-06", | |
"endDate": "2006-06", | |
"position": "Consultant EAI", | |
"keywords": [ | |
"ESN" | |
] | |
}, | |
{ | |
"name": "Thalès IS, Business One", | |
"company": "Thalès IS, Business One", | |
"position": "Consultant EAI", | |
"startDate": "2003-10", | |
"endDate": "2004-05", | |
"keywords": [ | |
"ESN" | |
] | |
}, | |
{ | |
"name": "Usinor SI / Tixis Systems", | |
"company": "Usinor SI / Tixis Systems", | |
"startDate": "2001-10", | |
"endDate": "2003-09", | |
"description": "Contrat d'apprentissage, Technicien", | |
"position": "Technicien", | |
"keywords": [ | |
"Java", | |
"XML", | |
"DOM", | |
"XSL", | |
"Servlet", | |
"Tomcat", | |
"SQLServer", | |
"Netbeans", | |
"Thread", | |
"JDBC" | |
] | |
}, | |
{ | |
"name": "Ericsson", | |
"company": "Ericsson", | |
"startDate": "2000-09", | |
"endDate": "2001-08", | |
"position": "WebMaster", | |
"description": "Alternance, Webmaster de l'équipe innovation" | |
}, | |
{ | |
"name": "Assurance Juridique", | |
"company": "Assurance Juridique", | |
"summary": "Développement de la première plate forme de devis et souscription d'assurance en ligne", | |
"position": "WebMaster", | |
"startDate": "1998-07", | |
"endDate": "2000-08", | |
"description": "Alternance" | |
} | |
], | |
"languages": [ | |
{ | |
"language": "Français", | |
"fluency": "Native Speaker" | |
}, | |
{ | |
"language": "Anglais", | |
"fluency": "Intermediate" | |
} | |
], | |
"publications": [ | |
{ | |
"name": "10 bonnes raisons de se mettre à Scala", | |
"publisher": "Programmez.com", | |
"releaseDate": "2012-12" | |
}, | |
{ | |
"name": "Cours du soir : Git, de zéro à l’infini", | |
"summary": "Animation de formation interne, joué 2 fois", | |
"releaseDate": "2013" | |
}, | |
{ | |
"name": "Vous avez dit GIT ?", | |
"url": "https://youtu.be/eJUqcC1-U_s", | |
"releaseDate": "2014-11-26", | |
"publisher": "Meetup HTML5 Spécial GIT" | |
}, | |
{ | |
"name": "Cours du soir : React trully isomorphic", | |
"summary": "Atelier de formation interne sur le server side rendering en react, joué 3 fois", | |
"releaseDate": "2015" | |
}, | |
{ | |
"name": "Quelle différence entre Permaculture et Agilité ?", | |
"publisher": "Meetup HumanTalk", | |
"url": "https://youtu.be/FTJS6Sg-an8", | |
"summary": "Approche conjointe de la systémique", | |
"releaseDate": "2017-05" | |
}, | |
{ | |
"name": "Interview", | |
"publisher": "Techologie", | |
"url": "https://techologie.net/episodes/3-permaculture-et-agilite/", | |
"summary": "Interview sur le parallèle agilité permaculture\n\nUne suite d'une conférence donnée sous la forme d'une interview", | |
"releaseDate": "2018-12-03" | |
}, | |
{ | |
"name": "Enrichissement de MDN", | |
"publisher": "Mozilla Developer Network", | |
"url": "https://github.com/mdn/content/pull/23399", | |
"summary": "En manipulant les server sent events, je me suis rendu compte d'une imprécision dans la documentation disponible sur Mozilla Developer Network", | |
"releaseDate": "2023-01" | |
} | |
], | |
"skills": [ | |
{ | |
"name": "Scrum master, mentorat agile, AMOA", | |
"keywords": [ | |
"Cadrage", | |
"Chiffrage (ou non chiffrage)", | |
"Animation des cérémonies", | |
"Facilitation", | |
"Rétrospective", | |
"Gestion des problèmes", | |
"Collaboration inclusive", | |
"Animation d’ateliers", | |
"Découpage des tâches" | |
] | |
}, | |
{ | |
"name": "Mentorat technique", | |
"keywords": [ | |
"XP", | |
"CI", | |
"CD", | |
"tests unitaires", | |
"tests automatisés", | |
"Scrum", | |
"DDD", | |
"TDD", | |
"BDD" | |
] | |
}, | |
{ | |
"name": "Développeur web", | |
"keywords": [ | |
"HTML", | |
"CSS", | |
"JavaScript", | |
"Elm", | |
"webpack", | |
"vite", | |
"react", | |
"preact" | |
] | |
}, | |
{ | |
"name": "IDE, Outils", | |
"keywords": [ | |
"IntelliJ", | |
"NodeJS", | |
"GitLab", | |
"Ansible", | |
"QGis" | |
] | |
}, | |
{ | |
"name": "Base de données", | |
"keywords": [ | |
"PostgreSQL", | |
"Elastic Search", | |
"MongoDB", | |
"eventstore", | |
"SQLite", | |
"Oracle", | |
"PostGIS" | |
] | |
}, | |
{ | |
"name": "VCS", | |
"keywords": [ | |
"GIT" | |
] | |
}, | |
{ | |
"name": "Languages", | |
"keywords": [ | |
"Scala", | |
"elm", | |
"JavaScript", | |
"React", | |
"Java", | |
"Pl/sql", | |
"UML", | |
"Scripting unix", | |
"Bash" | |
] | |
}, | |
{ | |
"name": "OS", | |
"keywords": [ | |
"Linux", | |
"Mac OS", | |
"Unix" | |
] | |
}, | |
{ | |
"name": "Conception", | |
"keywords": [ | |
"Merise", | |
"UML", | |
"Domain driven design", | |
"DDD", | |
"TDD", | |
"Test Driven Design", | |
"BDD", | |
"Behaviour Driven Design", | |
"Urbanisation" | |
] | |
}, | |
{ | |
"name": "Transmission des savoirs", | |
"keywords": [ | |
"animation de formation", | |
"animation d'ateliers" | |
] | |
}, | |
{ | |
"name": "SIG", | |
"keywords": [ | |
"OpenStreetMap", | |
"QGis", | |
"PostGis" | |
] | |
} | |
], | |
"interests": [ | |
{ | |
"name": "Photographie", | |
"keywords": [ | |
"informatique", | |
"précision", | |
"détail", | |
"élégance" | |
] | |
}, | |
{ | |
"name": "Astronomie", | |
"keywords": [ | |
"Découverte", | |
"Émerveillement", | |
"Apprendre", | |
"Transmission", | |
"Nature" | |
] | |
}, | |
{ | |
"name": "Randonnée", | |
"keywords": [ | |
"Découverte", | |
"Émerveillement", | |
"Apprendre", | |
"Nature", | |
"Sport", | |
"Dépassement" | |
] | |
}, | |
{ | |
"name": "Vélo couché", | |
"keywords": [ | |
"Sport", | |
"Pas se faire mal" | |
] | |
} | |
], | |
"projects": [ | |
{ | |
"name": "Carte de pollution lumineuse", | |
"entity": "AVEX", | |
"description": "Mise en ligne des données actualisées de la carte de pollution lumineuse d'une association d'astronomie d'ile de france. Les données étaient distribuées par des archives conséquentes à télécharger et visualisées sur Google Earth. J'ai toujours préféré voir les infos directement dans le navigateur (web as a platform).", | |
"url": "https://avex-asso.org/dossiers/2024-nav", | |
"type": "OpenSource", | |
"keywords": [ | |
"QGis", | |
"VanillaJS", | |
"Map libre" | |
], | |
"endDate": "2024-05" | |
}, | |
{ | |
"name": "OpenFuelMap.net", | |
"startDate": "2023", | |
"type": "OpenSource", | |
"entity": "Libre", | |
"url": "https://openfuelmap.net", | |
"description": "Reprise du site, OpenFuelMap Cheap fuel for everyone ! Reprise de la maintenance et l'hébergement du site. Utilisation de l'open data du gouvernement pour trouver rapidement, simplement, librement tout en respectant votre vie privée les stations de carburant les plus près.", | |
"keywords": [ | |
"VanillaJS", | |
"OpenStreetMap", | |
"PostGis" | |
] | |
}, | |
{ | |
"name": "od2osm", | |
"url": "https://github.com/wadouk/od2osm", | |
"description": "Un outil de comparaison et d'ajout de point opendata avec osm ", | |
"endDate": "2020-05", | |
"entity": "Libre", | |
"keywords": [ | |
"VanillaJS", | |
"OpenStreetMap", | |
"preact" | |
] | |
}, | |
{ | |
"name": "Dashboard", | |
"entity": "Performance Immo", | |
"startDate": "2019-01", | |
"endDate": "2023-06", | |
"type": "Développeur", | |
"roles": [ | |
"Développeur", | |
"AMOA", | |
"Ops" | |
], | |
"description": "Développeur principal chez un éditeur SaaS de GMAO (Gestion de maintenance)", | |
"keywords": [ | |
"Scala", | |
"Elm", | |
"git", | |
"GitLab", | |
"GitLab CI", | |
"DDD", | |
"CQRS", | |
"TDD", | |
"eventstore", | |
"PostgreSQL", | |
"Elasticsearch", | |
"MongoDB", | |
"CleverCloud", | |
"Ansible", | |
"pdfmake", | |
"pdf-kit", | |
"pdflib", | |
"mocha", | |
"handlebar", | |
"markdown", | |
"vite", | |
"react", | |
"webpack" | |
], | |
"highlights": [ | |
"Maintenance et évolution de notre outil de ticketing (Dashboard) destiné aux gestionnaires immobilier", | |
"Contribution stratégique aux architectures logicielle", | |
"Optimisation de performance en elm/javascript", | |
"Développement et évolution de notre outil de conformité documentaire", | |
"Les clients configurent directement leurs documents à partir de leurs donner en toute autonomie", | |
"pdfmake, pdf-kit, pdflib, mocha, handlebar, markdown, vite", | |
"Implémentation d’un serveur web en Haskell (contournement du bug Apache 39727)", | |
"Développement et évolution de la gestion d’activité de conseillers en gestion de patrimoine", | |
"Mise en place et mise à jour de l’usine logiciel : GitLab, GitLab CI, Nexus, Traefik", | |
"Mise en place et mise à jour des outils de communication interne : Jitsi, Rocket.Chat" | |
] | |
}, | |
{ | |
"name": "mappy.com", | |
"entity": "Mappy", | |
"type": "Développeur front au sein de l’équipe Web", | |
"roles": [ | |
"Développeur front", | |
"Coach" | |
], | |
"startDate": "2017-03", | |
"endDate": "2018-12", | |
"keywords": [ | |
"Node", | |
"JavaScript", | |
"EcmaScript 6", | |
"Leaflet", | |
"Backbone", | |
"gulp", | |
"webpack", | |
"Jenkins", | |
"SiteSpeed", | |
"Selenium", | |
"GIT", | |
"Puppet" | |
], | |
"highlights": [ | |
"Au sein d’une équipe de 5 développeurs et 1 manager, développeur senior", | |
"Développement / maintenance de fonctionnalités sur le site mappy.com", | |
"Accompagnement et initialisation du bandeau RGPD", | |
"Participation active sur les choix et les décisions d’architecture", | |
"Optimisation du bundle applicatif (webpack, webfont)", | |
"Mise en place / évangélisation des bonnes pratique XP : TDD, Baby Step, Refactoring …" | |
] | |
}, | |
{ | |
"name": "Responsive", | |
"entity": "Club Med", | |
"roles": [ | |
"Développeur Javascript Back du Front" | |
], | |
"startDate": "2015-03", | |
"endDate": "2016-10", | |
"description": "Refonte du site marchand en responsive & isomorphique, Membre d’une équipe de 4 à 8 développeurs, 2 à 4 intégrateurs, PO, BA, dans la team front au sein du département Digital", | |
"keywords": [ | |
"Node", | |
"React", | |
"browserify", | |
"npm", | |
"gulp", | |
"graphql", | |
"Baobab", | |
"Scrum", | |
"TDD", | |
"Baby Step", | |
"refactoring", | |
"GIT", | |
"SauceLabs", | |
"Docker", | |
"Real User Monitoring (RUM)", | |
"SEO" | |
], | |
"highlights": [ | |
"Participation à la refonte du site responsive design, isomorphique (universelle)", | |
"Plutôt orienté sur la connexion du front React au backoffice. Recherche & Force de proposition sur les choix d’architecture et de conception", | |
"Animation agile de l’équipe, équivalent Scrum Master (akka : animation des cérémonies)", | |
"Développements de composants, Mise en place d’un outil de Real User Monitoring (nodejs, elasticsearch, kibana (elk), clever-cloud)" | |
] | |
}, | |
{ | |
"name": "Legacy", | |
"entity": "Club Med", | |
"roles": [ | |
"Développeur Web en Java" | |
], | |
"startDate": "2014-04", | |
"endDate": "2015-03", | |
"description": "Membre d’une équipe de: 4 à 6 développeurs au sein du Domaine Internet d’une quinzaine de personnes, Scrum", | |
"keywords": [ | |
"Java", | |
"Spring 3.1", | |
"Struts", | |
"JBoss", | |
"Backbone", | |
"Jasmine", | |
"require", | |
"IntelliJ", | |
"Jenkins", | |
"Selenium2", | |
"D3js", | |
"svn", | |
"TDD", | |
"refactoring" | |
], | |
"highlights": [ | |
"Réalisation de la nouvelle homepage, migration du reste du site vers la nouvelle identité visuelle", | |
"intervention sur divers composants legacy (SEO, redirection, gestion des stocks ...)", | |
"Test & développement de composants JavaScript ou Backbone", | |
"Réalisation d'un outil d'analyse de structure des pages struts en D3js" | |
] | |
}, | |
{ | |
"name": "Plateforme de développement nearshore", | |
"entity": "Société Générale", | |
"roles": [ | |
"Développeur Java" | |
], | |
"startDate": "2013-06", | |
"endDate": "2014-04", | |
"description": "Centre nearshore de 4 à 10 développeurs, Scrum, Cérémonies Agile, Pratiques XP", | |
"keywords": [ | |
"Spring 3.1", | |
"Tomcat 7", | |
"IntelliJ", | |
"Ubuntu", | |
"MySQL", | |
"SQL", | |
"Hibernate", | |
"Maven", | |
"Jenkins" | |
], | |
"highlights": [ | |
"Réalisation de modules applicatifs aux périmètres fonctionnels variés et réduit avec comme objectif une livraison en production en moins de < 3 mois." | |
] | |
}, | |
{ | |
"name": "Customer Web Portal", | |
"entity": "Lafarge", | |
"startDate": "2011-03", | |
"endDate": "2012-10", | |
"roles": [ | |
"Développeur", | |
"Scrum master", | |
"AMOA" | |
], | |
"description": "Au sein d’une équipe de 5 et 10 personnes, développement de la solution, Scrum Master de l’équipe en 2012, participation aux différentes activités des itérations : Assistance du PO pour définir les users stories, chiffrage, conception, réalisation, test, livraison, industrialisation, démonstration.", | |
"keywords": [ | |
"Pair-programming", | |
"TDD", | |
"refactoring", | |
"BDD", | |
"Intégration continue", | |
"Feedback régulier", | |
"cycle cours", | |
"baby step", | |
"Java", | |
"Spring", | |
"Hibernate", | |
"JUnit 4", | |
"IntelliJ", | |
"Maven", | |
"HsqlDB", | |
"Oracle", | |
"Jira", | |
"Git", | |
"Jenkins", | |
"Ubuntu", | |
"JQuery", | |
"Javascript", | |
"Js test driver", | |
"Fitness", | |
"Selenium2" | |
], | |
"highlights": [ | |
"Réalisation du portail de prise de commande, de suivi des livraisons ainsi que suivi de la facturation. Adaptation de la première version à d’autres business unit.", | |
"Maintenance de 5 versions différentes en parallèles (Corée, Afrique du sud, France Granulat, Allemagne ciment, Chine ciment)." | |
] | |
}, | |
{ | |
"name": "SAMBA", | |
"entity": "RATP", | |
"roles": [ | |
"Développeur Java" | |
], | |
"startDate": "2010-08", | |
"endDate": "2010-12", | |
"description": "Développement du Suivi de la Migration des Bus (Samba) des équipements radio embarqués.", | |
"keywords": [ | |
"Java", | |
"Spring", | |
"Hibernate", | |
"JUnit 4", | |
"Eclipse", | |
"Maven", | |
"GWT", | |
"HsqlDB", | |
"PostgreSQL", | |
"XSL-FO", | |
"Barcode4j", | |
"Jira", | |
"XStream", | |
"SVN", | |
"Ubuntu" | |
], | |
"highlights": [ | |
"Dans un contexte inspiré d’agile, développement d’une application GWT 2 & RPC.", | |
"Génération d’impression PDF avec XSL-FO", | |
"Architecture web java classique : Services & injection en Spring, Dao Hibernate, HQL." | |
] | |
}, | |
{ | |
"entity": "FNAC SA", | |
"startDate": "2010-02", | |
"endDate": "2010-08", | |
"roles": [ | |
"Consultant Échange", | |
"TMA" | |
], | |
"keywords": [ | |
"UML", | |
"Eclipse" | |
] | |
}, | |
{ | |
"entity": "EDF - DON - EPI", | |
"startDate": "2009-11", | |
"endDate": "2010-01", | |
"roles": [ | |
"Expert technique WebMethods 7", | |
"TMA", | |
"MCO" | |
], | |
"keywords": [ | |
"WebMethods", | |
"Java", | |
"Business Process Management / BPM", | |
"Business Activity Monitoring / BAM" | |
] | |
}, | |
{ | |
"entity": "Snecma", | |
"roles": [ | |
"Développeur de flux WLI 8", | |
"TMA" | |
], | |
"keywords": [ | |
"WLI", | |
"Java", | |
"UML", | |
"Visio", | |
"j2ee", | |
"Spring", | |
"Hibernate" | |
], | |
"startDate": "2008-06", | |
"endDate": "2010-01" | |
}, | |
{ | |
"entity": "EDF / DOAAT", | |
"endDate": "2008-06", | |
"startDate": "2006-06", | |
"roles": [ | |
"Consultant EAI webMethods 6", | |
"TMA", | |
"MCO" | |
], | |
"keywords": [ | |
"WebMethods", | |
"Java", | |
"XML", | |
"SVG", | |
"XSL", | |
"Tomcat", | |
"Eclipse", | |
"UML", | |
"Visio" | |
] | |
}, | |
{ | |
"entity": "Neuf telecom", | |
"endDate": "2006-06", | |
"startDate": "2004-06", | |
"roles": [ | |
"Consultant EAI WebMethods", | |
"TMA", | |
"MCO" | |
], | |
"keywords": [ | |
"WebMethods", | |
"Java", | |
"Oracle", | |
"Pl/SQL", | |
"Sybase", | |
"JDBC", | |
"Business Activity Monitoring / BAM" | |
] | |
}, | |
{ | |
"entity": "GDF Négoce", | |
"startDate": "2003-10", | |
"endDate": "2004-06", | |
"roles": [ | |
"Leader technique WebMethods 4.6" | |
], | |
"keywords": [ | |
"WebMethods", | |
"Java" | |
] | |
}, | |
{ | |
"entity": "Tixis Systems", | |
"roles": [ | |
"Dévelopeur Java", | |
"alternance" | |
], | |
"startDate": "2001-09", | |
"endDate": "2003-10", | |
"highlights": [ | |
"Outil de génération de rapport d'exploitation (Niv 1)", | |
"Agrégation des rapports d'exploitation (vision métier, ~BAM)", | |
"Outil de re-soumission en masse d'évènement optimisé (Niv 1)" | |
], | |
"keywords": [ | |
"Java", | |
"XML", | |
"DOM", | |
"XSL", | |
"Servlet", | |
"Tomcat", | |
"SQLServer", | |
"Netbeans", | |
"Thread", | |
"JDBC" | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment