Első commit: 2015. augusztus 15. 7.32
10 field
Search API kereső, facetek
2015. december 15. Éles a site
kb. 45 field
a szerkesztés funkció
lassúúúúúú
lassú
heavy user
unlimited? unlimited.
SSD ✔
Memcache ✔
Segítettek?
szerkesztés után elvesző adatok
php_value max_input_vars 1000
php_value max_input_vars 1500
ki volt az?
masquarade
Mi volt az?
Ki volt az?
Mi volt az ok?
Adatbázis ?
Adatbázis
✘
Form építés ?
Form építés
✘
Renderelés
Renderelés ✔
Mire mennyi idő megy el?
User betöltése | < 1sec |
Form felépítése | 1.5sec |
HTML előállítása | 25-50 sec |
Hálózati forgalom | < 1sec |
Browser DOM + JS | 1-5sec |
autosave
autosave
autosave
Tartsuk meg a Field rendszert, Field UI-t
Külön "végpont" legyen
Külön modul legyen az "API" és a web app
GET /api/[...]/form
GET /api/[...]/get
POST /api/[...]/file-upload
POST /api/[...]/save
"Végpontok"
"Végpontok"
Mentés
value_is_valid($entity, $form, $field, $value, $delta)
Mentés
value_is_valid($entity, $form, $field, $value, $delta)
"Végpontok"
Mentés
Saját szempontunkból optimálisabb kód
//PastaItem.vue
<template>
<li class="pasta-dish list-unstyled">
<div class="row">
<div class="col-md-3">
<img :src="this.item.image" :alt="this.item.name"/>
</div>
<div class="col-md-9 text-left">
<h3>{{this.item.name}}</h3>
<p>{{this.item.desc}}</p>
<button
v-on:click="addToOrderNew"
class="btn btn-primary">Add to order
</button>
<mark>{{this.orders}}</mark>
</div>
</div>
</li>
</template>
<script>
export default {
name: 'pasta-item',
props: ['item'],
data: function(){
return {
orders: 0
}
},
methods: {
addToOrderNew: function(y){
this.orders += 1;
this.$emit('order');
}
}
}
</script>
import React from "react";
class PastaItem extends React.Component {
render() {
const { details, index } = this.props;
return (
<li className="pasta-dish list-unstyled">
<div className="row">
<div className="col-md-3">
<img src={details.image} alt={details.name} />
</div>
<div className="col-md-9 text-left">
<h3>{details.name}</h3>
<p>{details.desc}</p>
<button
onClick={() => this.props.addToOrder(index)}
className="btn btn-primary">Add to order
</button>
<mark>{this.props.orders || 0}</mark>
</div>
</div>
</li>
);
}
}
export default PastaItem;
Hogy néz ki a kód?
„Melyikhez nyúlnál hozzá szívesebben fél év múlva?”
„Akkor ennyi.” „Vue legyen!”
Ok, de miért?
OK. Valami JS hiba történt a böngészőben.
De mi volt az a hiba?
rollbar.com
IE 11.0
integralvision.hu
Csáki István @csakiistvan
Tikász Vince @tikaszvince