La présentation a pour but de revenir sur différents aspects avancés de Doctrine mis en oeuvre au sein de projets Symfony 2.x/3.
Elle abordera, entre autres, les éléments suivants :
Étendre le vocabulaire DQL (spécifiquement ou à l'aide de bundles existants)
Utiliser les différents listeners existants (annotations, listeners, subscribers, utilisation de l'UOW de Doctrine lors d'un flush, etc.)
Créer des hydrateurs spécifiques ou des entités partielles pour améliorer les performances sur certaines opérations.
Astuces diverses pour améliorer les performances (désactivation des logs, etc.)
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016Loïc Knuchel
Vous commencez à en entendre parler de plus en plus mais vous avez encore du mal à voir ce que c’est et à comprendre de que ça change concrètement, ce talk est fait pour vous !!!
La programmation fonctionnelle est une manière de programmer basée sur les fonctions qui permet de faire du code vraiment modulaire, améliorer la qualité et limiter les bugs. Vous ne me croyez pas ? Venez voir cette session !
La présentation a pour but de revenir sur différents aspects avancés de Doctrine mis en oeuvre au sein de projets Symfony 2.x/3.
Elle abordera, entre autres, les éléments suivants :
Étendre le vocabulaire DQL (spécifiquement ou à l'aide de bundles existants)
Utiliser les différents listeners existants (annotations, listeners, subscribers, utilisation de l'UOW de Doctrine lors d'un flush, etc.)
Créer des hydrateurs spécifiques ou des entités partielles pour améliorer les performances sur certaines opérations.
Astuces diverses pour améliorer les performances (désactivation des logs, etc.)
Comprendre la programmation fonctionnelle, Blend Web Mix le 02/11/2016Loïc Knuchel
Vous commencez à en entendre parler de plus en plus mais vous avez encore du mal à voir ce que c’est et à comprendre de que ça change concrètement, ce talk est fait pour vous !!!
La programmation fonctionnelle est une manière de programmer basée sur les fonctions qui permet de faire du code vraiment modulaire, améliorer la qualité et limiter les bugs. Vous ne me croyez pas ? Venez voir cette session !
Tecnológico Nacional de México
Ing. en Sistemas Computacionales
Base de Datos para Dispsitivos Móviles
Proyecto integrador con Android, Eclipse, SQLite y archivo de texto
Parse é um PaaS (platform as a service) que foi criado para auxiliar desenvolvedores a criarem seus aplicativos sem a necessidade de criar um web service para gerenciamento dos dados. Através de sua API, é possível gerenciar dados através de um banco com interface visual (Parse Data), configurar o envio de push notifications (Parse Push), integrar contas de redes sociais (Parse Social) e ainda escrever código para customização e tratamento de seus dados na nuvem (Cloud Code).
Parse is a PaaS (platform as a service) which was created to support developers to build their mobile apps without a web service managing the data. Through its API, it is possible to manage data through a database using a visual interface (Parse Data), configure push notifications (Parse Push), integrate social networks accounts (Parse Social) and write code to customize your requests in the cloud (Cloud Code).
Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems?
Here’s what AI learnings your business should keep in mind for 2017.
Tecnológico Nacional de México
Ing. en Sistemas Computacionales
Base de Datos para Dispsitivos Móviles
Proyecto integrador con Android, Eclipse, SQLite y archivo de texto
Parse é um PaaS (platform as a service) que foi criado para auxiliar desenvolvedores a criarem seus aplicativos sem a necessidade de criar um web service para gerenciamento dos dados. Através de sua API, é possível gerenciar dados através de um banco com interface visual (Parse Data), configurar o envio de push notifications (Parse Push), integrar contas de redes sociais (Parse Social) e ainda escrever código para customização e tratamento de seus dados na nuvem (Cloud Code).
Parse is a PaaS (platform as a service) which was created to support developers to build their mobile apps without a web service managing the data. Through its API, it is possible to manage data through a database using a visual interface (Parse Data), configure push notifications (Parse Push), integrate social networks accounts (Parse Social) and write code to customize your requests in the cloud (Cloud Code).
Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems?
Here’s what AI learnings your business should keep in mind for 2017.
4. importLista.Listasimple;
importjavax.swing.JOptionPane;
publicclassfrmlistatrabajadorextendsjavax.swing.JFrame {
publicListaTrabajadorlst=new ListaTrabajador();
publicfrmlistatrabajador() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
btnnuevo = new javax.swing.JButton();
btnagregar = new javax.swing.JButton();
btnmostrar = new javax.swing.JButton();
btnsalir = new javax.swing.JButton();
txtdni = new javax.swing.JTextField();
txtnombre = new javax.swing.JTextField();
txtapellido = new javax.swing.JTextField();
txtdias = new javax.swing.JTextField();
5. txtjornal = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
txtarea = new javax.swing.JTextArea();
jScrollPane2 = new javax.swing.JScrollPane();
txtarea1 = new javax.swing.JTextArea();
jScrollPane3 = new javax.swing.JScrollPane();
txtarea2 = new javax.swing.JTextArea();
jScrollPane4 = new javax.swing.JScrollPane();
txtarea3 = new javax.swing.JTextArea();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setText("DNI");
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(24, 14, -1, -1));
jLabel2.setText("NOMBRES");
getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(24, 57, -1, -1));
jLabel3.setText("APELLIDOS");
getContentPane().add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(24, 97, -1, -1));
6. jLabel4.setText("DIAS TRABAJADOS");
getContentPane().add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(24, 137, -1, 1));
jLabel5.setText("JORNAL DEL DIA");
getContentPane().add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(24, 177, -1, 1));
btnnuevo.setText("NUEVO");
btnnuevo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) {
btnnuevoActionPerformed(evt);
}
});
getContentPane().add(btnnuevo, new org.netbeans.lib.awtextra.AbsoluteConstraints(42, 229, -1, 1));
btnagregar.setText("AGREGAR");
btnagregar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) {
btnagregarActionPerformed(evt);
}
});
getContentPane().add(btnagregar, new org.netbeans.lib.awtextra.AbsoluteConstraints(178, 229, 1, -1));
btnmostrar.setText("MOSTRAR");
7. btnmostrar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) {
btnmostrarActionPerformed(evt);
}
});
getContentPane().add(btnmostrar, new org.netbeans.lib.awtextra.AbsoluteConstraints(315, 229, 1, -1));
btnsalir.setText("SALIR");
btnsalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) {
btnsalirActionPerformed(evt);
}
});
getContentPane().add(btnsalir, new org.netbeans.lib.awtextra.AbsoluteConstraints(466, 229, -1, 1));
getContentPane().add(txtdni, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 10, 130,
30));
txtnombre.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) {
txtnombreActionPerformed(evt);
}
});
getContentPane().add(txtnombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 50,
350, 30));
8. getContentPane().add(txtapellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 90,
350, 30));
getContentPane().add(txtdias, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 130, 130,
30));
txtjornal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) {
txtjornalActionPerformed(evt);
}
});
getContentPane().add(txtjornal, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 170,
130, 30));
txtarea.setColumns(20);
txtarea.setRows(5);
jScrollPane1.setViewportView(txtarea);
getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(24, 295,
181, -1));
txtarea1.setColumns(20);
txtarea1.setRows(5);
jScrollPane2.setViewportView(txtarea1);
getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 295,
106, -1));
9. txtarea2.setColumns(20);
txtarea2.setRows(5);
jScrollPane3.setViewportView(txtarea2);
getContentPane().add(jScrollPane3, new org.netbeans.lib.awtextra.AbsoluteConstraints(344, 295,
96, -1));
txtarea3.setColumns(20);
txtarea3.setRows(5);
jScrollPane4.setViewportView(txtarea3);
getContentPane().add(jScrollPane4, new org.netbeans.lib.awtextra.AbsoluteConstraints(466, 295,
103, -1));
jLabel6.setText("DIAS TRAB");
getContentPane().add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 270, -1, 1));
jLabel7.setText("JORNAL DIA");
getContentPane().add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(356, 270, -1, 1));
jLabel8.setText("SUELDO");
getContentPane().add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(472, 270, -1, 1));
jLabel9.setText("NOMBRES Y APELLIDOS");
10. getContentPane().add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(33, 270, -1, 1));
pack();
}// </editor-fold>
private void txtjornalActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
}
private void txtnombreActionPerformed(java.awt.event.ActionEventevt) {
// TODO add your handling code here:
}
private void btnagregarActionPerformed(java.awt.event.ActionEventevt) {
String d, a, n;
int di;
double jo;
d=txtdni.getText();
n=txtnombre.getText();
a=txtapellido.getText();
di=Integer.parseInt(txtdias.getText());
jo=Double.parseDouble(txtjornal.getText());
lst.agregar(jo, d, n, a, di);
}
12. /**
* @paramargs the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(frmlistatrabajador.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(frmlistatrabajador.class.getName()).log(java.util.logging.Level.SE
VERE, null, ex);
} catch (IllegalAccessException ex) {