[JAVA] Participation au JJUG CCC 2019 AUTOMNE
Aperçu
- Organisateur: Japan Java User Group
- Date et heure: samedi 23 novembre 2019
- Emplacement: Belsar Shinjuku Grand Conference Center 5F
- Balise de hachage: #jjug_ccc
Qu'est-ce que JJUG
- Japan Java User Group (abréviation de Japan Java User Group)
- Une organisation bénévole qui vise à améliorer et développer la technologie Java et à soutenir les développeurs. Lancé en avril 2007, il s'agit désormais de la plus grande communauté Java du Japon avec plus de 9 000 ingénieurs Java.
Détails
Atmosphère du lieu
Impressions
La première étape pour ceux qui ont une compréhension complète de Gradle pour ne rien comprendre
-
J'ai développé une application Android en Java et je l'ai construite dans Android Studio avec gradle tout le temps, mais je n'ai aucune idée de comment créer des tâches dans gradle. À l'avenir, je pourrais implémenter un test automatique et l'exécuter dans un environnement autre qu'Android Studio avec gradle, j'aimerais donc apprendre à utiliser gradle.
-
Dans cette session, les deux usages suivants de gradle ont été expliqués.
-
Ordre d'exécution des tâches
-
Comment implémenter la copie de fichier
-
Choisir le dossier
Ordre d'exécution des tâches
- Vous pouvez ajouter un pré (post) traitement en ajoutant doFirst et doLast à la tâche existante.
- L'ordre d'exécution n'est pas "~~ puis ~~"
- Faites-le avec une dépendance: "Pour faire ~ ~, vous devez d'abord ~ ~"
task taskA {
doFirst { println "Task A" }
}
task taskB {
dependsOn "taskA"
doFirst { println "Task B" }
}
- Si vous souhaitez contrôler l'ordre lorsqu'il est exécuté en même temps
Faites-le après le nettoyage lors de la construction
plugins { id "java" }
build.mustRunAfter clean
Comment implémenter la copie de fichier
-
Combien de façons d'y parvenir
-
Utilisez l'API standard Java
-
Utilisez l'API de Groovy
-
Utilisez la méthode copy () de Project
-
Utiliser la tâche de copie
-
Avance: tâche de copie
-
Définir même entrée / sortie de tâche
-
Si l'entrée / sortie est la même que la dernière fois, la tâche ne sera pas exécutée.
Sélection de fichiers
- file()
- Obtenez un fichier en spécifiant un seul fichier
- files()
- Obtenez FileCollection en spécifiant plusieurs fichiers
- fileTree()
- Obtenez FileTree en spécifiant un répertoire
ouvert! Porte design pilotée par domaine
- J'ai beaucoup entendu DDD et lu des articles et des livres, mais je ne peux pas commencer complètement. Cette session n'a pas expliqué DDD en détail, mais diverses explications pour que vous puissiez vous lancer avec DDD.
- Motivation
- Qu'est-ce que DDD?
- Connaissance vapeur
- Composant
motivation
- Problème
- Les experts peuvent expliquer mais les développeurs ne peuvent pas comprendre
- Les développeurs n'ont aucune spécification lorsqu'ils entrent dans le projet pour la première fois
- Les développeurs ne peuvent pas trouver et comprendre à partir du code
- Objectif
- Développement continu des utilisateurs de logiciels et du code
Qu'est-ce que DDD
-
Quel est le domaine
-
Ce qui est inclus dans le domaine
-
Par exemple, les camions incluent les bagages et les accélérateurs
-
Modèle abstrait
-
Modèle de domaine
-
Représentation de code: objet de domaine
-
Suivre <> Modèle de domaine <> Objet de domaine
-
Les changements de domaine sont transmis au code
-
La prise de conscience pendant la mise en œuvre affecte le domaine
Vapeur de connaissances
- Expert du domaine-> Familier avec le domaine (ceux qui connaissent les affaires)
- Experts et développeurs réfléchissent ensemble
- Vous devez parler pour comprendre, langage technique vs langage approprié
- Langue omniprésente-> Une langue qui n'est pas un livre de mots, à tout moment, n'importe où
- La langue est une culture Plus vous utilisez la langue de l'autre personne, plus vous comprenez
Composant
- Express
- Objet de valeur
- Entité
- Un service
- Agrégation
- Dédicace
- Dépôt
- Usine
- Isoler
- Architecture